From 20a19f2f6aaa67d7d737fce892a17e9b53e1c9c3 Mon Sep 17 00:00:00 2001 From: Jacek Date: Tue, 12 May 2026 12:08:26 -0500 Subject: [PATCH 1/3] chore(repo): remove playground templates --- .changeset/remove-playground-templates.md | 4 ++++ .cursor/rules/development.mdc | 2 -- .cursor/rules/global.mdc | 2 -- .cursor/rules/monorepo.mdc | 1 - .dockerignore | 1 - .github/labeler.yml | 4 ---- .gitignore | 12 +----------- .prettierignore | 1 - .vscode/launch.json | 21 --------------------- eslint.config.mjs | 1 - renovate.json5 | 1 - scripts/format-non-workspace.mjs | 1 - scripts/nuke.mjs | 19 ------------------- scripts/renovate-config-generator.mjs | 1 - 14 files changed, 5 insertions(+), 66 deletions(-) create mode 100644 .changeset/remove-playground-templates.md diff --git a/.changeset/remove-playground-templates.md b/.changeset/remove-playground-templates.md new file mode 100644 index 00000000000..be53535c634 --- /dev/null +++ b/.changeset/remove-playground-templates.md @@ -0,0 +1,4 @@ +--- +--- + +Remove playground templates from the repository. diff --git a/.cursor/rules/development.mdc b/.cursor/rules/development.mdc index f8e641d3f2f..fc0cc1232a6 100644 --- a/.cursor/rules/development.mdc +++ b/.cursor/rules/development.mdc @@ -14,7 +14,6 @@ Development Environment Setup Monorepo Development Workflow - Make changes in the relevant package under `/packages/` - Use `pnpm dev` to watch for changes and rebuild automatically -- Test changes using playground applications in `/playground/` - Run specific package commands using pnpm workspace syntax: `pnpm --filter @clerk/nextjs build` - Use Turbo for efficient builds: `turbo build --filter=@clerk/nextjs` @@ -111,7 +110,6 @@ Release Process - Maintain detailed changelogs Local Development Tips -- Use playground applications to test changes quickly - Set up multiple test environments for different scenarios - Use pkglab for local npm registry testing (`pkglab pub` to publish, `pkglab add` to install) - Leverage hot reloading for faster development cycles diff --git a/.cursor/rules/global.mdc b/.cursor/rules/global.mdc index 877d4c8ace7..6c06d904b08 100644 --- a/.cursor/rules/global.mdc +++ b/.cursor/rules/global.mdc @@ -22,7 +22,6 @@ Clerk JavaScript SDK Monorepo - `packages/` - All publishable packages (@clerk/\*) - `integration/` - Framework integration templates and E2E tests -- `playground/` - Development and testing applications - `scripts/` - Build automation and utilities - `.cursor/rules/` - Additional rule files for specific domains @@ -38,7 +37,6 @@ Clerk JavaScript SDK Monorepo 5. Development Workflow - Make changes in relevant package under packages/ -- Use playground apps for testing changes - Follow established testing and documentation requirements - Use Changesets for version management and releases - If you are provided a commit SHA, always read the commit message and description for extra context. diff --git a/.cursor/rules/monorepo.mdc b/.cursor/rules/monorepo.mdc index 56780f1c63d..b55848466ed 100644 --- a/.cursor/rules/monorepo.mdc +++ b/.cursor/rules/monorepo.mdc @@ -27,7 +27,6 @@ Directory Structure - `packages/` - All publishable packages - `integration/` - End-to-end tests and integration templates -- `playground/` - Development and testing applications - `docs/` - Documentation and contribution guides - `scripts/` - Build and automation scripts - `tools/` - Internal development tools diff --git a/.dockerignore b/.dockerignore index e86c3fe23cd..0981c2d7efe 100644 --- a/.dockerignore +++ b/.dockerignore @@ -3,4 +3,3 @@ npm-debug.log .next .dev.lock *.md -playground diff --git a/.github/labeler.yml b/.github/labeler.yml index 6b8a713c04d..642ff9645ad 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -80,10 +80,6 @@ vue: - changed-files: - any-glob-to-any-file: packages/vue/** -playground: - - changed-files: - - any-glob-to-any-file: playground/** - actions: - changed-files: - any-glob-to-any-file: .github/workflows/** diff --git a/.gitignore b/.gitignore index 1ad61a1435f..8f8291cf7f3 100644 --- a/.gitignore +++ b/.gitignore @@ -7,9 +7,6 @@ out-tsc out **/dist/* **/build/* -!playground/browser-extension-js/build/manifest.json -!playground/browser-extension-js/build/popup.html -!playground/browser-extension-js/build/popup.css packages/*/dist/** **/.pnpm-store/** @@ -64,17 +61,10 @@ lerna-debug.log .next .dev.vars .env.local -playground/*/build -!playground/browser-extension-js/build -playground/*/public/build -playground/*/.cache -playground/custom -# Examples & Playground apps dependency locks +# Examples apps dependency locks packages/*/examples/*/package-lock.json packages/*/examples/*/yarn.lock -playground/*/package-lock.json -playground/*/yarn.lock /test-results/ /playwright-report/ /playwright/.cache/ diff --git a/.prettierignore b/.prettierignore index f469f34fac0..ec4d75c8331 100644 --- a/.prettierignore +++ b/.prettierignore @@ -17,7 +17,6 @@ dist node_modules package-lock.json pnpm-lock.yaml -playground packages/backend/tests/**/*.js packages/clerk-js/src/core/resources/internal.ts packages/clerk-js/src/core/resources/index.ts diff --git a/.vscode/launch.json b/.vscode/launch.json index 6851e3696c8..76bc1a686b3 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -1,27 +1,6 @@ { "version": "0.2.0", "configurations": [ - { - "name": "playground/nextjs: debug server", - "type": "node-terminal", - "request": "launch", - "command": "pnpm dev", - "cwd": "${workspaceFolder}/playground/nextjs" - }, - { - "name": "playground/nextjs12: debug server", - "type": "node-terminal", - "request": "launch", - "command": "pnpm dev", - "cwd": "${workspaceFolder}/playground/nextjs12" - }, - { - "name": "playground/express: debug server", - "type": "node-terminal", - "request": "launch", - "command": "npm start", - "cwd": "${workspaceFolder}/playground/express" - }, { "name": "Debug Vitest", "type": "node", diff --git a/eslint.config.mjs b/eslint.config.mjs index 742a6b90bd9..0624c8f75fe 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -267,7 +267,6 @@ export default tseslint.config([ 'commitlint.config.ts', 'packages/*/dist/**', 'packages/*/examples', - 'playground/*', 'pnpm-lock.json', 'eslint.config.mjs', 'typedoc.config.mjs', diff --git a/renovate.json5 b/renovate.json5 index c218c481186..958e91715ce 100644 --- a/renovate.json5 +++ b/renovate.json5 @@ -21,7 +21,6 @@ ".nvmrc", "integration/templates/**", "packages/upgrade/src/__tests__/fixtures/**", - "playground/**", ], includePaths: [ "package.json", diff --git a/scripts/format-non-workspace.mjs b/scripts/format-non-workspace.mjs index 9f6b18c1e8d..8f6337d97b5 100644 --- a/scripts/format-non-workspace.mjs +++ b/scripts/format-non-workspace.mjs @@ -7,7 +7,6 @@ const ROOT_FILE_PATTERNS = ['*.cjs', '*.js', '*.json', '*.md', '*.mjs', '*.ts', const NON_WORKSPACE_PATTERNS = [ 'docs/**/*.{js,jsx,ts,tsx,json,md,mdx}', 'integration/**/*.{js,jsx,ts,tsx,json,md,mdx}', - 'playground/**/*.{js,jsx,ts,tsx,json,md,mdx}', 'scripts/**/*.{js,jsx,ts,tsx,json,md,mdx}', ]; diff --git a/scripts/nuke.mjs b/scripts/nuke.mjs index 81400509a33..e80db412360 100755 --- a/scripts/nuke.mjs +++ b/scripts/nuke.mjs @@ -31,24 +31,5 @@ try { console.log('Cannot access packages directory'); } -// Iterate over `playground/*` -try { - const playgroundDir = resolve('playground'); - await access(playgroundDir); - try { - const playgrounds = await readdir(playgroundDir); - - await Promise.allSettled( - playgrounds.map( - dir => $$`rm -rf ${DIRECTORIES_TO_CLEAN.map(directory => join(join(playgroundDir, dir), directory))}`, - ), - ).then(() => void console.log(`Cleaned playground directories`)); - } catch (error) { - console.error(error); - } -} catch { - console.log('Cannot access playground directory'); -} - await $$`rm -rf .turbo`.then(() => console.log('Removed root .turbo directory')); await $$`rm -rf node_modules`.then(() => console.log('Removed root node_modules')); diff --git a/scripts/renovate-config-generator.mjs b/scripts/renovate-config-generator.mjs index 00405cfe0ae..3172bf3e571 100644 --- a/scripts/renovate-config-generator.mjs +++ b/scripts/renovate-config-generator.mjs @@ -186,7 +186,6 @@ const renovateConfig = { '.nvmrc', 'integration/templates/**', 'packages/upgrade/src/__tests__/fixtures/**', - 'playground/**', ], includePaths: ['package.json', 'packages/**', 'pnpm-workspace.yaml'], major: { dependencyDashboardApproval: true }, From ca831c42fec861ad4b748310050854b948521ddb Mon Sep 17 00:00:00 2001 From: Jacek Date: Tue, 12 May 2026 14:04:00 -0500 Subject: [PATCH 2/3] chore(repo): delete playground directory --- playground/app-router/.gitignore | 38 --- playground/app-router/.vscode/settings.json | 4 - playground/app-router/README.md | 36 --- playground/app-router/next.config.js | 13 -- playground/app-router/package.json | 26 --- playground/app-router/public/next.svg | 1 - playground/app-router/public/vercel.svg | 1 - playground/app-router/src/app/action/page.tsx | 22 -- .../app-router/src/app/api/hello/route.ts | 3 - playground/app-router/src/app/client/page.tsx | 12 - playground/app-router/src/app/favicon.ico | Bin 25931 -> 0 bytes playground/app-router/src/app/globals.css | 77 ------ playground/app-router/src/app/layout.tsx | 28 --- playground/app-router/src/app/page.module.css | 221 ------------------ playground/app-router/src/app/page.tsx | 100 -------- .../src/app/protected/ClientSideWrapper.tsx | 26 --- .../app-router/src/app/protected/page.tsx | 38 --- .../src/app/sign-in/[[...catchall]]/page.tsx | 14 -- .../src/app/sign-up/[[...catchall]]/page.tsx | 9 - playground/app-router/src/common/Links.tsx | 25 -- playground/app-router/src/middleware.ts | 8 - playground/app-router/src/pages/_app.tsx | 19 -- .../src/pages/profile/[[...index]].tsx | 19 -- .../src/pages/user/[[...index]].tsx | 25 -- playground/app-router/tsconfig.json | 28 --- playground/browser-extension-js/.env.example | 1 - playground/browser-extension-js/.gitignore | 7 - playground/browser-extension-js/README.md | 126 ---------- .../browser-extension-js/build/manifest.json | 17 -- .../browser-extension-js/build/popup.css | 134 ----------- .../browser-extension-js/build/popup.html | 22 -- .../browser-extension-js/esbuild.config.mjs | 31 --- playground/browser-extension-js/package.json | 22 -- .../browser-extension-js/pnpm-workspace.yaml | 6 - playground/browser-extension-js/src/env.d.ts | 1 - playground/browser-extension-js/src/popup.ts | 117 ---------- playground/browser-extension-js/tsconfig.json | 13 -- .../browser-extension/.env.chrome.example | 1 - .../.env.development.example | 2 - playground/browser-extension/.gitignore | 5 - playground/browser-extension/README.md | 70 ------ playground/browser-extension/assets/icon.png | Bin 14295 -> 0 bytes playground/browser-extension/package.json | 54 ----- .../browser-extension/postcss.config.js | 8 - .../src/assets/chrome-extension-sdk-2.jpg | Bin 372890 -> 0 bytes .../src/assets/dark-logo.png | Bin 2469 -> 0 bytes .../browser-extension/src/assets/icon.png | Bin 4732 -> 0 bytes .../src/assets/light-logo.png | Bin 1723 -> 0 bytes .../browser-extension/src/background/index.ts | 44 ---- .../src/components/nav-bar.tsx | 44 ---- .../src/components/ui/button.tsx | 56 ----- playground/browser-extension/src/content.tsx | 24 -- .../src/features/count-button.tsx | 19 -- .../browser-extension/src/popup/index.tsx | 38 --- .../src/popup/layouts/root-layout.tsx | 35 --- .../src/popup/routes/home.tsx | 13 -- .../src/popup/routes/sdk-features.tsx | 24 -- .../src/popup/routes/settings.tsx | 10 - .../src/popup/routes/sign-in.tsx | 16 -- .../src/popup/routes/sign-up.tsx | 17 -- .../browser-extension/src/sidepanel/index.tsx | 35 --- playground/browser-extension/src/style.css | 5 - .../src/tabs/background-worker-demo.html | 12 - .../src/tabs/background-worker-demo.tsx | 44 ---- .../browser-extension/src/utils/components.ts | 6 - .../browser-extension/tailwind.config.js | 6 - playground/browser-extension/tsconfig.json | 20 -- playground/cra-js/.gitignore | 23 -- playground/cra-js/README.md | 70 ------ playground/cra-js/package.json | 36 --- playground/cra-js/public/favicon.ico | Bin 3870 -> 0 bytes playground/cra-js/public/index.html | 58 ----- playground/cra-js/public/logo192.png | Bin 5347 -> 0 bytes playground/cra-js/public/logo512.png | Bin 9664 -> 0 bytes playground/cra-js/public/manifest.json | 25 -- playground/cra-js/public/robots.txt | 3 - playground/cra-js/src/App.css | 38 --- playground/cra-js/src/App.js | 25 -- playground/cra-js/src/index.css | 11 - playground/cra-js/src/index.js | 17 -- playground/cra-js/src/logo.svg | 1 - playground/cra-js/src/reportWebVitals.js | 13 -- playground/expo/.env.example | 1 - playground/expo/.gitignore | 40 ---- playground/expo/App.tsx | 187 --------------- playground/expo/README.md | 76 ------ playground/expo/app.json.example | 38 --- playground/expo/babel.config.js | 6 - playground/expo/metro.config.js | 35 --- playground/expo/package.json | 39 ---- playground/expo/tsconfig.json | 10 - playground/expo/webpack.config.js | 17 -- playground/express/.env.sample | 2 - playground/express/.gitignore | 35 --- playground/express/README.md | 31 --- playground/express/package.json | 27 --- playground/express/src/loadEnv.ts | 2 - playground/express/src/routes/index.ts | 2 - playground/express/src/routes/private.ts | 39 ---- playground/express/src/routes/public.ts | 21 -- playground/express/src/server.ts | 27 --- playground/express/src/views/home.ejs | 18 -- playground/express/tsconfig.json | 8 - playground/fastify/.env.sample | 4 - playground/fastify/.gitignore | 35 --- playground/fastify/README.md | 26 --- playground/fastify/package.json | 25 -- playground/fastify/src/loadEnv.ts | 2 - playground/fastify/src/routes/index.ts | 2 - playground/fastify/src/routes/private.ts | 20 -- playground/fastify/src/routes/public.ts | 15 -- playground/fastify/src/server.ts | 28 --- playground/fastify/src/templates/sign-in.ejs | 24 -- playground/fastify/tsconfig.json | 7 - playground/nextjs/.env.example | 6 - playground/nextjs/.gitignore | 36 --- playground/nextjs/.vscode/settings.json | 4 - playground/nextjs/README.md | 50 ---- playground/nextjs/app/api/route.ts | 7 - .../nextjs/app/app-dir/client-component.tsx | 11 - playground/nextjs/app/app-dir/client/page.tsx | 11 - .../app/app-dir/create-organization/page.tsx | 5 - .../nextjs/app/app-dir/discover/page.tsx | 10 - .../nextjs/app/app-dir/organization/page.tsx | 10 - playground/nextjs/app/app-dir/page.tsx | 51 ---- .../nextjs/app/app-dir/sign-in/page.tsx | 11 - .../nextjs/app/app-dir/sign-up/page.tsx | 11 - playground/nextjs/app/app-dir/user/page.tsx | 5 - playground/nextjs/app/layout.tsx | 19 -- playground/nextjs/middleware.ts | 7 - playground/nextjs/next.config.js | 17 -- playground/nextjs/package.json | 28 --- playground/nextjs/pages/_app.tsx | 170 -------------- playground/nextjs/pages/api/hello-edge.ts | 23 -- playground/nextjs/pages/api/hello.ts | 11 - .../create-organization/[[...index]].tsx | 14 -- .../nextjs/pages/custom/forgotPassword.tsx | 144 ------------ playground/nextjs/pages/discover/index.tsx | 18 -- playground/nextjs/pages/index.tsx | 62 ----- .../pages/organization-list/[[...index]].tsx | 14 -- .../pages/organization/[[...index]].tsx | 15 -- .../nextjs/pages/redirect-helpers/index.tsx | 37 --- .../nextjs/pages/session-examples/index.tsx | 33 --- .../nextjs/pages/sign-in/[[...index]].tsx | 12 - .../nextjs/pages/sign-up/[[...index]].tsx | 12 - .../nextjs/pages/user-examples/index.tsx | 28 --- playground/nextjs/pages/user/[[...index]].tsx | 20 -- playground/nextjs/pages/waitlist/index.tsx | 19 -- playground/nextjs/public/favicon.ico | Bin 25931 -> 0 bytes playground/nextjs/public/vercel.svg | 4 - playground/nextjs/styles/Home.module.css | 129 ---------- playground/nextjs/styles/globals.css | 29 --- playground/nextjs/tsconfig.json | 25 -- playground/react-router/.env.example | 6 - playground/react-router/.gitignore | 8 - playground/react-router/README.md | 3 - playground/react-router/app/app.css | 12 - playground/react-router/app/root.tsx | 96 -------- playground/react-router/app/routes.ts | 11 - playground/react-router/app/routes/home.tsx | 13 -- .../react-router/app/routes/profile-form.tsx | 41 ---- .../react-router/app/routes/profile.tsx | 31 --- .../react-router/app/routes/sign-in.tsx | 10 - .../react-router/app/routes/sign-up.tsx | 10 - .../react-router/app/routes/use-auth.tsx | 15 -- .../react-router/app/routes/use-user.tsx | 15 -- .../react-router/app/welcome/logo-dark.svg | 23 -- .../react-router/app/welcome/logo-light.svg | 23 -- .../react-router/app/welcome/welcome.tsx | 61 ----- playground/react-router/package.json | 32 --- playground/react-router/public/favicon.ico | Bin 15086 -> 0 bytes .../react-router/react-router.config.ts | 7 - playground/react-router/tailwind.config.ts | 22 -- playground/react-router/tsconfig.json | 28 --- playground/react-router/vite.config.ts | 16 -- playground/vanillajs/index.html | 173 -------------- playground/vite-react-ts/.env.example | 1 - playground/vite-react-ts/.gitignore | 26 --- playground/vite-react-ts/index.html | 13 -- playground/vite-react-ts/package.json | 33 --- playground/vite-react-ts/public/clerk.svg | 17 -- playground/vite-react-ts/public/vite.svg | 1 - playground/vite-react-ts/src/App.css | 57 ----- playground/vite-react-ts/src/App.tsx | 150 ------------ playground/vite-react-ts/src/assets/react.svg | 1 - playground/vite-react-ts/src/index.css | 69 ------ playground/vite-react-ts/src/main.tsx | 10 - playground/vite-react-ts/src/vite-env.d.ts | 1 - playground/vite-react-ts/tsconfig.json | 27 --- playground/vite-react-ts/tsconfig.node.json | 12 - playground/vite-react-ts/vite.config.ts | 7 - 191 files changed, 5266 deletions(-) delete mode 100644 playground/app-router/.gitignore delete mode 100644 playground/app-router/.vscode/settings.json delete mode 100644 playground/app-router/README.md delete mode 100644 playground/app-router/next.config.js delete mode 100644 playground/app-router/package.json delete mode 100644 playground/app-router/public/next.svg delete mode 100644 playground/app-router/public/vercel.svg delete mode 100644 playground/app-router/src/app/action/page.tsx delete mode 100644 playground/app-router/src/app/api/hello/route.ts delete mode 100644 playground/app-router/src/app/client/page.tsx delete mode 100644 playground/app-router/src/app/favicon.ico delete mode 100644 playground/app-router/src/app/globals.css delete mode 100644 playground/app-router/src/app/layout.tsx delete mode 100644 playground/app-router/src/app/page.module.css delete mode 100644 playground/app-router/src/app/page.tsx delete mode 100644 playground/app-router/src/app/protected/ClientSideWrapper.tsx delete mode 100644 playground/app-router/src/app/protected/page.tsx delete mode 100644 playground/app-router/src/app/sign-in/[[...catchall]]/page.tsx delete mode 100644 playground/app-router/src/app/sign-up/[[...catchall]]/page.tsx delete mode 100644 playground/app-router/src/common/Links.tsx delete mode 100644 playground/app-router/src/middleware.ts delete mode 100644 playground/app-router/src/pages/_app.tsx delete mode 100644 playground/app-router/src/pages/profile/[[...index]].tsx delete mode 100644 playground/app-router/src/pages/user/[[...index]].tsx delete mode 100644 playground/app-router/tsconfig.json delete mode 100644 playground/browser-extension-js/.env.example delete mode 100644 playground/browser-extension-js/.gitignore delete mode 100644 playground/browser-extension-js/README.md delete mode 100644 playground/browser-extension-js/build/manifest.json delete mode 100644 playground/browser-extension-js/build/popup.css delete mode 100644 playground/browser-extension-js/build/popup.html delete mode 100644 playground/browser-extension-js/esbuild.config.mjs delete mode 100644 playground/browser-extension-js/package.json delete mode 100644 playground/browser-extension-js/pnpm-workspace.yaml delete mode 100644 playground/browser-extension-js/src/env.d.ts delete mode 100644 playground/browser-extension-js/src/popup.ts delete mode 100644 playground/browser-extension-js/tsconfig.json delete mode 100644 playground/browser-extension/.env.chrome.example delete mode 100644 playground/browser-extension/.env.development.example delete mode 100644 playground/browser-extension/.gitignore delete mode 100644 playground/browser-extension/README.md delete mode 100644 playground/browser-extension/assets/icon.png delete mode 100644 playground/browser-extension/package.json delete mode 100644 playground/browser-extension/postcss.config.js delete mode 100644 playground/browser-extension/src/assets/chrome-extension-sdk-2.jpg delete mode 100644 playground/browser-extension/src/assets/dark-logo.png delete mode 100644 playground/browser-extension/src/assets/icon.png delete mode 100644 playground/browser-extension/src/assets/light-logo.png delete mode 100644 playground/browser-extension/src/background/index.ts delete mode 100644 playground/browser-extension/src/components/nav-bar.tsx delete mode 100644 playground/browser-extension/src/components/ui/button.tsx delete mode 100644 playground/browser-extension/src/content.tsx delete mode 100644 playground/browser-extension/src/features/count-button.tsx delete mode 100644 playground/browser-extension/src/popup/index.tsx delete mode 100644 playground/browser-extension/src/popup/layouts/root-layout.tsx delete mode 100644 playground/browser-extension/src/popup/routes/home.tsx delete mode 100644 playground/browser-extension/src/popup/routes/sdk-features.tsx delete mode 100644 playground/browser-extension/src/popup/routes/settings.tsx delete mode 100644 playground/browser-extension/src/popup/routes/sign-in.tsx delete mode 100644 playground/browser-extension/src/popup/routes/sign-up.tsx delete mode 100644 playground/browser-extension/src/sidepanel/index.tsx delete mode 100644 playground/browser-extension/src/style.css delete mode 100644 playground/browser-extension/src/tabs/background-worker-demo.html delete mode 100644 playground/browser-extension/src/tabs/background-worker-demo.tsx delete mode 100644 playground/browser-extension/src/utils/components.ts delete mode 100644 playground/browser-extension/tailwind.config.js delete mode 100644 playground/browser-extension/tsconfig.json delete mode 100644 playground/cra-js/.gitignore delete mode 100644 playground/cra-js/README.md delete mode 100644 playground/cra-js/package.json delete mode 100644 playground/cra-js/public/favicon.ico delete mode 100644 playground/cra-js/public/index.html delete mode 100644 playground/cra-js/public/logo192.png delete mode 100644 playground/cra-js/public/logo512.png delete mode 100644 playground/cra-js/public/manifest.json delete mode 100644 playground/cra-js/public/robots.txt delete mode 100644 playground/cra-js/src/App.css delete mode 100644 playground/cra-js/src/App.js delete mode 100644 playground/cra-js/src/index.css delete mode 100644 playground/cra-js/src/index.js delete mode 100644 playground/cra-js/src/logo.svg delete mode 100644 playground/cra-js/src/reportWebVitals.js delete mode 100644 playground/expo/.env.example delete mode 100644 playground/expo/.gitignore delete mode 100644 playground/expo/App.tsx delete mode 100644 playground/expo/README.md delete mode 100644 playground/expo/app.json.example delete mode 100644 playground/expo/babel.config.js delete mode 100644 playground/expo/metro.config.js delete mode 100644 playground/expo/package.json delete mode 100644 playground/expo/tsconfig.json delete mode 100644 playground/expo/webpack.config.js delete mode 100644 playground/express/.env.sample delete mode 100644 playground/express/.gitignore delete mode 100644 playground/express/README.md delete mode 100644 playground/express/package.json delete mode 100644 playground/express/src/loadEnv.ts delete mode 100644 playground/express/src/routes/index.ts delete mode 100644 playground/express/src/routes/private.ts delete mode 100644 playground/express/src/routes/public.ts delete mode 100644 playground/express/src/server.ts delete mode 100644 playground/express/src/views/home.ejs delete mode 100644 playground/express/tsconfig.json delete mode 100644 playground/fastify/.env.sample delete mode 100644 playground/fastify/.gitignore delete mode 100644 playground/fastify/README.md delete mode 100644 playground/fastify/package.json delete mode 100644 playground/fastify/src/loadEnv.ts delete mode 100644 playground/fastify/src/routes/index.ts delete mode 100644 playground/fastify/src/routes/private.ts delete mode 100644 playground/fastify/src/routes/public.ts delete mode 100644 playground/fastify/src/server.ts delete mode 100644 playground/fastify/src/templates/sign-in.ejs delete mode 100644 playground/fastify/tsconfig.json delete mode 100644 playground/nextjs/.env.example delete mode 100644 playground/nextjs/.gitignore delete mode 100644 playground/nextjs/.vscode/settings.json delete mode 100644 playground/nextjs/README.md delete mode 100644 playground/nextjs/app/api/route.ts delete mode 100644 playground/nextjs/app/app-dir/client-component.tsx delete mode 100644 playground/nextjs/app/app-dir/client/page.tsx delete mode 100644 playground/nextjs/app/app-dir/create-organization/page.tsx delete mode 100644 playground/nextjs/app/app-dir/discover/page.tsx delete mode 100644 playground/nextjs/app/app-dir/organization/page.tsx delete mode 100644 playground/nextjs/app/app-dir/page.tsx delete mode 100644 playground/nextjs/app/app-dir/sign-in/page.tsx delete mode 100644 playground/nextjs/app/app-dir/sign-up/page.tsx delete mode 100644 playground/nextjs/app/app-dir/user/page.tsx delete mode 100644 playground/nextjs/app/layout.tsx delete mode 100644 playground/nextjs/middleware.ts delete mode 100644 playground/nextjs/next.config.js delete mode 100644 playground/nextjs/package.json delete mode 100644 playground/nextjs/pages/_app.tsx delete mode 100644 playground/nextjs/pages/api/hello-edge.ts delete mode 100644 playground/nextjs/pages/api/hello.ts delete mode 100644 playground/nextjs/pages/create-organization/[[...index]].tsx delete mode 100644 playground/nextjs/pages/custom/forgotPassword.tsx delete mode 100644 playground/nextjs/pages/discover/index.tsx delete mode 100644 playground/nextjs/pages/index.tsx delete mode 100644 playground/nextjs/pages/organization-list/[[...index]].tsx delete mode 100644 playground/nextjs/pages/organization/[[...index]].tsx delete mode 100644 playground/nextjs/pages/redirect-helpers/index.tsx delete mode 100644 playground/nextjs/pages/session-examples/index.tsx delete mode 100644 playground/nextjs/pages/sign-in/[[...index]].tsx delete mode 100644 playground/nextjs/pages/sign-up/[[...index]].tsx delete mode 100644 playground/nextjs/pages/user-examples/index.tsx delete mode 100644 playground/nextjs/pages/user/[[...index]].tsx delete mode 100644 playground/nextjs/pages/waitlist/index.tsx delete mode 100644 playground/nextjs/public/favicon.ico delete mode 100644 playground/nextjs/public/vercel.svg delete mode 100644 playground/nextjs/styles/Home.module.css delete mode 100644 playground/nextjs/styles/globals.css delete mode 100644 playground/nextjs/tsconfig.json delete mode 100644 playground/react-router/.env.example delete mode 100644 playground/react-router/.gitignore delete mode 100644 playground/react-router/README.md delete mode 100644 playground/react-router/app/app.css delete mode 100644 playground/react-router/app/root.tsx delete mode 100644 playground/react-router/app/routes.ts delete mode 100644 playground/react-router/app/routes/home.tsx delete mode 100644 playground/react-router/app/routes/profile-form.tsx delete mode 100644 playground/react-router/app/routes/profile.tsx delete mode 100644 playground/react-router/app/routes/sign-in.tsx delete mode 100644 playground/react-router/app/routes/sign-up.tsx delete mode 100644 playground/react-router/app/routes/use-auth.tsx delete mode 100644 playground/react-router/app/routes/use-user.tsx delete mode 100644 playground/react-router/app/welcome/logo-dark.svg delete mode 100644 playground/react-router/app/welcome/logo-light.svg delete mode 100644 playground/react-router/app/welcome/welcome.tsx delete mode 100644 playground/react-router/package.json delete mode 100644 playground/react-router/public/favicon.ico delete mode 100644 playground/react-router/react-router.config.ts delete mode 100644 playground/react-router/tailwind.config.ts delete mode 100644 playground/react-router/tsconfig.json delete mode 100644 playground/react-router/vite.config.ts delete mode 100644 playground/vanillajs/index.html delete mode 100644 playground/vite-react-ts/.env.example delete mode 100644 playground/vite-react-ts/.gitignore delete mode 100644 playground/vite-react-ts/index.html delete mode 100644 playground/vite-react-ts/package.json delete mode 100644 playground/vite-react-ts/public/clerk.svg delete mode 100644 playground/vite-react-ts/public/vite.svg delete mode 100644 playground/vite-react-ts/src/App.css delete mode 100644 playground/vite-react-ts/src/App.tsx delete mode 100644 playground/vite-react-ts/src/assets/react.svg delete mode 100644 playground/vite-react-ts/src/index.css delete mode 100644 playground/vite-react-ts/src/main.tsx delete mode 100644 playground/vite-react-ts/src/vite-env.d.ts delete mode 100644 playground/vite-react-ts/tsconfig.json delete mode 100644 playground/vite-react-ts/tsconfig.node.json delete mode 100644 playground/vite-react-ts/vite.config.ts diff --git a/playground/app-router/.gitignore b/playground/app-router/.gitignore deleted file mode 100644 index 927a115dba8..00000000000 --- a/playground/app-router/.gitignore +++ /dev/null @@ -1,38 +0,0 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -# dependencies -/node_modules -/.pnp -.pnp.js - -# testing -/coverage - -# next.js -/.next/ -/out/ - -# production -/build - -# misc -.DS_Store -*.pem - -# debug -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# local env files -.env* - -# vercel -.vercel - -# typescript -*.tsbuildinfo -next-env.d.ts - -# clerk configuration (can include secrets) -/.clerk/ diff --git a/playground/app-router/.vscode/settings.json b/playground/app-router/.vscode/settings.json deleted file mode 100644 index d0679104bda..00000000000 --- a/playground/app-router/.vscode/settings.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "typescript.tsdk": "node_modules/typescript/lib", - "typescript.enablePromptUseWorkspaceTsdk": true -} \ No newline at end of file diff --git a/playground/app-router/README.md b/playground/app-router/README.md deleted file mode 100644 index 293d5ade579..00000000000 --- a/playground/app-router/README.md +++ /dev/null @@ -1,36 +0,0 @@ -This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). - -## Getting Started - -First, run the development server: - -```bash -npm run dev -# or -yarn dev -# or -pnpm dev -``` - -Open [http://localhost:4011](http://localhost:4011) with your browser to see the result. - -You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. - -[http://localhost:4011/api/hello](http://localhost:4011/api/hello) is an endpoint that uses [Route Handlers](https://nextjs.org/docs/routing/route-handlers). This endpoint can be edited in `app/api/hello/route.ts`. - -This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font. - -## Learn More - -To learn more about Next.js, take a look at the following resources: - -- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. -- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. - -You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! - -## Deploy on Vercel - -The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. - -Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. diff --git a/playground/app-router/next.config.js b/playground/app-router/next.config.js deleted file mode 100644 index 62c7c9de887..00000000000 --- a/playground/app-router/next.config.js +++ /dev/null @@ -1,13 +0,0 @@ -/** @type {import('next').NextConfig} */ -const nextConfig = { - experimental: { - appDir: true, - typedRoutes: true, - serverActions: true, - }, - eslint: { - ignoreDuringBuilds: true, - }, -}; - -module.exports = nextConfig; diff --git a/playground/app-router/package.json b/playground/app-router/package.json deleted file mode 100644 index 6e9785ea2e9..00000000000 --- a/playground/app-router/package.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "name": "app-router", - "version": "0.1.0", - "private": true, - "scripts": { - "dev": "next dev --port 4011", - "build": "next build", - "start": "next start", - "lint": "next lint" - }, - "dependencies": { - "@clerk/backend": "workspace:*", - "@clerk/react": "workspace:*", - "@clerk/nextjs": "workspace:*", - "@clerk/shared": "workspace:*", - "@clerk/types": "workspace:*", - "@types/node": "18.16.0", - "@types/react": "18.0.38", - "@types/react-dom": "18.0.11", - "next": "^14.2.4", - "react": "18.2.0", - "react-dom": "18.2.0", - "typescript": "5.0.4", - "ezheaders": "^0.0.3" - } -} diff --git a/playground/app-router/public/next.svg b/playground/app-router/public/next.svg deleted file mode 100644 index 5174b28c565..00000000000 --- a/playground/app-router/public/next.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/playground/app-router/public/vercel.svg b/playground/app-router/public/vercel.svg deleted file mode 100644 index d2f84222734..00000000000 --- a/playground/app-router/public/vercel.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/playground/app-router/src/app/action/page.tsx b/playground/app-router/src/app/action/page.tsx deleted file mode 100644 index 5962909a82b..00000000000 --- a/playground/app-router/src/app/action/page.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import { auth, currentUser } from '@clerk/nextjs/server'; - -export default function AddToCart() { - async function addItem(data: any) { - 'use server'; - console.log((await auth()).userId); - console.log((await currentUser())?.firstName); - console.log('add item server action', data); - } - - return ( - // @ts-ignore -
- - -
- ); -} diff --git a/playground/app-router/src/app/api/hello/route.ts b/playground/app-router/src/app/api/hello/route.ts deleted file mode 100644 index 36379216174..00000000000 --- a/playground/app-router/src/app/api/hello/route.ts +++ /dev/null @@ -1,3 +0,0 @@ -export async function GET(request: Request) { - return new Response('Hello, Next.js!'); -} diff --git a/playground/app-router/src/app/client/page.tsx b/playground/app-router/src/app/client/page.tsx deleted file mode 100644 index 0869fb69863..00000000000 --- a/playground/app-router/src/app/client/page.tsx +++ /dev/null @@ -1,12 +0,0 @@ -'use client'; - -import { useEffect } from 'react'; - -export default () => { - console.log('cient/page'); - useEffect(() => { - console.log('cient/page side only component'); - }); - - return
this is a client components
; -}; diff --git a/playground/app-router/src/app/favicon.ico b/playground/app-router/src/app/favicon.ico deleted file mode 100644 index 718d6fea4835ec2d246af9800eddb7ffb276240c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25931 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 LrJugUA?W`A8`#=m diff --git a/playground/app-router/src/app/globals.css b/playground/app-router/src/app/globals.css deleted file mode 100644 index 4d750b87d77..00000000000 --- a/playground/app-router/src/app/globals.css +++ /dev/null @@ -1,77 +0,0 @@ -:root { - --max-width: 1100px; - --border-radius: 12px; - --font-mono: ui-monospace, Menlo, Monaco, 'Cascadia Mono', 'Segoe UI Mono', 'Roboto Mono', 'Oxygen Mono', - 'Ubuntu Monospace', 'Source Code Pro', 'Fira Mono', 'Droid Sans Mono', 'Courier New', monospace; - - --foreground-rgb: 0, 0, 0; - --background-start-rgb: 214, 219, 220; - --background-end-rgb: 255, 255, 255; - - --primary-glow: conic-gradient( - from 180deg at 50% 50%, - #16abff33 0deg, - #0885ff33 55deg, - #54d6ff33 120deg, - #0071ff33 160deg, - transparent 360deg - ); - --secondary-glow: radial-gradient(rgba(255, 255, 255, 1), rgba(255, 255, 255, 0)); - - --tile-start-rgb: 239, 245, 249; - --tile-end-rgb: 228, 232, 233; - --tile-border: conic-gradient(#00000080, #00000040, #00000030, #00000020, #00000010, #00000010, #00000080); - - --callout-rgb: 238, 240, 241; - --callout-border-rgb: 172, 175, 176; - --card-rgb: 180, 185, 188; - --card-border-rgb: 131, 134, 135; -} - -@media (prefers-color-scheme: dark) { - :root { - --foreground-rgb: 255, 255, 255; - --background-start-rgb: 0, 0, 0; - --background-end-rgb: 0, 0, 0; - - --primary-glow: radial-gradient(rgba(1, 65, 255, 0.4), rgba(1, 65, 255, 0)); - --secondary-glow: linear-gradient(to bottom right, rgba(1, 65, 255, 0), rgba(1, 65, 255, 0), rgba(1, 65, 255, 0.3)); - - --tile-start-rgb: 2, 13, 46; - --tile-end-rgb: 2, 5, 19; - --tile-border: conic-gradient(#ffffff80, #ffffff40, #ffffff30, #ffffff20, #ffffff10, #ffffff10, #ffffff80); - - --callout-rgb: 20, 20, 20; - --callout-border-rgb: 108, 108, 108; - --card-rgb: 100, 100, 100; - --card-border-rgb: 200, 200, 200; - } -} - -* { - box-sizing: border-box; - padding: 0; - margin: 0; -} - -html, -body { - max-width: 100vw; - overflow-x: hidden; -} - -body { - color: rgb(var(--foreground-rgb)); - background: linear-gradient(to bottom, transparent, rgb(var(--background-end-rgb))) rgb(var(--background-start-rgb)); -} - -a { - color: inherit; - text-decoration: none; -} - -@media (prefers-color-scheme: dark) { - html { - color-scheme: dark; - } -} diff --git a/playground/app-router/src/app/layout.tsx b/playground/app-router/src/app/layout.tsx deleted file mode 100644 index 89d40d4d778..00000000000 --- a/playground/app-router/src/app/layout.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import './globals.css'; -import { Inter } from 'next/font/google'; -import { ClerkProvider } from '@clerk/nextjs'; -import { Links } from '@/common/Links'; - -const inter = Inter({ subsets: ['latin'] }); - -export const metadata = { - title: 'Create Next App', - description: 'Generated by create next app', -}; - -export default function RootLayout({ children }: { children: React.ReactNode }) { - // console.log(auth()); - return ( - - - - -
-

Root layout

- {children} -
- - -
- ); -} diff --git a/playground/app-router/src/app/page.module.css b/playground/app-router/src/app/page.module.css deleted file mode 100644 index b51e699f734..00000000000 --- a/playground/app-router/src/app/page.module.css +++ /dev/null @@ -1,221 +0,0 @@ -.main { - display: flex; - flex-direction: column; - justify-content: space-between; - align-items: center; - padding: 6rem; - min-height: 100vh; -} - -.description { - display: inherit; - justify-content: inherit; - align-items: inherit; - font-size: 0.85rem; - max-width: var(--max-width); - width: 100%; - z-index: 2; - font-family: var(--font-mono); -} - -.description a { - display: flex; - justify-content: center; - align-items: center; - gap: 0.5rem; -} - -.description p { - position: relative; - margin: 0; - padding: 1rem; - background-color: rgba(var(--callout-rgb), 0.5); - border: 1px solid rgba(var(--callout-border-rgb), 0.3); - border-radius: var(--border-radius); -} - -.code { - font-weight: 700; - font-family: var(--font-mono); -} - -.grid { - display: grid; - grid-template-columns: repeat(4, minmax(25%, auto)); - width: var(--max-width); - max-width: 100%; -} - -.card { - padding: 1rem 1.2rem; - border-radius: var(--border-radius); - background: rgba(var(--card-rgb), 0); - border: 1px solid rgba(var(--card-border-rgb), 0); - transition: background 200ms, border 200ms; -} - -.card span { - display: inline-block; - transition: transform 200ms; -} - -.card h2 { - font-weight: 600; - margin-bottom: 0.7rem; -} - -.card p { - margin: 0; - opacity: 0.6; - font-size: 0.9rem; - line-height: 1.5; - max-width: 30ch; -} - -.center { - display: flex; - justify-content: center; - align-items: center; - position: relative; - padding: 4rem 0; -} - -.center::before { - background: var(--secondary-glow); - border-radius: 50%; - width: 480px; - height: 360px; - margin-left: -400px; -} - -.center::after { - background: var(--primary-glow); - width: 240px; - height: 180px; - z-index: -1; -} - -.center::before, -.center::after { - content: ''; - left: 50%; - position: absolute; - filter: blur(45px); - transform: translateZ(0); -} - -.logo { - position: relative; -} -/* Enable hover only on non-touch devices */ -@media (hover: hover) and (pointer: fine) { - .card:hover { - background: rgba(var(--card-rgb), 0.1); - border: 1px solid rgba(var(--card-border-rgb), 0.15); - } - - .card:hover span { - transform: translateX(4px); - } -} - -@media (prefers-reduced-motion) { - .card:hover span { - transform: none; - } -} - -/* Mobile */ -@media (max-width: 700px) { - .content { - padding: 4rem; - } - - .grid { - grid-template-columns: 1fr; - margin-bottom: 120px; - max-width: 320px; - text-align: center; - } - - .card { - padding: 1rem 2.5rem; - } - - .card h2 { - margin-bottom: 0.5rem; - } - - .center { - padding: 8rem 0 6rem; - } - - .center::before { - transform: none; - height: 300px; - } - - .description { - font-size: 0.8rem; - } - - .description a { - padding: 1rem; - } - - .description p, - .description div { - display: flex; - justify-content: center; - position: fixed; - width: 100%; - } - - .description p { - align-items: center; - inset: 0 0 auto; - padding: 2rem 1rem 1.4rem; - border-radius: 0; - border: none; - border-bottom: 1px solid rgba(var(--callout-border-rgb), 0.25); - background: linear-gradient(to bottom, rgba(var(--background-start-rgb), 1), rgba(var(--callout-rgb), 0.5)); - background-clip: padding-box; - backdrop-filter: blur(24px); - } - - .description div { - align-items: flex-end; - pointer-events: none; - inset: auto 0 0; - padding: 2rem; - height: 200px; - background: linear-gradient(to bottom, transparent 0%, rgb(var(--background-end-rgb)) 40%); - z-index: 1; - } -} - -/* Tablet and Smaller Desktop */ -@media (min-width: 701px) and (max-width: 1120px) { - .grid { - grid-template-columns: repeat(2, 50%); - } -} - -@media (prefers-color-scheme: dark) { - .vercelLogo { - filter: invert(1); - } - - .logo { - filter: invert(1) drop-shadow(0 0 0.3rem #ffffff70); - } -} - -@keyframes rotate { - from { - transform: rotate(360deg); - } - to { - transform: rotate(0deg); - } -} diff --git a/playground/app-router/src/app/page.tsx b/playground/app-router/src/app/page.tsx deleted file mode 100644 index fadb08b5a08..00000000000 --- a/playground/app-router/src/app/page.tsx +++ /dev/null @@ -1,100 +0,0 @@ -import Image from 'next/image'; -import styles from './page.module.css'; - -declare global { - interface UserPublicMetadata { - spotifyToken?: string; - isNewUser?: boolean; - } -} - -export default function Home() { - return ( -
-
-

- Get started by editing  - src/app/page.tsx -

- -
- -
- Next.js Logo -
- - -
- ); -} \ No newline at end of file diff --git a/playground/app-router/src/app/protected/ClientSideWrapper.tsx b/playground/app-router/src/app/protected/ClientSideWrapper.tsx deleted file mode 100644 index 989e2726540..00000000000 --- a/playground/app-router/src/app/protected/ClientSideWrapper.tsx +++ /dev/null @@ -1,26 +0,0 @@ -'use client'; - -import React from 'react'; -import { useAuth, useUser } from '@clerk/react'; - -export const ClientSideWrapper = (props: React.PropsWithChildren) => { - React.useEffect(() => {}); - - const useUserRes = useUser(); - const useAuthRes = useAuth(); - return ( -
-

"use client";

-
-        useUser
-        {JSON.stringify({ isLoaded: useUserRes.isLoaded, user: useUserRes.user?.id }, null, 2)}
-        useAuth2
-        {JSON.stringify({ isSignedIn: useAuthRes.isSignedIn, user: useAuthRes.userId }, null, 2)}
-      
-
-

children

- {props.children} -
-
- ); -}; diff --git a/playground/app-router/src/app/protected/page.tsx b/playground/app-router/src/app/protected/page.tsx deleted file mode 100644 index a61537e515d..00000000000 --- a/playground/app-router/src/app/protected/page.tsx +++ /dev/null @@ -1,38 +0,0 @@ -import { ClerkLoaded, Show, UserButton } from '@clerk/nextjs'; -import { auth } from '@clerk/nextjs/server'; -import React from 'react'; -import { ClientSideWrapper } from '@/app/protected/ClientSideWrapper'; -import { header } from 'ezheaders'; - -export default async function Page() { - const { userId } = await auth(); - const xClerkDebug = await header('x-clerk-debug'); - - console.log('Auth run in /protected', userId, xClerkDebug); - return ( -
-

Protected page

-

-      
-        

Signed in

-
- -

Signed out

-
- -

Clerk loaded

-
- - - - server content - -
SignedIn
-
- -
ClerkLoaded
-
-
-
- ); -} diff --git a/playground/app-router/src/app/sign-in/[[...catchall]]/page.tsx b/playground/app-router/src/app/sign-in/[[...catchall]]/page.tsx deleted file mode 100644 index 39021a5f67d..00000000000 --- a/playground/app-router/src/app/sign-in/[[...catchall]]/page.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import { SignIn } from '@clerk/nextjs'; - -export default function Page() { - return ( -
- here? - -
- ); -} diff --git a/playground/app-router/src/app/sign-up/[[...catchall]]/page.tsx b/playground/app-router/src/app/sign-up/[[...catchall]]/page.tsx deleted file mode 100644 index dc8d5cfd0d7..00000000000 --- a/playground/app-router/src/app/sign-up/[[...catchall]]/page.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import { SignUp } from '@clerk/nextjs'; - -export default function Page() { - return ( -
- -
- ); -} diff --git a/playground/app-router/src/common/Links.tsx b/playground/app-router/src/common/Links.tsx deleted file mode 100644 index 67b83072143..00000000000 --- a/playground/app-router/src/common/Links.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import Link from 'next/link'; - -export const Links = () => { - return ( -
-
-

App router:

-
- Home - Sign in - Sign up - Protected (auth()) - Server action -
-
-
-

Pages:

-
- /user (SSR and gSSP) (getAuth()) - /profile (no SSR) -
-
-
- ); -}; diff --git a/playground/app-router/src/middleware.ts b/playground/app-router/src/middleware.ts deleted file mode 100644 index 8c4dd060d10..00000000000 --- a/playground/app-router/src/middleware.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { clerkMiddleware } from '@clerk/nextjs/server'; - - -export default clerkMiddleware() - -export const config = { - matcher: ['/((?!.*\\..*|_next).*)', '/', '/(api|trpc)(.*)'], -}; diff --git a/playground/app-router/src/pages/_app.tsx b/playground/app-router/src/pages/_app.tsx deleted file mode 100644 index 5d0f6828b52..00000000000 --- a/playground/app-router/src/pages/_app.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import type { AppProps } from 'next/app'; - -import { ClerkProvider } from '@clerk/nextjs'; -import React from 'react'; -import { Links } from '@/common/Links'; - -function MyApp({ Component, pageProps }: AppProps) { - return ( - - -
-

Pages

- -
-
- ); -} - -export default MyApp; diff --git a/playground/app-router/src/pages/profile/[[...index]].tsx b/playground/app-router/src/pages/profile/[[...index]].tsx deleted file mode 100644 index 2bf9980099d..00000000000 --- a/playground/app-router/src/pages/profile/[[...index]].tsx +++ /dev/null @@ -1,19 +0,0 @@ -import { UserProfile } from '@clerk/nextjs'; -import type { NextPage } from 'next'; -import React from 'react'; - -const UserProfilePage: NextPage = (props: any) => { - return ( -
-

/pages/profile

-

experimental-edge

- -
- ); -}; - -export default UserProfilePage; - -export const config = { - runtime: 'experimental-edge', -}; diff --git a/playground/app-router/src/pages/user/[[...index]].tsx b/playground/app-router/src/pages/user/[[...index]].tsx deleted file mode 100644 index 65c03834d2c..00000000000 --- a/playground/app-router/src/pages/user/[[...index]].tsx +++ /dev/null @@ -1,25 +0,0 @@ -import { Show, UserProfile } from '@clerk/nextjs'; -import { getAuth } from '@clerk/nextjs/server'; -import type { GetServerSideProps, NextPage } from 'next'; -import React from 'react'; - -export const getServerSideProps: GetServerSideProps = async ({ req }) => { - const { userId } = getAuth(req); - console.log(userId); - return { props: { message: 'hello from server' } }; -}; - -const UserProfilePage: NextPage = (props: any) => { - return ( -
-

/pages/user

-
{props.message}
- -

SignedIn

-
- -
- ); -}; - -export default UserProfilePage; \ No newline at end of file diff --git a/playground/app-router/tsconfig.json b/playground/app-router/tsconfig.json deleted file mode 100644 index 0c7555fa765..00000000000 --- a/playground/app-router/tsconfig.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": ["dom", "dom.iterable", "esnext"], - "allowJs": true, - "skipLibCheck": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noEmit": true, - "esModuleInterop": true, - "module": "esnext", - "moduleResolution": "node", - "resolveJsonModule": true, - "isolatedModules": true, - "jsx": "preserve", - "incremental": true, - "plugins": [ - { - "name": "next" - } - ], - "paths": { - "@/*": ["./src/*"] - } - }, - "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], - "exclude": ["node_modules"] -} diff --git a/playground/browser-extension-js/.env.example b/playground/browser-extension-js/.env.example deleted file mode 100644 index 044f7822c33..00000000000 --- a/playground/browser-extension-js/.env.example +++ /dev/null @@ -1 +0,0 @@ -CLERK_PUBLISHABLE_KEY= diff --git a/playground/browser-extension-js/.gitignore b/playground/browser-extension-js/.gitignore deleted file mode 100644 index d83a4589141..00000000000 --- a/playground/browser-extension-js/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -node_modules/ -pnpm-lock.yaml -build/*.js -.env -.yalc -yalc.lock -.npmrc diff --git a/playground/browser-extension-js/README.md b/playground/browser-extension-js/README.md deleted file mode 100644 index a97991314f7..00000000000 --- a/playground/browser-extension-js/README.md +++ /dev/null @@ -1,126 +0,0 @@ -# Browser Extension JS Playground - -A Chrome extension demo using `@clerk/chrome-extension` with plain TypeScript. No Chrome extension frameworks (no WXT, Plasmo, CRXJS, etc.). Uses `bun build` to bundle the TypeScript source. - -## Project structure - -``` -src/ - popup.ts # TypeScript source (bundled to build/popup.js) -build/ - manifest.json # Chrome extension manifest (Manifest V3) - popup.html # Popup page - popup.css # Popup styles - popup.js # Bundled output (gitignored) -.env.example # Environment variable template -.env # Your publishable key (gitignored) -``` - -Static extension files (`manifest.json`, `popup.html`, `popup.css`) live directly in `build/` and are checked into git. `bun build` automatically loads `.env`, replaces `process.env.CLERK_PUBLISHABLE_KEY` at build time, and bundles `src/popup.ts` into `build/popup.js`. - -## Getting started - -### 1. Build `@clerk/chrome-extension` and its dependencies - -From the repository root: - -```bash -pnpm turbo build --filter=@clerk/chrome-extension... -``` - -### 2. Start pkglab and publish packages - -From the repository root, start the local registry and publish `@clerk/chrome-extension` (along with its workspace dependencies): - -```bash -pnpm pkglab up -pnpm pkglab pub @clerk/chrome-extension -``` - -### 3. Add packages from pkglab - -```bash -cd playground/browser-extension-js -``` - -To see which packages have been published: - -```bash -pnpm pkglab:ls -``` - -From this playground directory (`playground/browser-extension-js`): - -```bash -pnpm pkglab:add -``` - -### 4. Install dependencies - -This playground is not a pnpm workspace member, so use `pnpm install` to install dependencies: - -```bash -pnpm install --ignore-workspace -``` - -The first time you install packages you will will may to approve builds. Use: - -```bash -pnpm approve-builds --ignore-workspace -``` - -### 5. Set up environment - -Copy `.env.example` to `.env` and add your Clerk publishable key: - -```bash -cp .env.example .env -``` - -Then edit `.env`: - -``` -CLERK_PUBLISHABLE_KEY=pk_test_... -``` - -### 6. Build the extension - -```bash -pnpm build -``` - -### 7. Load the extension in Chrome - -1. Open `chrome://extensions/` -2. Enable **Developer mode** (top right) -3. Click **Load unpacked** -4. Select the `build/` directory inside this playground - -## Development - -To rebuild on file changes: - -```bash -pnpm dev -``` - -## Rebuilding after package changes - -When you make changes to `@clerk/chrome-extension` (or its dependencies), rebuild and republish to pkglab: - -```bash -# From repo root -pnpm turbo build --filter=@clerk/chrome-extension... && pnpm pkglab pub @clerk/chrome-extension - - -# From this playground - -# If you haven't approved build yet -pnpm install --ignore-workspace -pnpm approve-builds -pnpm dev - -# If you have approved builds already -pnpm install -pnpm dev -``` diff --git a/playground/browser-extension-js/build/manifest.json b/playground/browser-extension-js/build/manifest.json deleted file mode 100644 index dcab155d51b..00000000000 --- a/playground/browser-extension-js/build/manifest.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "manifest_version": 3, - "name": "Clerk Extension JS Demo", - "description": "A Chrome extension demo using @clerk/chrome-extension with plain TypeScript.", - "version": "0.0.1", - "permissions": [ - "cookies", - "storage" - ], - "host_permissions": [ - "http://localhost/*" - ], - "action": { - "default_title": "Clerk Extension Demo", - "default_popup": "popup.html" - } -} diff --git a/playground/browser-extension-js/build/popup.css b/playground/browser-extension-js/build/popup.css deleted file mode 100644 index 223269c6f61..00000000000 --- a/playground/browser-extension-js/build/popup.css +++ /dev/null @@ -1,134 +0,0 @@ -* { - margin: 0; - padding: 0; - box-sizing: border-box; -} - -body { - width: 600px; - max-height: 600px; - height: 600px; - background: #111; - color: #fff; - font-family: system-ui, sans-serif; -} - -#app { - display: flex; - flex-direction: column; - min-height: 600px; -} - -#content { - flex: 1; - display: flex; - flex-direction: column; - align-items: center; - justify-content: start; - padding: 1rem; -} - -h1 { - font-size: 1.1rem; - font-weight: 600; - padding: 1rem 2rem; - text-align: center; -} - -#nav { - display: flex; - align-items: center; - justify-content: flex-end; - padding: 0.75rem 1rem; - background: #222; - border-top: 1px solid #333; -} - -#nav:has(#sign-out-btn) { - justify-content: space-between; -} - -#sign-in-btn { - background: #2563eb; - color: #fff; - border: none; - border-radius: 6px; - padding: 0.5rem 1.25rem; - font-size: 0.875rem; - cursor: pointer; - transition: background 0.15s; -} - -#sign-in-btn:hover { - background: #1d4ed8; -} - -#sign-in-btn:active { - background: #1e40af; -} - -#sign-out-btn { - background: #6C47FF; - color: #fff; - border: none; - border-radius: 6px; - padding: 0.5rem 1.25rem; - font-size: 0.875rem; - cursor: pointer; - transition: background 0.15s; -} - -#sign-out-btn:hover { - background: #5639CC; -} - -#sign-out-btn:active { - background: #4A30B3; -} - -.user-card { - width: 100%; - margin-top: 0.75rem; - background: #1a1a1a; - border: 1px solid #333; - border-radius: 10px; - padding: 0.75rem; - text-align: left; -} - -.user-card-header { - display: flex; - align-items: center; - gap: 0.75rem; - margin-bottom: 0.75rem; -} - -.user-avatar { - width: 48px; - height: 48px; - border-radius: 50%; - object-fit: cover; -} - -.user-name { - font-size: 1rem; - font-weight: 600; -} - -.user-info-row { - display: flex; - justify-content: space-between; - padding: 0.3rem 0; - font-size: 0.8rem; - border-top: 1px solid #2a2a2a; -} - -.info-label { - color: #888; -} - -.info-value { - color: #fff; - text-align: right; - word-break: break-all; -} diff --git a/playground/browser-extension-js/build/popup.html b/playground/browser-extension-js/build/popup.html deleted file mode 100644 index 3cc1c64380d..00000000000 --- a/playground/browser-extension-js/build/popup.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Clerk Extension Demo - - - - -
-
-

Clerk JS Chrome Extension Quickstart

-
-
- -
- - - - diff --git a/playground/browser-extension-js/esbuild.config.mjs b/playground/browser-extension-js/esbuild.config.mjs deleted file mode 100644 index 9e54d8bda5b..00000000000 --- a/playground/browser-extension-js/esbuild.config.mjs +++ /dev/null @@ -1,31 +0,0 @@ -import esbuild from 'esbuild'; - -process.loadEnvFile(); - -if (!process.env.CLERK_PUBLISHABLE_KEY) { - throw new Error('Missing CLERK_PUBLISHABLE_KEY in .env'); -} - -const watch = process.argv.includes('--watch'); - -/** @type {import('esbuild').BuildOptions} */ -const options = { - entryPoints: ['./src/popup.ts'], - outfile: './build/popup.js', - bundle: true, - format: 'iife', - platform: 'browser', - target: 'es2022', - sourcemap: true, - define: { - 'process.env.CLERK_PUBLISHABLE_KEY': JSON.stringify(process.env.CLERK_PUBLISHABLE_KEY ?? ''), - }, -}; - -if (watch) { - const ctx = await esbuild.context(options); - await ctx.watch(); - console.log('Watching for changes...'); -} else { - await esbuild.build(options); -} diff --git a/playground/browser-extension-js/package.json b/playground/browser-extension-js/package.json deleted file mode 100644 index 45e31f3bb37..00000000000 --- a/playground/browser-extension-js/package.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "browser-extension-js", - "private": true, - "version": "0.0.1", - "description": "A Chrome extension demo using @clerk/chrome-extension with plain TypeScript.", - "author": "Clerk", - "type": "module", - "scripts": { - "build": "node esbuild.config.mjs", - "dev": "node esbuild.config.mjs --watch", - "pkglab:add": "pnpm pkglab add @clerk/chrome-extension", - "pkglab:ls": "pnpm pkglab pkg ls" - }, - "dependencies": { - "@clerk/chrome-extension": "0.0.0-pkglab.1772136211844" - }, - "devDependencies": { - "@types/chrome": "^0.1.12", - "esbuild": "^0.25.0", - "typescript": "5.8.3" - } -} diff --git a/playground/browser-extension-js/pnpm-workspace.yaml b/playground/browser-extension-js/pnpm-workspace.yaml deleted file mode 100644 index b5ac8b5e39d..00000000000 --- a/playground/browser-extension-js/pnpm-workspace.yaml +++ /dev/null @@ -1,6 +0,0 @@ -onlyBuiltDependencies: - - '@clerk/shared' - - browser-tabs-lock - - bufferutil - - core-js - - utf-8-validate diff --git a/playground/browser-extension-js/src/env.d.ts b/playground/browser-extension-js/src/env.d.ts deleted file mode 100644 index d41502e388e..00000000000 --- a/playground/browser-extension-js/src/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -declare const process: { env: { CLERK_PUBLISHABLE_KEY: string } }; diff --git a/playground/browser-extension-js/src/popup.ts b/playground/browser-extension-js/src/popup.ts deleted file mode 100644 index b4bced92bbf..00000000000 --- a/playground/browser-extension-js/src/popup.ts +++ /dev/null @@ -1,117 +0,0 @@ -import { createClerkClient } from '@clerk/chrome-extension/client'; - -const publishableKey = process.env.CLERK_PUBLISHABLE_KEY; - -const EXTENSION_URL = chrome.runtime.getURL('.'); -const POPUP_URL = `${EXTENSION_URL}popup.html`; - -const clerk = createClerkClient({ publishableKey }); - -const contentEl = document.getElementById('content') as HTMLDivElement; -const navEl = document.getElementById('nav') as HTMLDivElement; - -function render() { - contentEl.innerHTML = ''; - navEl.innerHTML = ''; - - if (clerk.user) { - const user = clerk.user; - - const card = document.createElement('div'); - card.className = 'user-card'; - - const header = document.createElement('div'); - header.className = 'user-card-header'; - - const avatar = document.createElement('img'); - avatar.className = 'user-avatar'; - avatar.src = user.imageUrl; - avatar.alt = 'Profile'; - - const name = document.createElement('span'); - name.className = 'user-name'; - name.textContent = user.fullName ?? 'Anonymous'; - - header.appendChild(avatar); - header.appendChild(name); - card.appendChild(header); - - const email = user.primaryEmailAddress?.emailAddress; - if (email) { - card.appendChild(createInfoRow('Email', email)); - } - - if (user.username) { - card.appendChild(createInfoRow('Username', user.username)); - } - - if (clerk.session) { - card.appendChild(createInfoRow('Session ID', truncate(clerk.session.id))); - } - - if (user.lastSignInAt) { - card.appendChild(createInfoRow('Last sign-in', user.lastSignInAt.toLocaleDateString())); - } - - if (user.createdAt) { - card.appendChild(createInfoRow('Account created', user.createdAt.toLocaleDateString())); - } - - contentEl.appendChild(card); - - const userBtnEl = document.createElement('div'); - navEl.appendChild(userBtnEl); - clerk.mountUserButton(userBtnEl); - - const signOutBtn = document.createElement('button'); - signOutBtn.textContent = 'Sign Out'; - signOutBtn.id = 'sign-out-btn'; - signOutBtn.addEventListener('click', () => { - clerk.signOut({ redirectUrl: POPUP_URL }); - }); - navEl.appendChild(signOutBtn); - } else { - const signInBtn = document.createElement('button'); - signInBtn.textContent = 'Sign In'; - signInBtn.id = 'sign-in-btn'; - signInBtn.addEventListener('click', () => { - clerk.openSignIn({}); - }); - navEl.appendChild(signInBtn); - } -} - -function truncate(str: string): string { - if (str.length <= 15) return str; - const charsToKeep = str.length - 15; - const front = Math.ceil(charsToKeep / 2); - const back = Math.floor(charsToKeep / 2); - return `${str.slice(0, front)}...${str.slice(str.length - back)}`; -} - -function createInfoRow(label: string, value: string): HTMLDivElement { - const row = document.createElement('div'); - row.className = 'user-info-row'; - const labelSpan = document.createElement('span'); - labelSpan.className = 'info-label'; - labelSpan.textContent = label; - const valueSpan = document.createElement('span'); - valueSpan.className = 'info-value'; - valueSpan.textContent = value; - row.appendChild(labelSpan); - row.appendChild(valueSpan); - return row; -} - -clerk - .load({ - afterSignOutUrl: POPUP_URL, - signInForceRedirectUrl: POPUP_URL, - signUpForceRedirectUrl: POPUP_URL, - allowedRedirectProtocols: ['chrome-extension:'], - }) - .then(() => { - console.log('working') - clerk.addListener(render); - render(); - }); diff --git a/playground/browser-extension-js/tsconfig.json b/playground/browser-extension-js/tsconfig.json deleted file mode 100644 index b773145b856..00000000000 --- a/playground/browser-extension-js/tsconfig.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2020", - "module": "ES2020", - "moduleResolution": "bundler", - "outDir": "build", - "rootDir": "src", - "strict": true, - "skipLibCheck": true - }, - "include": ["src/**/*.ts"] -} - diff --git a/playground/browser-extension/.env.chrome.example b/playground/browser-extension/.env.chrome.example deleted file mode 100644 index beb66b4ed14..00000000000 --- a/playground/browser-extension/.env.chrome.example +++ /dev/null @@ -1 +0,0 @@ -CRX_PUBLIC_KEY= diff --git a/playground/browser-extension/.env.development.example b/playground/browser-extension/.env.development.example deleted file mode 100644 index 267a1b46ca5..00000000000 --- a/playground/browser-extension/.env.development.example +++ /dev/null @@ -1,2 +0,0 @@ -PLASMO_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_***** -CLERK_FRONTEND_API=https://*****.clerk.accounts.dev diff --git a/playground/browser-extension/.gitignore b/playground/browser-extension/.gitignore deleted file mode 100644 index 3d462e4c950..00000000000 --- a/playground/browser-extension/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -.plasmo -.env -.env.* -!.env.example -!.env.*.example diff --git a/playground/browser-extension/README.md b/playground/browser-extension/README.md deleted file mode 100644 index 7886935d2a3..00000000000 --- a/playground/browser-extension/README.md +++ /dev/null @@ -1,70 +0,0 @@ -## Running the Playground - -Standard: - -```bash -pnpm dev -``` - -On changes to upstream monorepo packages: - -```bash -pnpm update @clerk/chrome-extension && pnpm dev -``` - -## Introduction - -Clerk is a developer-first authentication and user management solution. It provides pre-built React components and hooks for sign-in, sign-up, user profile, and organization management. Clerk is designed to be easy to use and customize, and can be dropped into any Chrome Extension application. - -After following the quickstart you'll have learned how to: - -* Scaffold a new application using the Plasmo framework -* Install `@clerk/chrome-extension` -* Set your environment variables -* Add `` to your application -* Create a header with Clerk components for users to sign in and out -* Configure a consistent CRX key -* Load your Chrome Extension into your Chromium-based browser -* Test your Chrome Extension - -## Running the template - -```bash -git clone https://github.com/clerkinc/clerk-chrome-extension-quickstart -``` - -To run the example locally, you need to: - -1. Sign up for a Clerk account at [https://clerk.com](https://dashboard.clerk.com/sign-up?utm_source=readme\&utm_medium=owned\&utm_campaign=chrome-extension\&utm_content=10-24-2023\&utm_term=clerk-chrome-extension-quickstart). - -2. Go to the [Clerk dashboard](https://dashboard.clerk.com?utm_source=readme\&utm_medium=owned\&utm_campaign=chrome-extension\&utm_content=10-24-2023\&utm_term=clerk-chrome-extension-quickstart) and create an application. - -3. Set the required Clerk environment variables as shown in [the example `.env.development` file](./.env.development.example). - -4. Create a [consistent CRX ID](https://clerk.com/docs/references/chrome-extension/configure-consistent-key) for your extension. - -5. Set the public key are shown in [the example `.env.chrome` file](./.env.chrome.example). - -6. `pnpm install` the required dependencies. - -7. `pnpm dev` to launch the development server. - -## Learn more - -To learn more about Clerk and Chrome Extensions, check out the following resources: - -* [Quickstart: Get started with Chrome Extensions and Clerk](https://clerk.com/docs/quickstarts/chrome-extension?utm_source=readme\&utm_medium=owned\&utm_campaign=chrome-extension\&utm_content=10-24-2023\&utm_term=clerk-chrome-extension-quickstart) - -* [Clerk Documentation](https://clerk.com/docs?utm_source=readme\&utm_medium=owned\&utm_campaign=chrome-extension\&utm_content=10-24-2023\&utm_term=clerk-chrome-extension-quickstart) - -* [Chrome Extensions](https://developer.chrome.com/docs/extensions) - -## Found an issue or want to leave feedback - -Feel free to create a support thread on our [Discord](https://clerk.com/discord). Our support team will be happy to assist you in the `#support` channel. - -## Connect with us - -You can discuss ideas, ask questions, and meet others from the community in our [Discord](https://discord.com/invite/b5rXHjAg7A). - -If you prefer, you can also find support through our [Twitter](https://twitter.com/ClerkDev), or you can [email](mailto:support@clerk.dev) us! diff --git a/playground/browser-extension/assets/icon.png b/playground/browser-extension/assets/icon.png deleted file mode 100644 index df3eaad5939e903789c09285a98dc3ced1a54e46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14295 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 R|M~e!OHE(3UfD7F{{RNg1h@bI diff --git a/playground/browser-extension/package.json b/playground/browser-extension/package.json deleted file mode 100644 index 9400e034dd7..00000000000 --- a/playground/browser-extension/package.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "name": "browser-extension", - "private": true, - "displayName": "Clerk Chrome Extension Demo", - "version": "0.0.1", - "description": "A feature rich implementation of Clerk with a Plasmo-based Chrome Extension.", - "author": "Clerk", - "scripts": { - "build": "plasmo build", - "build:firefox": "plasmo build --target=firefox-mv2", - "debug": "plasmo dev --verbose", - "debug:firefox": "plasmo dev --target=firefox-mv2 --verbose", - "dev": "plasmo dev", - "dev:firefox": "plasmo dev --target=firefox-mv2", - "start:firefox": "web-ext run --source-dir ./build/firefox-mv2-dev" - }, - "dependencies": { - "@clerk/chrome-extension": "workspace:*", - "@radix-ui/react-slot": "^1.1.0", - "class-variance-authority": "^0.7.0", - "clsx": "^2.1.1", - "plasmo": "0.90.5", - "react": "^19.1.0", - "react-dom": "^19.1.0", - "react-router-dom": "^6.27.0", - "tailwind-merge": "^2.5.4", - "tailwindcss": "3.4.14", - "webextension-polyfill": "^0.12.0" - }, - "devDependencies": { - "@ianvs/prettier-plugin-sort-imports": "4.1.1", - "@types/chrome": "0.0.280", - "@types/node": "20.16.14", - "@types/react": "19.1.0", - "@types/react-dom": "19.1.0", - "@types/webextension-polyfill": "^0.12.1", - "postcss": "8.4.49", - "prettier": "3.3.3", - "typescript": "5.6.3" - }, - "manifest": { - "permissions": [ - "cookies", - "storage", - "sidePanel" - ], - "host_permissions": [ - "$CLERK_FRONTEND_API/*", - "$PLASMO_PUBLIC_CLERK_SYNC_HOST/*", - "http://localhost/*" - ], - "key": "$CRX_PUBLIC_KEY" - } -} diff --git a/playground/browser-extension/postcss.config.js b/playground/browser-extension/postcss.config.js deleted file mode 100644 index 2484180d45e..00000000000 --- a/playground/browser-extension/postcss.config.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @type {import('postcss').ProcessOptions} - */ -module.exports = { - plugins: { - tailwindcss: {} - } -} diff --git a/playground/browser-extension/src/assets/chrome-extension-sdk-2.jpg b/playground/browser-extension/src/assets/chrome-extension-sdk-2.jpg deleted file mode 100644 index 6d74f3fe55a57002d102ff3801c5422203d8ccb1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 372890 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�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 z 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 diff --git a/playground/browser-extension/src/assets/icon.png b/playground/browser-extension/src/assets/icon.png deleted file mode 100644 index 674c4e13b11010c43011828d69909d17b92883e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4732 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 Tc(c^jMcVvDgmmhxbnb+7>>_vS z);q$i2*SJo%bnf9Ek1UL58vD39?$ssS*_H0;BwFZUh#8! zT%DYpJU}@oP>2_piwSqF#h+!E&+43CWMI3@emA2ekNhK7JR1C`? z5hNtGj9rkVTU3(nk%%N>SV)eln$ipjDpClFDyBz5nv}LIV+x8QrpH2>M2jF%F;)n* z8@VknF)T<<0YSvXSSi$~{{lUYdT1zW7E;j@TntCa&!~D@Lx%>c7ZL;3Qv}3Hp+VvA z7>5*sZbFgI`W*scrO+FsNEvF?6_p@jtdty8BR@tyLx7{jSSb`GL+f?5WvR09w^FFr zHJ0|I2}!wy5Z+=YDRNQ>uU;9qDU%dII!DaN8~P|xh)xk>rBEZEW1K{jLbMjc%ey(o zNmMCBD=|FHGRHUvkI|(NZ6k)pDl?3aBvOcj15BQ3(bNNT*)JuT~?_BVFr8efpAp)3mPQQ#T(&Y0H(y1iaX6ZDY8>k12)jR*H}tOgyry z@y`(tYS=HQDB0v2G2Af58ncj$%aj?9TGXo|@o&ths*4)Y|2^NXb${bG{Rj(X!SJ@v8*mG8@KAx#&(!g}QHZmRmc z+TZBu&G0nxw;z_KUnC>u;@B^Um$l!ZlF}Bs=F*n;TBcjt@K}{asK$=kokbC1%b)h? zHM&V5=yT0&xwEhF7CphWG1Aj71w7%K<`cq9sJ^qW_laLqHBQWP$l)C=JZDEzGK7O( z^IE%{7!l*Ow!vQj>HNl9^Jw)_R9P{c@nc;8HT zYUne_lXGuW9VAAw8tW{EtFSrZ@m6D%CK@rG+LTM^JCTf-5*Q_2gE1EHTNRj`1?$dULbDN(1F+sC_`FI=Uf7g zn)irD%xkrV#FUW3YwpX+p{OY!&j*dsLY#7Pw^Y=e9g&Ul8)R=9YVcJqD-&)UQ$mg$ z9&j(|95U~%;MZ1*6C=6JF7u6=nw*g18>+s}wdXTCF(T(W*6?0uAvw0Z#_?5KY0J6h z>Z{J97`}V7b(=TfMw+6htDu7Z#{T^?>C?qSQqT66JaqK4{ZcLw5Kf=XQLQ{?wf}NA z8BIzq`;_5dr@lXisxv7u1p>pzil~}+49U~%GT&Je)!A~|!{43ew14P3P{n~ceWWQS z!?OS(y3Ui7BiXisd2G~7QUdUe814j=@MDq^h+S*`1-dgy3CLD495r3q znn_Av_GQUjpE{mXfHFvy8-r~=a z%Q^UK82p29bF6m-Q1x~dS;{utc`;PJH2&`gR5z15XW0i8k+T;*GUO$f83I63jDC7^ z#7PiLKcqOuA;fm-*U__r8xR2#|&GF zLrl(5Kk2&*Q%web#5g#Y$XAovgPCJI5&!2N3si|7ODzq$8ZmXu zIFHMM_CJ+kwo#MiB)LqOUBXI!{10mxWna3uUjdU2_)W=| Rrw#xB002ovPDHLkV1ip|HLd^v diff --git a/playground/browser-extension/src/background/index.ts b/playground/browser-extension/src/background/index.ts deleted file mode 100644 index d549bdb338b..00000000000 --- a/playground/browser-extension/src/background/index.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { createClerkClient } from '@clerk/chrome-extension/background'; - -console.log('[Service Worker]: Loaded') - -const publishableKey = process.env.PLASMO_PUBLIC_CLERK_PUBLISHABLE_KEY -if (!publishableKey) { - throw new Error('Please add the PLASMO_PUBLIC_CLERK_PUBLISHABLE_KEY to the .env.development file') -} - -async function getToken() { - const clerk = await createClerkClient({ - publishableKey, - syncHost: process.env.PLASMO_PUBLIC_CLERK_SYNC_HOST - }); - - // is there is no signed in user then return null - if (!clerk.session) { - return null; - } - - const token = await clerk.session?.getToken(); - return `${token} - ${clerk.user.id}` -} -// asdf -// create a listener to listen for messages from content scripts -// NOTE: A runtime listener cannot be async. -// It must return true, in order to keep the connection open and send a response later. -chrome.runtime.onMessage.addListener((request, sender, sendResponse) => { - console.log('[Service Worker]: Handling request for the user\'s current token') - getToken() - .then((token) => { - console.log('[Service Worker]: Sending token in response') - console.log('[Service Worker]:', token) - sendResponse({ token }) - }) - .catch((error) => { - console.error('[Service Worker]: Error occured -> ', JSON.stringify(error)) - // Send `null` when there is no authenticated user - sendResponse({ token: null }) - }); - return true; -}); - - diff --git a/playground/browser-extension/src/components/nav-bar.tsx b/playground/browser-extension/src/components/nav-bar.tsx deleted file mode 100644 index d2ba1084856..00000000000 --- a/playground/browser-extension/src/components/nav-bar.tsx +++ /dev/null @@ -1,44 +0,0 @@ -import { Show, UserButton } from "@clerk/chrome-extension" -import { Link } from "react-router-dom" -import { Button } from "./ui/button" - -export const NavBar = () => { - return ( - <> - -

- - -
- -
- - - -
-
-
- - - ) -} diff --git a/playground/browser-extension/src/components/ui/button.tsx b/playground/browser-extension/src/components/ui/button.tsx deleted file mode 100644 index f4456688403..00000000000 --- a/playground/browser-extension/src/components/ui/button.tsx +++ /dev/null @@ -1,56 +0,0 @@ -import * as React from 'react' -import { Slot } from '@radix-ui/react-slot' -import { cva, type VariantProps } from 'class-variance-authority' -import { cn } from '~utils/components'; - - -const buttonVariants = cva( - 'plasmo-inline-flex plasmo-items-center plasmo-justify-center plasmo-rounded-md plasmo-text-sm plasmo-font-medium plasmo-ring-offset-background plasmo-transition-colors focus-visible:plasmo-outline-none focus-visible:plasmo-ring-2 focus-visible:plasmo-ring-ring focus-visible:plasmo-ring-offset-2 disabled:plasmo-pointer-events-none disabled:plasmo-opacity-50', - { - variants: { - variant: { - default: 'plasmo-bg-gray-200 plasmo-text-gray-700 hover:plasmo-bg-gray-200/90', - destructive: - 'plasmo-bg-red-600 plasmo-text-white hover:plasmo-bg-red-600/90', - outline: - 'plasmo-border plasmo-border-input plasmo-bg-background hover:plasmo-bg-accent hover:plasmo-text-accent-foreground', - secondary: - 'plasmo-bg-secondary plasmo-text-secondary-foreground hover:plasmo-bg-secondary/80', - ghost: 'hover:plasmo-bg-accent hover:plasmo-text-accent-foreground', - link: 'plasmo-text-gray-200 plasmo-underline-offset-4 hover:plasmo-underline', - }, - size: { - default: 'plasmo-h-10 plasmo-px-4 plasmo-py-2', - sm: 'plasmo-h-9 plasmo-rounded-md plasmo-px-3', - lg: 'plasmo-h-11 plasmo-rounded-md plasmo-px-8', - icon: 'plasmo-h-10 plasmo-w-10', - }, - }, - defaultVariants: { - variant: 'default', - size: 'default', - }, - }, -); - -export interface ButtonProps - extends React.ButtonHTMLAttributes, - VariantProps { - asChild?: boolean -} - -const Button = React.forwardRef( - ({ className, variant, size, asChild = false, ...props }, ref) => { - const Comp = asChild ? Slot : 'button' - return ( - - ) - }, -) -Button.displayName = 'Button' - -export { Button, buttonVariants } diff --git a/playground/browser-extension/src/content.tsx b/playground/browser-extension/src/content.tsx deleted file mode 100644 index 7713a6a1369..00000000000 --- a/playground/browser-extension/src/content.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import cssText from "data-text:~style.css" -import type { PlasmoCSConfig } from "plasmo" - -import { CountButton } from "~features/count-button" - -export const config: PlasmoCSConfig = { - matches: ["https://www.plasmo.com/*"] -} - -export const getStyle = () => { - const style = document.createElement("style") - style.textContent = cssText - return style -} - -const PlasmoOverlay = () => { - return ( -
- -
- ) -} - -export default PlasmoOverlay diff --git a/playground/browser-extension/src/features/count-button.tsx b/playground/browser-extension/src/features/count-button.tsx deleted file mode 100644 index 9f7e9878264..00000000000 --- a/playground/browser-extension/src/features/count-button.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import { useReducer } from "react" - -export const CountButton = () => { - const [count, increase] = useReducer((c) => c + 1, 0) - - return ( - - ) -} diff --git a/playground/browser-extension/src/popup/index.tsx b/playground/browser-extension/src/popup/index.tsx deleted file mode 100644 index 526c136e573..00000000000 --- a/playground/browser-extension/src/popup/index.tsx +++ /dev/null @@ -1,38 +0,0 @@ - -import "../style.css"; -import { RouterProvider, createMemoryRouter } from "react-router-dom"; - -// Import the layouts -import { RootLayout } from "./layouts/root-layout"; - -// Import the components -import { SignInPage } from "./routes/sign-in"; -import { SignUpPage } from "./routes/sign-up"; -import { Settings } from "./routes/settings"; -import { SDKFeatures } from "./routes/sdk-features"; -import { Home } from "./routes/home"; - -// Create the router -// This removes the need for an App.tsx file -const router = createMemoryRouter([ - { - element: , - children: [ - { path: "/", element: }, - { path: "/sign-in", element: }, - { path: "/sign-up", element: }, - { path: "/settings", element: }, - { path: "/sdk-features", element: } - ], - }, -], { - future: { - v7_relativeSplatPath: true - } -}); - -export default function PopupIndex() { - return ( - - ) -} diff --git a/playground/browser-extension/src/popup/layouts/root-layout.tsx b/playground/browser-extension/src/popup/layouts/root-layout.tsx deleted file mode 100644 index 27c5de3f773..00000000000 --- a/playground/browser-extension/src/popup/layouts/root-layout.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import { Outlet, useNavigate } from "react-router-dom"; -import { ClerkProvider } from "@clerk/chrome-extension"; -import { NavBar } from "~components/nav-bar"; - -const PUBLISHABLE_KEY = process.env.PLASMO_PUBLIC_CLERK_PUBLISHABLE_KEY -const SYNC_HOST = process.env.PLASMO_PUBLIC_CLERK_SYNC_HOST - -if (!PUBLISHABLE_KEY || !SYNC_HOST) { - throw new Error('Please add the PLASMO_PUBLIC_CLERK_PUBLISHABLE_KEY and PLASMO_PUBLIC_CLERK_SYNC_HOST to the .env.development file') -} - -export const RootLayout = () => { - const navigate = useNavigate(); - - return ( - navigate(to)} - routerReplace={(to) => navigate(to, { replace: true })} - publishableKey={PUBLISHABLE_KEY} - afterSignOutUrl="/" - syncHost={SYNC_HOST} - debug - __experimental_syncHostListener - > -
-
- -
-
- -
-
-
- ); -}; diff --git a/playground/browser-extension/src/popup/routes/home.tsx b/playground/browser-extension/src/popup/routes/home.tsx deleted file mode 100644 index b71fd0e42ec..00000000000 --- a/playground/browser-extension/src/popup/routes/home.tsx +++ /dev/null @@ -1,13 +0,0 @@ -import heroIamge from "data-base64:~assets/light-logo.png" - -export const Home = () => { - return ( -
- Clerk Chrome Extension SDK 2.0 -

Clerk Chrome Extension Demo

-

- Sign in with the popup or sync your auth state with http://localhost:5173, explore an extension built with React Router for tabs and get a token from a tab-based content script using the new createClerkClient() function just for service workers. -

-
- ); -}; diff --git a/playground/browser-extension/src/popup/routes/sdk-features.tsx b/playground/browser-extension/src/popup/routes/sdk-features.tsx deleted file mode 100644 index abbc363c0f0..00000000000 --- a/playground/browser-extension/src/popup/routes/sdk-features.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import { Button } from "~components/ui/button" - -export const SDKFeatures = () => { - return ( -
-

Background Service Worker Support

-

The @clerk/chrome-extension v2.0 SDK now includes support for interacting with Clerk through a Background Service Worker.

-

v2.0 of the SDK introduces the new `createClerkClient()` helper function. This will also the Background Service Worker to initialize a new Clerk instance and attempt to refresh the user's session.

-

Once done, you can then get a token or interact with many of Clerk's chrome.tabs.create({ url: "https://clerk.com/docs/references/javascript/overview" })}>Javascript functonality.

-

The button below will open a new tab and use a content script to send a message to a Background Servie Worker. Since you are signed in, you will end up seeing your session token displayed.

- - -
- ) -} diff --git a/playground/browser-extension/src/popup/routes/settings.tsx b/playground/browser-extension/src/popup/routes/settings.tsx deleted file mode 100644 index 8c8538d8c22..00000000000 --- a/playground/browser-extension/src/popup/routes/settings.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import { UserProfile } from "@clerk/chrome-extension"; - -export const Settings = () => { - return ( - <> -

Settings

- - - ); -}; diff --git a/playground/browser-extension/src/popup/routes/sign-in.tsx b/playground/browser-extension/src/popup/routes/sign-in.tsx deleted file mode 100644 index 8ff9c5ddfd6..00000000000 --- a/playground/browser-extension/src/popup/routes/sign-in.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import { SignIn } from "@clerk/chrome-extension"; - -export const SignInPage = () => { - return ( -
- -
- ); -}; diff --git a/playground/browser-extension/src/popup/routes/sign-up.tsx b/playground/browser-extension/src/popup/routes/sign-up.tsx deleted file mode 100644 index 3608f8aa2ce..00000000000 --- a/playground/browser-extension/src/popup/routes/sign-up.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import { SignUp } from "@clerk/chrome-extension"; - -export const SignUpPage = () => { - return ( -
- -
- ); -}; diff --git a/playground/browser-extension/src/sidepanel/index.tsx b/playground/browser-extension/src/sidepanel/index.tsx deleted file mode 100644 index 3151e7c2811..00000000000 --- a/playground/browser-extension/src/sidepanel/index.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import '../style.css'; -import { RouterProvider, createMemoryRouter } from 'react-router-dom'; - -// Import the layouts -import { RootLayout } from '../popup/layouts/root-layout'; - -// Import the components -import { SignInPage } from '../popup/routes/sign-in'; -import { SignUpPage } from '../popup/routes/sign-up'; -import { Home } from '../popup/routes/home'; -import { Settings } from '../popup/routes/settings'; -import { SDKFeatures } from '../popup/routes/sdk-features'; - -// Create the router -// This removes the need for an App.tsx file -const router = createMemoryRouter([ - { - element: , - children: [ - { path: '/', element: }, - { path: '/sign-in', element: }, - { path: '/sign-up', element: }, - { path: '/settings', element: }, - { path: '/sdk-features', element: }, - ], - }, -], { - future: { - v7_relativeSplatPath: true - } -}); - -export default function SidePanelIndex() { - return ; -} diff --git a/playground/browser-extension/src/style.css b/playground/browser-extension/src/style.css deleted file mode 100644 index 6e0335c910c..00000000000 --- a/playground/browser-extension/src/style.css +++ /dev/null @@ -1,5 +0,0 @@ -@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap"); - -@tailwind base; -@tailwind components; -@tailwind utilities; diff --git a/playground/browser-extension/src/tabs/background-worker-demo.html b/playground/browser-extension/src/tabs/background-worker-demo.html deleted file mode 100644 index dde599a9826..00000000000 --- a/playground/browser-extension/src/tabs/background-worker-demo.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - Clerk Background Worker demo - - - - - - - diff --git a/playground/browser-extension/src/tabs/background-worker-demo.tsx b/playground/browser-extension/src/tabs/background-worker-demo.tsx deleted file mode 100644 index 06a02041b5b..00000000000 --- a/playground/browser-extension/src/tabs/background-worker-demo.tsx +++ /dev/null @@ -1,44 +0,0 @@ -import * as React from 'react'; - -import "../style.css"; -import { Button } from '~components/ui/button'; - -export default function NewTab() { - const [token, setToken] = React.useState(null); - - const getToken = async (e: React.MouseEvent) => { - e.preventDefault(); - - console.log('[Content Script]: Sending request to bakcground service worker'); - // send a message to the background service worker - chrome.runtime.sendMessage('test', response => { - console.log('[Content Script]:', JSON.stringify(response)); - setToken(response.token); - }); - }; - - return ( -
-
-

Clerk Background Service Worker demo

-
-

This new tab simluates a content page where you might want to access user information, or make a request to your backend server and include a user token in the request.

-

Make sure that you are signed into the extension. You can have the popup closed.

- -

Token:

-
- {token &&

{token}

} -
-
-
-
- ) -} - - - diff --git a/playground/browser-extension/src/utils/components.ts b/playground/browser-extension/src/utils/components.ts deleted file mode 100644 index 9ad0df4269e..00000000000 --- a/playground/browser-extension/src/utils/components.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { type ClassValue, clsx } from 'clsx'; -import { twMerge } from 'tailwind-merge'; - -export function cn(...inputs: ClassValue[]) { - return twMerge(clsx(inputs)); -} diff --git a/playground/browser-extension/tailwind.config.js b/playground/browser-extension/tailwind.config.js deleted file mode 100644 index 564630220b7..00000000000 --- a/playground/browser-extension/tailwind.config.js +++ /dev/null @@ -1,6 +0,0 @@ -/** @type {import('tailwindcss').Config} */ -module.exports = { - content: ["./src/**/*.{tsx,html}"], - darkMode: "media", - prefix: "plasmo-" -} diff --git a/playground/browser-extension/tsconfig.json b/playground/browser-extension/tsconfig.json deleted file mode 100644 index 6603b5b31d0..00000000000 --- a/playground/browser-extension/tsconfig.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "extends": "plasmo/templates/tsconfig.base", - "exclude": [ - "node_modules" - ], - "include": [ - ".plasmo/index.d.ts", - "./**/*.ts", - "./**/*.tsx" - ], - "compilerOptions": { - "jsx": "react-jsx", - "paths": { - "~*": [ - "./src/*" - ] - }, - "baseUrl": "." - } -} diff --git a/playground/cra-js/.gitignore b/playground/cra-js/.gitignore deleted file mode 100644 index 4d29575de80..00000000000 --- a/playground/cra-js/.gitignore +++ /dev/null @@ -1,23 +0,0 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -# dependencies -/node_modules -/.pnp -.pnp.js - -# testing -/coverage - -# production -/build - -# misc -.DS_Store -.env.local -.env.development.local -.env.test.local -.env.production.local - -npm-debug.log* -yarn-debug.log* -yarn-error.log* diff --git a/playground/cra-js/README.md b/playground/cra-js/README.md deleted file mode 100644 index 552db95a646..00000000000 --- a/playground/cra-js/README.md +++ /dev/null @@ -1,70 +0,0 @@ -# Getting Started with Create React App - -This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). - -## Available Scripts - -In the project directory, you can run: - -### `npm start` - -Runs the app in the development mode.\ -Open [http://localhost:3000](http://localhost:3000) to view it in your browser. - -The page will reload when you make changes.\ -You may also see any lint errors in the console. - -### `npm test` - -Launches the test runner in the interactive watch mode.\ -See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information. - -### `pnpm build` - -Builds the app for production to the `build` folder.\ -It correctly bundles React in production mode and optimizes the build for the best performance. - -The build is minified and the filenames include the hashes.\ -Your app is ready to be deployed! - -See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information. - -### `pnpm eject` - -**Note: this is a one-way operation. Once you `eject`, you can't go back!** - -If you aren't satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project. - -Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you're on your own. - -You don't have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn't feel obligated to use this feature. However we understand that this tool wouldn't be useful if you couldn't customize it when you are ready for it. - -## Learn More - -You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started). - -To learn React, check out the [React documentation](https://reactjs.org/). - -### Code Splitting - -This section has moved here: [https://facebook.github.io/create-react-app/docs/code-splitting](https://facebook.github.io/create-react-app/docs/code-splitting) - -### Analyzing the Bundle Size - -This section has moved here: [https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size](https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size) - -### Making a Progressive Web App - -This section has moved here: [https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app](https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app) - -### Advanced Configuration - -This section has moved here: [https://facebook.github.io/create-react-app/docs/advanced-configuration](https://facebook.github.io/create-react-app/docs/advanced-configuration) - -### Deployment - -This section has moved here: [https://facebook.github.io/create-react-app/docs/deployment](https://facebook.github.io/create-react-app/docs/deployment) - -### `pnpm build` fails to minify - -This section has moved here: [https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify](https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify) diff --git a/playground/cra-js/package.json b/playground/cra-js/package.json deleted file mode 100644 index 3770ecd2ad7..00000000000 --- a/playground/cra-js/package.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "cra", - "version": "0.1.0", - "private": true, - "dependencies": { - "@clerk/react": "workspace:*", - "@clerk/shared": "workspace:*", - "@clerk/types": "workspace:*", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "react-scripts": "5.0.1", - "web-vitals": "^2.1.4" - }, - "scripts": { - "start": "react-scripts start", - "build": "react-scripts build", - "eject": "react-scripts eject" - }, - "eslintConfig": { - "extends": [ - "react-app" - ] - }, - "browserslist": { - "production": [ - ">0.2%", - "not dead", - "not op_mini all" - ], - "development": [ - "last 1 chrome version", - "last 1 firefox version", - "last 1 safari version" - ] - } -} diff --git a/playground/cra-js/public/favicon.ico b/playground/cra-js/public/favicon.ico deleted file mode 100644 index a11777cc471a4344702741ab1c8a588998b1311a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3870 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 baj7?x%VD!5Cxk2YbYLNVeiXvvpMCWYo=by@ diff --git a/playground/cra-js/public/index.html b/playground/cra-js/public/index.html deleted file mode 100644 index 2e9d8dbcc51..00000000000 --- a/playground/cra-js/public/index.html +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - React App - - - -
- - - diff --git a/playground/cra-js/public/logo192.png b/playground/cra-js/public/logo192.png deleted file mode 100644 index fc44b0a3796c0e0a64c3d858ca038bd4570465d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5347 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 b{|{}U^kRn2wo}j7|0ATu<;8xA7zX}7|B6mN diff --git a/playground/cra-js/public/manifest.json b/playground/cra-js/public/manifest.json deleted file mode 100644 index 080d6c77ac2..00000000000 --- a/playground/cra-js/public/manifest.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "short_name": "React App", - "name": "Create React App Sample", - "icons": [ - { - "src": "favicon.ico", - "sizes": "64x64 32x32 24x24 16x16", - "type": "image/x-icon" - }, - { - "src": "logo192.png", - "type": "image/png", - "sizes": "192x192" - }, - { - "src": "logo512.png", - "type": "image/png", - "sizes": "512x512" - } - ], - "start_url": ".", - "display": "standalone", - "theme_color": "#000000", - "background_color": "#ffffff" -} diff --git a/playground/cra-js/public/robots.txt b/playground/cra-js/public/robots.txt deleted file mode 100644 index e9e57dc4d41..00000000000 --- a/playground/cra-js/public/robots.txt +++ /dev/null @@ -1,3 +0,0 @@ -# https://www.robotstxt.org/robotstxt.html -User-agent: * -Disallow: diff --git a/playground/cra-js/src/App.css b/playground/cra-js/src/App.css deleted file mode 100644 index 74b5e053450..00000000000 --- a/playground/cra-js/src/App.css +++ /dev/null @@ -1,38 +0,0 @@ -.App { - text-align: center; -} - -.App-logo { - height: 40vmin; - pointer-events: none; -} - -@media (prefers-reduced-motion: no-preference) { - .App-logo { - animation: App-logo-spin infinite 20s linear; - } -} - -.App-header { - background-color: #282c34; - min-height: 100vh; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - font-size: calc(10px + 2vmin); - color: white; -} - -.App-link { - color: #61dafb; -} - -@keyframes App-logo-spin { - from { - transform: rotate(0deg); - } - to { - transform: rotate(360deg); - } -} diff --git a/playground/cra-js/src/App.js b/playground/cra-js/src/App.js deleted file mode 100644 index 33fc0b085ab..00000000000 --- a/playground/cra-js/src/App.js +++ /dev/null @@ -1,25 +0,0 @@ -import logo from './logo.svg'; -import './App.css'; -import { ClerkProvider, SignIn } from '@clerk/react'; - -function App() { - return ( - -
-
- logo -

- Edit src/App.js and save to reload. -

- -
-
-
- ); -} - -export default App; diff --git a/playground/cra-js/src/index.css b/playground/cra-js/src/index.css deleted file mode 100644 index 7323ae85c54..00000000000 --- a/playground/cra-js/src/index.css +++ /dev/null @@ -1,11 +0,0 @@ -body { - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', - 'Droid Sans', 'Helvetica Neue', sans-serif; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -code { - font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', monospace; -} diff --git a/playground/cra-js/src/index.js b/playground/cra-js/src/index.js deleted file mode 100644 index 9168dc41355..00000000000 --- a/playground/cra-js/src/index.js +++ /dev/null @@ -1,17 +0,0 @@ -import React from 'react'; -import ReactDOM from 'react-dom/client'; -import './index.css'; -import App from './App'; -import reportWebVitals from './reportWebVitals'; - -const root = ReactDOM.createRoot(document.getElementById('root')); -root.render( - - - , -); - -// If you want to start measuring performance in your app, pass a function -// to log results (for example: reportWebVitals(console.log)) -// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals -reportWebVitals(); diff --git a/playground/cra-js/src/logo.svg b/playground/cra-js/src/logo.svg deleted file mode 100644 index 9dfc1c058ce..00000000000 --- a/playground/cra-js/src/logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/playground/cra-js/src/reportWebVitals.js b/playground/cra-js/src/reportWebVitals.js deleted file mode 100644 index 5253d3ad9e6..00000000000 --- a/playground/cra-js/src/reportWebVitals.js +++ /dev/null @@ -1,13 +0,0 @@ -const reportWebVitals = onPerfEntry => { - if (onPerfEntry && onPerfEntry instanceof Function) { - import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => { - getCLS(onPerfEntry); - getFID(onPerfEntry); - getFCP(onPerfEntry); - getLCP(onPerfEntry); - getTTFB(onPerfEntry); - }); - } -}; - -export default reportWebVitals; diff --git a/playground/expo/.env.example b/playground/expo/.env.example deleted file mode 100644 index 0fe4594cfe1..00000000000 --- a/playground/expo/.env.example +++ /dev/null @@ -1 +0,0 @@ -EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_YWM123 \ No newline at end of file diff --git a/playground/expo/.gitignore b/playground/expo/.gitignore deleted file mode 100644 index 9bee08c5692..00000000000 --- a/playground/expo/.gitignore +++ /dev/null @@ -1,40 +0,0 @@ -# Learn more https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files - -# dependencies -node_modules/ - -# Expo -.expo/ -dist/ -web-build/ - -# Native -*.orig.* -*.jks -*.p8 -*.p12 -*.key -*.mobileprovision - -# Metro -.metro-health-check* - -# debug -npm-debug.* -yarn-debug.* -yarn-error.* - -# macOS -.DS_Store -*.pem - -# local env files -.env*.local - - -# typescript -*.tsbuildinfo -.env -ios -android -app.json \ No newline at end of file diff --git a/playground/expo/App.tsx b/playground/expo/App.tsx deleted file mode 100644 index efcf219bdf2..00000000000 --- a/playground/expo/App.tsx +++ /dev/null @@ -1,187 +0,0 @@ -import { ClerkProvider, Show, useAuth, useSignIn, useUser } from '@clerk/expo'; -import { passkeys } from '@clerk/expo/passkeys'; -import * as SecureStore from 'expo-secure-store'; -import React from 'react'; -import { StyleSheet, Text, TextInput, TouchableOpacity, View } from 'react-native'; - -const tokenCache = { - async getToken(key: string) { - try { - const item = await SecureStore.getItemAsync(key); - if (item) { - console.log(`${key} was used 🔐 \n`); - } else { - console.log('No values stored under key: ' + key); - } - return item; - } catch (error) { - console.error('SecureStore get item error: ', error); - await SecureStore.deleteItemAsync(key); - return null; - } - }, - async saveToken(key: string, value: string) { - try { - return SecureStore.setItemAsync(key, value); - } catch (err) { - console.log(err); - } - }, -}; - -const ProtectedView = () => { - const { user: clerkUser } = useUser(); - const auth = useAuth(); - - const handleCreatePasskey = async () => { - if (!clerkUser) { - return; - } - try { - return await clerkUser.createPasskey(); - } catch (e: any) { - console.error(e.clerkError ? e.errors[0].longMessage : e.message); - } - }; - - return ( - - - Create passkey - - { - auth.signOut(); - }} - > - Sign out - - {clerkUser && ( - - - User with id {clerkUser.id} and Username{' '} - {clerkUser.primaryEmailAddress?.toString()} is logged in{' '} - - - )} - - ); -}; - -const PublicView = () => { - const { signIn, setActive, isLoaded } = useSignIn(); - - const [emailAddress, setEmailAddress] = React.useState(''); - const [password, setPassword] = React.useState(''); - - const handlePasswordSignIn = async () => { - if (!isLoaded) { - return; - } - try { - const signInResponse = await signIn.create({ - identifier: emailAddress, - password, - }); - await setActive({ session: signInResponse.createdSessionId }); - } catch (err: any) { - console.error(err.clerkError ? err.errors[0].longMessage : err); - } - }; - - const handlePasskeySignIn = async () => { - if (!isLoaded) { - return; - } - try { - const signInResponse = await signIn.authenticateWithPasskey({ - flow: 'discoverable', - }); - await setActive({ session: signInResponse.createdSessionId }); - } catch (err: any) { - console.error(`With code${err.code}, and message ${err.message}`); - } - }; - - return ( - - - setEmailAddress(emailAddress)} - /> - - - - setPassword(password)} - /> - - - - Sign in - - - - Sign in with passkey - - - ); -}; - -export default function App() { - const publishableKey = process.env.EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY!; - - return ( - - - - - - - - - - - ); -} - -const styles = StyleSheet.create({ - container: { - flex: 1, - backgroundColor: '#fff', - alignItems: 'center', - justifyContent: 'center', - }, - protectedContainer: { - gap: 12, - flex: 1, - justifyContent: 'center', - backgroundColor: '#1D3D47', - padding: 20, - }, - publicContainer: { - marginTop: 100, - marginLeft: 10, - gap: 15, - }, - input: { - // Add input styles - }, - userInfo: { - color: 'cyan', - }, - italic: { - fontStyle: 'italic', - }, -}); diff --git a/playground/expo/README.md b/playground/expo/README.md deleted file mode 100644 index c55113409ef..00000000000 --- a/playground/expo/README.md +++ /dev/null @@ -1,76 +0,0 @@ -# Running the Example Project with Clerk on Your iOS Simulator or Device - -## Prerequisites - -- Ensure you have Xcode installed and access to an Apple Developer Account. - -## Steps - -### Initiate project -In the project root, run: - -```bash - pnpm install -``` -```bash - cp app.json.example app.json -``` - -### Configure app.json - -Replace the following placeholder with your configs - -- ${YOUR_BUNDLE_IDENTIFIER} -- ${PACKAGE_NAME} - -If you don't want to test passkeys remove the `associatedDomains` and `intentFilters`. - - -### Set Up Environment Variables - -Add the `EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY` to the `.env`. - - -### Prebuild the Project - -```bash - pnpm expo prebuild --clean -``` - -### Run the Project - -```bash - pnpm run ios -``` - -Or - -```bash - pnpm run android -``` - -### Troubleshooting - -If you get the following error `Error: TreeFS: Could not add directory node_modules`, -terminate the ios or android emulator and run again `npm i` - -## Testing the Passkey Feature - -### Configure Associated Domains for iOS - -1. Log into your Clerk Dashboard, open the Native applications, and, for testing purposes, consider using a development instance. -2. Set up your Associated Domains. To do this, you'll need: - - An Apple Developer account - - Your App ID Prefix and Bundle ID, available at Apple's Developer portal -3. In `app.json`, replace the `associatedDomains` entry with the front-end API domain provided by Clerk (e.g., `coyote-6.clerk.accounts.dev`). -4. Also update the `bundleIdentifier` in `app.json` to match your Bundle ID from the Apple Developer portal. - -### How to use the passkeys - -1. Go to your Clerk Dashboard and enable Passkeys in the Email, Phone, Username settings. -2. Create a user in the Users tab on the dashboard, using email and password as the authentication attributes. -3. Open the app on your device or simulator, sign in with the user you just created. -4. After signing in, select the option to Create a Passkey and follow the prompts to register your passkey. -5. Sign out, and on the login screen, choose the Sign in with Passkey option to test the feature. - - diff --git a/playground/expo/app.json.example b/playground/expo/app.json.example deleted file mode 100644 index 6135e8cc0b4..00000000000 --- a/playground/expo/app.json.example +++ /dev/null @@ -1,38 +0,0 @@ -{ - "expo": { - "name": "clerk-expo-passkeys-example", - "slug": "clerk-expo-passkeys-example", - "version": "1.0.0", - "orientation": "portrait", - "userInterfaceStyle": "light", - "splash": { - "resizeMode": "contain", - "backgroundColor": "#ffffff" - }, - "ios": { - "supportsTablet": true, - "bundleIdentifier": "${YOUR_BUNDLE_IDENTIFIER}", - "associatedDomains": ["applinks:${YOUR_DOMAIN}", "webcredentials:${YOUR_DOMAIN}"] - }, - "android": { - "adaptiveIcon": { - "backgroundColor": "#ffffff", - "compileSdkVersion": 35 - }, - "package": "${PACKAGE_NAME}", - "intentFilters": [ - { - "action": "VIEW", - "autoVerify": true, - "data": [ - { - "scheme": "https", - "host": "${YOUR_DOMAIN}" - } - ], - "category": ["BROWSABLE", "DEFAULT"] - } - ] - } - } -} diff --git a/playground/expo/babel.config.js b/playground/expo/babel.config.js deleted file mode 100644 index 9d89e131194..00000000000 --- a/playground/expo/babel.config.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = function (api) { - api.cache(true); - return { - presets: ['babel-preset-expo'], - }; -}; diff --git a/playground/expo/metro.config.js b/playground/expo/metro.config.js deleted file mode 100644 index e5b4587e5d0..00000000000 --- a/playground/expo/metro.config.js +++ /dev/null @@ -1,35 +0,0 @@ -// Learn more https://docs.expo.io/guides/customizing-metro -const { getDefaultConfig } = require('expo/metro-config'); -const path = require('path'); - -const config = getDefaultConfig(__dirname); - -// npm v7+ will install ../node_modules/react and ../node_modules/react-native because of peerDependencies. -// To prevent the incompatible react-native between ./node_modules/react-native and ../node_modules/react-native, -// excludes the one from the parent folder when bundling. -config.resolver.blockList = [ - ...Array.from(config.resolver.blockList ?? []), - new RegExp(path.resolve('..', 'node_modules', 'react')), - new RegExp(path.resolve('..', 'node_modules', 'react-native')), -]; - -config.resolver.nodeModulesPaths = [ - path.resolve(__dirname, './node_modules'), - - path.resolve(__dirname, '../node_modules'), -]; - -config.resolver.extraNodeModules = { - 'expo-passkeys': '..', -}; - -config.watchFolders = [path.resolve(__dirname, '..')]; - -config.transformer.getTransformOptions = async () => ({ - transform: { - experimentalImportSupport: false, - inlineRequires: true, - }, -}); - -module.exports = config; diff --git a/playground/expo/package.json b/playground/expo/package.json deleted file mode 100644 index 639414318de..00000000000 --- a/playground/expo/package.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "expo-passkeys-example", - "version": "1.0.0", - "private": true, - "main": "expo/AppEntry.js", - "scripts": { - "android": "expo run:android", - "ios": "expo run:ios", - "start": "expo start", - "web": "expo start --web", - "expo:update": "pnpm expo install --fix" - }, - "dependencies": { - "@clerk/expo": "workspace:*", - "@clerk/clerk-js": "workspace:*", - "@clerk/react": "workspace:*", - "@clerk/expo-passkeys": "workspace:*", - "@clerk/shared": "workspace:*", - "@clerk/types": "workspace:*", - "@expo/metro-runtime": "~3.2.3", - "@react-native-async-storage/async-storage": "1.23.1", - "expo": "~51.0.39", - "expo-auth-session": "^5.5.2", - "expo-build-properties": "^0.12.5", - "expo-secure-store": "^13.0.2", - "expo-web-browser": "^13.0.3", - "react": "18.3.1", - "react-native": "~0.75.0", - "react-native-web": "~0.19.10", - "react-native-reanimated": "~3.15.0", - "react-native-gesture-handler": "~2.18.1", - "react-native-screens": "~3.34.0" - }, - "devDependencies": { - "@babel/core": "^7.20.0", - "@types/react": "~18.2.45", - "typescript": "~5.3.3" - } -} diff --git a/playground/expo/tsconfig.json b/playground/expo/tsconfig.json deleted file mode 100644 index f7fbd097941..00000000000 --- a/playground/expo/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "expo/tsconfig.base", - "compilerOptions": { - "strict": true, - "paths": { - "expo-passkeys": ["../src/index"], - "expo-passkeys/*": ["../src/*"] - } - } -} diff --git a/playground/expo/webpack.config.js b/playground/expo/webpack.config.js deleted file mode 100644 index 8c3a4228574..00000000000 --- a/playground/expo/webpack.config.js +++ /dev/null @@ -1,17 +0,0 @@ -const createConfigAsync = require('@expo/webpack-config'); -const path = require('path'); - -module.exports = async (env, argv) => { - const config = await createConfigAsync( - { - ...env, - babel: { - dangerouslyAddModulePathsToTranspile: ['expo-passkeys'], - }, - }, - argv, - ); - config.resolve.modules = [path.resolve(__dirname, './node_modules'), path.resolve(__dirname, '../node_modules')]; - - return config; -}; diff --git a/playground/express/.env.sample b/playground/express/.env.sample deleted file mode 100644 index 6c916523188..00000000000 --- a/playground/express/.env.sample +++ /dev/null @@ -1,2 +0,0 @@ -CLERK_PUBLISHABLE_KEY=pk_test_************* -CLERK_SECRET_KEY=sk_test_************* diff --git a/playground/express/.gitignore b/playground/express/.gitignore deleted file mode 100644 index 5280f758c35..00000000000 --- a/playground/express/.gitignore +++ /dev/null @@ -1,35 +0,0 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -# dependencies -/node_modules -/.pnp -.pnp.js - -# testing -/coverage - -# next.js -/.next/ -/out/ - -# production -/build - -# misc -.DS_Store -*.pem - -# debug -npm-debug.log* -yarn-debug.log* -yarn-error.log* -.pnpm-debug.log* - -# local env files -.env - -# vercel -.vercel - -# typescript -*.tsbuildinfo diff --git a/playground/express/README.md b/playground/express/README.md deleted file mode 100644 index fad18de14c2..00000000000 --- a/playground/express/README.md +++ /dev/null @@ -1,31 +0,0 @@ -## Setup development - -Execute in root folder: - -```bash -pnpm i -pnpm build -``` - -Execute in current folder: - -```bash -touch .env # set PUBLISHABLE_KEY, SECRET_KEY and JWT_KEY from Clerk Dashboard API keys -npm i -``` - -If you need to test local package changes, use pkglab to publish packages locally. - -## Getting Started - -First, run the development server: - -```bash -npm start -``` - -Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. - -## Reload changes from packages/\* package - -Apply change in packages/\* project folder and run `pnpm build`. Then restart Express server by killing the current and executing `npm start` and the change should be visible. diff --git a/playground/express/package.json b/playground/express/package.json deleted file mode 100644 index ff99d9e6ab0..00000000000 --- a/playground/express/package.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "@playground/express", - "version": "0.1.0", - "private": true, - "scripts": { - "start": "ts-node ./src/server.ts" - }, - "author": "", - "license": "ISC", - "dependencies": { - "@clerk/backend": "workspace:*", - "@clerk/express": "workspace:*", - "@clerk/shared": "workspace:*", - "@clerk/types": "workspace:*", - "dotenv": "^16.0.3", - "ejs": "^3.1.6", - "express": "^4.21.0", - "ts-node": "^10.9.1" - }, - "devDependencies": { - "@types/express": "^4.17.21", - "@types/node": "^18.17", - "eslint": "8.24.0", - "tslib": "^2.5.0", - "typescript": "4.8.4" - } -} diff --git a/playground/express/src/loadEnv.ts b/playground/express/src/loadEnv.ts deleted file mode 100644 index 5b5d1facc93..00000000000 --- a/playground/express/src/loadEnv.ts +++ /dev/null @@ -1,2 +0,0 @@ -import * as dotenv from 'dotenv'; -dotenv.config(); diff --git a/playground/express/src/routes/index.ts b/playground/express/src/routes/index.ts deleted file mode 100644 index 899775555c6..00000000000 --- a/playground/express/src/routes/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { privateRoutes } from './private'; -export { publicRoutes } from './public'; diff --git a/playground/express/src/routes/private.ts b/playground/express/src/routes/private.ts deleted file mode 100644 index 8164041a223..00000000000 --- a/playground/express/src/routes/private.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { getAuth, requireAuth, UnauthorizedError, ForbiddenError } from '@clerk/express'; -import { - Router, - Request as ExpressRequest, - Response as ExpressResponse, - NextFunction -} from 'express'; - -const router = Router(); - -router.use(requireAuth); - -router.get('/me', async (req: ExpressRequest, res: ExpressResponse) => { - return res.json({ auth: getAuth(req) }); -}); - -router.get('/admin-only', async (req: ExpressRequest, res: ExpressResponse, next: NextFunction) => { - const auth = getAuth(req); - - if (!auth.has({ role: 'admin' })) { - return next(new ForbiddenError()); - } - - return res.json({ message: 'Hello admin!', auth }); -}) - -router.use((err: Error, _req: ExpressRequest, res: ExpressResponse, next: NextFunction) => { - if (err instanceof UnauthorizedError) { - return res.status(401).json({ error: 'Unauthorized' }); - } - - if (err instanceof ForbiddenError) { - return res.status(403).json({ error: 'Forbidden' }); - } - - return next(err) -}) - -export const privateRoutes = router; diff --git a/playground/express/src/routes/public.ts b/playground/express/src/routes/public.ts deleted file mode 100644 index fe4c62486ac..00000000000 --- a/playground/express/src/routes/public.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { Router, RequestHandler} from 'express'; - -const router = Router(); - -router.get('/public', async (_req, reply) => { - return reply.json({ hello: 'world' }); -}); - -const homeHandler: RequestHandler = function (_req, res) { - return res.render('home.ejs', { - publishableKey: process.env.CLERK_PUBLISHABLE_KEY, - domain: process.env.CLERK_DOMAIN, - isSatellite: process.env.CLERK_IS_SATELLITE, - signInUrl: process.env.CLERK_SIGN_IN_URL, - }); -}; - -router.get('/home', homeHandler); -router.get('/', homeHandler); - -export const publicRoutes = router; diff --git a/playground/express/src/server.ts b/playground/express/src/server.ts deleted file mode 100644 index c9efee78acc..00000000000 --- a/playground/express/src/server.ts +++ /dev/null @@ -1,27 +0,0 @@ -import type { Application, Request, Response, NextFunction } from 'express'; - -import { clerkMiddleware } from '@clerk/express'; -import * as express from 'express'; -import { privateRoutes, publicRoutes } from './routes'; - -import './loadEnv'; - -const port = process.env.PORT || 3000; -const app: Application = express(); - -app.set('view engine', 'ejs'); -app.set('views', 'src/views'); - -app.use(clerkMiddleware()); - -app.use(publicRoutes); -app.use(privateRoutes); - -app.use((err: Error, _req: Request, res: Response, _next: NextFunction) => { - console.error(err.stack); - res.status(401).send('Unauthenticated!'); -}); - -app.listen(port, () => { - console.log(`Example app listening at http://localhost:${port}`); -}); diff --git a/playground/express/src/views/home.ejs b/playground/express/src/views/home.ejs deleted file mode 100644 index 7fe10c1bcc7..00000000000 --- a/playground/express/src/views/home.ejs +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - diff --git a/playground/express/tsconfig.json b/playground/express/tsconfig.json deleted file mode 100644 index 064ad8da546..00000000000 --- a/playground/express/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "baseUrl": "", - "moduleResolution": "NodeNext" - }, - "exclude": ["node_modules", "tmp", "dist"], - "extends": "../../tsconfig.json" -} diff --git a/playground/fastify/.env.sample b/playground/fastify/.env.sample deleted file mode 100644 index 1886a694541..00000000000 --- a/playground/fastify/.env.sample +++ /dev/null @@ -1,4 +0,0 @@ -CLERK_PUBLISHABLE_KEY= -CLERK_SECRET_KEY= -PUBLIC_CLERK_SIGN_IN_URL=/sign-in -FRONTEND_API_URL= diff --git a/playground/fastify/.gitignore b/playground/fastify/.gitignore deleted file mode 100644 index 5280f758c35..00000000000 --- a/playground/fastify/.gitignore +++ /dev/null @@ -1,35 +0,0 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -# dependencies -/node_modules -/.pnp -.pnp.js - -# testing -/coverage - -# next.js -/.next/ -/out/ - -# production -/build - -# misc -.DS_Store -*.pem - -# debug -npm-debug.log* -yarn-debug.log* -yarn-error.log* -.pnpm-debug.log* - -# local env files -.env - -# vercel -.vercel - -# typescript -*.tsbuildinfo diff --git a/playground/fastify/README.md b/playground/fastify/README.md deleted file mode 100644 index 248dac4e79a..00000000000 --- a/playground/fastify/README.md +++ /dev/null @@ -1,26 +0,0 @@ -# playground-fastify - -Use this example app to test `@clerk/fastify`. - -## Usage - -1. Install dependencies - -```shell -npm install -``` - -1. Use [`@clerk/dev-cli`](https://github.com/clerk/javascript/tree/main/packages/dev-cli) to build all repository packages and install the local version into this playground. - -1. Start the server: - -```shell -pnpm start -``` - -You can visit these routes: - -- `/` -- `/sign-in` -- `/me` (requires sign-in) -- `/private` (requires sign-in) \ No newline at end of file diff --git a/playground/fastify/package.json b/playground/fastify/package.json deleted file mode 100644 index 800c5457569..00000000000 --- a/playground/fastify/package.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "@playground/fastify", - "version": "0.1.0", - "private": true, - "scripts": { - "start": "ts-node ./src/server.ts" - }, - "dependencies": { - "@clerk/backend": "workspace:*", - "@clerk/fastify": "workspace:*", - "@clerk/shared": "workspace:*", - "@clerk/types": "workspace:*", - "@fastify/view": "^10.0.1", - "dotenv": "^16.4.5", - "ejs": "^3.1.10", - "fastify": "^5.0.0", - "ts-node": "^10.9.2" - }, - "devDependencies": { - "@types/ejs": "^3.1.5", - "@types/node": "^20.14.8", - "tslib": "^2.7.0", - "typescript": "5.0.4" - } -} diff --git a/playground/fastify/src/loadEnv.ts b/playground/fastify/src/loadEnv.ts deleted file mode 100644 index a4e52bbebb9..00000000000 --- a/playground/fastify/src/loadEnv.ts +++ /dev/null @@ -1,2 +0,0 @@ -import * as dotenv from 'dotenv'; -dotenv.config({ path: ['.env.local', '.env.production', '.env'] }); diff --git a/playground/fastify/src/routes/index.ts b/playground/fastify/src/routes/index.ts deleted file mode 100644 index 9db6a0dd54d..00000000000 --- a/playground/fastify/src/routes/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './private'; -export * from './public'; diff --git a/playground/fastify/src/routes/private.ts b/playground/fastify/src/routes/private.ts deleted file mode 100644 index d2bbeb94013..00000000000 --- a/playground/fastify/src/routes/private.ts +++ /dev/null @@ -1,20 +0,0 @@ -import type { FastifyReply, FastifyRequest, FastifyInstance } from 'fastify'; -import { clerkPlugin, getAuth } from '@clerk/fastify'; - -export const privateRoutes = async (fastify: FastifyInstance, _opts: any) => { - fastify.register(clerkPlugin); - - fastify.get('/me', async (req, _reply) => { - return { auth: getAuth(req) }; - }); - - fastify.get('/private', async (req: FastifyRequest, reply: FastifyReply) => { - const auth = getAuth(req); - - if (!auth.userId) { - return reply.code(403).send(); - } - - return { hello: 'world', auth }; - }); -}; diff --git a/playground/fastify/src/routes/public.ts b/playground/fastify/src/routes/public.ts deleted file mode 100644 index cfefc2246e8..00000000000 --- a/playground/fastify/src/routes/public.ts +++ /dev/null @@ -1,15 +0,0 @@ -import type { FastifyInstance } from 'fastify'; - -export const publicRoutes = async (fastify: FastifyInstance, _opts: any) => { - fastify.get('/', async (_req, _reply) => { - return { hello: 'world' }; - }); - - fastify.get('/sign-in', async (_req, reply) => { - return reply.viewAsync('/src/templates/sign-in.ejs', { - CLERK_PUBLISHABLE_KEY: process.env.CLERK_PUBLISHABLE_KEY, - PUBLIC_CLERK_SIGN_IN_URL: process.env.PUBLIC_CLERK_SIGN_IN_URL, - FRONTEND_API_URL: process.env.FRONTEND_API_URL, - }); - }); -}; diff --git a/playground/fastify/src/server.ts b/playground/fastify/src/server.ts deleted file mode 100644 index 59a0f8d26a6..00000000000 --- a/playground/fastify/src/server.ts +++ /dev/null @@ -1,28 +0,0 @@ -import './loadEnv'; - -import Fastify from 'fastify'; -import type { FastifyInstance } from 'fastify'; -import { privateRoutes, publicRoutes } from './routes'; -import FastifyView from '@fastify/view'; -import * as ejs from 'ejs'; - -const server: FastifyInstance = Fastify({ logger: true }); - -// ejs view engine to render templates -server.register(FastifyView, { engine: { ejs } }); - -// private routes (with clerkPlugin) -server.register(privateRoutes); - -// public routes (without clerkPlugin) -server.register(publicRoutes); - -const start = async () => { - try { - await server.listen({ port: 3000 }); - } catch (err) { - server.log.error(err); - process.exit(1); - } -}; -start(); diff --git a/playground/fastify/src/templates/sign-in.ejs b/playground/fastify/src/templates/sign-in.ejs deleted file mode 100644 index f1e1be4eb30..00000000000 --- a/playground/fastify/src/templates/sign-in.ejs +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - diff --git a/playground/fastify/tsconfig.json b/playground/fastify/tsconfig.json deleted file mode 100644 index 6702ef852d4..00000000000 --- a/playground/fastify/tsconfig.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "compilerOptions": { - "baseUrl": "" - }, - "exclude": ["node_modules", "tmp", "dist"], - "extends": "../../tsconfig.json" -} diff --git a/playground/nextjs/.env.example b/playground/nextjs/.env.example deleted file mode 100644 index 923c9b7e0a7..00000000000 --- a/playground/nextjs/.env.example +++ /dev/null @@ -1,6 +0,0 @@ -NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_ -CLERK_SECRET_KEY=sk_test_ -NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in -NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up -NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/ -NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/ \ No newline at end of file diff --git a/playground/nextjs/.gitignore b/playground/nextjs/.gitignore deleted file mode 100644 index c87c9b392c0..00000000000 --- a/playground/nextjs/.gitignore +++ /dev/null @@ -1,36 +0,0 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -# dependencies -/node_modules -/.pnp -.pnp.js - -# testing -/coverage - -# next.js -/.next/ -/out/ - -# production -/build - -# misc -.DS_Store -*.pem - -# debug -npm-debug.log* -yarn-debug.log* -yarn-error.log* -.pnpm-debug.log* - -# local env files -.env*.local - -# vercel -.vercel - -# typescript -*.tsbuildinfo -next-env.d.ts diff --git a/playground/nextjs/.vscode/settings.json b/playground/nextjs/.vscode/settings.json deleted file mode 100644 index d0679104bda..00000000000 --- a/playground/nextjs/.vscode/settings.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "typescript.tsdk": "node_modules/typescript/lib", - "typescript.enablePromptUseWorkspaceTsdk": true -} \ No newline at end of file diff --git a/playground/nextjs/README.md b/playground/nextjs/README.md deleted file mode 100644 index 30b04287633..00000000000 --- a/playground/nextjs/README.md +++ /dev/null @@ -1,50 +0,0 @@ -This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). - -## Setup - -At repository level: - -```bash -pnpm build -``` - -At current directory level: - -```bash -npm i -``` - -## Run development server - -```bash -pnpm dev -# or -yarn dev -``` - -This starts your app in development mode, rebuilding assets on file changes. - -## Getting Started - -Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. - -You can start editing the page by modifying `pages/index.tsx`. The page auto-updates as you edit the file. - -[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.ts`. - -The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages. - -## Learn More - -To learn more about Next.js, take a look at the following resources: - -- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. -- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. - -You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! - -## Deploy on Vercel - -The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. - -Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. diff --git a/playground/nextjs/app/api/route.ts b/playground/nextjs/app/api/route.ts deleted file mode 100644 index e8c1f790c8c..00000000000 --- a/playground/nextjs/app/api/route.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { NextResponse } from 'next/server'; - -export async function GET() { - return NextResponse.json({}); -} - -export const revalidate = 50; diff --git a/playground/nextjs/app/app-dir/client-component.tsx b/playground/nextjs/app/app-dir/client-component.tsx deleted file mode 100644 index cc286b6ebb1..00000000000 --- a/playground/nextjs/app/app-dir/client-component.tsx +++ /dev/null @@ -1,11 +0,0 @@ -'use client'; - -import React from 'react'; -import { isClerkAPIResponseError, isEmailLinkError, isKnownError, isMetamaskError } from '@clerk/nextjs/errors'; - -export const ClientComponent = () => { - React.useEffect(() => { - console.log({ isClerkAPIResponseError, isEmailLinkError, isKnownError, isMetamaskError }); - }); - return
Client Component
; -}; diff --git a/playground/nextjs/app/app-dir/client/page.tsx b/playground/nextjs/app/app-dir/client/page.tsx deleted file mode 100644 index a3853dfefcd..00000000000 --- a/playground/nextjs/app/app-dir/client/page.tsx +++ /dev/null @@ -1,11 +0,0 @@ -'use client'; -import { Show } from '@clerk/nextjs'; - -export default function Page() { - return ( -
- Hello In - Hello Out -
- ); -} diff --git a/playground/nextjs/app/app-dir/create-organization/page.tsx b/playground/nextjs/app/app-dir/create-organization/page.tsx deleted file mode 100644 index 11b0f33fa32..00000000000 --- a/playground/nextjs/app/app-dir/create-organization/page.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import { CreateOrganization } from '@clerk/nextjs'; - -export default function Page() { - return ; -} diff --git a/playground/nextjs/app/app-dir/discover/page.tsx b/playground/nextjs/app/app-dir/discover/page.tsx deleted file mode 100644 index f5594685216..00000000000 --- a/playground/nextjs/app/app-dir/discover/page.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import { OrganizationList } from '@clerk/nextjs'; - -export default function Page() { - return ( - - ); -} diff --git a/playground/nextjs/app/app-dir/organization/page.tsx b/playground/nextjs/app/app-dir/organization/page.tsx deleted file mode 100644 index 89185e27612..00000000000 --- a/playground/nextjs/app/app-dir/organization/page.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import { OrganizationProfile, OrganizationSwitcher } from '@clerk/nextjs'; - -export default function Page() { - return ( -
- - -
- ); -} diff --git a/playground/nextjs/app/app-dir/page.tsx b/playground/nextjs/app/app-dir/page.tsx deleted file mode 100644 index 244c6050d92..00000000000 --- a/playground/nextjs/app/app-dir/page.tsx +++ /dev/null @@ -1,51 +0,0 @@ -import { OrganizationSwitcher, Show, SignIn, UserButton } from '@clerk/nextjs'; -import { auth, clerkClient, currentUser } from '@clerk/nextjs/server'; -import Link from 'next/link'; - -export default async function Page() { - const { userId } = await auth(); - const currentUser_ = await currentUser(); - const user = userId ? await (await clerkClient()).users.getUser(userId) : null; - - return ( -
-
    -
  • - Sign in page -
  • -
  • - Sign up page -
  • -
  • - User profile page -
  • -
  • - User examples -
  • -
-
-

Hello, Next.js!

- {userId ?

Signed in as: {userId}

:

Signed out

} - {/* @ts-ignore */} - - - -
{JSON.stringify(user)}
-
{JSON.stringify(currentUser_)}
-
- {/* @ts-ignore */} - - - -
-
- ); -} diff --git a/playground/nextjs/app/app-dir/sign-in/page.tsx b/playground/nextjs/app/app-dir/sign-in/page.tsx deleted file mode 100644 index a4b5ade423d..00000000000 --- a/playground/nextjs/app/app-dir/sign-in/page.tsx +++ /dev/null @@ -1,11 +0,0 @@ -import { SignIn } from '@clerk/nextjs'; - -export default function Page() { - return ( - - ); -} diff --git a/playground/nextjs/app/app-dir/sign-up/page.tsx b/playground/nextjs/app/app-dir/sign-up/page.tsx deleted file mode 100644 index d40d7e4c74f..00000000000 --- a/playground/nextjs/app/app-dir/sign-up/page.tsx +++ /dev/null @@ -1,11 +0,0 @@ -import { SignUp } from '@clerk/nextjs'; - -export default function Page() { - return ( - - ); -} diff --git a/playground/nextjs/app/app-dir/user/page.tsx b/playground/nextjs/app/app-dir/user/page.tsx deleted file mode 100644 index 51856dc1d8f..00000000000 --- a/playground/nextjs/app/app-dir/user/page.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import { UserProfile } from '@clerk/nextjs'; - -export default function Page() { - return ; -} diff --git a/playground/nextjs/app/layout.tsx b/playground/nextjs/app/layout.tsx deleted file mode 100644 index 5d37631f682..00000000000 --- a/playground/nextjs/app/layout.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import type { Metadata } from 'next'; -import React from 'react'; -import { ClerkProvider } from '@clerk/nextjs'; - -export const metadata: Metadata = { - title: 'Next.js 13 with Clerk', -}; -export default function RootLayout({ children }: { children: React.ReactNode }) { - return ( - <> - {/* @ts-ignore */} - - - {children} - - - - ); -} diff --git a/playground/nextjs/middleware.ts b/playground/nextjs/middleware.ts deleted file mode 100644 index cf79854ca19..00000000000 --- a/playground/nextjs/middleware.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { clerkMiddleware } from '@clerk/nextjs/server'; - -export default clerkMiddleware(); - -export const config = { - matcher: ['/((?!.+\\.[\\w]+$|_next).*)', '/', '/(api|trpc)(.*)'], -}; diff --git a/playground/nextjs/next.config.js b/playground/nextjs/next.config.js deleted file mode 100644 index aab0bc034af..00000000000 --- a/playground/nextjs/next.config.js +++ /dev/null @@ -1,17 +0,0 @@ -/** @type {import('next').NextConfig} */ -const nextConfig = { - reactStrictMode: true, - swcMinify: true, - // Configure webpack NOT to ignore node_modules changes for HMR - webpack: config => { - config.snapshot = { - ...(config.snapshot ?? {}), - // Add all node_modules but @next module to managedPaths - // Allows for hot refresh of changes to @next module - managedPaths: [/^(.+?[\\/]node_modules[\\/])(?!@next)/], - }; - return config; - }, -}; - -module.exports = nextConfig; diff --git a/playground/nextjs/package.json b/playground/nextjs/package.json deleted file mode 100644 index 20c306f7efd..00000000000 --- a/playground/nextjs/package.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "@playground/nextjs", - "version": "0.1.0", - "private": true, - "scripts": { - "dev": "rm -rf .next && next dev --port 4011", - "build": "next build", - "start": "next start", - "lint": "next lint" - }, - "dependencies": { - "@clerk/nextjs": "canary", - "@clerk/ui": "canary", - "@clerk/types": "canary", - "next": "^15.5.15", - "react": "^19.1.1", - "react-dom": "^19.1.1" - }, - "devDependencies": { - "@types/node": "18.8.3", - "@types/react": "19.1.10", - "@types/react-dom": "19.1.7", - "eslint": "9.31.0", - "eslint-config-next": "15.5.0", - "typescript": "5.8.3" - }, - "packageManager": "pnpm@10.16.1" -} diff --git a/playground/nextjs/pages/_app.tsx b/playground/nextjs/pages/_app.tsx deleted file mode 100644 index e3e34c87001..00000000000 --- a/playground/nextjs/pages/_app.tsx +++ /dev/null @@ -1,170 +0,0 @@ -import type { AppProps } from 'next/app'; -import '../styles/globals.css'; - -import { - ClerkProvider, - OrganizationSwitcher, - Show, - SignInButton, - SignOutButton, - UserButton, -} from '@clerk/nextjs'; -import { dark, __experimental_simple, neobrutalism, shadesOfPurple } from '@clerk/themes'; -import Link from 'next/link'; -import React, { FunctionComponent, useEffect, useState } from 'react'; - -const themes = { default: undefined, dark, neobrutalism, shadesOfPurple }; - -function MyApp({ Component, pageProps }: AppProps) { - const [selectedTheme, setSelectedTheme] = useState('default'); - const [selectedSmoothing, setSelectedSmoothing] = useState(true); - const [styleReset, setStyleReset] = useState(false); - const [animations, setAnimations] = useState(true); - const [primaryColor, setPrimaryColor] = useState(undefined); - const [disableDevMode, setDisableDevMode] = useState(false); - - const onToggleDark = () => { - if (window.document.body.classList.contains('dark-mode')) { - setSelectedTheme('default'); - window.document.body.classList.remove('dark-mode'); - } else { - setSelectedTheme('dark'); - window.document.body.classList.add('dark-mode'); - } - }; - - const onToggleAnimations = () => { - setAnimations(s => !s); - }; - - const onToggleDevMode = () => { - setDisableDevMode(s => !s); - } - - const onToggleSmooth = () => { - if (window.document.body.classList.contains('font-smoothing')) { - setSelectedSmoothing(false); - window.document.body.classList.remove('font-smoothing'); - } else { - setSelectedSmoothing(true); - window.document.body.classList.add('font-smoothing'); - } - }; - - useEffect(() => { - window.document.body.classList.add('font-smoothing'); - }, []); - - const C = Component as FunctionComponent; - - return ( - <> - {/* @ts-ignore */} - - setSelectedTheme(e.target.value as any)} - onToggleDark={onToggleDark} - onToggleSmooth={onToggleSmooth} - onResetStyles={() => setStyleReset(s => !s)} - onToggleAnimations={onToggleAnimations} - devMode={disableDevMode} - onToggleDevMode={onToggleDevMode} - animations={animations} - styleReset={styleReset} - smooth={selectedSmoothing} - onPrimaryColorChange={setPrimaryColor} - /> - - - - ); -} - -type AppBarProps = { - onChangeTheme: React.ChangeEventHandler; - onToggleDark: React.MouseEventHandler; - onToggleSmooth: React.MouseEventHandler; - onResetStyles: React.MouseEventHandler; - onToggleAnimations: React.MouseEventHandler; - onToggleDevMode: React.MouseEventHandler; - smooth: boolean; - styleReset: boolean; - animations: boolean; - devMode: boolean; - onPrimaryColorChange: (primaryColor: string | undefined) => void; -}; - -const AppBar = (props: AppBarProps) => { - return ( -
- - - - -

Nextjs Playground

- - - - -
- - - -
- props.onPrimaryColorChange(e.target.value)} - /> - - - {/* @ts-ignore */} - - - - - {/* @ts-ignore */} - - - -
- ); -}; - -export default MyApp; diff --git a/playground/nextjs/pages/api/hello-edge.ts b/playground/nextjs/pages/api/hello-edge.ts deleted file mode 100644 index 46366127750..00000000000 --- a/playground/nextjs/pages/api/hello-edge.ts +++ /dev/null @@ -1,23 +0,0 @@ -import type { NextRequest } from 'next/server'; -import { getAuth } from '@clerk/nextjs/server'; - -export const config = { - runtime: 'edge', -}; - -export default async function handler(req: NextRequest) { - // @ts-ignore - const { userId } = getAuth(req); - - return new Response( - JSON.stringify({ - userId, - }), - { - status: 200, - headers: { - 'content-type': 'application/json', - }, - }, - ); -} diff --git a/playground/nextjs/pages/api/hello.ts b/playground/nextjs/pages/api/hello.ts deleted file mode 100644 index 21ec7c494ea..00000000000 --- a/playground/nextjs/pages/api/hello.ts +++ /dev/null @@ -1,11 +0,0 @@ -// Next.js API route support: https://nextjs.org/docs/api-routes/introduction -import type { NextApiRequest, NextApiResponse } from 'next'; -import { getAuth } from '@clerk/nextjs/server'; - -export default function handler(req: NextApiRequest, res: NextApiResponse) { - const { userId, debug } = getAuth(req); - - console.log('hello:debug', debug()); - console.log('/api/hello ', userId, req.query); - res.status(200).json({ userId }); -} diff --git a/playground/nextjs/pages/create-organization/[[...index]].tsx b/playground/nextjs/pages/create-organization/[[...index]].tsx deleted file mode 100644 index 398c93b0d5b..00000000000 --- a/playground/nextjs/pages/create-organization/[[...index]].tsx +++ /dev/null @@ -1,14 +0,0 @@ -import { CreateOrganization } from '@clerk/nextjs'; -import type { NextPage } from 'next'; - -const CreateOrganizationPage: NextPage = () => { - return ( -
- -
- ); -}; - -export default CreateOrganizationPage; diff --git a/playground/nextjs/pages/custom/forgotPassword.tsx b/playground/nextjs/pages/custom/forgotPassword.tsx deleted file mode 100644 index 1f4d9555c28..00000000000 --- a/playground/nextjs/pages/custom/forgotPassword.tsx +++ /dev/null @@ -1,144 +0,0 @@ -import React, { SyntheticEvent, useState } from 'react'; -import { useSignIn } from '@clerk/nextjs'; -import type { NextPage } from 'next'; - -type PasswordState = 'neutral' | 'success' | 'warn' | 'fail'; -const colors: { [k in PasswordState]?: string } = { - fail: 'red', - success: 'green', - warn: 'orange', -}; - -const SignInPage: NextPage = () => { - const [email, setEmail] = useState(''); - const [password, setPassword] = useState(''); - const [code, setCode] = useState(''); - const [successfulCreation, setSuccessfulCreation] = useState(false); - const [complete, setComplete] = useState(false); - const [secondFactor, setSecondFactor] = useState(false); - const [passwordState, setPasswordState] = useState('neutral'); - - const { isLoaded, signIn, setActive } = useSignIn(); - - if (!isLoaded) { - return null; - } - - async function create(e: SyntheticEvent) { - e.preventDefault(); - await signIn - ?.create({ - strategy: 'reset_password_email_code', - identifier: email, - }) - .then(_ => { - setSuccessfulCreation(true); - }) - .catch(err => console.error('error', err.errors[0].longMessage)); - } - - async function reset(e: SyntheticEvent) { - e.preventDefault(); - await signIn - ?.attemptFirstFactor({ - strategy: 'reset_password_email_code', - code, - password, - }) - .then(result => { - if (result.status === 'needs_second_factor') { - setSecondFactor(true); - } else if (result.status === 'complete') { - setActive({ session: result.createdSessionId }); - setComplete(true); - } else { - console.log(result); - } - }) - .catch(err => console.error('error', err.errors[0].longMessage)); - } - - return ( -
-

Forgot Password ?

-
- {!successfulCreation && !complete && ( - <> - - setEmail(e.target.value)} - /> - - - - )} - - {successfulCreation && !complete && ( - <> - - { - signIn.validatePassword(e.target.value, { - onValidation(res) { - if (Object.values(res?.complexity || {}).length > 0) { - return setPasswordState('fail'); - } - - // Strength that fails - if (res?.strength?.state === 'fail') { - return setPasswordState('fail'); - } - - // Strength that can be better - if (res?.strength?.state === 'pass') { - return setPasswordState('warn'); - } - - // Perfection - return setPasswordState('success'); - }, - }); - setPassword(e.target.value); - }} - /> - - - setCode(e.target.value)} - /> - - - - )} - - {complete && 'You successfully changed you password'} - {secondFactor && '2FA is required, this UI does not handle that'} -
-
- ); -}; - -export default SignInPage; diff --git a/playground/nextjs/pages/discover/index.tsx b/playground/nextjs/pages/discover/index.tsx deleted file mode 100644 index e1100da5e0c..00000000000 --- a/playground/nextjs/pages/discover/index.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import { OrganizationList } from '@clerk/nextjs'; -import type { NextPage } from 'next'; -import React from 'react'; - -const Discover: NextPage = () => { - return ( -
- -
- ); -}; - -export default Discover; diff --git a/playground/nextjs/pages/index.tsx b/playground/nextjs/pages/index.tsx deleted file mode 100644 index a259da9765a..00000000000 --- a/playground/nextjs/pages/index.tsx +++ /dev/null @@ -1,62 +0,0 @@ -import type { NextPage } from 'next'; -import Head from 'next/head'; -import Link from 'next/link'; -import styles from '../styles/Home.module.css'; - - -const Home: NextPage = () => { - return ( -
- - Create Next App - - - - -
-

Clerk x Nextjs

-

Get started by editing visiting one of the pages below

-
    -
  • - Sign in page -
  • -
  • - Sign up page -
  • -
  • - User profile page -
  • -
  • - Organization profile -
  • -
  • - Create organization -
  • -
  • - Organization List -
  • -
  • - Redirect helpers -
  • -
  • - Session Examples -
  • -
  • - User examples -
  • -
  • - Waitlist -
  • -
-
-
- ); -}; - -export default Home; diff --git a/playground/nextjs/pages/organization-list/[[...index]].tsx b/playground/nextjs/pages/organization-list/[[...index]].tsx deleted file mode 100644 index 624db62d924..00000000000 --- a/playground/nextjs/pages/organization-list/[[...index]].tsx +++ /dev/null @@ -1,14 +0,0 @@ -import { OrganizationList } from '@clerk/nextjs'; -import type { NextPage } from 'next'; - -const OrganizationListPage: NextPage = () => { - return ( -
- -
- ); -}; - -export default OrganizationListPage; diff --git a/playground/nextjs/pages/organization/[[...index]].tsx b/playground/nextjs/pages/organization/[[...index]].tsx deleted file mode 100644 index d758415f60f..00000000000 --- a/playground/nextjs/pages/organization/[[...index]].tsx +++ /dev/null @@ -1,15 +0,0 @@ -import { OrganizationProfile } from '@clerk/nextjs'; -import type { NextPage } from 'next'; -import React from 'react'; - -const OrganizationProfilePage: NextPage = () => { - return ( -
- -
- ); -}; - -export default OrganizationProfilePage; diff --git a/playground/nextjs/pages/redirect-helpers/index.tsx b/playground/nextjs/pages/redirect-helpers/index.tsx deleted file mode 100644 index 50a034795c9..00000000000 --- a/playground/nextjs/pages/redirect-helpers/index.tsx +++ /dev/null @@ -1,37 +0,0 @@ -import type { NextPage } from 'next'; -import React, { useState } from 'react'; -import * as allExports from '@clerk/nextjs'; - -const UserProfilePage: NextPage = () => { - const controlComponents = Object.fromEntries(Object.entries(allExports).filter(e => e[0].startsWith('RedirectTo'))); - - return ( -
- {Object.entries(controlComponents).map(entry => { - return ( - - ); - })} -
- ); -}; - -const RenderRedirectToggle = (props: any) => { - const [open, setOpen] = useState(false); - const { name, Component } = props; - - return ( -
- - {open && } -
- ); -}; - -export default UserProfilePage; diff --git a/playground/nextjs/pages/session-examples/index.tsx b/playground/nextjs/pages/session-examples/index.tsx deleted file mode 100644 index 09827464c4c..00000000000 --- a/playground/nextjs/pages/session-examples/index.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import { useSession } from '@clerk/nextjs'; -import { PublicUserData } from '@clerk/types'; -import type { NextPage } from 'next'; -import React from 'react'; - -function Template({ publicUserData }: { publicUserData: PublicUserData | undefined }) { - return ( -
-

Public Metadata

-
{JSON.stringify(publicUserData, null, 4)}
-
- ); -} - -function PublicMetadataWithHook() { - // Use the useUser hook to get the Clerk.user object - // This hook causes a re-render on user changes - const { session } = useSession(); - - return