Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .changeset/hot-toys-poke.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
---
'@clerk/nextjs': patch
'@clerk/vue': patch
'@clerk/nuxt': patch
---

Fix export of `RedirectToTasks` control component
1 change: 1 addition & 0 deletions packages/nextjs/src/index.ts
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,6 +12,7 @@ export {
RedirectToOrganizationProfile,
RedirectToSignIn,
RedirectToSignUp,
RedirectToTasks,
RedirectToUserProfile,
} from './client-boundary/controlComponents';
Comment on lines +15 to 17

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Verify the source module actually exports RedirectToTasks

Ensure ./client-boundary/controlComponents provides a named export RedirectToTasks (and no duplicate re-exports elsewhere) to avoid runtime/import errors.

Run this script to confirm:


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"1) Verify source module exports RedirectToTasks (named export or declaration):"
rg -n -A 2 -B 2 $'\bexport\\s+\\{[^}]*\\bRedirectToTasks\\b' packages/nextjs/src ||true
rg -n -A 2 -B 2 $'\bexport\\s+(const|function|class)\\s+RedirectToTasks\\b' packages/nextjs/src ||trueecho -e "\n2) Confirm index.ts re-export path is present:"
rg -n -A 1 -B 1 "from './client-boundary/controlComponents'" packages/nextjs/src/index.ts
echo -e "\n3) Check for props type export (optional but recommended):"
rg -n -A 2 -B 2 $'\bexport\\s+type\\s+.*RedirectToTasks.*Props\\b' packages/nextjs/src ||trueecho -e "\n4) Ensure no duplicate re-exports elsewhere:"
rg -n -A 1 -B 1 $'\bexport\\s+\\{[^}]*\\bRedirectToTasks\\b' packages -g '!packages/nextjs/src/index.ts'||true

Length of output: 1095


Missing RedirectToTasks Export in controlComponents

The re-export in packages/nextjs/src/index.ts references a RedirectToTasks symbol that isn’t defined or exported in ./client-boundary/controlComponents. This will cause a runtime import error.

• Location of broken re-export:

  • File: packages/nextjs/src/index.ts
  • Lines: 15–17 (includes RedirectToTasks, … } from './client-boundary/controlComponents';)

Action required:

  • Add a corresponding export (function, class, or const) for RedirectToTasks in packages/nextjs/src/client-boundary/controlComponents, or
  • Remove or correct the re-export in the index file to match the actual exports.
🤖 Prompt for AI Agents
In packages/nextjs/src/index.ts around lines 15–17 the named export
RedirectToTasks is re-exported from './client-boundary/controlComponents' but
that symbol is not defined there; either add a matching export named
RedirectToTasks (function/class/const) into
packages/nextjs/src/client-boundary/controlComponents and export it, or
remove/rename the RedirectToTasks entry in the index re-export so it matches the
actual exported names from controlComponents; ensure the exported identifier
spelling and casing match exactly and update any imports/tests that expect
RedirectToTasks.


Expand Down
1 change: 1 addition & 0 deletions packages/nuxt/src/runtime/components/index.ts
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,6 +19,7 @@ export {
RedirectToSignIn,
RedirectToSignUp,
RedirectToUserProfile,
RedirectToTasks,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

LGTM: Nuxt re-export of RedirectToTasks from @clerk/vue is consistent.

This mirrors the Vue export and keeps the tree-shakable named export pattern. Please confirm dependency alignment so Nuxt consumes a @clerk/vue version that contains RedirectToTasks.

  • Verify @clerk/nuxt depends (dep/peer) on a version range of @clerk/vue that includes this symbol (changeset should bump as needed).
  • Optional: add a smoke test importing RedirectToTasks from @clerk/nuxt to ensure the symbol is publicly exposed post-build.

Run this script to check dependency alignment and presence across packages:

If helpful, I can also prepare a tiny import test to assert RedirectToTasks is accessible from @clerk/nuxt.


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"1) Confirm nuxt re-exports RedirectToTasks only once"
rg -n 'RedirectToTasks' packages/nuxt/src/runtime/components/index.ts
echo"2) Check that @clerk/nuxt depends on @clerk/vue at an appropriate version"
NUXT_PKG=$(fd -a '^package\.json$' packages/nuxt | head -n1)if [ -n"$NUXT_PKG" ];thenecho"Found package file: $NUXT_PKG"ifcommand -v jq >/dev/null 2>&1;then
jq -r ' { dependencies: (.dependencies["@clerk/vue"] // null), peerDependencies: (.peerDependencies["@clerk/vue"] // null), devDependencies: (.devDependencies["@clerk/vue"] // null) }'"$NUXT_PKG"else
rg -n '"@clerk/vue":'"$NUXT_PKG"||truefielseecho"Could not find packages/nuxt package.json">&2fiecho"3) Ensure Vue index includes RedirectToTasks"
rg -n 'RedirectToTasks' packages/vue/src/components/index.ts ||trueecho"4) Locate changeset mentioning RedirectToTasks"
fd -a '\.changeset/.*\.md'| xargs -r rg -n 'RedirectToTasks|@clerk/vue|@clerk/nuxt'

Length of output: 1441


Confirm dependency alignment and add missing changeset

All checks pass on the re-export, but there’s no recorded changeset for this new export.

• packages/nuxt/src/runtime/components/index.ts
RedirectToTasks is re-exported exactly once.
• packages/nuxt/package.json
– Depends on @clerk/vue via workspace:^, so it will always pull in the local Vue package.
• packages/vue/src/components/index.ts
– Exports RedirectToTasks in its public API.
• .changeset/*.md
– No changeset mentions this new export or bumps @clerk/nuxt.

Next steps:

  1. Add a changeset to bump @clerk/nuxt so consumers receive the new RedirectToTasks export.
  2. (Optional) Add a small smoke test that imports RedirectToTasks from @clerk/nuxt post-build to verify it’s publicly exposed.
🤖 Prompt for AI Agents
In packages/nuxt/src/runtime/components/index.ts around line 22 the new export
RedirectToTasks was added but no changeset was created to bump @clerk/nuxt; add
a new .changeset markdown file that increments the @clerk/nuxt package version
(patch or minor as appropriate) and describes the new public export so consumers
receive the new symbol, and optionally add a minimal smoke test in the nuxt
package (post-build) that imports RedirectToTasks from @clerk/nuxt to verify the
re-export is publicly exposed; no code changes to the export are required, only
the changeset (and optional test) and commit.

AuthenticateWithRedirectCallback,
RedirectToCreateOrganization,
RedirectToOrganizationProfile,
Expand Down
1 change: 1 addition & 0 deletions packages/vue/src/components/index.ts
Original file line numberDiff line numberDiff line change
Expand Up@@ -18,6 +18,7 @@ export {
RedirectToSignIn,
RedirectToSignUp,
RedirectToUserProfile,
RedirectToTasks,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

LGTM: Added RedirectToTasks export is correct and tree-shake friendly.

Placement is consistent with other control components and maintains the existing export style. Please verify the source symbol exists and that consumers get proper typings.

  • Ensure ./controlComponents actually exports RedirectToTasks and that its JSDoc (public API doc) is present at the declaration site.
  • Consider adding a lightweight smoke test to assert RedirectToTasks is importable from @clerk/vue.

Run this script to verify the source export and look for potential cycles:

If you want, I can draft a minimal smoke test that imports RedirectToTasks from @clerk/vue to prevent regressions.


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"1) Ensure Vue controlComponents exports RedirectToTasks"
fd -a -t f 'controlComponents(\.ts|/index\.ts)?$' packages/vue 2>/dev/null | tee /tmp/cc_files.txt
if [ !-s /tmp/cc_files.txt ];thenecho"Could not find controlComponents file(s) in packages/vue">&2fi
rg -n 'export\s+\{[^}]*RedirectToTasks|export\s+(const|function|class)\s+RedirectToTasks'$(cat /tmp/cc_files.txt)||trueecho"2) Ensure Vue components index re-exports RedirectToTasks"
rg -n 'RedirectToTasks' packages/vue/src/components/index.ts ||trueecho"3) Quick cycle smell: controlComponents importing components index"
rg -n "from ['\"]\./components['\"]" packages/vue/src ||true

Length of output: 323


I’ve updated the verification script to avoid using tee (which isn’t available in this environment) and directly capture & inspect the files:


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"1) Locate Vue controlComponents file(s)"
files=$(fd -t f -e ts -- 'controlComponents(\.ts|/index\.ts)?$' packages/vue 2>/dev/null)if [[ -z"$files" ]];thenecho"✖ Could not find any controlComponents file(s) under packages/vue">&2elseecho"Found:"echo"$files"echoecho"Searching for RedirectToTasks export in those files:"
rg -n 'export\s+\{[^}]*RedirectToTasks|export\s+(const|function|class)\s+RedirectToTasks'$files||truefiechoecho"2) Verify re-export in components index.ts"
rg -n 'RedirectToTasks' packages/vue/src/components/index.ts ||trueechoecho"3) Quick cycle check: controlComponents → components index"
rg -n "from ['\"]\./components['\"]" packages/vue/src ||true

Length of output: 1184


I’ll check whether there’s a JSDoc block immediately above the RedirectToTasks declaration:


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"Inspecting context around RedirectToTasks export for JSDoc:"
rg -n -C3 'export\s+const\s+RedirectToTasks' packages/vue/src/components/controlComponents.ts ||true

Length of output: 414


Add public JSDoc for RedirectToTasks and consider a smoke test

  • ✅ Verified RedirectToTasks is exported in
    packages/vue/src/components/controlComponents.ts (line 63)
    and re-exported in packages/vue/src/components/index.ts (line 21).
  • ✅ No import cycles detected between controlComponents and components.
  • ⚠️Missing JSDoc: please add a public API doc comment immediately above the
    export const RedirectToTasks = … declaration in
    packages/vue/src/components/controlComponents.ts.
  • 🔍 Consider adding a lightweight smoke test that imports
    RedirectToTasks from @clerk/vue to catch any regressions.
🤖 Prompt for AI Agents
In packages/vue/src/components/controlComponents.ts around line 63, the exported
RedirectToTasks constant is missing a public JSDoc comment; add a short /** ...
*/ block immediately above the export that describes what RedirectToTasks does,
marks it as public (e.g., @public), and documents any props/params or usage
note; then add a lightweight smoke test (e.g., in the library's test harness)
that simply imports { RedirectToTasks } from '@clerk/vue' to ensure the
re-export in packages/vue/src/components/index.ts stays valid.

AuthenticateWithRedirectCallback,
RedirectToCreateOrganization,
RedirectToOrganizationProfile,
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .changeset/hot-toys-poke.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
---
'@clerk/nextjs': patch
'@clerk/vue': patch
'@clerk/nuxt': patch
---

Fix export of `RedirectToTasks` control component
1 change: 1 addition & 0 deletions packages/nextjs/src/index.ts
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,6 +12,7 @@ export {
RedirectToOrganizationProfile,
RedirectToSignIn,
RedirectToSignUp,
RedirectToTasks,
RedirectToUserProfile,
} from './client-boundary/controlComponents';
Comment on lines +15 to 17

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Verify the source module actually exports RedirectToTasks

Ensure ./client-boundary/controlComponents provides a named export RedirectToTasks (and no duplicate re-exports elsewhere) to avoid runtime/import errors.

Run this script to confirm:


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"1) Verify source module exports RedirectToTasks (named export or declaration):"
rg -n -A 2 -B 2 $'\bexport\\s+\\{[^}]*\\bRedirectToTasks\\b' packages/nextjs/src ||true
rg -n -A 2 -B 2 $'\bexport\\s+(const|function|class)\\s+RedirectToTasks\\b' packages/nextjs/src ||trueecho -e "\n2) Confirm index.ts re-export path is present:"
rg -n -A 1 -B 1 "from './client-boundary/controlComponents'" packages/nextjs/src/index.ts
echo -e "\n3) Check for props type export (optional but recommended):"
rg -n -A 2 -B 2 $'\bexport\\s+type\\s+.*RedirectToTasks.*Props\\b' packages/nextjs/src ||trueecho -e "\n4) Ensure no duplicate re-exports elsewhere:"
rg -n -A 1 -B 1 $'\bexport\\s+\\{[^}]*\\bRedirectToTasks\\b' packages -g '!packages/nextjs/src/index.ts'||true

Length of output: 1095


Missing RedirectToTasks Export in controlComponents

The re-export in packages/nextjs/src/index.ts references a RedirectToTasks symbol that isn’t defined or exported in ./client-boundary/controlComponents. This will cause a runtime import error.

• Location of broken re-export:

  • File: packages/nextjs/src/index.ts
  • Lines: 15–17 (includes RedirectToTasks, … } from './client-boundary/controlComponents';)

Action required:

  • Add a corresponding export (function, class, or const) for RedirectToTasks in packages/nextjs/src/client-boundary/controlComponents, or
  • Remove or correct the re-export in the index file to match the actual exports.
🤖 Prompt for AI Agents
In packages/nextjs/src/index.ts around lines 15–17 the named export
RedirectToTasks is re-exported from './client-boundary/controlComponents' but
that symbol is not defined there; either add a matching export named
RedirectToTasks (function/class/const) into
packages/nextjs/src/client-boundary/controlComponents and export it, or
remove/rename the RedirectToTasks entry in the index re-export so it matches the
actual exported names from controlComponents; ensure the exported identifier
spelling and casing match exactly and update any imports/tests that expect
RedirectToTasks.


Expand Down
1 change: 1 addition & 0 deletions packages/nuxt/src/runtime/components/index.ts
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,6 +19,7 @@ export {
RedirectToSignIn,
RedirectToSignUp,
RedirectToUserProfile,
RedirectToTasks,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

LGTM: Nuxt re-export of RedirectToTasks from @clerk/vue is consistent.

This mirrors the Vue export and keeps the tree-shakable named export pattern. Please confirm dependency alignment so Nuxt consumes a @clerk/vue version that contains RedirectToTasks.

  • Verify @clerk/nuxt depends (dep/peer) on a version range of @clerk/vue that includes this symbol (changeset should bump as needed).
  • Optional: add a smoke test importing RedirectToTasks from @clerk/nuxt to ensure the symbol is publicly exposed post-build.

Run this script to check dependency alignment and presence across packages:

If helpful, I can also prepare a tiny import test to assert RedirectToTasks is accessible from @clerk/nuxt.


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"1) Confirm nuxt re-exports RedirectToTasks only once"
rg -n 'RedirectToTasks' packages/nuxt/src/runtime/components/index.ts
echo"2) Check that @clerk/nuxt depends on @clerk/vue at an appropriate version"
NUXT_PKG=$(fd -a '^package\.json$' packages/nuxt | head -n1)if [ -n"$NUXT_PKG" ];thenecho"Found package file: $NUXT_PKG"ifcommand -v jq >/dev/null 2>&1;then
jq -r ' { dependencies: (.dependencies["@clerk/vue"] // null), peerDependencies: (.peerDependencies["@clerk/vue"] // null), devDependencies: (.devDependencies["@clerk/vue"] // null) }'"$NUXT_PKG"else
rg -n '"@clerk/vue":'"$NUXT_PKG"||truefielseecho"Could not find packages/nuxt package.json">&2fiecho"3) Ensure Vue index includes RedirectToTasks"
rg -n 'RedirectToTasks' packages/vue/src/components/index.ts ||trueecho"4) Locate changeset mentioning RedirectToTasks"
fd -a '\.changeset/.*\.md'| xargs -r rg -n 'RedirectToTasks|@clerk/vue|@clerk/nuxt'

Length of output: 1441


Confirm dependency alignment and add missing changeset

All checks pass on the re-export, but there’s no recorded changeset for this new export.

• packages/nuxt/src/runtime/components/index.ts
RedirectToTasks is re-exported exactly once.
• packages/nuxt/package.json
– Depends on @clerk/vue via workspace:^, so it will always pull in the local Vue package.
• packages/vue/src/components/index.ts
– Exports RedirectToTasks in its public API.
• .changeset/*.md
– No changeset mentions this new export or bumps @clerk/nuxt.

Next steps:

  1. Add a changeset to bump @clerk/nuxt so consumers receive the new RedirectToTasks export.
  2. (Optional) Add a small smoke test that imports RedirectToTasks from @clerk/nuxt post-build to verify it’s publicly exposed.
🤖 Prompt for AI Agents
In packages/nuxt/src/runtime/components/index.ts around line 22 the new export
RedirectToTasks was added but no changeset was created to bump @clerk/nuxt; add
a new .changeset markdown file that increments the @clerk/nuxt package version
(patch or minor as appropriate) and describes the new public export so consumers
receive the new symbol, and optionally add a minimal smoke test in the nuxt
package (post-build) that imports RedirectToTasks from @clerk/nuxt to verify the
re-export is publicly exposed; no code changes to the export are required, only
the changeset (and optional test) and commit.

AuthenticateWithRedirectCallback,
RedirectToCreateOrganization,
RedirectToOrganizationProfile,
Expand Down
1 change: 1 addition & 0 deletions packages/vue/src/components/index.ts
Original file line numberDiff line numberDiff line change
Expand Up@@ -18,6 +18,7 @@ export {
RedirectToSignIn,
RedirectToSignUp,
RedirectToUserProfile,
RedirectToTasks,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

LGTM: Added RedirectToTasks export is correct and tree-shake friendly.

Placement is consistent with other control components and maintains the existing export style. Please verify the source symbol exists and that consumers get proper typings.

  • Ensure ./controlComponents actually exports RedirectToTasks and that its JSDoc (public API doc) is present at the declaration site.
  • Consider adding a lightweight smoke test to assert RedirectToTasks is importable from @clerk/vue.

Run this script to verify the source export and look for potential cycles:

If you want, I can draft a minimal smoke test that imports RedirectToTasks from @clerk/vue to prevent regressions.


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"1) Ensure Vue controlComponents exports RedirectToTasks"
fd -a -t f 'controlComponents(\.ts|/index\.ts)?$' packages/vue 2>/dev/null | tee /tmp/cc_files.txt
if [ !-s /tmp/cc_files.txt ];thenecho"Could not find controlComponents file(s) in packages/vue">&2fi
rg -n 'export\s+\{[^}]*RedirectToTasks|export\s+(const|function|class)\s+RedirectToTasks'$(cat /tmp/cc_files.txt)||trueecho"2) Ensure Vue components index re-exports RedirectToTasks"
rg -n 'RedirectToTasks' packages/vue/src/components/index.ts ||trueecho"3) Quick cycle smell: controlComponents importing components index"
rg -n "from ['\"]\./components['\"]" packages/vue/src ||true

Length of output: 323


I’ve updated the verification script to avoid using tee (which isn’t available in this environment) and directly capture & inspect the files:


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"1) Locate Vue controlComponents file(s)"
files=$(fd -t f -e ts -- 'controlComponents(\.ts|/index\.ts)?$' packages/vue 2>/dev/null)if [[ -z"$files" ]];thenecho"✖ Could not find any controlComponents file(s) under packages/vue">&2elseecho"Found:"echo"$files"echoecho"Searching for RedirectToTasks export in those files:"
rg -n 'export\s+\{[^}]*RedirectToTasks|export\s+(const|function|class)\s+RedirectToTasks'$files||truefiechoecho"2) Verify re-export in components index.ts"
rg -n 'RedirectToTasks' packages/vue/src/components/index.ts ||trueechoecho"3) Quick cycle check: controlComponents → components index"
rg -n "from ['\"]\./components['\"]" packages/vue/src ||true

Length of output: 1184


I’ll check whether there’s a JSDoc block immediately above the RedirectToTasks declaration:


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"Inspecting context around RedirectToTasks export for JSDoc:"
rg -n -C3 'export\s+const\s+RedirectToTasks' packages/vue/src/components/controlComponents.ts ||true

Length of output: 414


Add public JSDoc for RedirectToTasks and consider a smoke test

  • ✅ Verified RedirectToTasks is exported in
    packages/vue/src/components/controlComponents.ts (line 63)
    and re-exported in packages/vue/src/components/index.ts (line 21).
  • ✅ No import cycles detected between controlComponents and components.
  • ⚠️Missing JSDoc: please add a public API doc comment immediately above the
    export const RedirectToTasks = … declaration in
    packages/vue/src/components/controlComponents.ts.
  • 🔍 Consider adding a lightweight smoke test that imports
    RedirectToTasks from @clerk/vue to catch any regressions.
🤖 Prompt for AI Agents
In packages/vue/src/components/controlComponents.ts around line 63, the exported
RedirectToTasks constant is missing a public JSDoc comment; add a short /** ...
*/ block immediately above the export that describes what RedirectToTasks does,
marks it as public (e.g., @public), and documents any props/params or usage
note; then add a lightweight smoke test (e.g., in the library's test harness)
that simply imports { RedirectToTasks } from '@clerk/vue' to ensure the
re-export in packages/vue/src/components/index.ts stays valid.

AuthenticateWithRedirectCallback,
RedirectToCreateOrganization,
RedirectToOrganizationProfile,
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .changeset/hot-toys-poke.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
---
'@clerk/nextjs': patch
'@clerk/vue': patch
'@clerk/nuxt': patch
---

Fix export of `RedirectToTasks` control component
1 change: 1 addition & 0 deletions packages/nextjs/src/index.ts
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,6 +12,7 @@ export {
RedirectToOrganizationProfile,
RedirectToSignIn,
RedirectToSignUp,
RedirectToTasks,
RedirectToUserProfile,
} from './client-boundary/controlComponents';
Comment on lines +15 to 17

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Verify the source module actually exports RedirectToTasks

Ensure ./client-boundary/controlComponents provides a named export RedirectToTasks (and no duplicate re-exports elsewhere) to avoid runtime/import errors.

Run this script to confirm:


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"1) Verify source module exports RedirectToTasks (named export or declaration):"
rg -n -A 2 -B 2 $'\bexport\\s+\\{[^}]*\\bRedirectToTasks\\b' packages/nextjs/src ||true
rg -n -A 2 -B 2 $'\bexport\\s+(const|function|class)\\s+RedirectToTasks\\b' packages/nextjs/src ||trueecho -e "\n2) Confirm index.ts re-export path is present:"
rg -n -A 1 -B 1 "from './client-boundary/controlComponents'" packages/nextjs/src/index.ts
echo -e "\n3) Check for props type export (optional but recommended):"
rg -n -A 2 -B 2 $'\bexport\\s+type\\s+.*RedirectToTasks.*Props\\b' packages/nextjs/src ||trueecho -e "\n4) Ensure no duplicate re-exports elsewhere:"
rg -n -A 1 -B 1 $'\bexport\\s+\\{[^}]*\\bRedirectToTasks\\b' packages -g '!packages/nextjs/src/index.ts'||true

Length of output: 1095


Missing RedirectToTasks Export in controlComponents

The re-export in packages/nextjs/src/index.ts references a RedirectToTasks symbol that isn’t defined or exported in ./client-boundary/controlComponents. This will cause a runtime import error.

• Location of broken re-export:

  • File: packages/nextjs/src/index.ts
  • Lines: 15–17 (includes RedirectToTasks, … } from './client-boundary/controlComponents';)

Action required:

  • Add a corresponding export (function, class, or const) for RedirectToTasks in packages/nextjs/src/client-boundary/controlComponents, or
  • Remove or correct the re-export in the index file to match the actual exports.
🤖 Prompt for AI Agents
In packages/nextjs/src/index.ts around lines 15–17 the named export
RedirectToTasks is re-exported from './client-boundary/controlComponents' but
that symbol is not defined there; either add a matching export named
RedirectToTasks (function/class/const) into
packages/nextjs/src/client-boundary/controlComponents and export it, or
remove/rename the RedirectToTasks entry in the index re-export so it matches the
actual exported names from controlComponents; ensure the exported identifier
spelling and casing match exactly and update any imports/tests that expect
RedirectToTasks.


Expand Down
1 change: 1 addition & 0 deletions packages/nuxt/src/runtime/components/index.ts
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,6 +19,7 @@ export {
RedirectToSignIn,
RedirectToSignUp,
RedirectToUserProfile,
RedirectToTasks,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

LGTM: Nuxt re-export of RedirectToTasks from @clerk/vue is consistent.

This mirrors the Vue export and keeps the tree-shakable named export pattern. Please confirm dependency alignment so Nuxt consumes a @clerk/vue version that contains RedirectToTasks.

  • Verify @clerk/nuxt depends (dep/peer) on a version range of @clerk/vue that includes this symbol (changeset should bump as needed).
  • Optional: add a smoke test importing RedirectToTasks from @clerk/nuxt to ensure the symbol is publicly exposed post-build.

Run this script to check dependency alignment and presence across packages:

If helpful, I can also prepare a tiny import test to assert RedirectToTasks is accessible from @clerk/nuxt.


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"1) Confirm nuxt re-exports RedirectToTasks only once"
rg -n 'RedirectToTasks' packages/nuxt/src/runtime/components/index.ts
echo"2) Check that @clerk/nuxt depends on @clerk/vue at an appropriate version"
NUXT_PKG=$(fd -a '^package\.json$' packages/nuxt | head -n1)if [ -n"$NUXT_PKG" ];thenecho"Found package file: $NUXT_PKG"ifcommand -v jq >/dev/null 2>&1;then
jq -r ' { dependencies: (.dependencies["@clerk/vue"] // null), peerDependencies: (.peerDependencies["@clerk/vue"] // null), devDependencies: (.devDependencies["@clerk/vue"] // null) }'"$NUXT_PKG"else
rg -n '"@clerk/vue":'"$NUXT_PKG"||truefielseecho"Could not find packages/nuxt package.json">&2fiecho"3) Ensure Vue index includes RedirectToTasks"
rg -n 'RedirectToTasks' packages/vue/src/components/index.ts ||trueecho"4) Locate changeset mentioning RedirectToTasks"
fd -a '\.changeset/.*\.md'| xargs -r rg -n 'RedirectToTasks|@clerk/vue|@clerk/nuxt'

Length of output: 1441


Confirm dependency alignment and add missing changeset

All checks pass on the re-export, but there’s no recorded changeset for this new export.

• packages/nuxt/src/runtime/components/index.ts
RedirectToTasks is re-exported exactly once.
• packages/nuxt/package.json
– Depends on @clerk/vue via workspace:^, so it will always pull in the local Vue package.
• packages/vue/src/components/index.ts
– Exports RedirectToTasks in its public API.
• .changeset/*.md
– No changeset mentions this new export or bumps @clerk/nuxt.

Next steps:

  1. Add a changeset to bump @clerk/nuxt so consumers receive the new RedirectToTasks export.
  2. (Optional) Add a small smoke test that imports RedirectToTasks from @clerk/nuxt post-build to verify it’s publicly exposed.
🤖 Prompt for AI Agents
In packages/nuxt/src/runtime/components/index.ts around line 22 the new export
RedirectToTasks was added but no changeset was created to bump @clerk/nuxt; add
a new .changeset markdown file that increments the @clerk/nuxt package version
(patch or minor as appropriate) and describes the new public export so consumers
receive the new symbol, and optionally add a minimal smoke test in the nuxt
package (post-build) that imports RedirectToTasks from @clerk/nuxt to verify the
re-export is publicly exposed; no code changes to the export are required, only
the changeset (and optional test) and commit.

AuthenticateWithRedirectCallback,
RedirectToCreateOrganization,
RedirectToOrganizationProfile,
Expand Down
1 change: 1 addition & 0 deletions packages/vue/src/components/index.ts
Original file line numberDiff line numberDiff line change
Expand Up@@ -18,6 +18,7 @@ export {
RedirectToSignIn,
RedirectToSignUp,
RedirectToUserProfile,
RedirectToTasks,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

LGTM: Added RedirectToTasks export is correct and tree-shake friendly.

Placement is consistent with other control components and maintains the existing export style. Please verify the source symbol exists and that consumers get proper typings.

  • Ensure ./controlComponents actually exports RedirectToTasks and that its JSDoc (public API doc) is present at the declaration site.
  • Consider adding a lightweight smoke test to assert RedirectToTasks is importable from @clerk/vue.

Run this script to verify the source export and look for potential cycles:

If you want, I can draft a minimal smoke test that imports RedirectToTasks from @clerk/vue to prevent regressions.


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"1) Ensure Vue controlComponents exports RedirectToTasks"
fd -a -t f 'controlComponents(\.ts|/index\.ts)?$' packages/vue 2>/dev/null | tee /tmp/cc_files.txt
if [ !-s /tmp/cc_files.txt ];thenecho"Could not find controlComponents file(s) in packages/vue">&2fi
rg -n 'export\s+\{[^}]*RedirectToTasks|export\s+(const|function|class)\s+RedirectToTasks'$(cat /tmp/cc_files.txt)||trueecho"2) Ensure Vue components index re-exports RedirectToTasks"
rg -n 'RedirectToTasks' packages/vue/src/components/index.ts ||trueecho"3) Quick cycle smell: controlComponents importing components index"
rg -n "from ['\"]\./components['\"]" packages/vue/src ||true

Length of output: 323


I’ve updated the verification script to avoid using tee (which isn’t available in this environment) and directly capture & inspect the files:


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"1) Locate Vue controlComponents file(s)"
files=$(fd -t f -e ts -- 'controlComponents(\.ts|/index\.ts)?$' packages/vue 2>/dev/null)if [[ -z"$files" ]];thenecho"✖ Could not find any controlComponents file(s) under packages/vue">&2elseecho"Found:"echo"$files"echoecho"Searching for RedirectToTasks export in those files:"
rg -n 'export\s+\{[^}]*RedirectToTasks|export\s+(const|function|class)\s+RedirectToTasks'$files||truefiechoecho"2) Verify re-export in components index.ts"
rg -n 'RedirectToTasks' packages/vue/src/components/index.ts ||trueechoecho"3) Quick cycle check: controlComponents → components index"
rg -n "from ['\"]\./components['\"]" packages/vue/src ||true

Length of output: 1184


I’ll check whether there’s a JSDoc block immediately above the RedirectToTasks declaration:


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"Inspecting context around RedirectToTasks export for JSDoc:"
rg -n -C3 'export\s+const\s+RedirectToTasks' packages/vue/src/components/controlComponents.ts ||true

Length of output: 414


Add public JSDoc for RedirectToTasks and consider a smoke test

  • ✅ Verified RedirectToTasks is exported in
    packages/vue/src/components/controlComponents.ts (line 63)
    and re-exported in packages/vue/src/components/index.ts (line 21).
  • ✅ No import cycles detected between controlComponents and components.
  • ⚠️Missing JSDoc: please add a public API doc comment immediately above the
    export const RedirectToTasks = … declaration in
    packages/vue/src/components/controlComponents.ts.
  • 🔍 Consider adding a lightweight smoke test that imports
    RedirectToTasks from @clerk/vue to catch any regressions.
🤖 Prompt for AI Agents
In packages/vue/src/components/controlComponents.ts around line 63, the exported
RedirectToTasks constant is missing a public JSDoc comment; add a short /** ...
*/ block immediately above the export that describes what RedirectToTasks does,
marks it as public (e.g., @public), and documents any props/params or usage
note; then add a lightweight smoke test (e.g., in the library's test harness)
that simply imports { RedirectToTasks } from '@clerk/vue' to ensure the
re-export in packages/vue/src/components/index.ts stays valid.

AuthenticateWithRedirectCallback,
RedirectToCreateOrganization,
RedirectToOrganizationProfile,
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .changeset/hot-toys-poke.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
---
'@clerk/nextjs': patch
'@clerk/vue': patch
'@clerk/nuxt': patch
---

Fix export of `RedirectToTasks` control component
1 change: 1 addition & 0 deletions packages/nextjs/src/index.ts
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,6 +12,7 @@ export {
RedirectToOrganizationProfile,
RedirectToSignIn,
RedirectToSignUp,
RedirectToTasks,
RedirectToUserProfile,
} from './client-boundary/controlComponents';
Comment on lines +15 to 17

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Verify the source module actually exports RedirectToTasks

Ensure ./client-boundary/controlComponents provides a named export RedirectToTasks (and no duplicate re-exports elsewhere) to avoid runtime/import errors.

Run this script to confirm:


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"1) Verify source module exports RedirectToTasks (named export or declaration):"
rg -n -A 2 -B 2 $'\bexport\\s+\\{[^}]*\\bRedirectToTasks\\b' packages/nextjs/src ||true
rg -n -A 2 -B 2 $'\bexport\\s+(const|function|class)\\s+RedirectToTasks\\b' packages/nextjs/src ||trueecho -e "\n2) Confirm index.ts re-export path is present:"
rg -n -A 1 -B 1 "from './client-boundary/controlComponents'" packages/nextjs/src/index.ts
echo -e "\n3) Check for props type export (optional but recommended):"
rg -n -A 2 -B 2 $'\bexport\\s+type\\s+.*RedirectToTasks.*Props\\b' packages/nextjs/src ||trueecho -e "\n4) Ensure no duplicate re-exports elsewhere:"
rg -n -A 1 -B 1 $'\bexport\\s+\\{[^}]*\\bRedirectToTasks\\b' packages -g '!packages/nextjs/src/index.ts'||true

Length of output: 1095


Missing RedirectToTasks Export in controlComponents

The re-export in packages/nextjs/src/index.ts references a RedirectToTasks symbol that isn’t defined or exported in ./client-boundary/controlComponents. This will cause a runtime import error.

• Location of broken re-export:

  • File: packages/nextjs/src/index.ts
  • Lines: 15–17 (includes RedirectToTasks, … } from './client-boundary/controlComponents';)

Action required:

  • Add a corresponding export (function, class, or const) for RedirectToTasks in packages/nextjs/src/client-boundary/controlComponents, or
  • Remove or correct the re-export in the index file to match the actual exports.
🤖 Prompt for AI Agents
In packages/nextjs/src/index.ts around lines 15–17 the named export
RedirectToTasks is re-exported from './client-boundary/controlComponents' but
that symbol is not defined there; either add a matching export named
RedirectToTasks (function/class/const) into
packages/nextjs/src/client-boundary/controlComponents and export it, or
remove/rename the RedirectToTasks entry in the index re-export so it matches the
actual exported names from controlComponents; ensure the exported identifier
spelling and casing match exactly and update any imports/tests that expect
RedirectToTasks.


Expand Down
1 change: 1 addition & 0 deletions packages/nuxt/src/runtime/components/index.ts
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,6 +19,7 @@ export {
RedirectToSignIn,
RedirectToSignUp,
RedirectToUserProfile,
RedirectToTasks,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

LGTM: Nuxt re-export of RedirectToTasks from @clerk/vue is consistent.

This mirrors the Vue export and keeps the tree-shakable named export pattern. Please confirm dependency alignment so Nuxt consumes a @clerk/vue version that contains RedirectToTasks.

  • Verify @clerk/nuxt depends (dep/peer) on a version range of @clerk/vue that includes this symbol (changeset should bump as needed).
  • Optional: add a smoke test importing RedirectToTasks from @clerk/nuxt to ensure the symbol is publicly exposed post-build.

Run this script to check dependency alignment and presence across packages:

If helpful, I can also prepare a tiny import test to assert RedirectToTasks is accessible from @clerk/nuxt.


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"1) Confirm nuxt re-exports RedirectToTasks only once"
rg -n 'RedirectToTasks' packages/nuxt/src/runtime/components/index.ts
echo"2) Check that @clerk/nuxt depends on @clerk/vue at an appropriate version"
NUXT_PKG=$(fd -a '^package\.json$' packages/nuxt | head -n1)if [ -n"$NUXT_PKG" ];thenecho"Found package file: $NUXT_PKG"ifcommand -v jq >/dev/null 2>&1;then
jq -r ' { dependencies: (.dependencies["@clerk/vue"] // null), peerDependencies: (.peerDependencies["@clerk/vue"] // null), devDependencies: (.devDependencies["@clerk/vue"] // null) }'"$NUXT_PKG"else
rg -n '"@clerk/vue":'"$NUXT_PKG"||truefielseecho"Could not find packages/nuxt package.json">&2fiecho"3) Ensure Vue index includes RedirectToTasks"
rg -n 'RedirectToTasks' packages/vue/src/components/index.ts ||trueecho"4) Locate changeset mentioning RedirectToTasks"
fd -a '\.changeset/.*\.md'| xargs -r rg -n 'RedirectToTasks|@clerk/vue|@clerk/nuxt'

Length of output: 1441


Confirm dependency alignment and add missing changeset

All checks pass on the re-export, but there’s no recorded changeset for this new export.

• packages/nuxt/src/runtime/components/index.ts
RedirectToTasks is re-exported exactly once.
• packages/nuxt/package.json
– Depends on @clerk/vue via workspace:^, so it will always pull in the local Vue package.
• packages/vue/src/components/index.ts
– Exports RedirectToTasks in its public API.
• .changeset/*.md
– No changeset mentions this new export or bumps @clerk/nuxt.

Next steps:

  1. Add a changeset to bump @clerk/nuxt so consumers receive the new RedirectToTasks export.
  2. (Optional) Add a small smoke test that imports RedirectToTasks from @clerk/nuxt post-build to verify it’s publicly exposed.
🤖 Prompt for AI Agents
In packages/nuxt/src/runtime/components/index.ts around line 22 the new export
RedirectToTasks was added but no changeset was created to bump @clerk/nuxt; add
a new .changeset markdown file that increments the @clerk/nuxt package version
(patch or minor as appropriate) and describes the new public export so consumers
receive the new symbol, and optionally add a minimal smoke test in the nuxt
package (post-build) that imports RedirectToTasks from @clerk/nuxt to verify the
re-export is publicly exposed; no code changes to the export are required, only
the changeset (and optional test) and commit.

AuthenticateWithRedirectCallback,
RedirectToCreateOrganization,
RedirectToOrganizationProfile,
Expand Down
1 change: 1 addition & 0 deletions packages/vue/src/components/index.ts
Original file line numberDiff line numberDiff line change
Expand Up@@ -18,6 +18,7 @@ export {
RedirectToSignIn,
RedirectToSignUp,
RedirectToUserProfile,
RedirectToTasks,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

LGTM: Added RedirectToTasks export is correct and tree-shake friendly.

Placement is consistent with other control components and maintains the existing export style. Please verify the source symbol exists and that consumers get proper typings.

  • Ensure ./controlComponents actually exports RedirectToTasks and that its JSDoc (public API doc) is present at the declaration site.
  • Consider adding a lightweight smoke test to assert RedirectToTasks is importable from @clerk/vue.

Run this script to verify the source export and look for potential cycles:

If you want, I can draft a minimal smoke test that imports RedirectToTasks from @clerk/vue to prevent regressions.


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"1) Ensure Vue controlComponents exports RedirectToTasks"
fd -a -t f 'controlComponents(\.ts|/index\.ts)?$' packages/vue 2>/dev/null | tee /tmp/cc_files.txt
if [ !-s /tmp/cc_files.txt ];thenecho"Could not find controlComponents file(s) in packages/vue">&2fi
rg -n 'export\s+\{[^}]*RedirectToTasks|export\s+(const|function|class)\s+RedirectToTasks'$(cat /tmp/cc_files.txt)||trueecho"2) Ensure Vue components index re-exports RedirectToTasks"
rg -n 'RedirectToTasks' packages/vue/src/components/index.ts ||trueecho"3) Quick cycle smell: controlComponents importing components index"
rg -n "from ['\"]\./components['\"]" packages/vue/src ||true

Length of output: 323


I’ve updated the verification script to avoid using tee (which isn’t available in this environment) and directly capture & inspect the files:


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"1) Locate Vue controlComponents file(s)"
files=$(fd -t f -e ts -- 'controlComponents(\.ts|/index\.ts)?$' packages/vue 2>/dev/null)if [[ -z"$files" ]];thenecho"✖ Could not find any controlComponents file(s) under packages/vue">&2elseecho"Found:"echo"$files"echoecho"Searching for RedirectToTasks export in those files:"
rg -n 'export\s+\{[^}]*RedirectToTasks|export\s+(const|function|class)\s+RedirectToTasks'$files||truefiechoecho"2) Verify re-export in components index.ts"
rg -n 'RedirectToTasks' packages/vue/src/components/index.ts ||trueechoecho"3) Quick cycle check: controlComponents → components index"
rg -n "from ['\"]\./components['\"]" packages/vue/src ||true

Length of output: 1184


I’ll check whether there’s a JSDoc block immediately above the RedirectToTasks declaration:


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"Inspecting context around RedirectToTasks export for JSDoc:"
rg -n -C3 'export\s+const\s+RedirectToTasks' packages/vue/src/components/controlComponents.ts ||true

Length of output: 414


Add public JSDoc for RedirectToTasks and consider a smoke test

  • ✅ Verified RedirectToTasks is exported in
    packages/vue/src/components/controlComponents.ts (line 63)
    and re-exported in packages/vue/src/components/index.ts (line 21).
  • ✅ No import cycles detected between controlComponents and components.
  • ⚠️Missing JSDoc: please add a public API doc comment immediately above the
    export const RedirectToTasks = … declaration in
    packages/vue/src/components/controlComponents.ts.
  • 🔍 Consider adding a lightweight smoke test that imports
    RedirectToTasks from @clerk/vue to catch any regressions.
🤖 Prompt for AI Agents
In packages/vue/src/components/controlComponents.ts around line 63, the exported
RedirectToTasks constant is missing a public JSDoc comment; add a short /** ...
*/ block immediately above the export that describes what RedirectToTasks does,
marks it as public (e.g., @public), and documents any props/params or usage
note; then add a lightweight smoke test (e.g., in the library's test harness)
that simply imports { RedirectToTasks } from '@clerk/vue' to ensure the
re-export in packages/vue/src/components/index.ts stays valid.

AuthenticateWithRedirectCallback,
RedirectToCreateOrganization,
RedirectToOrganizationProfile,
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .changeset/hot-toys-poke.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
---
'@clerk/nextjs': patch
'@clerk/vue': patch
'@clerk/nuxt': patch
---

Fix export of `RedirectToTasks` control component
1 change: 1 addition & 0 deletions packages/nextjs/src/index.ts
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,6 +12,7 @@ export {
RedirectToOrganizationProfile,
RedirectToSignIn,
RedirectToSignUp,
RedirectToTasks,
RedirectToUserProfile,
} from './client-boundary/controlComponents';
Comment on lines +15 to 17

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Verify the source module actually exports RedirectToTasks

Ensure ./client-boundary/controlComponents provides a named export RedirectToTasks (and no duplicate re-exports elsewhere) to avoid runtime/import errors.

Run this script to confirm:


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"1) Verify source module exports RedirectToTasks (named export or declaration):"
rg -n -A 2 -B 2 $'\bexport\\s+\\{[^}]*\\bRedirectToTasks\\b' packages/nextjs/src ||true
rg -n -A 2 -B 2 $'\bexport\\s+(const|function|class)\\s+RedirectToTasks\\b' packages/nextjs/src ||trueecho -e "\n2) Confirm index.ts re-export path is present:"
rg -n -A 1 -B 1 "from './client-boundary/controlComponents'" packages/nextjs/src/index.ts
echo -e "\n3) Check for props type export (optional but recommended):"
rg -n -A 2 -B 2 $'\bexport\\s+type\\s+.*RedirectToTasks.*Props\\b' packages/nextjs/src ||trueecho -e "\n4) Ensure no duplicate re-exports elsewhere:"
rg -n -A 1 -B 1 $'\bexport\\s+\\{[^}]*\\bRedirectToTasks\\b' packages -g '!packages/nextjs/src/index.ts'||true

Length of output: 1095


Missing RedirectToTasks Export in controlComponents

The re-export in packages/nextjs/src/index.ts references a RedirectToTasks symbol that isn’t defined or exported in ./client-boundary/controlComponents. This will cause a runtime import error.

• Location of broken re-export:

  • File: packages/nextjs/src/index.ts
  • Lines: 15–17 (includes RedirectToTasks, … } from './client-boundary/controlComponents';)

Action required:

  • Add a corresponding export (function, class, or const) for RedirectToTasks in packages/nextjs/src/client-boundary/controlComponents, or
  • Remove or correct the re-export in the index file to match the actual exports.
🤖 Prompt for AI Agents
In packages/nextjs/src/index.ts around lines 15–17 the named export
RedirectToTasks is re-exported from './client-boundary/controlComponents' but
that symbol is not defined there; either add a matching export named
RedirectToTasks (function/class/const) into
packages/nextjs/src/client-boundary/controlComponents and export it, or
remove/rename the RedirectToTasks entry in the index re-export so it matches the
actual exported names from controlComponents; ensure the exported identifier
spelling and casing match exactly and update any imports/tests that expect
RedirectToTasks.


Expand Down
1 change: 1 addition & 0 deletions packages/nuxt/src/runtime/components/index.ts
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,6 +19,7 @@ export {
RedirectToSignIn,
RedirectToSignUp,
RedirectToUserProfile,
RedirectToTasks,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

LGTM: Nuxt re-export of RedirectToTasks from @clerk/vue is consistent.

This mirrors the Vue export and keeps the tree-shakable named export pattern. Please confirm dependency alignment so Nuxt consumes a @clerk/vue version that contains RedirectToTasks.

  • Verify @clerk/nuxt depends (dep/peer) on a version range of @clerk/vue that includes this symbol (changeset should bump as needed).
  • Optional: add a smoke test importing RedirectToTasks from @clerk/nuxt to ensure the symbol is publicly exposed post-build.

Run this script to check dependency alignment and presence across packages:

If helpful, I can also prepare a tiny import test to assert RedirectToTasks is accessible from @clerk/nuxt.


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"1) Confirm nuxt re-exports RedirectToTasks only once"
rg -n 'RedirectToTasks' packages/nuxt/src/runtime/components/index.ts
echo"2) Check that @clerk/nuxt depends on @clerk/vue at an appropriate version"
NUXT_PKG=$(fd -a '^package\.json$' packages/nuxt | head -n1)if [ -n"$NUXT_PKG" ];thenecho"Found package file: $NUXT_PKG"ifcommand -v jq >/dev/null 2>&1;then
jq -r ' { dependencies: (.dependencies["@clerk/vue"] // null), peerDependencies: (.peerDependencies["@clerk/vue"] // null), devDependencies: (.devDependencies["@clerk/vue"] // null) }'"$NUXT_PKG"else
rg -n '"@clerk/vue":'"$NUXT_PKG"||truefielseecho"Could not find packages/nuxt package.json">&2fiecho"3) Ensure Vue index includes RedirectToTasks"
rg -n 'RedirectToTasks' packages/vue/src/components/index.ts ||trueecho"4) Locate changeset mentioning RedirectToTasks"
fd -a '\.changeset/.*\.md'| xargs -r rg -n 'RedirectToTasks|@clerk/vue|@clerk/nuxt'

Length of output: 1441


Confirm dependency alignment and add missing changeset

All checks pass on the re-export, but there’s no recorded changeset for this new export.

• packages/nuxt/src/runtime/components/index.ts
RedirectToTasks is re-exported exactly once.
• packages/nuxt/package.json
– Depends on @clerk/vue via workspace:^, so it will always pull in the local Vue package.
• packages/vue/src/components/index.ts
– Exports RedirectToTasks in its public API.
• .changeset/*.md
– No changeset mentions this new export or bumps @clerk/nuxt.

Next steps:

  1. Add a changeset to bump @clerk/nuxt so consumers receive the new RedirectToTasks export.
  2. (Optional) Add a small smoke test that imports RedirectToTasks from @clerk/nuxt post-build to verify it’s publicly exposed.
🤖 Prompt for AI Agents
In packages/nuxt/src/runtime/components/index.ts around line 22 the new export
RedirectToTasks was added but no changeset was created to bump @clerk/nuxt; add
a new .changeset markdown file that increments the @clerk/nuxt package version
(patch or minor as appropriate) and describes the new public export so consumers
receive the new symbol, and optionally add a minimal smoke test in the nuxt
package (post-build) that imports RedirectToTasks from @clerk/nuxt to verify the
re-export is publicly exposed; no code changes to the export are required, only
the changeset (and optional test) and commit.

AuthenticateWithRedirectCallback,
RedirectToCreateOrganization,
RedirectToOrganizationProfile,
Expand Down
1 change: 1 addition & 0 deletions packages/vue/src/components/index.ts
Original file line numberDiff line numberDiff line change
Expand Up@@ -18,6 +18,7 @@ export {
RedirectToSignIn,
RedirectToSignUp,
RedirectToUserProfile,
RedirectToTasks,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

LGTM: Added RedirectToTasks export is correct and tree-shake friendly.

Placement is consistent with other control components and maintains the existing export style. Please verify the source symbol exists and that consumers get proper typings.

  • Ensure ./controlComponents actually exports RedirectToTasks and that its JSDoc (public API doc) is present at the declaration site.
  • Consider adding a lightweight smoke test to assert RedirectToTasks is importable from @clerk/vue.

Run this script to verify the source export and look for potential cycles:

If you want, I can draft a minimal smoke test that imports RedirectToTasks from @clerk/vue to prevent regressions.


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"1) Ensure Vue controlComponents exports RedirectToTasks"
fd -a -t f 'controlComponents(\.ts|/index\.ts)?$' packages/vue 2>/dev/null | tee /tmp/cc_files.txt
if [ !-s /tmp/cc_files.txt ];thenecho"Could not find controlComponents file(s) in packages/vue">&2fi
rg -n 'export\s+\{[^}]*RedirectToTasks|export\s+(const|function|class)\s+RedirectToTasks'$(cat /tmp/cc_files.txt)||trueecho"2) Ensure Vue components index re-exports RedirectToTasks"
rg -n 'RedirectToTasks' packages/vue/src/components/index.ts ||trueecho"3) Quick cycle smell: controlComponents importing components index"
rg -n "from ['\"]\./components['\"]" packages/vue/src ||true

Length of output: 323


I’ve updated the verification script to avoid using tee (which isn’t available in this environment) and directly capture & inspect the files:


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"1) Locate Vue controlComponents file(s)"
files=$(fd -t f -e ts -- 'controlComponents(\.ts|/index\.ts)?$' packages/vue 2>/dev/null)if [[ -z"$files" ]];thenecho"✖ Could not find any controlComponents file(s) under packages/vue">&2elseecho"Found:"echo"$files"echoecho"Searching for RedirectToTasks export in those files:"
rg -n 'export\s+\{[^}]*RedirectToTasks|export\s+(const|function|class)\s+RedirectToTasks'$files||truefiechoecho"2) Verify re-export in components index.ts"
rg -n 'RedirectToTasks' packages/vue/src/components/index.ts ||trueechoecho"3) Quick cycle check: controlComponents → components index"
rg -n "from ['\"]\./components['\"]" packages/vue/src ||true

Length of output: 1184


I’ll check whether there’s a JSDoc block immediately above the RedirectToTasks declaration:


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"Inspecting context around RedirectToTasks export for JSDoc:"
rg -n -C3 'export\s+const\s+RedirectToTasks' packages/vue/src/components/controlComponents.ts ||true

Length of output: 414


Add public JSDoc for RedirectToTasks and consider a smoke test

  • ✅ Verified RedirectToTasks is exported in
    packages/vue/src/components/controlComponents.ts (line 63)
    and re-exported in packages/vue/src/components/index.ts (line 21).
  • ✅ No import cycles detected between controlComponents and components.
  • ⚠️Missing JSDoc: please add a public API doc comment immediately above the
    export const RedirectToTasks = … declaration in
    packages/vue/src/components/controlComponents.ts.
  • 🔍 Consider adding a lightweight smoke test that imports
    RedirectToTasks from @clerk/vue to catch any regressions.
🤖 Prompt for AI Agents
In packages/vue/src/components/controlComponents.ts around line 63, the exported
RedirectToTasks constant is missing a public JSDoc comment; add a short /** ...
*/ block immediately above the export that describes what RedirectToTasks does,
marks it as public (e.g., @public), and documents any props/params or usage
note; then add a lightweight smoke test (e.g., in the library's test harness)
that simply imports { RedirectToTasks } from '@clerk/vue' to ensure the
re-export in packages/vue/src/components/index.ts stays valid.

AuthenticateWithRedirectCallback,
RedirectToCreateOrganization,
RedirectToOrganizationProfile,
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .changeset/hot-toys-poke.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
---
'@clerk/nextjs': patch
'@clerk/vue': patch
'@clerk/nuxt': patch
---

Fix export of `RedirectToTasks` control component
1 change: 1 addition & 0 deletions packages/nextjs/src/index.ts
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,6 +12,7 @@ export {
RedirectToOrganizationProfile,
RedirectToSignIn,
RedirectToSignUp,
RedirectToTasks,
RedirectToUserProfile,
} from './client-boundary/controlComponents';
Comment on lines +15 to 17

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Verify the source module actually exports RedirectToTasks

Ensure ./client-boundary/controlComponents provides a named export RedirectToTasks (and no duplicate re-exports elsewhere) to avoid runtime/import errors.

Run this script to confirm:


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"1) Verify source module exports RedirectToTasks (named export or declaration):"
rg -n -A 2 -B 2 $'\bexport\\s+\\{[^}]*\\bRedirectToTasks\\b' packages/nextjs/src ||true
rg -n -A 2 -B 2 $'\bexport\\s+(const|function|class)\\s+RedirectToTasks\\b' packages/nextjs/src ||trueecho -e "\n2) Confirm index.ts re-export path is present:"
rg -n -A 1 -B 1 "from './client-boundary/controlComponents'" packages/nextjs/src/index.ts
echo -e "\n3) Check for props type export (optional but recommended):"
rg -n -A 2 -B 2 $'\bexport\\s+type\\s+.*RedirectToTasks.*Props\\b' packages/nextjs/src ||trueecho -e "\n4) Ensure no duplicate re-exports elsewhere:"
rg -n -A 1 -B 1 $'\bexport\\s+\\{[^}]*\\bRedirectToTasks\\b' packages -g '!packages/nextjs/src/index.ts'||true

Length of output: 1095


Missing RedirectToTasks Export in controlComponents

The re-export in packages/nextjs/src/index.ts references a RedirectToTasks symbol that isn’t defined or exported in ./client-boundary/controlComponents. This will cause a runtime import error.

• Location of broken re-export:

  • File: packages/nextjs/src/index.ts
  • Lines: 15–17 (includes RedirectToTasks, … } from './client-boundary/controlComponents';)

Action required:

  • Add a corresponding export (function, class, or const) for RedirectToTasks in packages/nextjs/src/client-boundary/controlComponents, or
  • Remove or correct the re-export in the index file to match the actual exports.
🤖 Prompt for AI Agents
In packages/nextjs/src/index.ts around lines 15–17 the named export
RedirectToTasks is re-exported from './client-boundary/controlComponents' but
that symbol is not defined there; either add a matching export named
RedirectToTasks (function/class/const) into
packages/nextjs/src/client-boundary/controlComponents and export it, or
remove/rename the RedirectToTasks entry in the index re-export so it matches the
actual exported names from controlComponents; ensure the exported identifier
spelling and casing match exactly and update any imports/tests that expect
RedirectToTasks.


Expand Down
1 change: 1 addition & 0 deletions packages/nuxt/src/runtime/components/index.ts
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,6 +19,7 @@ export {
RedirectToSignIn,
RedirectToSignUp,
RedirectToUserProfile,
RedirectToTasks,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

LGTM: Nuxt re-export of RedirectToTasks from @clerk/vue is consistent.

This mirrors the Vue export and keeps the tree-shakable named export pattern. Please confirm dependency alignment so Nuxt consumes a @clerk/vue version that contains RedirectToTasks.

  • Verify @clerk/nuxt depends (dep/peer) on a version range of @clerk/vue that includes this symbol (changeset should bump as needed).
  • Optional: add a smoke test importing RedirectToTasks from @clerk/nuxt to ensure the symbol is publicly exposed post-build.

Run this script to check dependency alignment and presence across packages:

If helpful, I can also prepare a tiny import test to assert RedirectToTasks is accessible from @clerk/nuxt.


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"1) Confirm nuxt re-exports RedirectToTasks only once"
rg -n 'RedirectToTasks' packages/nuxt/src/runtime/components/index.ts
echo"2) Check that @clerk/nuxt depends on @clerk/vue at an appropriate version"
NUXT_PKG=$(fd -a '^package\.json$' packages/nuxt | head -n1)if [ -n"$NUXT_PKG" ];thenecho"Found package file: $NUXT_PKG"ifcommand -v jq >/dev/null 2>&1;then
jq -r ' { dependencies: (.dependencies["@clerk/vue"] // null), peerDependencies: (.peerDependencies["@clerk/vue"] // null), devDependencies: (.devDependencies["@clerk/vue"] // null) }'"$NUXT_PKG"else
rg -n '"@clerk/vue":'"$NUXT_PKG"||truefielseecho"Could not find packages/nuxt package.json">&2fiecho"3) Ensure Vue index includes RedirectToTasks"
rg -n 'RedirectToTasks' packages/vue/src/components/index.ts ||trueecho"4) Locate changeset mentioning RedirectToTasks"
fd -a '\.changeset/.*\.md'| xargs -r rg -n 'RedirectToTasks|@clerk/vue|@clerk/nuxt'

Length of output: 1441


Confirm dependency alignment and add missing changeset

All checks pass on the re-export, but there’s no recorded changeset for this new export.

• packages/nuxt/src/runtime/components/index.ts
RedirectToTasks is re-exported exactly once.
• packages/nuxt/package.json
– Depends on @clerk/vue via workspace:^, so it will always pull in the local Vue package.
• packages/vue/src/components/index.ts
– Exports RedirectToTasks in its public API.
• .changeset/*.md
– No changeset mentions this new export or bumps @clerk/nuxt.

Next steps:

  1. Add a changeset to bump @clerk/nuxt so consumers receive the new RedirectToTasks export.
  2. (Optional) Add a small smoke test that imports RedirectToTasks from @clerk/nuxt post-build to verify it’s publicly exposed.
🤖 Prompt for AI Agents
In packages/nuxt/src/runtime/components/index.ts around line 22 the new export
RedirectToTasks was added but no changeset was created to bump @clerk/nuxt; add
a new .changeset markdown file that increments the @clerk/nuxt package version
(patch or minor as appropriate) and describes the new public export so consumers
receive the new symbol, and optionally add a minimal smoke test in the nuxt
package (post-build) that imports RedirectToTasks from @clerk/nuxt to verify the
re-export is publicly exposed; no code changes to the export are required, only
the changeset (and optional test) and commit.

AuthenticateWithRedirectCallback,
RedirectToCreateOrganization,
RedirectToOrganizationProfile,
Expand Down
1 change: 1 addition & 0 deletions packages/vue/src/components/index.ts
Original file line numberDiff line numberDiff line change
Expand Up@@ -18,6 +18,7 @@ export {
RedirectToSignIn,
RedirectToSignUp,
RedirectToUserProfile,
RedirectToTasks,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

LGTM: Added RedirectToTasks export is correct and tree-shake friendly.

Placement is consistent with other control components and maintains the existing export style. Please verify the source symbol exists and that consumers get proper typings.

  • Ensure ./controlComponents actually exports RedirectToTasks and that its JSDoc (public API doc) is present at the declaration site.
  • Consider adding a lightweight smoke test to assert RedirectToTasks is importable from @clerk/vue.

Run this script to verify the source export and look for potential cycles:

If you want, I can draft a minimal smoke test that imports RedirectToTasks from @clerk/vue to prevent regressions.


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"1) Ensure Vue controlComponents exports RedirectToTasks"
fd -a -t f 'controlComponents(\.ts|/index\.ts)?$' packages/vue 2>/dev/null | tee /tmp/cc_files.txt
if [ !-s /tmp/cc_files.txt ];thenecho"Could not find controlComponents file(s) in packages/vue">&2fi
rg -n 'export\s+\{[^}]*RedirectToTasks|export\s+(const|function|class)\s+RedirectToTasks'$(cat /tmp/cc_files.txt)||trueecho"2) Ensure Vue components index re-exports RedirectToTasks"
rg -n 'RedirectToTasks' packages/vue/src/components/index.ts ||trueecho"3) Quick cycle smell: controlComponents importing components index"
rg -n "from ['\"]\./components['\"]" packages/vue/src ||true

Length of output: 323


I’ve updated the verification script to avoid using tee (which isn’t available in this environment) and directly capture & inspect the files:


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"1) Locate Vue controlComponents file(s)"
files=$(fd -t f -e ts -- 'controlComponents(\.ts|/index\.ts)?$' packages/vue 2>/dev/null)if [[ -z"$files" ]];thenecho"✖ Could not find any controlComponents file(s) under packages/vue">&2elseecho"Found:"echo"$files"echoecho"Searching for RedirectToTasks export in those files:"
rg -n 'export\s+\{[^}]*RedirectToTasks|export\s+(const|function|class)\s+RedirectToTasks'$files||truefiechoecho"2) Verify re-export in components index.ts"
rg -n 'RedirectToTasks' packages/vue/src/components/index.ts ||trueechoecho"3) Quick cycle check: controlComponents → components index"
rg -n "from ['\"]\./components['\"]" packages/vue/src ||true

Length of output: 1184


I’ll check whether there’s a JSDoc block immediately above the RedirectToTasks declaration:


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"Inspecting context around RedirectToTasks export for JSDoc:"
rg -n -C3 'export\s+const\s+RedirectToTasks' packages/vue/src/components/controlComponents.ts ||true

Length of output: 414


Add public JSDoc for RedirectToTasks and consider a smoke test

  • ✅ Verified RedirectToTasks is exported in
    packages/vue/src/components/controlComponents.ts (line 63)
    and re-exported in packages/vue/src/components/index.ts (line 21).
  • ✅ No import cycles detected between controlComponents and components.
  • ⚠️Missing JSDoc: please add a public API doc comment immediately above the
    export const RedirectToTasks = … declaration in
    packages/vue/src/components/controlComponents.ts.
  • 🔍 Consider adding a lightweight smoke test that imports
    RedirectToTasks from @clerk/vue to catch any regressions.
🤖 Prompt for AI Agents
In packages/vue/src/components/controlComponents.ts around line 63, the exported
RedirectToTasks constant is missing a public JSDoc comment; add a short /** ...
*/ block immediately above the export that describes what RedirectToTasks does,
marks it as public (e.g., @public), and documents any props/params or usage
note; then add a lightweight smoke test (e.g., in the library's test harness)
that simply imports { RedirectToTasks } from '@clerk/vue' to ensure the
re-export in packages/vue/src/components/index.ts stays valid.

AuthenticateWithRedirectCallback,
RedirectToCreateOrganization,
RedirectToOrganizationProfile,
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .changeset/hot-toys-poke.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
---
'@clerk/nextjs': patch
'@clerk/vue': patch
'@clerk/nuxt': patch
---

Fix export of `RedirectToTasks` control component
1 change: 1 addition & 0 deletions packages/nextjs/src/index.ts
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,6 +12,7 @@ export {
RedirectToOrganizationProfile,
RedirectToSignIn,
RedirectToSignUp,
RedirectToTasks,
RedirectToUserProfile,
} from './client-boundary/controlComponents';
Comment on lines +15 to 17

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Verify the source module actually exports RedirectToTasks

Ensure ./client-boundary/controlComponents provides a named export RedirectToTasks (and no duplicate re-exports elsewhere) to avoid runtime/import errors.

Run this script to confirm:


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"1) Verify source module exports RedirectToTasks (named export or declaration):"
rg -n -A 2 -B 2 $'\bexport\\s+\\{[^}]*\\bRedirectToTasks\\b' packages/nextjs/src ||true
rg -n -A 2 -B 2 $'\bexport\\s+(const|function|class)\\s+RedirectToTasks\\b' packages/nextjs/src ||trueecho -e "\n2) Confirm index.ts re-export path is present:"
rg -n -A 1 -B 1 "from './client-boundary/controlComponents'" packages/nextjs/src/index.ts
echo -e "\n3) Check for props type export (optional but recommended):"
rg -n -A 2 -B 2 $'\bexport\\s+type\\s+.*RedirectToTasks.*Props\\b' packages/nextjs/src ||trueecho -e "\n4) Ensure no duplicate re-exports elsewhere:"
rg -n -A 1 -B 1 $'\bexport\\s+\\{[^}]*\\bRedirectToTasks\\b' packages -g '!packages/nextjs/src/index.ts'||true

Length of output: 1095


Missing RedirectToTasks Export in controlComponents

The re-export in packages/nextjs/src/index.ts references a RedirectToTasks symbol that isn’t defined or exported in ./client-boundary/controlComponents. This will cause a runtime import error.

• Location of broken re-export:

  • File: packages/nextjs/src/index.ts
  • Lines: 15–17 (includes RedirectToTasks, … } from './client-boundary/controlComponents';)

Action required:

  • Add a corresponding export (function, class, or const) for RedirectToTasks in packages/nextjs/src/client-boundary/controlComponents, or
  • Remove or correct the re-export in the index file to match the actual exports.
🤖 Prompt for AI Agents
In packages/nextjs/src/index.ts around lines 15–17 the named export
RedirectToTasks is re-exported from './client-boundary/controlComponents' but
that symbol is not defined there; either add a matching export named
RedirectToTasks (function/class/const) into
packages/nextjs/src/client-boundary/controlComponents and export it, or
remove/rename the RedirectToTasks entry in the index re-export so it matches the
actual exported names from controlComponents; ensure the exported identifier
spelling and casing match exactly and update any imports/tests that expect
RedirectToTasks.


Expand Down
1 change: 1 addition & 0 deletions packages/nuxt/src/runtime/components/index.ts
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,6 +19,7 @@ export {
RedirectToSignIn,
RedirectToSignUp,
RedirectToUserProfile,
RedirectToTasks,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

LGTM: Nuxt re-export of RedirectToTasks from @clerk/vue is consistent.

This mirrors the Vue export and keeps the tree-shakable named export pattern. Please confirm dependency alignment so Nuxt consumes a @clerk/vue version that contains RedirectToTasks.

  • Verify @clerk/nuxt depends (dep/peer) on a version range of @clerk/vue that includes this symbol (changeset should bump as needed).
  • Optional: add a smoke test importing RedirectToTasks from @clerk/nuxt to ensure the symbol is publicly exposed post-build.

Run this script to check dependency alignment and presence across packages:

If helpful, I can also prepare a tiny import test to assert RedirectToTasks is accessible from @clerk/nuxt.


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"1) Confirm nuxt re-exports RedirectToTasks only once"
rg -n 'RedirectToTasks' packages/nuxt/src/runtime/components/index.ts
echo"2) Check that @clerk/nuxt depends on @clerk/vue at an appropriate version"
NUXT_PKG=$(fd -a '^package\.json$' packages/nuxt | head -n1)if [ -n"$NUXT_PKG" ];thenecho"Found package file: $NUXT_PKG"ifcommand -v jq >/dev/null 2>&1;then
jq -r ' { dependencies: (.dependencies["@clerk/vue"] // null), peerDependencies: (.peerDependencies["@clerk/vue"] // null), devDependencies: (.devDependencies["@clerk/vue"] // null) }'"$NUXT_PKG"else
rg -n '"@clerk/vue":'"$NUXT_PKG"||truefielseecho"Could not find packages/nuxt package.json">&2fiecho"3) Ensure Vue index includes RedirectToTasks"
rg -n 'RedirectToTasks' packages/vue/src/components/index.ts ||trueecho"4) Locate changeset mentioning RedirectToTasks"
fd -a '\.changeset/.*\.md'| xargs -r rg -n 'RedirectToTasks|@clerk/vue|@clerk/nuxt'

Length of output: 1441


Confirm dependency alignment and add missing changeset

All checks pass on the re-export, but there’s no recorded changeset for this new export.

• packages/nuxt/src/runtime/components/index.ts
RedirectToTasks is re-exported exactly once.
• packages/nuxt/package.json
– Depends on @clerk/vue via workspace:^, so it will always pull in the local Vue package.
• packages/vue/src/components/index.ts
– Exports RedirectToTasks in its public API.
• .changeset/*.md
– No changeset mentions this new export or bumps @clerk/nuxt.

Next steps:

  1. Add a changeset to bump @clerk/nuxt so consumers receive the new RedirectToTasks export.
  2. (Optional) Add a small smoke test that imports RedirectToTasks from @clerk/nuxt post-build to verify it’s publicly exposed.
🤖 Prompt for AI Agents
In packages/nuxt/src/runtime/components/index.ts around line 22 the new export
RedirectToTasks was added but no changeset was created to bump @clerk/nuxt; add
a new .changeset markdown file that increments the @clerk/nuxt package version
(patch or minor as appropriate) and describes the new public export so consumers
receive the new symbol, and optionally add a minimal smoke test in the nuxt
package (post-build) that imports RedirectToTasks from @clerk/nuxt to verify the
re-export is publicly exposed; no code changes to the export are required, only
the changeset (and optional test) and commit.

AuthenticateWithRedirectCallback,
RedirectToCreateOrganization,
RedirectToOrganizationProfile,
Expand Down
1 change: 1 addition & 0 deletions packages/vue/src/components/index.ts
Original file line numberDiff line numberDiff line change
Expand Up@@ -18,6 +18,7 @@ export {
RedirectToSignIn,
RedirectToSignUp,
RedirectToUserProfile,
RedirectToTasks,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

LGTM: Added RedirectToTasks export is correct and tree-shake friendly.

Placement is consistent with other control components and maintains the existing export style. Please verify the source symbol exists and that consumers get proper typings.

  • Ensure ./controlComponents actually exports RedirectToTasks and that its JSDoc (public API doc) is present at the declaration site.
  • Consider adding a lightweight smoke test to assert RedirectToTasks is importable from @clerk/vue.

Run this script to verify the source export and look for potential cycles:

If you want, I can draft a minimal smoke test that imports RedirectToTasks from @clerk/vue to prevent regressions.


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"1) Ensure Vue controlComponents exports RedirectToTasks"
fd -a -t f 'controlComponents(\.ts|/index\.ts)?$' packages/vue 2>/dev/null | tee /tmp/cc_files.txt
if [ !-s /tmp/cc_files.txt ];thenecho"Could not find controlComponents file(s) in packages/vue">&2fi
rg -n 'export\s+\{[^}]*RedirectToTasks|export\s+(const|function|class)\s+RedirectToTasks'$(cat /tmp/cc_files.txt)||trueecho"2) Ensure Vue components index re-exports RedirectToTasks"
rg -n 'RedirectToTasks' packages/vue/src/components/index.ts ||trueecho"3) Quick cycle smell: controlComponents importing components index"
rg -n "from ['\"]\./components['\"]" packages/vue/src ||true

Length of output: 323


I’ve updated the verification script to avoid using tee (which isn’t available in this environment) and directly capture & inspect the files:


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"1) Locate Vue controlComponents file(s)"
files=$(fd -t f -e ts -- 'controlComponents(\.ts|/index\.ts)?$' packages/vue 2>/dev/null)if [[ -z"$files" ]];thenecho"✖ Could not find any controlComponents file(s) under packages/vue">&2elseecho"Found:"echo"$files"echoecho"Searching for RedirectToTasks export in those files:"
rg -n 'export\s+\{[^}]*RedirectToTasks|export\s+(const|function|class)\s+RedirectToTasks'$files||truefiechoecho"2) Verify re-export in components index.ts"
rg -n 'RedirectToTasks' packages/vue/src/components/index.ts ||trueechoecho"3) Quick cycle check: controlComponents → components index"
rg -n "from ['\"]\./components['\"]" packages/vue/src ||true

Length of output: 1184


I’ll check whether there’s a JSDoc block immediately above the RedirectToTasks declaration:


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"Inspecting context around RedirectToTasks export for JSDoc:"
rg -n -C3 'export\s+const\s+RedirectToTasks' packages/vue/src/components/controlComponents.ts ||true

Length of output: 414


Add public JSDoc for RedirectToTasks and consider a smoke test

  • ✅ Verified RedirectToTasks is exported in
    packages/vue/src/components/controlComponents.ts (line 63)
    and re-exported in packages/vue/src/components/index.ts (line 21).
  • ✅ No import cycles detected between controlComponents and components.
  • ⚠️Missing JSDoc: please add a public API doc comment immediately above the
    export const RedirectToTasks = … declaration in
    packages/vue/src/components/controlComponents.ts.
  • 🔍 Consider adding a lightweight smoke test that imports
    RedirectToTasks from @clerk/vue to catch any regressions.
🤖 Prompt for AI Agents
In packages/vue/src/components/controlComponents.ts around line 63, the exported
RedirectToTasks constant is missing a public JSDoc comment; add a short /** ...
*/ block immediately above the export that describes what RedirectToTasks does,
marks it as public (e.g., @public), and documents any props/params or usage
note; then add a lightweight smoke test (e.g., in the library's test harness)
that simply imports { RedirectToTasks } from '@clerk/vue' to ensure the
re-export in packages/vue/src/components/index.ts stays valid.

AuthenticateWithRedirectCallback,
RedirectToCreateOrganization,
RedirectToOrganizationProfile,
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .changeset/hot-toys-poke.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
---
'@clerk/nextjs': patch
'@clerk/vue': patch
'@clerk/nuxt': patch
---

Fix export of `RedirectToTasks` control component
1 change: 1 addition & 0 deletions packages/nextjs/src/index.ts
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,6 +12,7 @@ export {
RedirectToOrganizationProfile,
RedirectToSignIn,
RedirectToSignUp,
RedirectToTasks,
RedirectToUserProfile,
} from './client-boundary/controlComponents';
Comment on lines +15 to 17

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Verify the source module actually exports RedirectToTasks

Ensure ./client-boundary/controlComponents provides a named export RedirectToTasks (and no duplicate re-exports elsewhere) to avoid runtime/import errors.

Run this script to confirm:


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"1) Verify source module exports RedirectToTasks (named export or declaration):"
rg -n -A 2 -B 2 $'\bexport\\s+\\{[^}]*\\bRedirectToTasks\\b' packages/nextjs/src ||true
rg -n -A 2 -B 2 $'\bexport\\s+(const|function|class)\\s+RedirectToTasks\\b' packages/nextjs/src ||trueecho -e "\n2) Confirm index.ts re-export path is present:"
rg -n -A 1 -B 1 "from './client-boundary/controlComponents'" packages/nextjs/src/index.ts
echo -e "\n3) Check for props type export (optional but recommended):"
rg -n -A 2 -B 2 $'\bexport\\s+type\\s+.*RedirectToTasks.*Props\\b' packages/nextjs/src ||trueecho -e "\n4) Ensure no duplicate re-exports elsewhere:"
rg -n -A 1 -B 1 $'\bexport\\s+\\{[^}]*\\bRedirectToTasks\\b' packages -g '!packages/nextjs/src/index.ts'||true

Length of output: 1095


Missing RedirectToTasks Export in controlComponents

The re-export in packages/nextjs/src/index.ts references a RedirectToTasks symbol that isn’t defined or exported in ./client-boundary/controlComponents. This will cause a runtime import error.

• Location of broken re-export:

  • File: packages/nextjs/src/index.ts
  • Lines: 15–17 (includes RedirectToTasks, … } from './client-boundary/controlComponents';)

Action required:

  • Add a corresponding export (function, class, or const) for RedirectToTasks in packages/nextjs/src/client-boundary/controlComponents, or
  • Remove or correct the re-export in the index file to match the actual exports.
🤖 Prompt for AI Agents
In packages/nextjs/src/index.ts around lines 15–17 the named export
RedirectToTasks is re-exported from './client-boundary/controlComponents' but
that symbol is not defined there; either add a matching export named
RedirectToTasks (function/class/const) into
packages/nextjs/src/client-boundary/controlComponents and export it, or
remove/rename the RedirectToTasks entry in the index re-export so it matches the
actual exported names from controlComponents; ensure the exported identifier
spelling and casing match exactly and update any imports/tests that expect
RedirectToTasks.


Expand Down
1 change: 1 addition & 0 deletions packages/nuxt/src/runtime/components/index.ts
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,6 +19,7 @@ export {
RedirectToSignIn,
RedirectToSignUp,
RedirectToUserProfile,
RedirectToTasks,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

LGTM: Nuxt re-export of RedirectToTasks from @clerk/vue is consistent.

This mirrors the Vue export and keeps the tree-shakable named export pattern. Please confirm dependency alignment so Nuxt consumes a @clerk/vue version that contains RedirectToTasks.

  • Verify @clerk/nuxt depends (dep/peer) on a version range of @clerk/vue that includes this symbol (changeset should bump as needed).
  • Optional: add a smoke test importing RedirectToTasks from @clerk/nuxt to ensure the symbol is publicly exposed post-build.

Run this script to check dependency alignment and presence across packages:

If helpful, I can also prepare a tiny import test to assert RedirectToTasks is accessible from @clerk/nuxt.


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"1) Confirm nuxt re-exports RedirectToTasks only once"
rg -n 'RedirectToTasks' packages/nuxt/src/runtime/components/index.ts
echo"2) Check that @clerk/nuxt depends on @clerk/vue at an appropriate version"
NUXT_PKG=$(fd -a '^package\.json$' packages/nuxt | head -n1)if [ -n"$NUXT_PKG" ];thenecho"Found package file: $NUXT_PKG"ifcommand -v jq >/dev/null 2>&1;then
jq -r ' { dependencies: (.dependencies["@clerk/vue"] // null), peerDependencies: (.peerDependencies["@clerk/vue"] // null), devDependencies: (.devDependencies["@clerk/vue"] // null) }'"$NUXT_PKG"else
rg -n '"@clerk/vue":'"$NUXT_PKG"||truefielseecho"Could not find packages/nuxt package.json">&2fiecho"3) Ensure Vue index includes RedirectToTasks"
rg -n 'RedirectToTasks' packages/vue/src/components/index.ts ||trueecho"4) Locate changeset mentioning RedirectToTasks"
fd -a '\.changeset/.*\.md'| xargs -r rg -n 'RedirectToTasks|@clerk/vue|@clerk/nuxt'

Length of output: 1441


Confirm dependency alignment and add missing changeset

All checks pass on the re-export, but there’s no recorded changeset for this new export.

• packages/nuxt/src/runtime/components/index.ts
RedirectToTasks is re-exported exactly once.
• packages/nuxt/package.json
– Depends on @clerk/vue via workspace:^, so it will always pull in the local Vue package.
• packages/vue/src/components/index.ts
– Exports RedirectToTasks in its public API.
• .changeset/*.md
– No changeset mentions this new export or bumps @clerk/nuxt.

Next steps:

  1. Add a changeset to bump @clerk/nuxt so consumers receive the new RedirectToTasks export.
  2. (Optional) Add a small smoke test that imports RedirectToTasks from @clerk/nuxt post-build to verify it’s publicly exposed.
🤖 Prompt for AI Agents
In packages/nuxt/src/runtime/components/index.ts around line 22 the new export
RedirectToTasks was added but no changeset was created to bump @clerk/nuxt; add
a new .changeset markdown file that increments the @clerk/nuxt package version
(patch or minor as appropriate) and describes the new public export so consumers
receive the new symbol, and optionally add a minimal smoke test in the nuxt
package (post-build) that imports RedirectToTasks from @clerk/nuxt to verify the
re-export is publicly exposed; no code changes to the export are required, only
the changeset (and optional test) and commit.

AuthenticateWithRedirectCallback,
RedirectToCreateOrganization,
RedirectToOrganizationProfile,
Expand Down
1 change: 1 addition & 0 deletions packages/vue/src/components/index.ts
Original file line numberDiff line numberDiff line change
Expand Up@@ -18,6 +18,7 @@ export {
RedirectToSignIn,
RedirectToSignUp,
RedirectToUserProfile,
RedirectToTasks,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

LGTM: Added RedirectToTasks export is correct and tree-shake friendly.

Placement is consistent with other control components and maintains the existing export style. Please verify the source symbol exists and that consumers get proper typings.

  • Ensure ./controlComponents actually exports RedirectToTasks and that its JSDoc (public API doc) is present at the declaration site.
  • Consider adding a lightweight smoke test to assert RedirectToTasks is importable from @clerk/vue.

Run this script to verify the source export and look for potential cycles:

If you want, I can draft a minimal smoke test that imports RedirectToTasks from @clerk/vue to prevent regressions.


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"1) Ensure Vue controlComponents exports RedirectToTasks"
fd -a -t f 'controlComponents(\.ts|/index\.ts)?$' packages/vue 2>/dev/null | tee /tmp/cc_files.txt
if [ !-s /tmp/cc_files.txt ];thenecho"Could not find controlComponents file(s) in packages/vue">&2fi
rg -n 'export\s+\{[^}]*RedirectToTasks|export\s+(const|function|class)\s+RedirectToTasks'$(cat /tmp/cc_files.txt)||trueecho"2) Ensure Vue components index re-exports RedirectToTasks"
rg -n 'RedirectToTasks' packages/vue/src/components/index.ts ||trueecho"3) Quick cycle smell: controlComponents importing components index"
rg -n "from ['\"]\./components['\"]" packages/vue/src ||true

Length of output: 323


I’ve updated the verification script to avoid using tee (which isn’t available in this environment) and directly capture & inspect the files:


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"1) Locate Vue controlComponents file(s)"
files=$(fd -t f -e ts -- 'controlComponents(\.ts|/index\.ts)?$' packages/vue 2>/dev/null)if [[ -z"$files" ]];thenecho"✖ Could not find any controlComponents file(s) under packages/vue">&2elseecho"Found:"echo"$files"echoecho"Searching for RedirectToTasks export in those files:"
rg -n 'export\s+\{[^}]*RedirectToTasks|export\s+(const|function|class)\s+RedirectToTasks'$files||truefiechoecho"2) Verify re-export in components index.ts"
rg -n 'RedirectToTasks' packages/vue/src/components/index.ts ||trueechoecho"3) Quick cycle check: controlComponents → components index"
rg -n "from ['\"]\./components['\"]" packages/vue/src ||true

Length of output: 1184


I’ll check whether there’s a JSDoc block immediately above the RedirectToTasks declaration:


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"Inspecting context around RedirectToTasks export for JSDoc:"
rg -n -C3 'export\s+const\s+RedirectToTasks' packages/vue/src/components/controlComponents.ts ||true

Length of output: 414


Add public JSDoc for RedirectToTasks and consider a smoke test

  • ✅ Verified RedirectToTasks is exported in
    packages/vue/src/components/controlComponents.ts (line 63)
    and re-exported in packages/vue/src/components/index.ts (line 21).
  • ✅ No import cycles detected between controlComponents and components.
  • ⚠️Missing JSDoc: please add a public API doc comment immediately above the
    export const RedirectToTasks = … declaration in
    packages/vue/src/components/controlComponents.ts.
  • 🔍 Consider adding a lightweight smoke test that imports
    RedirectToTasks from @clerk/vue to catch any regressions.
🤖 Prompt for AI Agents
In packages/vue/src/components/controlComponents.ts around line 63, the exported
RedirectToTasks constant is missing a public JSDoc comment; add a short /** ...
*/ block immediately above the export that describes what RedirectToTasks does,
marks it as public (e.g., @public), and documents any props/params or usage
note; then add a lightweight smoke test (e.g., in the library's test harness)
that simply imports { RedirectToTasks } from '@clerk/vue' to ensure the
re-export in packages/vue/src/components/index.ts stays valid.

AuthenticateWithRedirectCallback,
RedirectToCreateOrganization,
RedirectToOrganizationProfile,
Expand Down
Loading