diff --git a/.changeset/eleven-months-swim.md b/.changeset/eleven-months-swim.md new file mode 100644 index 0000000000..a845151cc8 --- /dev/null +++ b/.changeset/eleven-months-swim.md @@ -0,0 +1,2 @@ +--- +--- diff --git a/.changeset/old-dryers-approve.md b/.changeset/old-dryers-approve.md deleted file mode 100644 index 1a6bb174e5..0000000000 --- a/.changeset/old-dryers-approve.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -'@clerk/types': minor ---- - -Adds `oidcLoginHint` & `oidcPrompt` parameters to following types: - -- `ReauthorizeExternalAccountParams` -- `OAuthConfig` -- `SignInCreateParams` -- `PrepareVerificationParams` -- `SignUpCreateParams` -- `CreateExternalAccountParams` diff --git a/integration/constants.ts b/integration/constants.ts index d4b681f3b5..2369077fe8 100644 --- a/integration/constants.ts +++ b/integration/constants.ts @@ -56,10 +56,6 @@ export const constants = { * The version of the dependency to use, controlled programmatically. */ E2E_REACT_DOM_VERSION: process.env.E2E_REACT_DOM_VERSION, - /** - * The version of the dependency to use, controlled programmatically. - */ - E2E_REMIX_VERSION: process.env.E2E_REMIX_VERSION, /** * The version of the dependency to use, controlled programmatically. */ diff --git a/integration/presets/astro.ts b/integration/presets/astro.ts index 0b7a208887..7995725b97 100644 --- a/integration/presets/astro.ts +++ b/integration/presets/astro.ts @@ -1,5 +1,6 @@ import { applicationConfig } from '../models/applicationConfig'; import { templates } from '../templates'; +import { linkPackage } from './utils'; const astroNode = applicationConfig() .setName('astro-node') @@ -9,9 +10,9 @@ const astroNode = applicationConfig() .addScript('dev', 'pnpm dev') .addScript('build', 'pnpm build') .addScript('serve', 'pnpm preview') - .addDependency('@clerk/astro', '*') - .addDependency('@clerk/types', '*') - .addDependency('@clerk/localizations', '*'); + .addDependency('@clerk/astro', linkPackage('astro')) + .addDependency('@clerk/types', linkPackage('types')) + .addDependency('@clerk/localizations', linkPackage('localizations')); const astroStatic = astroNode.clone().setName('astro-hybrid').useTemplate(templates['astro-hybrid']); diff --git a/integration/presets/elements.ts b/integration/presets/elements.ts index ae06dc5442..91bd21fbb0 100644 --- a/integration/presets/elements.ts +++ b/integration/presets/elements.ts @@ -1,6 +1,7 @@ import { constants } from '../constants'; import { applicationConfig } from '../models/applicationConfig.js'; import { templates } from '../templates/index.js'; +import { linkPackage } from './utils'; const nextAppRouter = applicationConfig() .setName('elements-next') @@ -13,8 +14,8 @@ const nextAppRouter = applicationConfig() .addDependency('next', constants.E2E_NEXTJS_VERSION) .addDependency('react', constants.E2E_REACT_VERSION) .addDependency('react-dom', constants.E2E_REACT_DOM_VERSION) - .addDependency('@clerk/nextjs', constants.E2E_CLERK_VERSION || '*') - .addDependency('@clerk/elements', constants.E2E_CLERK_VERSION || '*'); + .addDependency('@clerk/nextjs', constants.E2E_CLERK_VERSION || linkPackage('nextjs')) + .addDependency('@clerk/elements', constants.E2E_CLERK_VERSION || linkPackage('elements')); export const elements = { nextAppRouter, diff --git a/integration/presets/expo.ts b/integration/presets/expo.ts index 8380327fd3..bf9806fce2 100644 --- a/integration/presets/expo.ts +++ b/integration/presets/expo.ts @@ -1,5 +1,6 @@ import { applicationConfig } from '../models/applicationConfig'; import { templates } from '../templates'; +import { linkPackage } from './utils'; const expoWeb = applicationConfig() .setName('expo-web') @@ -9,7 +10,7 @@ const expoWeb = applicationConfig() .addScript('dev', 'pnpm dev') .addScript('build', 'pnpm build') .addScript('serve', 'pnpm start') - .addDependency('@clerk/clerk-expo', '*'); + .addDependency('@clerk/clerk-expo', linkPackage('expo')); export const expo = { expoWeb, diff --git a/integration/presets/express.ts b/integration/presets/express.ts index fdebf5a530..6470469a0b 100644 --- a/integration/presets/express.ts +++ b/integration/presets/express.ts @@ -1,6 +1,7 @@ import { constants } from '../constants'; import { applicationConfig } from '../models/applicationConfig'; import { templates } from '../templates'; +import { linkPackage } from './utils'; const vite = applicationConfig() .setName('express-vite') @@ -10,7 +11,7 @@ const vite = applicationConfig() .addScript('dev', 'pnpm dev') .addScript('build', 'pnpm build') .addScript('serve', 'pnpm start') - .addDependency('@clerk/clerk-sdk-node', constants.E2E_CLERK_VERSION || '*'); + .addDependency('@clerk/clerk-sdk-node', constants.E2E_CLERK_VERSION || linkPackage('sdk-node')); export const express = { vite, diff --git a/integration/presets/index.ts b/integration/presets/index.ts index 6f58b490f3..24fc2d58cd 100644 --- a/integration/presets/index.ts +++ b/integration/presets/index.ts @@ -8,7 +8,6 @@ import { next } from './next'; import { nuxt } from './nuxt'; import { react } from './react'; import { reactRouter } from './react-router'; -import { remix } from './remix'; import { tanstack } from './tanstack'; export const appConfigs = { @@ -17,7 +16,6 @@ export const appConfigs = { longRunningApps: createLongRunningApps(), next, react, - remix, elements, expo, astro, diff --git a/integration/presets/longRunningApps.ts b/integration/presets/longRunningApps.ts index 010251ab04..cd1f27cc19 100644 --- a/integration/presets/longRunningApps.ts +++ b/integration/presets/longRunningApps.ts @@ -9,7 +9,6 @@ import { next } from './next'; import { nuxt } from './nuxt'; import { react } from './react'; import { reactRouter } from './react-router'; -import { remix } from './remix'; import { tanstack } from './tanstack'; import { vue } from './vue'; @@ -24,7 +23,6 @@ export const createLongRunningApps = () => { { id: 'react.vite.withEmailCodes', config: react.vite, env: envs.withEmailCodes }, { id: 'react.vite.withEmailCodes_persist_client', config: react.vite, env: envs.withEmailCodes_destroy_client }, { id: 'react.vite.withEmailLinks', config: react.vite, env: envs.withEmailLinks }, - { id: 'remix.node.withEmailCodes', config: remix.remixNode, env: envs.withEmailCodes }, { id: 'next.appRouter.withEmailCodes', config: next.appRouter, env: envs.withEmailCodes }, { id: 'next.appRouter.withEmailCodes_persist_client', diff --git a/integration/presets/next.ts b/integration/presets/next.ts index a16a5a521e..6636af850c 100644 --- a/integration/presets/next.ts +++ b/integration/presets/next.ts @@ -1,6 +1,7 @@ import { constants } from '../constants'; import { applicationConfig } from '../models/applicationConfig.js'; import { templates } from '../templates/index.js'; +import { linkPackage } from './utils'; const appRouter = applicationConfig() .setName('next-app-router') @@ -13,9 +14,9 @@ const appRouter = applicationConfig() .addDependency('next', constants.E2E_NEXTJS_VERSION) .addDependency('react', constants.E2E_REACT_VERSION) .addDependency('react-dom', constants.E2E_REACT_DOM_VERSION) - .addDependency('@clerk/nextjs', constants.E2E_CLERK_VERSION || '*') - .addDependency('@clerk/shared', '*') - .addDependency('@clerk/types', '*'); + .addDependency('@clerk/nextjs', constants.E2E_CLERK_VERSION || linkPackage('nextjs')) + .addDependency('@clerk/shared', linkPackage('shared')) + .addDependency('@clerk/types', linkPackage('types')); const appRouterTurbo = appRouter.clone().setName('next-app-router-turbopack').addScript('dev', 'pnpm dev'); diff --git a/integration/presets/nuxt.ts b/integration/presets/nuxt.ts index 8a55270454..8fdc9716c6 100644 --- a/integration/presets/nuxt.ts +++ b/integration/presets/nuxt.ts @@ -1,5 +1,6 @@ import { applicationConfig } from '../models/applicationConfig'; import { templates } from '../templates'; +import { linkPackage } from './utils'; const nuxtNode = applicationConfig() .setName('nuxt-node') @@ -10,7 +11,7 @@ const nuxtNode = applicationConfig() .addScript('dev', 'pnpm dev') .addScript('build', 'pnpm build') .addScript('serve', 'pnpm preview') - .addDependency('@clerk/nuxt', '*'); + .addDependency('@clerk/nuxt', linkPackage('nuxt')); export const nuxt = { node: nuxtNode, diff --git a/integration/presets/react-router.ts b/integration/presets/react-router.ts index 1ff0470482..4b43c7083b 100644 --- a/integration/presets/react-router.ts +++ b/integration/presets/react-router.ts @@ -1,6 +1,7 @@ import { constants } from '../constants'; import { applicationConfig } from '../models/applicationConfig.js'; import { templates } from '../templates/index.js'; +import { linkPackage } from './utils'; const reactRouterNode = applicationConfig() .setName('react-router-node') @@ -10,8 +11,19 @@ const reactRouterNode = applicationConfig() .addScript('dev', 'pnpm dev') .addScript('build', 'pnpm build') .addScript('serve', 'pnpm start') - .addDependency('@clerk/react-router', constants.E2E_CLERK_VERSION || '*'); + .addDependency('@clerk/react-router', constants.E2E_CLERK_VERSION || linkPackage('react-router')); + +const reactRouterLibrary = applicationConfig() + .setName('react-router-library') + .useTemplate(templates['react-router-library']) + .setEnvFormatter('public', key => `VITE_${key}`) + .addScript('setup', 'pnpm install') + .addScript('dev', 'pnpm dev') + .addScript('build', 'pnpm build') + .addScript('serve', 'pnpm preview') + .addDependency('@clerk/react-router', constants.E2E_CLERK_VERSION || linkPackage('react-router')); export const reactRouter = { reactRouterNode, + reactRouterLibrary, } as const; diff --git a/integration/presets/react.ts b/integration/presets/react.ts index 0dc674300f..06e1434282 100644 --- a/integration/presets/react.ts +++ b/integration/presets/react.ts @@ -1,6 +1,7 @@ import { constants } from '../constants'; import { applicationConfig } from '../models/applicationConfig'; import { templates } from '../templates'; +import { linkPackage } from './utils'; const cra = applicationConfig() .setName('react-cra') @@ -10,8 +11,8 @@ const cra = applicationConfig() .addScript('dev', 'pnpm start') .addScript('build', 'pnpm build') .addScript('serve', 'pnpm start') - .addDependency('@clerk/clerk-react', constants.E2E_CLERK_VERSION || '*') - .addDependency('@clerk/themes', constants.E2E_CLERK_VERSION || '*'); + .addDependency('@clerk/clerk-react', constants.E2E_CLERK_VERSION || linkPackage('react')) + .addDependency('@clerk/themes', constants.E2E_CLERK_VERSION || linkPackage('themes')); const vite = cra .clone() diff --git a/integration/presets/remix.ts b/integration/presets/remix.ts deleted file mode 100644 index 41decccff0..0000000000 --- a/integration/presets/remix.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { constants } from '../constants'; -import { applicationConfig } from '../models/applicationConfig.js'; -import { templates } from '../templates/index.js'; - -const remixNode = applicationConfig() - .setName('remix-node') - .useTemplate(templates['remix-node']) - .setEnvFormatter('public', key => `${key}`) - .addScript('setup', 'pnpm install') - .addScript('dev', 'pnpm dev') - .addScript('build', 'pnpm build') - .addScript('serve', 'pnpm start') - .addDependency('@clerk/remix', constants.E2E_CLERK_VERSION || '*'); - -export const remix = { - remixNode, -} as const; diff --git a/integration/presets/tanstack.ts b/integration/presets/tanstack.ts index 5b9399abe5..03ddd8d190 100644 --- a/integration/presets/tanstack.ts +++ b/integration/presets/tanstack.ts @@ -1,5 +1,6 @@ import { applicationConfig } from '../models/applicationConfig.js'; import { templates } from '../templates/index.js'; +import { linkPackage } from './utils'; const router = applicationConfig() .setName('tanstack-router') @@ -9,7 +10,7 @@ const router = applicationConfig() .addScript('dev', 'pnpm dev') .addScript('build', 'pnpm build') .addScript('serve', 'pnpm start') - .addDependency('@clerk/tanstack-start', '*'); + .addDependency('@clerk/tanstack-start', linkPackage('tanstack-start')); const start = applicationConfig() .setName('tanstack-start') @@ -19,7 +20,7 @@ const start = applicationConfig() .addScript('dev', 'pnpm dev') .addScript('build', 'pnpm build') .addScript('serve', 'pnpm start') - .addDependency('@clerk/tanstack-start', '*'); + .addDependency('@clerk/tanstack-start', linkPackage('tanstack-start')); export const tanstack = { start, diff --git a/integration/presets/utils.ts b/integration/presets/utils.ts new file mode 100644 index 0000000000..4c4f6db45d --- /dev/null +++ b/integration/presets/utils.ts @@ -0,0 +1,8 @@ +import path from 'node:path'; + +export function linkPackage(pkg: string) { + // eslint-disable-next-line turbo/no-undeclared-variables + if (process.env.CI === 'true') return '*'; + + return `link:${path.resolve(process.cwd(), `packages/${pkg}`)}`; +} diff --git a/integration/presets/vue.ts b/integration/presets/vue.ts index 3d9cc9e280..1003af19f5 100644 --- a/integration/presets/vue.ts +++ b/integration/presets/vue.ts @@ -1,5 +1,6 @@ import { applicationConfig } from '../models/applicationConfig'; import { templates } from '../templates'; +import { linkPackage } from './utils'; const vite = applicationConfig() .setName('vue-vite') @@ -9,7 +10,7 @@ const vite = applicationConfig() .addScript('dev', 'pnpm dev') .addScript('build', 'pnpm build') .addScript('serve', 'pnpm preview') - .addDependency('@clerk/vue', '*'); + .addDependency('@clerk/vue', linkPackage('vue')); export const vue = { vite, diff --git a/integration/templates/index.ts b/integration/templates/index.ts index 4d745d1db5..26c115fe1b 100644 --- a/integration/templates/index.ts +++ b/integration/templates/index.ts @@ -9,7 +9,6 @@ export const templates = { 'react-cra': resolve(__dirname, './react-cra'), 'react-vite': resolve(__dirname, './react-vite'), 'express-vite': resolve(__dirname, './express-vite'), - 'remix-node': resolve(__dirname, './remix-node'), 'elements-next': resolve(__dirname, './elements-next'), 'astro-node': resolve(__dirname, './astro-node'), 'astro-hybrid': resolve(__dirname, './astro-hybrid'), @@ -19,6 +18,7 @@ export const templates = { 'vue-vite': resolve(__dirname, './vue-vite'), 'nuxt-node': resolve(__dirname, './nuxt-node'), 'react-router-node': resolve(__dirname, './react-router-node'), + 'react-router-library': resolve(__dirname, './react-router-library'), } as const; if (new Set([...Object.values(templates)]).size !== Object.values(templates).length) { diff --git a/integration/templates/react-router-library/README.md b/integration/templates/react-router-library/README.md new file mode 100644 index 0000000000..1e5a46b4e1 --- /dev/null +++ b/integration/templates/react-router-library/README.md @@ -0,0 +1,50 @@ +# React + TypeScript + Vite + +This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. + +Currently, two official plugins are available: + +- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh +- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh + +## Expanding the ESLint configuration + +If you are developing a production application, we recommend updating the configuration to enable type aware lint rules: + +- Configure the top-level `parserOptions` property like this: + +```js +export default tseslint.config({ + languageOptions: { + // other options... + parserOptions: { + project: ['./tsconfig.node.json', './tsconfig.app.json'], + tsconfigRootDir: import.meta.dirname, + }, + }, +}); +``` + +- Replace `tseslint.configs.recommended` to `tseslint.configs.recommendedTypeChecked` or `tseslint.configs.strictTypeChecked` +- Optionally add `...tseslint.configs.stylisticTypeChecked` +- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and update the config: + +```js +// eslint.config.js +import react from 'eslint-plugin-react'; + +export default tseslint.config({ + // Set the react version + settings: { react: { version: '18.3' } }, + plugins: { + // Add the react plugin + react, + }, + rules: { + // other rules... + // Enable its recommended rules + ...react.configs.recommended.rules, + ...react.configs['jsx-runtime'].rules, + }, +}); +``` diff --git a/integration/templates/react-router-library/index.html b/integration/templates/react-router-library/index.html new file mode 100644 index 0000000000..e4c1f3de22 --- /dev/null +++ b/integration/templates/react-router-library/index.html @@ -0,0 +1,23 @@ + + + + + + + Vite + React + TS + + +
+ + + diff --git a/integration/templates/react-router-library/package.json b/integration/templates/react-router-library/package.json new file mode 100644 index 0000000000..28970a47e3 --- /dev/null +++ b/integration/templates/react-router-library/package.json @@ -0,0 +1,25 @@ +{ + "name": "react-router-library", + "version": "0.0.0", + "private": true, + "type": "module", + "scripts": { + "build": "tsc -b && vite build", + "dev": "vite --port $PORT", + "preview": "vite preview --port $PORT" + }, + "dependencies": { + "@clerk/react-router": "^0.1.2", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "react-router": "^7.0.2" + }, + "devDependencies": { + "@types/react": "^18.3.12", + "@types/react-dom": "^18.3.1", + "@vitejs/plugin-react": "^4.3.4", + "globals": "^15.12.0", + "typescript": "~5.6.2", + "vite": "^6.0.1" + } +} diff --git a/integration/templates/react-router-library/public/vite.svg b/integration/templates/react-router-library/public/vite.svg new file mode 100644 index 0000000000..e7b8dfb1b2 --- /dev/null +++ b/integration/templates/react-router-library/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/integration/templates/react-router-library/src/App.css b/integration/templates/react-router-library/src/App.css new file mode 100644 index 0000000000..b9d355df2a --- /dev/null +++ b/integration/templates/react-router-library/src/App.css @@ -0,0 +1,42 @@ +#root { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + text-align: center; +} + +.logo { + height: 6em; + padding: 1.5em; + will-change: filter; + transition: filter 300ms; +} +.logo:hover { + filter: drop-shadow(0 0 2em #646cffaa); +} +.logo.react:hover { + filter: drop-shadow(0 0 2em #61dafbaa); +} + +@keyframes logo-spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} + +@media (prefers-reduced-motion: no-preference) { + a:nth-of-type(2) .logo { + animation: logo-spin infinite 20s linear; + } +} + +.card { + padding: 2em; +} + +.read-the-docs { + color: #888; +} diff --git a/integration/templates/react-router-library/src/App.tsx b/integration/templates/react-router-library/src/App.tsx new file mode 100644 index 0000000000..93dfdf0438 --- /dev/null +++ b/integration/templates/react-router-library/src/App.tsx @@ -0,0 +1,17 @@ +import { SignInButton, SignedIn, SignedOut, UserButton } from '@clerk/react-router'; +import './App.css'; + +function App() { + return ( +
+ + + + + + +
+ ); +} + +export default App; diff --git a/integration/templates/react-router-library/src/assets/react.svg b/integration/templates/react-router-library/src/assets/react.svg new file mode 100644 index 0000000000..6c87de9bb3 --- /dev/null +++ b/integration/templates/react-router-library/src/assets/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/integration/templates/react-router-library/src/index.css b/integration/templates/react-router-library/src/index.css new file mode 100644 index 0000000000..6119ad9a8f --- /dev/null +++ b/integration/templates/react-router-library/src/index.css @@ -0,0 +1,68 @@ +:root { + font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; + line-height: 1.5; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; +} + +body { + margin: 0; + display: flex; + place-items: center; + min-width: 320px; + min-height: 100vh; +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } + button { + background-color: #f9f9f9; + } +} diff --git a/integration/templates/react-router-library/src/main.tsx b/integration/templates/react-router-library/src/main.tsx new file mode 100644 index 0000000000..46ab36679f --- /dev/null +++ b/integration/templates/react-router-library/src/main.tsx @@ -0,0 +1,23 @@ +import { StrictMode } from 'react'; +import { createRoot } from 'react-dom/client'; +import { BrowserRouter, Routes, Route } from 'react-router'; +import { ClerkProvider } from '@clerk/react-router'; +import './index.css'; +import App from './App.tsx'; + +const PUBLISHABLE_KEY = import.meta.env.VITE_CLERK_PUBLISHABLE_KEY; + +createRoot(document.getElementById('root')!).render( + + + + + } + /> + + + + , +); diff --git a/integration/templates/react-router-library/src/vite-env.d.ts b/integration/templates/react-router-library/src/vite-env.d.ts new file mode 100644 index 0000000000..11f02fe2a0 --- /dev/null +++ b/integration/templates/react-router-library/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/integration/templates/react-router-library/tsconfig.app.json b/integration/templates/react-router-library/tsconfig.app.json new file mode 100644 index 0000000000..358ca9ba93 --- /dev/null +++ b/integration/templates/react-router-library/tsconfig.app.json @@ -0,0 +1,26 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "isolatedModules": true, + "moduleDetection": "force", + "noEmit": true, + "jsx": "react-jsx", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true + }, + "include": ["src"] +} diff --git a/integration/templates/react-router-library/tsconfig.json b/integration/templates/react-router-library/tsconfig.json new file mode 100644 index 0000000000..d32ff68200 --- /dev/null +++ b/integration/templates/react-router-library/tsconfig.json @@ -0,0 +1,4 @@ +{ + "files": [], + "references": [{ "path": "./tsconfig.app.json" }, { "path": "./tsconfig.node.json" }] +} diff --git a/integration/templates/react-router-library/tsconfig.node.json b/integration/templates/react-router-library/tsconfig.node.json new file mode 100644 index 0000000000..db0becc8b0 --- /dev/null +++ b/integration/templates/react-router-library/tsconfig.node.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + "target": "ES2022", + "lib": ["ES2023"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "isolatedModules": true, + "moduleDetection": "force", + "noEmit": true, + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/integration/templates/react-router-library/vite.config.ts b/integration/templates/react-router-library/vite.config.ts new file mode 100644 index 0000000000..4a5def4c3d --- /dev/null +++ b/integration/templates/react-router-library/vite.config.ts @@ -0,0 +1,7 @@ +import { defineConfig } from 'vite'; +import react from '@vitejs/plugin-react'; + +// https://vite.dev/config/ +export default defineConfig({ + plugins: [react()], +}); diff --git a/integration/templates/remix-node/.eslintrc.js b/integration/templates/remix-node/.eslintrc.js deleted file mode 100644 index f2faf1470f..0000000000 --- a/integration/templates/remix-node/.eslintrc.js +++ /dev/null @@ -1,4 +0,0 @@ -/** @type {import('eslint').Linter.Config} */ -module.exports = { - extends: ['@remix-run/eslint-config', '@remix-run/eslint-config/node'], -}; diff --git a/integration/templates/remix-node/.gitignore b/integration/templates/remix-node/.gitignore deleted file mode 100644 index 5d6a175132..0000000000 --- a/integration/templates/remix-node/.gitignore +++ /dev/null @@ -1,11 +0,0 @@ -node_modules - -.cache -.env -.vercel -.output - -/build/ -/public/build -/api/index.js -/api/index.js.map diff --git a/integration/templates/remix-node/README.md b/integration/templates/remix-node/README.md deleted file mode 100644 index dc88d77a15..0000000000 --- a/integration/templates/remix-node/README.md +++ /dev/null @@ -1,40 +0,0 @@ -> **Warning** -> The `@remix-run/vercel` runtime adapter has been deprecated in favor of out of -> the box Vercel functionality and will be removed in Remix v2. -> This means you don't have to use the Vercel template & can just use the Remix -> template instead. - -# Welcome to Remix! - -- [Remix Docs](https://remix.run/docs) - -## Deployment - -After having run the `create-remix` command and selected "Vercel" as a deployment target, you only need to [import your Git repository](https://vercel.com/new) into Vercel, and it will be deployed. - -If you'd like to avoid using a Git repository, you can also deploy the directory by running [Vercel CLI](https://vercel.com/cli): - -```sh -npm i -g vercel -vercel -``` - -It is generally recommended to use a Git repository, because future commits will then automatically be deployed by Vercel, through its [Git Integration](https://vercel.com/docs/concepts/git). - -## Development - -To run your Remix app locally, make sure your project's local dependencies are installed: - -```sh -npm install -``` - -Afterwards, start the Remix development server like so: - -```sh -pnpm dev -``` - -Open up [http://localhost:3000](http://localhost:3000) and you should be ready to go! - -If you're used to using the `vercel dev` command provided by [Vercel CLI](https://vercel.com/cli) instead, you can also use that, but it's not needed. diff --git a/integration/templates/remix-node/app/entry.client.tsx b/integration/templates/remix-node/app/entry.client.tsx deleted file mode 100644 index 3f01ce18b1..0000000000 --- a/integration/templates/remix-node/app/entry.client.tsx +++ /dev/null @@ -1,18 +0,0 @@ -/** - * By default, Remix will handle hydrating your app on the client for you. - * You are free to delete this file if you'd like to, but if you ever want it revealed again, you can run `npx remix reveal` ✨ - * For more information, see https://remix.run/file-conventions/entry.client - */ - -import { RemixBrowser } from '@remix-run/react'; -import { startTransition, StrictMode } from 'react'; -import { hydrateRoot } from 'react-dom/client'; - -startTransition(() => { - hydrateRoot( - document, - - - , - ); -}); diff --git a/integration/templates/remix-node/app/entry.server.tsx b/integration/templates/remix-node/app/entry.server.tsx deleted file mode 100644 index 0791aea535..0000000000 --- a/integration/templates/remix-node/app/entry.server.tsx +++ /dev/null @@ -1,125 +0,0 @@ -/** - * By default, Remix will handle generating the HTTP Response for you. - * You are free to delete this file if you'd like to, but if you ever want it revealed again, you can run `npx remix reveal` ✨ - * For more information, see https://remix.run/file-conventions/entry.server - */ - -import { PassThrough } from 'node:stream'; - -import type { AppLoadContext, EntryContext } from '@remix-run/node'; -import { Response } from '@remix-run/node'; -import { RemixServer } from '@remix-run/react'; -import isbot from 'isbot'; -import { renderToPipeableStream } from 'react-dom/server'; - -const ABORT_DELAY = 5_000; - -export default function handleRequest( - request: Request, - responseStatusCode: number, - responseHeaders: Headers, - remixContext: EntryContext, - loadContext: AppLoadContext, -) { - return isbot(request.headers.get('user-agent')) - ? handleBotRequest(request, responseStatusCode, responseHeaders, remixContext) - : handleBrowserRequest(request, responseStatusCode, responseHeaders, remixContext); -} - -function handleBotRequest( - request: Request, - responseStatusCode: number, - responseHeaders: Headers, - remixContext: EntryContext, -) { - return new Promise((resolve, reject) => { - let shellRendered = false; - const { pipe, abort } = renderToPipeableStream( - , - { - onAllReady() { - shellRendered = true; - const body = new PassThrough(); - - responseHeaders.set('Content-Type', 'text/html'); - - resolve( - new Response(body, { - headers: responseHeaders, - status: responseStatusCode, - }), - ); - - pipe(body); - }, - onShellError(error: unknown) { - reject(error); - }, - onError(error: unknown) { - responseStatusCode = 500; - // Log streaming rendering errors from inside the shell. Don't log - // errors encountered during initial shell rendering since they'll - // reject and get logged in handleDocumentRequest. - if (shellRendered) { - console.error(error); - } - }, - }, - ); - - setTimeout(abort, ABORT_DELAY); - }); -} - -function handleBrowserRequest( - request: Request, - responseStatusCode: number, - responseHeaders: Headers, - remixContext: EntryContext, -) { - return new Promise((resolve, reject) => { - let shellRendered = false; - const { pipe, abort } = renderToPipeableStream( - , - { - onShellReady() { - shellRendered = true; - const body = new PassThrough(); - - responseHeaders.set('Content-Type', 'text/html'); - - resolve( - new Response(body, { - headers: responseHeaders, - status: responseStatusCode, - }), - ); - - pipe(body); - }, - onShellError(error: unknown) { - reject(error); - }, - onError(error: unknown) { - responseStatusCode = 500; - // Log streaming rendering errors from inside the shell. Don't log - // errors encountered during initial shell rendering since they'll - // reject and get logged in handleDocumentRequest. - if (shellRendered) { - console.error(error); - } - }, - }, - ); - - setTimeout(abort, ABORT_DELAY); - }); -} diff --git a/integration/templates/remix-node/app/root.tsx b/integration/templates/remix-node/app/root.tsx deleted file mode 100644 index 4546c7334b..0000000000 --- a/integration/templates/remix-node/app/root.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import { cssBundleHref } from '@remix-run/css-bundle'; -import type { LinksFunction } from '@remix-run/node'; -import { LoaderFunction } from '@remix-run/node'; -import { Links, LiveReload, Meta, Outlet, Scripts, ScrollRestoration } from '@remix-run/react'; -import { rootAuthLoader } from '@clerk/remix/ssr.server'; -import { ClerkApp, ClerkCatchBoundary } from '@clerk/remix'; - -export const loader: LoaderFunction = args => rootAuthLoader(args); - -export const links: LinksFunction = () => [...(cssBundleHref ? [{ rel: 'stylesheet', href: cssBundleHref }] : [])]; - -function App() { - return ( - - - - - - - - - - - - - - - ); -} - -// TODO: Add clerkJsUrl -export default ClerkApp(App); -export const CatchBoundary = ClerkCatchBoundary(); diff --git a/integration/templates/remix-node/app/routes/_index.tsx b/integration/templates/remix-node/app/routes/_index.tsx deleted file mode 100644 index 2b40fdbdfa..0000000000 --- a/integration/templates/remix-node/app/routes/_index.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import type { V2_MetaFunction } from '@remix-run/node'; -import { SignedIn, SignedOut, UserButton } from '@clerk/remix'; - -export const meta: V2_MetaFunction = () => { - return [{ title: 'New Remix App' }, { name: 'description', content: 'Welcome to Remix!' }]; -}; - -export default function Index() { - return ( -
- - SignedIn - SignedOut -
- ); -} diff --git a/integration/templates/remix-node/app/routes/protected.tsx b/integration/templates/remix-node/app/routes/protected.tsx deleted file mode 100644 index 2ec4e18cab..0000000000 --- a/integration/templates/remix-node/app/routes/protected.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import { getAuth } from '@clerk/remix/ssr.server'; -import type { LoaderFunction } from '@remix-run/node'; -import { redirect } from '@remix-run/node'; - -export const loader: LoaderFunction = async args => { - const { userId } = await getAuth(args); - if (!userId) { - return redirect('/sign-in'); - } - return {}; -}; - -export default function Protected() { - return ( -
-

Protected

-
- ); -} diff --git a/integration/templates/remix-node/app/routes/sign-in.$.tsx b/integration/templates/remix-node/app/routes/sign-in.$.tsx deleted file mode 100644 index 62f80b0b75..0000000000 --- a/integration/templates/remix-node/app/routes/sign-in.$.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import { SignIn } from '@clerk/remix'; - -export default function SignInPage() { - return ( -
-

Sign In route

- -
- ); -} diff --git a/integration/templates/remix-node/app/routes/sign-up.$.tsx b/integration/templates/remix-node/app/routes/sign-up.$.tsx deleted file mode 100644 index 1476b9f900..0000000000 --- a/integration/templates/remix-node/app/routes/sign-up.$.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import { SignUp } from '@clerk/remix'; - -export default function SignUpPage() { - return ( -
-

Sign Up route

- -
- ); -} diff --git a/integration/templates/remix-node/package.json b/integration/templates/remix-node/package.json deleted file mode 100644 index ffe14860e2..0000000000 --- a/integration/templates/remix-node/package.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "private": true, - "sideEffects": false, - "scripts": { - "build": "remix build", - "dev": "remix dev", - "typecheck": "tsc" - }, - "dependencies": { - "@clerk/remix": "staging", - "@remix-run/css-bundle": "^1.18.1", - "@remix-run/node": "^1.18.1", - "@remix-run/react": "^1.18.1", - "@remix-run/vercel": "^1.18.1", - "@vercel/node": "^2.10.3", - "isbot": "^3.6.8", - "react": "^18.3.1", - "react-dom": "^18.3.1" - }, - "devDependencies": { - "@remix-run/dev": "^1.19.3", - "@remix-run/eslint-config": "^1.18.1", - "@remix-run/serve": "^1.18.1", - "@types/node": "^18.19.33", - "@types/react": "18.3.12", - "@types/react-dom": "18.3.1", - "eslint": "^8.38.0", - "typescript": "^5.6.3" - }, - "engines": { - "node": ">=18.17.0" - } -} diff --git a/integration/templates/remix-node/public/favicon.ico b/integration/templates/remix-node/public/favicon.ico deleted file mode 100644 index 8830cf6821..0000000000 Binary files a/integration/templates/remix-node/public/favicon.ico and /dev/null differ diff --git a/integration/templates/remix-node/remix.config.js b/integration/templates/remix-node/remix.config.js deleted file mode 100644 index a67401bcd1..0000000000 --- a/integration/templates/remix-node/remix.config.js +++ /dev/null @@ -1,21 +0,0 @@ -/** @type {import('@remix-run/dev').AppConfig} */ -module.exports = { - ignoredRouteFiles: ['**/.*'], - // When running locally in development mode, we use the built-in remix - // server. This does not understand the vercel lambda module format, - // so we default back to the standard build output. - server: process.env.NODE_ENV === 'development' ? undefined : './server.ts', - serverBuildPath: 'api/index.js', - // appDirectory: "app", - // assetsBuildDirectory: "public/build", - // publicPath: "/build/", - serverModuleFormat: 'cjs', - future: { - v2_dev: false, - v2_errorBoundary: false, - v2_headers: true, - v2_meta: true, - v2_normalizeFormMethod: true, - v2_routeConvention: true, - }, -}; diff --git a/integration/templates/remix-node/remix.env.d.ts b/integration/templates/remix-node/remix.env.d.ts deleted file mode 100644 index dcf8c45e1d..0000000000 --- a/integration/templates/remix-node/remix.env.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -/// -/// diff --git a/integration/templates/remix-node/server.ts b/integration/templates/remix-node/server.ts deleted file mode 100644 index 687d7293bc..0000000000 --- a/integration/templates/remix-node/server.ts +++ /dev/null @@ -1,7 +0,0 @@ -import * as build from '@remix-run/dev/server-build'; -import { installGlobals } from '@remix-run/node'; -import { createRequestHandler } from '@remix-run/vercel'; - -installGlobals(); - -export default createRequestHandler({ build, mode: process.env.NODE_ENV }); diff --git a/integration/templates/remix-node/tsconfig.json b/integration/templates/remix-node/tsconfig.json deleted file mode 100644 index 20f8a386a6..0000000000 --- a/integration/templates/remix-node/tsconfig.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "include": ["remix.env.d.ts", "**/*.ts", "**/*.tsx"], - "compilerOptions": { - "lib": ["DOM", "DOM.Iterable", "ES2019"], - "isolatedModules": true, - "esModuleInterop": true, - "jsx": "react-jsx", - "moduleResolution": "node", - "resolveJsonModule": true, - "target": "ES2019", - "strict": true, - "allowJs": true, - "forceConsistentCasingInFileNames": true, - "baseUrl": ".", - "paths": { - "~/*": ["./app/*"] - }, - - // Remix takes care of building everything in `remix build`. - "noEmit": true - } -} diff --git a/integration/tests/react-router/library-mode.test.ts b/integration/tests/react-router/library-mode.test.ts new file mode 100644 index 0000000000..6f5af6f63b --- /dev/null +++ b/integration/tests/react-router/library-mode.test.ts @@ -0,0 +1,59 @@ +import { test } from '@playwright/test'; + +import type { Application } from '../../models/application'; +import { appConfigs } from '../../presets'; +import type { FakeOrganization, FakeUser } from '../../testUtils'; +import { createTestUtils } from '../../testUtils'; + +test.describe('Library Mode basic tests for @react-router', () => { + test.describe.configure({ mode: 'parallel' }); + let app: Application; + let fakeUser: FakeUser; + let fakeOrganization: FakeOrganization; + + test.beforeAll(async () => { + app = await appConfigs.reactRouter.reactRouterLibrary.commit(); + + await app.setup(); + await app.withEnv(appConfigs.envs.withEmailCodes); + await app.dev(); + + const u = createTestUtils({ app }); + fakeUser = u.services.users.createFakeUser(); + const user = await u.services.users.createBapiUser(fakeUser); + fakeOrganization = await u.services.users.createFakeOrganization(user.id); + }); + + test.afterAll(async () => { + await fakeOrganization.delete(); + await fakeUser.deleteIfExists(); + + await app.teardown(); + }); + + test.afterEach(async ({ page, context }) => { + const u = createTestUtils({ app, page, context }); + await u.page.signOut(); + await u.page.context().clearCookies(); + }); + + test('should log in successfully', async ({ page, context }) => { + const u = createTestUtils({ app, page, context }); + + await u.page.goToAppHome(); + await u.po.expect.toBeSignedOut(); + await u.page.waitForClerkJsLoaded(); + + await u.page.getByRole('button', { name: /Sign in/i }).click(); + await u.po.signIn.waitForMounted(); + await u.po.signIn.signInWithEmailAndInstantPassword({ email: fakeUser.email, password: fakeUser.password }); + + await u.page.waitForAppUrl('/'); + await u.po.expect.toBeSignedIn(); + await u.po.userButton.waitForMounted(); + await u.po.userButton.toggleTrigger(); + await u.po.userButton.waitForPopover(); + + await u.po.userButton.toHaveVisibleMenuItems([/Manage account/i, /Sign out$/i]); + }); +}); diff --git a/package.json b/package.json index bf422c2522..3bfbe08b6d 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "test:integration:nextjs": "E2E_APP_ID=next.appRouter.* pnpm test:integration:base --grep @nextjs", "test:integration:nuxt": "E2E_APP_ID=nuxt.node npm run test:integration:base -- --grep @nuxt", "test:integration:quickstart": "E2E_APP_ID=quickstart.* pnpm test:integration:base --grep @quickstart", - "test:integration:react-router": "E2E_APP_ID=react-router.node npm run test:integration:base -- --grep @react-router", + "test:integration:react-router": "E2E_APP_ID=react-router.* npm run test:integration:base -- --grep @react-router", "test:integration:sessions": "pnpm test:integration:base --grep @sessions", "test:integration:tanstack-router": "E2E_APP_ID=tanstack.router pnpm test:integration:base --grep @tanstack-router", "test:integration:tanstack-start": "E2E_APP_ID=tanstack.start pnpm test:integration:base --grep @tanstack-start", diff --git a/packages/astro/CHANGELOG.md b/packages/astro/CHANGELOG.md index 93584a6b28..b5a577c602 100644 --- a/packages/astro/CHANGELOG.md +++ b/packages/astro/CHANGELOG.md @@ -1,5 +1,14 @@ # @clerk/astro +## 2.1.4 + +### Patch Changes + +- Updated dependencies [[`b3300c84a42276bd071a37addbd1ca6888ed9d7c`](https://github.com/clerk/javascript/commit/b3300c84a42276bd071a37addbd1ca6888ed9d7c), [`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]: + - @clerk/backend@1.21.4 + - @clerk/types@4.40.0 + - @clerk/shared@2.20.4 + ## 2.1.3 ### Patch Changes diff --git a/packages/astro/package.json b/packages/astro/package.json index 5599e4c27f..d2717b0c2d 100644 --- a/packages/astro/package.json +++ b/packages/astro/package.json @@ -1,6 +1,6 @@ { "name": "@clerk/astro", - "version": "2.1.3", + "version": "2.1.4", "description": "Clerk SDK for Astro", "keywords": [ "auth", diff --git a/packages/backend/CHANGELOG.md b/packages/backend/CHANGELOG.md index 99ef93e94b..071f83fc04 100644 --- a/packages/backend/CHANGELOG.md +++ b/packages/backend/CHANGELOG.md @@ -1,5 +1,17 @@ # Change Log +## 1.21.4 + +### Patch Changes + +- Allow to create and update SAML connections with organization IDs. ([#4792](https://github.com/clerk/javascript/pull/4792)) by [@LauraBeatris](https://github.com/LauraBeatris) + + When users sign in or up using an organization's SAML connection, they're automatically added as members of that organization. For more information, refer to our docs: https://clerk.com/docs/organizations/manage-sso + +- Updated dependencies [[`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]: + - @clerk/types@4.40.0 + - @clerk/shared@2.20.4 + ## 1.21.3 ### Patch Changes diff --git a/packages/backend/package.json b/packages/backend/package.json index a4703975ed..f6917d1ba9 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -1,6 +1,6 @@ { "name": "@clerk/backend", - "version": "1.21.3", + "version": "1.21.4", "description": "Clerk Backend SDK - REST Client for Backend API & JWT verification utilities", "homepage": "https://clerk.com/", "bugs": { diff --git a/packages/backend/src/api/endpoints/SamlConnectionApi.ts b/packages/backend/src/api/endpoints/SamlConnectionApi.ts index 58671806c6..9ac17c2cf2 100644 --- a/packages/backend/src/api/endpoints/SamlConnectionApi.ts +++ b/packages/backend/src/api/endpoints/SamlConnectionApi.ts @@ -14,6 +14,7 @@ type CreateSamlConnectionParams = { name: string; provider: SamlIdpSlug; domain: string; + organizationId?: string; idpEntityId?: string; idpSsoUrl?: string; idpCertificate?: string; @@ -31,6 +32,7 @@ type UpdateSamlConnectionParams = { name?: string; provider?: SamlIdpSlug; domain?: string; + organizationId?: string; idpEntityId?: string; idpSsoUrl?: string; idpCertificate?: string; diff --git a/packages/backend/src/api/resources/JSON.ts b/packages/backend/src/api/resources/JSON.ts index 5ef4fb5d2a..0c5c544ba6 100644 --- a/packages/backend/src/api/resources/JSON.ts +++ b/packages/backend/src/api/resources/JSON.ts @@ -360,6 +360,7 @@ export interface PaginatedResponseJSON { export interface SamlConnectionJSON extends ClerkResourceJSON { name: string; domain: string; + organization_id: string | null; idp_entity_id: string; idp_sso_url: string; idp_certificate: string; diff --git a/packages/backend/src/api/resources/SamlConnection.ts b/packages/backend/src/api/resources/SamlConnection.ts index d32f0495f4..e42add44c4 100644 --- a/packages/backend/src/api/resources/SamlConnection.ts +++ b/packages/backend/src/api/resources/SamlConnection.ts @@ -5,6 +5,7 @@ export class SamlConnection { readonly id: string, readonly name: string, readonly domain: string, + readonly organizationId: string | null, readonly idpEntityId: string | null, readonly idpSsoUrl: string | null, readonly idpCertificate: string | null, @@ -28,6 +29,7 @@ export class SamlConnection { data.id, data.name, data.domain, + data.organization_id, data.idp_entity_id, data.idp_sso_url, data.idp_certificate, diff --git a/packages/chrome-extension/CHANGELOG.md b/packages/chrome-extension/CHANGELOG.md index eacf9f01c6..e8b5cf2d67 100644 --- a/packages/chrome-extension/CHANGELOG.md +++ b/packages/chrome-extension/CHANGELOG.md @@ -1,5 +1,14 @@ # Change Log +## 2.1.6 + +### Patch Changes + +- Updated dependencies []: + - @clerk/clerk-js@5.43.3 + - @clerk/clerk-react@5.20.4 + - @clerk/shared@2.20.4 + ## 2.1.5 ### Patch Changes diff --git a/packages/chrome-extension/package.json b/packages/chrome-extension/package.json index 7c6fdb1f63..84cb43d456 100644 --- a/packages/chrome-extension/package.json +++ b/packages/chrome-extension/package.json @@ -1,6 +1,6 @@ { "name": "@clerk/chrome-extension", - "version": "2.1.5", + "version": "2.1.6", "description": "Clerk SDK for Chrome extensions", "keywords": [ "auth", diff --git a/packages/clerk-js/CHANGELOG.md b/packages/clerk-js/CHANGELOG.md index e4913b96c6..06857eaca2 100644 --- a/packages/clerk-js/CHANGELOG.md +++ b/packages/clerk-js/CHANGELOG.md @@ -1,5 +1,14 @@ # Change Log +## 5.43.3 + +### Patch Changes + +- Updated dependencies [[`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]: + - @clerk/types@4.40.0 + - @clerk/localizations@3.9.4 + - @clerk/shared@2.20.4 + ## 5.43.2 ### Patch Changes diff --git a/packages/clerk-js/package.json b/packages/clerk-js/package.json index b44fdf6829..f870ff517c 100644 --- a/packages/clerk-js/package.json +++ b/packages/clerk-js/package.json @@ -1,6 +1,6 @@ { "name": "@clerk/clerk-js", - "version": "5.43.2", + "version": "5.43.3", "description": "Clerk JS library", "keywords": [ "clerk", diff --git a/packages/elements/CHANGELOG.md b/packages/elements/CHANGELOG.md index 666b3ddef0..26be42b0a5 100644 --- a/packages/elements/CHANGELOG.md +++ b/packages/elements/CHANGELOG.md @@ -1,5 +1,14 @@ # @clerk/elements +## 0.22.4 + +### Patch Changes + +- Updated dependencies [[`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]: + - @clerk/types@4.40.0 + - @clerk/clerk-react@5.20.4 + - @clerk/shared@2.20.4 + ## 0.22.3 ### Patch Changes diff --git a/packages/elements/package.json b/packages/elements/package.json index 962279049c..00b7a5b823 100644 --- a/packages/elements/package.json +++ b/packages/elements/package.json @@ -1,6 +1,6 @@ { "name": "@clerk/elements", - "version": "0.22.3", + "version": "0.22.4", "description": "Clerk Elements", "keywords": [ "clerk", diff --git a/packages/expo-passkeys/CHANGELOG.md b/packages/expo-passkeys/CHANGELOG.md index 526295cad8..7d924d25fd 100644 --- a/packages/expo-passkeys/CHANGELOG.md +++ b/packages/expo-passkeys/CHANGELOG.md @@ -1,5 +1,13 @@ # @clerk/expo-passkeys +## 0.1.4 + +### Patch Changes + +- Updated dependencies [[`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]: + - @clerk/types@4.40.0 + - @clerk/shared@2.20.4 + ## 0.1.3 ### Patch Changes diff --git a/packages/expo-passkeys/package.json b/packages/expo-passkeys/package.json index 58d3f0678c..6524ba61c5 100644 --- a/packages/expo-passkeys/package.json +++ b/packages/expo-passkeys/package.json @@ -1,6 +1,6 @@ { "name": "@clerk/expo-passkeys", - "version": "0.1.3", + "version": "0.1.4", "description": "Passkeys library to be used with Clerk for expo", "keywords": [ "react-native", diff --git a/packages/expo/CHANGELOG.md b/packages/expo/CHANGELOG.md index 9383307126..f3de5a1a87 100644 --- a/packages/expo/CHANGELOG.md +++ b/packages/expo/CHANGELOG.md @@ -1,5 +1,15 @@ # Change Log +## 2.6.5 + +### Patch Changes + +- Updated dependencies [[`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]: + - @clerk/types@4.40.0 + - @clerk/clerk-js@5.43.3 + - @clerk/clerk-react@5.20.4 + - @clerk/shared@2.20.4 + ## 2.6.4 ### Patch Changes diff --git a/packages/expo/package.json b/packages/expo/package.json index 598b9e47a5..7bab782d6b 100644 --- a/packages/expo/package.json +++ b/packages/expo/package.json @@ -1,6 +1,6 @@ { "name": "@clerk/clerk-expo", - "version": "2.6.4", + "version": "2.6.5", "description": "Clerk React Native/Expo library", "keywords": [ "react", diff --git a/packages/express/CHANGELOG.md b/packages/express/CHANGELOG.md index f33eee9091..87fb4d3a05 100644 --- a/packages/express/CHANGELOG.md +++ b/packages/express/CHANGELOG.md @@ -1,5 +1,14 @@ # Change Log +## 1.3.31 + +### Patch Changes + +- Updated dependencies [[`b3300c84a42276bd071a37addbd1ca6888ed9d7c`](https://github.com/clerk/javascript/commit/b3300c84a42276bd071a37addbd1ca6888ed9d7c), [`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]: + - @clerk/backend@1.21.4 + - @clerk/types@4.40.0 + - @clerk/shared@2.20.4 + ## 1.3.30 ### Patch Changes diff --git a/packages/express/package.json b/packages/express/package.json index c5d3e42e45..9839ec1fd0 100644 --- a/packages/express/package.json +++ b/packages/express/package.json @@ -1,6 +1,6 @@ { "name": "@clerk/express", - "version": "1.3.30", + "version": "1.3.31", "description": "Clerk server SDK for usage with Express", "keywords": [ "clerk", diff --git a/packages/fastify/CHANGELOG.md b/packages/fastify/CHANGELOG.md index 708671d0df..ee2540469d 100644 --- a/packages/fastify/CHANGELOG.md +++ b/packages/fastify/CHANGELOG.md @@ -1,5 +1,14 @@ # Change Log +## 2.1.4 + +### Patch Changes + +- Updated dependencies [[`b3300c84a42276bd071a37addbd1ca6888ed9d7c`](https://github.com/clerk/javascript/commit/b3300c84a42276bd071a37addbd1ca6888ed9d7c), [`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]: + - @clerk/backend@1.21.4 + - @clerk/types@4.40.0 + - @clerk/shared@2.20.4 + ## 2.1.3 ### Patch Changes diff --git a/packages/fastify/package.json b/packages/fastify/package.json index 7fc1e5a87d..b5f024c13b 100644 --- a/packages/fastify/package.json +++ b/packages/fastify/package.json @@ -1,6 +1,6 @@ { "name": "@clerk/fastify", - "version": "2.1.3", + "version": "2.1.4", "description": "Clerk SDK for Fastify", "keywords": [ "auth", diff --git a/packages/localizations/CHANGELOG.md b/packages/localizations/CHANGELOG.md index 2d590c380a..d8e315d481 100644 --- a/packages/localizations/CHANGELOG.md +++ b/packages/localizations/CHANGELOG.md @@ -1,5 +1,12 @@ # Change Log +## 3.9.4 + +### Patch Changes + +- Updated dependencies [[`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]: + - @clerk/types@4.40.0 + ## 3.9.3 ### Patch Changes diff --git a/packages/localizations/package.json b/packages/localizations/package.json index c94bdf6e83..756958409b 100644 --- a/packages/localizations/package.json +++ b/packages/localizations/package.json @@ -1,6 +1,6 @@ { "name": "@clerk/localizations", - "version": "3.9.3", + "version": "3.9.4", "description": "Localizations for the Clerk components", "keywords": [ "react", diff --git a/packages/nextjs/CHANGELOG.md b/packages/nextjs/CHANGELOG.md index f5d79b5d77..771ea54798 100644 --- a/packages/nextjs/CHANGELOG.md +++ b/packages/nextjs/CHANGELOG.md @@ -1,5 +1,15 @@ # Change Log +## 6.9.5 + +### Patch Changes + +- Updated dependencies [[`b3300c84a42276bd071a37addbd1ca6888ed9d7c`](https://github.com/clerk/javascript/commit/b3300c84a42276bd071a37addbd1ca6888ed9d7c), [`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]: + - @clerk/backend@1.21.4 + - @clerk/types@4.40.0 + - @clerk/clerk-react@5.20.4 + - @clerk/shared@2.20.4 + ## 6.9.4 ### Patch Changes diff --git a/packages/nextjs/package.json b/packages/nextjs/package.json index 05789e758c..b8d2c2573c 100644 --- a/packages/nextjs/package.json +++ b/packages/nextjs/package.json @@ -1,6 +1,6 @@ { "name": "@clerk/nextjs", - "version": "6.9.4", + "version": "6.9.5", "description": "Clerk SDK for NextJS", "keywords": [ "clerk", diff --git a/packages/nuxt/CHANGELOG.md b/packages/nuxt/CHANGELOG.md index 8648f9d13e..5c202b3409 100644 --- a/packages/nuxt/CHANGELOG.md +++ b/packages/nuxt/CHANGELOG.md @@ -1,5 +1,15 @@ # @clerk/nuxt +## 0.1.5 + +### Patch Changes + +- Updated dependencies [[`b3300c84a42276bd071a37addbd1ca6888ed9d7c`](https://github.com/clerk/javascript/commit/b3300c84a42276bd071a37addbd1ca6888ed9d7c), [`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2), [`aeb5855853e5e89a03a1d6ce3d421c3e9870c814`](https://github.com/clerk/javascript/commit/aeb5855853e5e89a03a1d6ce3d421c3e9870c814)]: + - @clerk/backend@1.21.4 + - @clerk/types@4.40.0 + - @clerk/vue@0.1.5 + - @clerk/shared@2.20.4 + ## 0.1.4 ### Patch Changes diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 039e490073..b9b098761a 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -1,6 +1,6 @@ { "name": "@clerk/nuxt", - "version": "0.1.4", + "version": "0.1.5", "description": "Clerk SDK for Nuxt", "keywords": [ "clerk", diff --git a/packages/react-router/CHANGELOG.md b/packages/react-router/CHANGELOG.md index 84764dfca4..1efe86f6c4 100644 --- a/packages/react-router/CHANGELOG.md +++ b/packages/react-router/CHANGELOG.md @@ -1,5 +1,15 @@ # Change Log +## 0.1.4 + +### Patch Changes + +- Updated dependencies [[`b3300c84a42276bd071a37addbd1ca6888ed9d7c`](https://github.com/clerk/javascript/commit/b3300c84a42276bd071a37addbd1ca6888ed9d7c), [`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]: + - @clerk/backend@1.21.4 + - @clerk/types@4.40.0 + - @clerk/clerk-react@5.20.4 + - @clerk/shared@2.20.4 + ## 0.1.3 ### Patch Changes diff --git a/packages/react-router/package.json b/packages/react-router/package.json index befb2075f5..2b06e010ba 100644 --- a/packages/react-router/package.json +++ b/packages/react-router/package.json @@ -1,6 +1,6 @@ { "name": "@clerk/react-router", - "version": "0.1.3", + "version": "0.1.4", "description": "Clerk SDK for React Router", "keywords": [ "clerk", diff --git a/packages/react/CHANGELOG.md b/packages/react/CHANGELOG.md index 3150367a3f..d43ad52689 100644 --- a/packages/react/CHANGELOG.md +++ b/packages/react/CHANGELOG.md @@ -1,5 +1,13 @@ # Change Log +## 5.20.4 + +### Patch Changes + +- Updated dependencies [[`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]: + - @clerk/types@4.40.0 + - @clerk/shared@2.20.4 + ## 5.20.3 ### Patch Changes diff --git a/packages/react/package.json b/packages/react/package.json index d0d6b64ff1..29560d8ff0 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,6 +1,6 @@ { "name": "@clerk/clerk-react", - "version": "5.20.3", + "version": "5.20.4", "description": "Clerk React library", "keywords": [ "clerk", diff --git a/packages/remix/CHANGELOG.md b/packages/remix/CHANGELOG.md index 55d92066c4..c0578fbb5e 100644 --- a/packages/remix/CHANGELOG.md +++ b/packages/remix/CHANGELOG.md @@ -1,5 +1,15 @@ # Change Log +## 4.4.5 + +### Patch Changes + +- Updated dependencies [[`b3300c84a42276bd071a37addbd1ca6888ed9d7c`](https://github.com/clerk/javascript/commit/b3300c84a42276bd071a37addbd1ca6888ed9d7c), [`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]: + - @clerk/backend@1.21.4 + - @clerk/types@4.40.0 + - @clerk/clerk-react@5.20.4 + - @clerk/shared@2.20.4 + ## 4.4.4 ### Patch Changes diff --git a/packages/remix/package.json b/packages/remix/package.json index baa00dd920..73220e6045 100644 --- a/packages/remix/package.json +++ b/packages/remix/package.json @@ -1,6 +1,6 @@ { "name": "@clerk/remix", - "version": "4.4.4", + "version": "4.4.5", "description": "Clerk SDK for Remix", "keywords": [ "clerk", diff --git a/packages/sdk-node/CHANGELOG.md b/packages/sdk-node/CHANGELOG.md index c580eac292..7bfb860119 100644 --- a/packages/sdk-node/CHANGELOG.md +++ b/packages/sdk-node/CHANGELOG.md @@ -1,5 +1,14 @@ # Change Log +## 5.1.4 + +### Patch Changes + +- Updated dependencies [[`b3300c84a42276bd071a37addbd1ca6888ed9d7c`](https://github.com/clerk/javascript/commit/b3300c84a42276bd071a37addbd1ca6888ed9d7c), [`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]: + - @clerk/backend@1.21.4 + - @clerk/types@4.40.0 + - @clerk/shared@2.20.4 + ## 5.1.3 ### Patch Changes diff --git a/packages/sdk-node/package.json b/packages/sdk-node/package.json index 620ac49187..1e32c897d9 100644 --- a/packages/sdk-node/package.json +++ b/packages/sdk-node/package.json @@ -1,6 +1,6 @@ { "name": "@clerk/clerk-sdk-node", - "version": "5.1.3", + "version": "5.1.4", "description": "Clerk server SDK for usage with node", "keywords": [ "clerk", diff --git a/packages/shared/CHANGELOG.md b/packages/shared/CHANGELOG.md index 6b55cf5a8d..f5a4f4a08f 100644 --- a/packages/shared/CHANGELOG.md +++ b/packages/shared/CHANGELOG.md @@ -1,5 +1,12 @@ # Change Log +## 2.20.4 + +### Patch Changes + +- Updated dependencies [[`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]: + - @clerk/types@4.40.0 + ## 2.20.3 ### Patch Changes diff --git a/packages/shared/package.json b/packages/shared/package.json index 1e43251a39..37aa9e2014 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -1,6 +1,6 @@ { "name": "@clerk/shared", - "version": "2.20.3", + "version": "2.20.4", "description": "Internal package utils used by the Clerk SDKs", "repository": { "type": "git", diff --git a/packages/tanstack-start/CHANGELOG.md b/packages/tanstack-start/CHANGELOG.md index 7605bc49d1..e1ee0bde5c 100644 --- a/packages/tanstack-start/CHANGELOG.md +++ b/packages/tanstack-start/CHANGELOG.md @@ -1,5 +1,15 @@ # @clerk/tanstack-start +## 0.8.4 + +### Patch Changes + +- Updated dependencies [[`b3300c84a42276bd071a37addbd1ca6888ed9d7c`](https://github.com/clerk/javascript/commit/b3300c84a42276bd071a37addbd1ca6888ed9d7c), [`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]: + - @clerk/backend@1.21.4 + - @clerk/types@4.40.0 + - @clerk/clerk-react@5.20.4 + - @clerk/shared@2.20.4 + ## 0.8.3 ### Patch Changes diff --git a/packages/tanstack-start/package.json b/packages/tanstack-start/package.json index 81e706f86b..76c69a8687 100644 --- a/packages/tanstack-start/package.json +++ b/packages/tanstack-start/package.json @@ -1,6 +1,6 @@ { "name": "@clerk/tanstack-start", - "version": "0.8.3", + "version": "0.8.4", "description": "Clerk SDK for TanStack Start", "keywords": [ "clerk", diff --git a/packages/testing/CHANGELOG.md b/packages/testing/CHANGELOG.md index cdcba03206..80cbde183f 100644 --- a/packages/testing/CHANGELOG.md +++ b/packages/testing/CHANGELOG.md @@ -1,5 +1,14 @@ # @clerk/testing +## 1.4.4 + +### Patch Changes + +- Updated dependencies [[`b3300c84a42276bd071a37addbd1ca6888ed9d7c`](https://github.com/clerk/javascript/commit/b3300c84a42276bd071a37addbd1ca6888ed9d7c), [`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]: + - @clerk/backend@1.21.4 + - @clerk/types@4.40.0 + - @clerk/shared@2.20.4 + ## 1.4.3 ### Patch Changes diff --git a/packages/testing/package.json b/packages/testing/package.json index 00064ef261..2bdda13bb9 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -1,6 +1,6 @@ { "name": "@clerk/testing", - "version": "1.4.3", + "version": "1.4.4", "description": "Utilities to help you create E2E test suites for apps using Clerk", "keywords": [ "auth", diff --git a/packages/themes/CHANGELOG.md b/packages/themes/CHANGELOG.md index 975e17b0ea..c27eb7db5a 100644 --- a/packages/themes/CHANGELOG.md +++ b/packages/themes/CHANGELOG.md @@ -1,5 +1,12 @@ # Change Log +## 2.2.3 + +### Patch Changes + +- Updated dependencies [[`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]: + - @clerk/types@4.40.0 + ## 2.2.2 ### Patch Changes diff --git a/packages/themes/package.json b/packages/themes/package.json index 324fa18de6..d22b0a505c 100644 --- a/packages/themes/package.json +++ b/packages/themes/package.json @@ -1,6 +1,6 @@ { "name": "@clerk/themes", - "version": "2.2.2", + "version": "2.2.3", "description": "Themes for the Clerk auth components", "keywords": [ "react", diff --git a/packages/types/CHANGELOG.md b/packages/types/CHANGELOG.md index 6fa877a977..03ae85fa59 100644 --- a/packages/types/CHANGELOG.md +++ b/packages/types/CHANGELOG.md @@ -1,5 +1,18 @@ # Change Log +## 4.40.0 + +### Minor Changes + +- Adds `oidcLoginHint` & `oidcPrompt` parameters to following types: ([#4789](https://github.com/clerk/javascript/pull/4789)) by [@octoper](https://github.com/octoper) + + - `ReauthorizeExternalAccountParams` + - `OAuthConfig` + - `SignInCreateParams` + - `PrepareVerificationParams` + - `SignUpCreateParams` + - `CreateExternalAccountParams` + ## 4.39.4 ### Patch Changes diff --git a/packages/types/package.json b/packages/types/package.json index 1646e1ca6b..9ae7c6cdca 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@clerk/types", - "version": "4.39.4", + "version": "4.40.0", "description": "Typings for Clerk libraries.", "keywords": [ "clerk", diff --git a/packages/ui/CHANGELOG.md b/packages/ui/CHANGELOG.md index 3556fbb750..36757e949d 100644 --- a/packages/ui/CHANGELOG.md +++ b/packages/ui/CHANGELOG.md @@ -1,5 +1,15 @@ # @clerk/ui +## 0.3.5 + +### Patch Changes + +- Updated dependencies [[`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]: + - @clerk/types@4.40.0 + - @clerk/elements@0.22.4 + - @clerk/localizations@3.9.4 + - @clerk/shared@2.20.4 + ## 0.3.4 ### Patch Changes diff --git a/packages/ui/package.json b/packages/ui/package.json index 6a97cc8d65..ac13ba67a6 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -1,6 +1,6 @@ { "name": "@clerk/ui", - "version": "0.3.4", + "version": "0.3.5", "repository": { "type": "git", "url": "git+https://github.com/clerk/javascript.git", diff --git a/packages/vue/CHANGELOG.md b/packages/vue/CHANGELOG.md index f919d6d955..7f434b7ea7 100644 --- a/packages/vue/CHANGELOG.md +++ b/packages/vue/CHANGELOG.md @@ -1,5 +1,15 @@ # @clerk/vue +## 0.1.5 + +### Patch Changes + +- Add `initialValues` option to `` and `` components. ([#4801](https://github.com/clerk/javascript/pull/4801)) by [@wobsoriano](https://github.com/wobsoriano) + +- Updated dependencies [[`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]: + - @clerk/types@4.40.0 + - @clerk/shared@2.20.4 + ## 0.1.4 ### Patch Changes diff --git a/packages/vue/package.json b/packages/vue/package.json index e323b1ef38..7a6fac893f 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -1,6 +1,6 @@ { "name": "@clerk/vue", - "version": "0.1.4", + "version": "0.1.5", "description": "Clerk SDK for Vue", "keywords": [ "clerk", diff --git a/packages/vue/src/components/SignInButton.ts b/packages/vue/src/components/SignInButton.ts index 37a5536de2..c6f375dd03 100644 --- a/packages/vue/src/components/SignInButton.ts +++ b/packages/vue/src/components/SignInButton.ts @@ -6,7 +6,7 @@ import { assertSingleChild, normalizeWithDefaultValue } from '../utils'; type SignInButtonProps = Pick< SignInProps, - 'fallbackRedirectUrl' | 'forceRedirectUrl' | 'signUpForceRedirectUrl' | 'signUpFallbackRedirectUrl' + 'fallbackRedirectUrl' | 'forceRedirectUrl' | 'signUpForceRedirectUrl' | 'signUpFallbackRedirectUrl' | 'initialValues' >; export const SignInButton = defineComponent( @@ -42,6 +42,13 @@ export const SignInButton = defineComponent( }; }, { - props: ['signUpForceRedirectUrl', 'signUpFallbackRedirectUrl', 'fallbackRedirectUrl', 'forceRedirectUrl', 'mode'], + props: [ + 'signUpForceRedirectUrl', + 'signUpFallbackRedirectUrl', + 'fallbackRedirectUrl', + 'forceRedirectUrl', + 'mode', + 'initialValues', + ], }, ); diff --git a/packages/vue/src/components/SignUpButton.ts b/packages/vue/src/components/SignUpButton.ts index 29281cac8d..891374ea44 100644 --- a/packages/vue/src/components/SignUpButton.ts +++ b/packages/vue/src/components/SignUpButton.ts @@ -8,7 +8,7 @@ type SignUpButtonProps = { unsafeMetadata?: SignUpUnsafeMetadata; } & Pick< SignUpProps, - 'fallbackRedirectUrl' | 'forceRedirectUrl' | 'signInForceRedirectUrl' | 'signInFallbackRedirectUrl' + 'fallbackRedirectUrl' | 'forceRedirectUrl' | 'signInForceRedirectUrl' | 'signInFallbackRedirectUrl' | 'initialValues' >; export const SignUpButton = defineComponent( @@ -51,6 +51,7 @@ export const SignUpButton = defineComponent( 'fallbackRedirectUrl', 'forceRedirectUrl', 'mode', + 'initialValues', ], }, );