create-convex-monorepo 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CONTRIBUTING.md CHANGED
@@ -26,7 +26,7 @@ pnpm test:package
26
26
 
27
27
  The package smoke test installs the tarball in a temporary directory and exercises its binary, exports, starter assets and URL linker. Registry commands such as `pnpm create convex-monorepo` use the published package, not your checkout.
28
28
 
29
- Install and check the generated project when changing templates. `pnpm test:e2e` runs the repository's generated-project checks; inspect its script and CI configuration for the current matrix. `pnpm test:backend` runs backend behavior tests. These commands can need network access and more time than unit tests. A template snapshot does not prove that its framework builds.
29
+ Install and check the generated project when changing templates. `pnpm test:e2e` runs the repository's generated-project checks; `.github/ci-matrix.json` holds the current matrix. Feature PRs build the entries marked `smoke`, and the release PR builds all of them. See [What CI runs](docs/releases.md#what-ci-runs). `pnpm test:backend` runs backend behavior tests. These commands can need network access and more time than unit tests. A template snapshot does not prove that its framework builds.
30
30
 
31
31
  ## Scope a change
32
32
 
package/README.md CHANGED
@@ -292,7 +292,7 @@ Dynamic Convex declarations refer to backend source modules. Client TypeScript p
292
292
 
293
293
  ## Authentication
294
294
 
295
- New projects accept `none`, `clerk`, `convex-auth`, or `better-auth` across the six React frameworks and both starters. SvelteKit and Nuxt support only `none`; the generator has no Svelte or Vue binding for Clerk, Convex Auth, WorkOS, or Better Auth. Existing no-auth workspaces without Nuxt or SvelteKit accept `add auth clerk`, `add auth convex-auth`, `add auth workos`, or `add auth better-auth`. All providers support `add app` for their supported frameworks. WorkOS AuthKit supports Next.js, Vite, and TanStack Start with both starters. Expo, Astro, React Router, SvelteKit, and Nuxt are rejected before writing files. Expo has no official React Native AuthKit SDK. The [official Astro SDK](https://github.com/workos/authkit-astro) requires a server adapter and on-demand rendering; this generator uses static Astro output.
295
+ New projects accept `none`, `clerk`, `convex-auth`, or `better-auth` across the six React frameworks and both starters. SvelteKit and Nuxt support only `none`; the generator has no Svelte or Vue binding for Clerk, Convex Auth, WorkOS, or Better Auth. Existing no-auth workspaces without Nuxt or SvelteKit accept `add auth clerk`, `add auth convex-auth`, `add auth workos`, or `add auth better-auth`. All providers support `add app` for their supported frameworks. WorkOS AuthKit supports Next.js, Vite, TanStack Start, and Expo with both starters. Astro, React Router, SvelteKit, and Nuxt are rejected before writing files. The [official Astro SDK](https://github.com/workos/authkit-astro) requires a server adapter and on-demand rendering; this generator uses static Astro output.
296
296
  React Router has an official SDK, but this generator has no binding for it yet.
297
297
 
298
298
  `--auth convex-auth` and `add auth convex-auth` configure email and password sign-up/sign-in, sign-out, and per-user backend access. Web apps use the client ConvexAuthProvider; Expo persists tokens with expo-secure-store. No frontend public auth keys or password-flow redirect scheme are needed. Next.js, TanStack Start, and React Router do not configure server-side authentication or authenticated SSR. GitHub and Google OAuth are opt-in with `--oauth github,google`. Magic links, email verification, password reset, and MFA are outside this starter.
@@ -436,7 +436,7 @@ Configure credentials and callbacks as above. Set `SITE_URL` with `pnpm --filter
436
436
 
437
437
  Convex Auth message owners are `users` table IDs returned by `getAuthUserId`. Clerk owners are `tokenIdentifier` values. WorkOS owners are `identity.subject` values from `ctx.auth.getUserIdentity()`. Switching providers changes these keys and needs a data migration; the CLI does not replace auth providers.
438
438
 
439
- `--auth workos` and `add auth workos` configure hosted AuthKit sign-in, SDK token refresh, sign-out, and Convex identity validation. The blank starter keeps the providers and sign-in controls. Append each app's `.env.workos.example` to `.env.local` and follow the generated README's WorkOS setup section, or `WORKOS_SETUP.md` after adding auth. The client ID uses each framework's public prefix. Next.js and TanStack Start also need its unprefixed server SDK value, plus server-only `WORKOS_API_KEY` and `WORKOS_COOKIE_PASSWORD`. Vite receives no server secrets. See [WorkOS research and configuration constraints](docs/research.md#workos-authkit).
439
+ `--auth workos` and `add auth workos` configure hosted AuthKit sign-in, SDK token refresh, sign-out, and Convex identity validation. The blank starter keeps the providers and sign-in controls. Append each app's `.env.workos.example` to `.env.local` and follow the generated README's WorkOS setup section, or `WORKOS_SETUP.md` after adding auth. The client ID uses each framework's public prefix. Next.js and TanStack Start also need its unprefixed server SDK value, plus server-only `WORKOS_API_KEY` and `WORKOS_COOKIE_PASSWORD`. Vite receives no server secrets. Expo has no official AuthKit SDK, so the generated app signs in with `expo-auth-session` as a public PKCE client and keeps its tokens in `expo-secure-store`. It needs `EXPO_PUBLIC_WORKOS_CLIENT_ID` and `EXPO_PUBLIC_WORKOS_REDIRECT_URI`. Register that redirect URI, `ccm-<project>-<app>://callback` by default, in WorkOS as a redirect URI and a sign-out URI, and build a development client for the scheme. See [WorkOS research and configuration constraints](docs/research.md#workos-authkit).
440
440
 
441
441
  `--auth clerk` adds SDK-specific bindings, a Convex auth configuration, and provider wiring. The messages example also includes backend identity checks and an owner index that keeps messages private. With `--auth none`, that example is a public message board. Blank projects omit the messages example; Convex Auth retains its auth tables and functions. Add authorization checks when writing protected functions. UI visibility alone is not authorization.
442
442
 
@@ -209,6 +209,17 @@ export async function runCreate(args, version, signal) {
209
209
  onProgress: (message) => console.log(`✓ ${message}`),
210
210
  });
211
211
  const run = (script) => scriptCommand(options.packageManager, script);
212
- console.log(`✓ Created ${options.name}\n\nNext:\n\n cd ${options.name}\n${options.install ? '' : ` ${options.packageManager} install\n`}${options.initConvex ? ` ${run('dev')}` : ` ${run('convex:setup')}\n ${run('dev')}`}\n\n${options.initConvex ? 'Frontend Convex URLs are linked.' : 'convex:setup initializes the backend and links its public URL to every frontend.'}${options.auth === 'clerk' ? '\nAdd Clerk keys from .env.clerk.example and complete the auth setup in README.md.' : options.auth === 'workos' ? '\nAdd WorkOS settings from .env.workos.example and complete the auth setup in README.md.' : options.auth === 'better-auth' ? '\nSet Better Auth deployment variables and frontend HTTP URLs as described in README.md before signing in.' : options.auth === 'convex-auth' ? '\nSet Convex Auth deployment keys as described in README.md before signing in.' : ''}`);
212
+ console.log(`✓ Created ${options.name}\n\nNext:\n\n cd ${options.name}\n${options.install ? '' : ` ${options.packageManager} install\n`}${options.initConvex ? ` ${run('dev')}` : ` ${run('convex:setup')}\n ${run('dev')}`}\n\n${options.initConvex ? 'Frontend Convex URLs are linked.' : 'convex:setup initializes the backend and links its public URL to every frontend.'}${options.auth === 'clerk'
213
+ ? '\nAdd Clerk keys from .env.clerk.example and complete the auth setup in README.md.'
214
+ : options.auth === 'workos'
215
+ ? `\nAdd WorkOS settings from .env.workos.example and complete the auth setup in README.md.${options.apps
216
+ .filter((app) => app.framework === 'expo')
217
+ .map((app) => `\nRegister ccm-${options.name}-${app.name}://callback in WorkOS as a redirect URI and a sign-out URI for apps/${app.name}.`)
218
+ .join('')}`
219
+ : options.auth === 'better-auth'
220
+ ? '\nSet Better Auth deployment variables and frontend HTTP URLs as described in README.md before signing in.'
221
+ : options.auth === 'convex-auth'
222
+ ? '\nSet Convex Auth deployment keys as described in README.md before signing in.'
223
+ : ''}`);
213
224
  }
214
225
  //# sourceMappingURL=create.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
@@ -101,7 +101,7 @@ export function normalizeOptions(raw) {
101
101
  if (auth === 'workos') {
102
102
  const unsupported = apps.find((app) => !workosBindings[app.framework]);
103
103
  if (unsupported)
104
- throw new Error(`WorkOS AuthKit is not supported by this generator for framework "${unsupported.framework}". Choose ${Object.keys(workosBindings).join(', ')}.${unsupported.framework === 'astro' ? ' The Astro template uses static output, while the official WorkOS Astro SDK requires a server adapter and on-demand rendering.' : unsupported.framework === 'expo' ? ' No official Expo / React Native AuthKit SDK is available.' : ''}`);
104
+ throw new Error(`WorkOS AuthKit is not supported by this generator for framework "${unsupported.framework}". Choose ${Object.keys(workosBindings).join(', ')}.${unsupported.framework === 'astro' ? ' The Astro template uses static output, while the official WorkOS Astro SDK requires a server adapter and on-demand rendering.' : ''}`);
105
105
  }
106
106
  return {
107
107
  name,
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/generator/options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/generator/options.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
+ import { scriptCommand } from '../../../package-manager/index.js';
1
2
  import { versions as v } from '../../../templates/versions.js';
2
3
  import { port } from '../../../templates/apps/shared.js';
3
4
  import { platform } from '../shared.js';
4
5
  import { writeWorkosProviders } from './providers.js';
5
6
  import { workosControls } from './controls.js';
7
+ import { writeWorkosNativeApp } from './native.js';
6
8
  export const workosBindings = {
7
9
  next: { sdk: '@workos-inc/authkit-nextjs', version: v.workosNext },
8
10
  vite: { sdk: '@workos-inc/authkit-react', version: v.workosReact },
@@ -10,6 +12,8 @@ export const workosBindings = {
10
12
  sdk: '@workos/authkit-tanstack-react-start',
11
13
  version: v.workosTanstack,
12
14
  },
15
+ // No official AuthKit SDK exists for React Native; Expo uses a PKCE public client.
16
+ expo: { sdk: 'expo-auth-session', version: v.expoAuthSession },
13
17
  };
14
18
  export const workosAdapter = {
15
19
  id: 'workos',
@@ -40,7 +44,27 @@ export default { providers: [{ domain, applicationID: clientId }] } satisfies Au
40
44
  if (!binding)
41
45
  throw new Error(`WorkOS AuthKit does not support framework "${app.framework}".`);
42
46
  const dir = `apps/${app.name}`;
43
- const { prefix } = platform(app);
47
+ const { native, prefix } = platform(app);
48
+ if (native) {
49
+ const scheme = `ccm-${ctx.options.name}-${app.name}`;
50
+ await ctx.mergePackage(`${dir}/package.json`, {
51
+ dependencies: {
52
+ [binding.sdk]: binding.version,
53
+ 'expo-crypto': v.expoCrypto,
54
+ 'expo-secure-store': v.expoSecureStore,
55
+ 'expo-web-browser': v.expoWebBrowser,
56
+ },
57
+ });
58
+ await ctx.write(`${dir}/.env.workos.example`, `# Append these values to .env.local alongside the Convex URL.
59
+ # Native sign-in uses PKCE as a public client. Never add WORKOS_API_KEY or WORKOS_COOKIE_PASSWORD to this app.
60
+ ${prefix}_WORKOS_CLIENT_ID=
61
+ ${prefix}_WORKOS_REDIRECT_URI=${scheme}://callback
62
+ # Register this URI in WorkOS as a redirect URI and as a sign-out URI. It uses the scheme in app.json.
63
+ # Build a development client with ${scriptCommand(ctx.options.packageManager, 'ios')} or ${scriptCommand(ctx.options.packageManager, 'android')} for this scheme.
64
+ `);
65
+ await writeWorkosNativeApp(ctx, app);
66
+ continue;
67
+ }
44
68
  const server = app.framework !== 'vite';
45
69
  await ctx.mergePackage(`${dir}/package.json`, {
46
70
  dependencies: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/integrations/auth/workos/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/integrations/auth/workos/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { AppSpec, GeneratorContext } from '../../../generator/types.js';
2
+ /**
3
+ * Expo has no official AuthKit SDK. The app is a public PKCE client: it opens
4
+ * hosted AuthKit with expo-auth-session and exchanges the code without a secret.
5
+ */
6
+ export declare function writeWorkosNativeApp(ctx: GeneratorContext, app: AppSpec): Promise<void>;
@@ -0,0 +1,389 @@
1
+ import { platform } from '../shared.js';
2
+ /**
3
+ * Expo has no official AuthKit SDK. The app is a public PKCE client: it opens
4
+ * hosted AuthKit with expo-auth-session and exchanges the code without a secret.
5
+ */
6
+ export async function writeWorkosNativeApp(ctx, app) {
7
+ const dir = `apps/${app.name}`;
8
+ const { env, prefix } = platform(app);
9
+ await ctx.write(`${dir}/src/workos-auth.tsx`, `import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState, type ReactNode } from 'react';
10
+ import { AppState, Platform } from 'react-native';
11
+ import { AuthRequest, CodeChallengeMethod } from 'expo-auth-session';
12
+ import * as SecureStore from 'expo-secure-store';
13
+ import * as WebBrowser from 'expo-web-browser';
14
+
15
+ WebBrowser.maybeCompleteAuthSession();
16
+
17
+ const authorizeUrl = 'https://api.workos.com/user_management/authorize';
18
+ const authenticateUrl = 'https://api.workos.com/user_management/authenticate';
19
+ const logoutUrl = 'https://api.workos.com/user_management/sessions/logout';
20
+ // Two keys keep each value under the SecureStore size guidance of 2048 bytes.
21
+ const accessTokenKey = 'workos.access_token';
22
+ const refreshTokenKey = 'workos.refresh_token';
23
+ // Refresh shortly before expiry so Convex never receives an expired token.
24
+ const expiryLeewaySeconds = 60;
25
+ // A request to WorkOS is abandoned after this long, so a hung connection cannot block every caller waiting on the refresh.
26
+ const requestTimeoutMs = 8_000;
27
+ // A refresh that cannot reach WorkOS is tried up to this many times, waiting 0.5, 1, 2 and 4 s in between,
28
+ // or longer when a 429 response sets Retry-After.
29
+ const refreshAttempts = 5;
30
+ const refreshBackoffMs = 500;
31
+ // WorkOS accepts a used refresh token again for 30 s and returns the same rotated tokens, so a refresh whose reply
32
+ // was lost can be repeated. Every attempt of one refresh must finish within this budget, which leaves 5 s of margin.
33
+ // When every attempt times out, the attempts run 0-8 s, 8.5-16.5 s and 17.5-25 s, the last one shortened to fit.
34
+ // When every attempt fails at once, the five attempts finish after 0.5 + 1 + 2 + 4 = 7.5 s.
35
+ const refreshBudgetMs = 25_000;
36
+ // After a refresh fails for network reasons, requests in this window reuse that result instead of calling WorkOS again.
37
+ const refreshCooldownMs = 20_000;
38
+ // While WorkOS is unreachable, the session retries on this interval and when the app returns to the foreground.
39
+ const offlineRetryMs = 30_000;
40
+
41
+ // SecureStore exists only on iOS and Android. Expo web is not a build target, so it keeps tokens in memory until reload.
42
+ const memory = new Map<string, string>();
43
+ const storage = Platform.OS === 'ios' || Platform.OS === 'android'
44
+ ? { get: (key: string) => SecureStore.getItemAsync(key), set: (key: string, value: string) => SecureStore.setItemAsync(key, value), remove: (key: string) => SecureStore.deleteItemAsync(key) }
45
+ : { get: async (key: string) => memory.get(key) ?? null, set: async (key: string, value: string) => { memory.set(key, value); }, remove: async (key: string) => { memory.delete(key); } };
46
+
47
+ interface Tokens { accessToken: string; refreshToken: string }
48
+ interface WorkOSAuth {
49
+ isLoading: boolean;
50
+ /** The sid claim. It changes on sign-in and stays the same across refreshes. */
51
+ sessionId: string | null;
52
+ /** True when the access token expired and WorkOS could not be reached to refresh it. The session is kept. */
53
+ offline: boolean;
54
+ /** Increases each time an offline session should try to refresh again. */
55
+ retryCount: number;
56
+ /** Schedules one more try after a refresh that could not reach WorkOS, if the last one failed. Returns a cancel function. */
57
+ retryAfterFailure(): () => void;
58
+ signIn(): Promise<void>;
59
+ signOut(): Promise<void>;
60
+ getAccessToken(options?: { forceRefresh?: boolean }): Promise<string | null>;
61
+ }
62
+
63
+ class WorkOSRequestError extends Error {
64
+ transient: boolean;
65
+ retryAfterMs: number;
66
+ constructor(message: string, transient: boolean, retryAfterMs = 0) {
67
+ super(message);
68
+ this.transient = transient;
69
+ this.retryAfterMs = retryAfterMs;
70
+ }
71
+ }
72
+
73
+ function claims(token: string | undefined): { exp?: number; sid?: string } | null {
74
+ try {
75
+ const payload = (token?.split('.')[1] ?? '').replace(/-/g, '+').replace(/_/g, '/');
76
+ return JSON.parse(atob(payload.padEnd(Math.ceil(payload.length / 4) * 4, '='))) as { exp?: number; sid?: string };
77
+ } catch {
78
+ return null;
79
+ }
80
+ }
81
+ function expiresSoon(token: string, leewaySeconds = expiryLeewaySeconds): boolean {
82
+ const exp = claims(token)?.exp;
83
+ return typeof exp !== 'number' || (exp - leewaySeconds) * 1000 <= Date.now();
84
+ }
85
+ function wait(ms: number): Promise<void> {
86
+ return new Promise((resolve) => setTimeout(resolve, ms));
87
+ }
88
+ /** Time left until the next offline retry, counted from the refresh that failed. */
89
+ function retryDelay(failedAt = Date.now()): number {
90
+ return Math.max(0, offlineRetryMs - (Date.now() - failedAt));
91
+ }
92
+ /** Reads Retry-After as seconds or as an HTTP date. */
93
+ function retryAfterMs(header: string | null): number {
94
+ if (!header) return 0;
95
+ const ms = /^\\d+$/.test(header.trim()) ? Number(header) * 1000 : Date.parse(header) - Date.now();
96
+ return Number.isFinite(ms) && ms > 0 ? ms : 0;
97
+ }
98
+
99
+ type AuthenticateBody = { access_token?: unknown; refresh_token?: unknown; error?: unknown; error_description?: unknown };
100
+
101
+ /** Calls the AuthKit authenticate endpoint as a public client. No client secret leaves the server. */
102
+ async function authenticate(clientId: string, grant: Record<string, string>, timeoutMs = requestTimeoutMs): Promise<Tokens> {
103
+ const controller = new AbortController();
104
+ const timer = setTimeout(() => controller.abort(), timeoutMs);
105
+ let response: Response;
106
+ let text: string;
107
+ try {
108
+ response = await fetch(authenticateUrl, {
109
+ method: 'POST',
110
+ headers: { Accept: 'application/json', 'Content-Type': 'application/json' },
111
+ body: JSON.stringify({ client_id: clientId, ...grant }),
112
+ signal: controller.signal,
113
+ });
114
+ text = await response.text();
115
+ } catch {
116
+ // Offline, timed out, or the connection dropped. The refresh token is still valid.
117
+ throw new WorkOSRequestError('Could not reach WorkOS. Check the network connection.', true);
118
+ } finally {
119
+ clearTimeout(timer);
120
+ }
121
+ let body: AuthenticateBody | null = null;
122
+ try {
123
+ const parsed: unknown = JSON.parse(text);
124
+ if (parsed && typeof parsed === 'object') body = parsed as AuthenticateBody;
125
+ } catch {
126
+ // Not JSON, such as a Wi-Fi login page or a proxy error.
127
+ }
128
+ if (response.ok && typeof body?.access_token === 'string' && typeof body.refresh_token === 'string')
129
+ return { accessToken: body.access_token, refreshToken: body.refresh_token };
130
+ // Only an OAuth error from WorkOS ends the session, such as invalid_grant for a revoked or already used refresh token.
131
+ // Captive portals and proxies answer with HTML or other statuses such as 200, 302, 407 and 511, so those are retried.
132
+ const error = typeof body?.error === 'string' ? body.error : null;
133
+ const terminal = error !== null && [400, 401, 403].includes(response.status);
134
+ const description = typeof body?.error_description === 'string' ? body.error_description : error;
135
+ const message = description ?? (body ? 'WorkOS returned HTTP ' + response.status + '.' : 'Could not reach WorkOS. Check the network connection.');
136
+ throw new WorkOSRequestError(message, !terminal, response.status === 429 ? retryAfterMs(response.headers.get('Retry-After')) : 0);
137
+ }
138
+
139
+ const WorkOSContext = createContext<WorkOSAuth | null>(null);
140
+
141
+ export function WorkOSProvider({ clientId, redirectUri, children }: { clientId: string; redirectUri: string; children: ReactNode }) {
142
+ const tokens = useRef<Tokens | null>(null);
143
+ const refreshing = useRef<Promise<string | null> | null>(null);
144
+ // Sign-in and sign-out bump the epoch so a refresh that finishes later cannot restore or return an old session.
145
+ const epoch = useRef(0);
146
+ const writes = useRef<Promise<unknown>>(Promise.resolve());
147
+ const lastFailure = useRef<{ epoch: number; at: number } | null>(null);
148
+ const [state, setState] = useState({ isLoading: true, sessionId: null as string | null, offline: false, retryCount: 0 });
149
+
150
+ const store = useCallback((next: Tokens | null, expected: number): Promise<boolean> => {
151
+ const write = writes.current.catch(() => undefined).then(async () => {
152
+ if (expected !== epoch.current) return false;
153
+ // Write the rotated refresh token first. If the app stops between writes, the next launch
154
+ // refreshes with the new refresh token instead of pairing a new access token with a used one.
155
+ if (next) {
156
+ await storage.set(refreshTokenKey, next.refreshToken);
157
+ await storage.set(accessTokenKey, next.accessToken);
158
+ } else {
159
+ await storage.remove(refreshTokenKey);
160
+ await storage.remove(accessTokenKey);
161
+ }
162
+ tokens.current = next;
163
+ setState((current) => ({ ...current, isLoading: false, sessionId: claims(next?.accessToken)?.sid ?? null, offline: false }));
164
+ return true;
165
+ });
166
+ writes.current = write;
167
+ return write;
168
+ }, []);
169
+
170
+ useEffect(() => {
171
+ const expected = epoch.current;
172
+ Promise.all([storage.get(accessTokenKey), storage.get(refreshTokenKey)])
173
+ .then(([accessToken, refreshToken]) => {
174
+ if (expected !== epoch.current) return;
175
+ tokens.current = accessToken && refreshToken ? { accessToken, refreshToken } : null;
176
+ setState((current) => ({ ...current, isLoading: false, sessionId: tokens.current ? claims(accessToken ?? undefined)?.sid ?? null : null }));
177
+ })
178
+ .catch(() => setState((current) => ({ ...current, isLoading: false, sessionId: null })));
179
+ }, []);
180
+
181
+ // While offline, ask Convex for a token again on an interval and whenever the app returns to the foreground.
182
+ useEffect(() => {
183
+ if (!state.offline) return;
184
+ // Each retry makes one real refresh. Later requests from the same retry reuse its result.
185
+ const retry = () => {
186
+ lastFailure.current = null;
187
+ setState((current) => (current.offline ? { ...current, retryCount: current.retryCount + 1 } : current));
188
+ };
189
+ // The session can go offline up to 20 s after the refresh failed, when the token expires inside the cooldown.
190
+ const timer = setTimeout(retry, retryDelay(lastFailure.current?.at));
191
+ const subscription = AppState.addEventListener('change', (status) => { if (status === 'active') retry(); });
192
+ return () => { clearTimeout(timer); subscription.remove(); };
193
+ }, [state.offline, state.retryCount]);
194
+
195
+ // Convex drops a token it rejects before it expires, such as after clock skew or a key rotation. When the refresh it
196
+ // forces cannot reach WorkOS, it gets the same token back and stops asking, so the caller retries once per failure.
197
+ const retryAfterFailure = useCallback((): (() => void) => {
198
+ const failed = lastFailure.current;
199
+ if (!failed || failed.epoch !== epoch.current) return () => undefined;
200
+ const timer = setTimeout(() => {
201
+ if (failed.epoch !== epoch.current) return;
202
+ lastFailure.current = null;
203
+ setState((current) => ({ ...current, retryCount: current.retryCount + 1 }));
204
+ }, retryDelay(failed.at));
205
+ return () => clearTimeout(timer);
206
+ }, []);
207
+
208
+ const refresh = useCallback(async (current: Tokens, expected: number): Promise<string | null> => {
209
+ // Keep the session. An access token that has not expired yet still works.
210
+ const keep = () => {
211
+ if (!expiresSoon(current.accessToken, 0)) return current.accessToken;
212
+ setState((previous) => (previous.offline ? previous : { ...previous, offline: true }));
213
+ return null;
214
+ };
215
+ // Convex asks again right after a failed refresh. Answer from the last failure until the next offline retry.
216
+ const failed = lastFailure.current;
217
+ if (failed && failed.epoch === expected && Date.now() - failed.at < refreshCooldownMs) return keep();
218
+ const deadline = Date.now() + refreshBudgetMs;
219
+ for (let attempt = 1; ; attempt++) {
220
+ try {
221
+ const next = await authenticate(clientId, { grant_type: 'refresh_token', refresh_token: current.refreshToken }, Math.min(requestTimeoutMs, deadline - Date.now()));
222
+ if (lastFailure.current?.epoch === expected) lastFailure.current = null;
223
+ return (await store(next, expected)) ? next.accessToken : null;
224
+ } catch (error) {
225
+ if (expected !== epoch.current) return null;
226
+ if (!(error instanceof WorkOSRequestError && error.transient)) {
227
+ await store(null, expected);
228
+ return null;
229
+ }
230
+ // WorkOS did not rotate the refresh token, or still accepts it inside the replay window, so retry the same one.
231
+ const delay = Math.max(refreshBackoffMs * 2 ** (attempt - 1), error.retryAfterMs);
232
+ if (attempt < refreshAttempts && Date.now() + delay < deadline) {
233
+ await wait(delay);
234
+ if (expected !== epoch.current) return null;
235
+ continue;
236
+ }
237
+ lastFailure.current = { epoch: expected, at: Date.now() };
238
+ return keep();
239
+ }
240
+ }
241
+ }, [clientId, store]);
242
+
243
+ const getAccessToken = useCallback(async ({ forceRefresh = false }: { forceRefresh?: boolean } = {}): Promise<string | null> => {
244
+ for (;;) {
245
+ const expected = epoch.current;
246
+ const current = tokens.current;
247
+ if (!current) return null;
248
+ if (!forceRefresh && !expiresSoon(current.accessToken)) return current.accessToken;
249
+ // WorkOS rotates the refresh token on every use, so concurrent callers share one request.
250
+ if (!refreshing.current) {
251
+ const request: Promise<string | null> = refresh(current, expected).finally(() => {
252
+ if (refreshing.current === request) refreshing.current = null;
253
+ });
254
+ refreshing.current = request;
255
+ }
256
+ const token = await refreshing.current;
257
+ if (expected === epoch.current) return token;
258
+ // Sign-in or sign-out replaced the session during the refresh. Discard the result and read the new session.
259
+ await writes.current.catch(() => undefined);
260
+ forceRefresh = false;
261
+ }
262
+ }, [refresh]);
263
+
264
+ const signIn = useCallback(async () => {
265
+ const request = new AuthRequest({
266
+ clientId,
267
+ redirectUri,
268
+ usePKCE: true,
269
+ codeChallengeMethod: CodeChallengeMethod.S256,
270
+ extraParams: { provider: 'authkit' },
271
+ });
272
+ const result = await request.promptAsync({ authorizationEndpoint: authorizeUrl });
273
+ if (result.type === 'error') throw new Error(result.error?.description ?? 'Sign-in failed. Try again.');
274
+ // Cancelled, dismissed, or another sign-in is already open.
275
+ if (result.type !== 'success') return;
276
+ const code = result.params.code;
277
+ if (!code || !request.codeVerifier) throw new Error('The sign-in response did not include an authorization code.');
278
+ const next = await authenticate(clientId, { grant_type: 'authorization_code', code, code_verifier: request.codeVerifier });
279
+ epoch.current += 1;
280
+ refreshing.current = null;
281
+ await store(next, epoch.current);
282
+ }, [clientId, redirectUri, store]);
283
+
284
+ const signOut = useCallback(async () => {
285
+ const sessionId = claims(tokens.current?.accessToken)?.sid;
286
+ epoch.current += 1;
287
+ refreshing.current = null;
288
+ await store(null, epoch.current);
289
+ if (!sessionId) return;
290
+ // WorkOS ends its session when the browser visits the logout endpoint, then returns to the app.
291
+ await WebBrowser.openAuthSessionAsync(logoutUrl + '?' + new URLSearchParams({ session_id: sessionId, return_to: redirectUri }).toString(), redirectUri);
292
+ }, [redirectUri, store]);
293
+
294
+ const value = useMemo(() => ({ ...state, signIn, signOut, getAccessToken, retryAfterFailure }), [state, signIn, signOut, getAccessToken, retryAfterFailure]);
295
+ return <WorkOSContext.Provider value={value}>{children}</WorkOSContext.Provider>;
296
+ }
297
+
298
+ export function useWorkOS(): WorkOSAuth {
299
+ const auth = useContext(WorkOSContext);
300
+ if (!auth) throw new Error('useWorkOS must be used inside WorkOSProvider.');
301
+ return auth;
302
+ }
303
+ `);
304
+ await ctx.write(`${dir}/src/providers.tsx`, `import { useCallback, useEffect, useMemo, useState, type ReactNode } from 'react';
305
+ import { ConvexReactClient, ConvexProviderWithAuth, Authenticated, Unauthenticated, AuthLoading, useConvexAuth } from 'convex/react';
306
+ import { Text, View } from 'react-native';
307
+ import { WorkOSProvider, useWorkOS } from './workos-auth';
308
+ import { AuthControls } from './auth-controls';
309
+
310
+ export function Providers({ children }: { children: ReactNode }) {
311
+ const url = ${env('CONVEX_URL')};
312
+ const clientId = ${env('WORKOS_CLIENT_ID')};
313
+ const redirectUri = ${env('WORKOS_REDIRECT_URI')};
314
+ if (!url) return <Text>Set ${prefix}_CONVEX_URL in this app's .env.local.</Text>;
315
+ if (!clientId) return <Text>Set ${prefix}_WORKOS_CLIENT_ID in this app's .env.local.</Text>;
316
+ if (!redirectUri) return <Text>Set ${prefix}_WORKOS_REDIRECT_URI in this app's .env.local.</Text>;
317
+ return <WorkOSProvider clientId={clientId} redirectUri={redirectUri}><Connection url={url}>{children}</Connection></WorkOSProvider>;
318
+ }
319
+ function Connection({ url, children }: { url: string; children: ReactNode }) {
320
+ const [client] = useState(() => new ConvexReactClient(url, { unsavedChangesWarning: false }));
321
+ return <ConvexProviderWithAuth client={client} useAuth={useAuthFromWorkOS}>
322
+ <RetryRejectedToken />
323
+ <AuthLoading><View style={{ flex: 1, padding: 24, paddingTop: 64 }}><Text>Connecting authentication…</Text></View></AuthLoading>
324
+ <Unauthenticated><View style={{ flex: 1, padding: 24, paddingTop: 64 }}><AuthControls /></View></Unauthenticated>
325
+ <Authenticated><View style={{ flex: 1, padding: 24, paddingTop: 64 }}>{children}</View></Authenticated>
326
+ </ConvexProviderWithAuth>;
327
+ }
328
+ function useAuthFromWorkOS() {
329
+ const { isLoading, sessionId, retryCount, getAccessToken } = useWorkOS();
330
+ // Convex stops asking for a token after it receives null. A new retryCount gives this callback a new
331
+ // identity, so ConvexProviderWithAuth asks again after WorkOS was unreachable.
332
+ const fetchAccessToken = useCallback(async ({ forceRefreshToken }: { forceRefreshToken: boolean }): Promise<string | null> => {
333
+ if (!sessionId) return null;
334
+ try {
335
+ return await getAccessToken({ forceRefresh: forceRefreshToken });
336
+ } catch {
337
+ // Convex marks the session unauthenticated; AuthControls offers sign-in again.
338
+ return null;
339
+ }
340
+ }, [sessionId, getAccessToken, retryCount]);
341
+ return useMemo(() => ({ isLoading, isAuthenticated: !!sessionId, fetchAccessToken }), [isLoading, sessionId, fetchAccessToken]);
342
+ }
343
+ // Convex can reject a token that has not expired and then get the same token back because WorkOS was unreachable.
344
+ // It then reports the session as unauthenticated while WorkOS is not offline, so ask again after the last failed refresh.
345
+ function RetryRejectedToken() {
346
+ const { sessionId, offline, retryCount, retryAfterFailure } = useWorkOS();
347
+ const { isLoading, isAuthenticated } = useConvexAuth();
348
+ useEffect(
349
+ () => (sessionId && !offline && !isLoading && !isAuthenticated ? retryAfterFailure() : undefined),
350
+ [sessionId, offline, isLoading, isAuthenticated, retryCount, retryAfterFailure],
351
+ );
352
+ return null;
353
+ }
354
+ `);
355
+ await ctx.write(`${dir}/src/auth-controls.tsx`, `import { useState } from 'react';
356
+ import { Button, Text, View } from 'react-native';
357
+ import { useConvexAuth } from 'convex/react';
358
+ import { useWorkOS } from './workos-auth';
359
+
360
+ export function AuthControls() {
361
+ const { isLoading: loading, sessionId, offline, signIn, signOut } = useWorkOS();
362
+ const { isAuthenticated, isLoading } = useConvexAuth();
363
+ const [pending, setPending] = useState<'signIn' | 'signOut' | null>(null);
364
+ const [error, setError] = useState<string | null>(null);
365
+ async function authenticate() {
366
+ setPending('signIn'); setError(null);
367
+ try { await signIn(); }
368
+ catch (cause) { setError(cause instanceof Error ? cause.message : 'Sign-in failed. Try again.'); }
369
+ finally { setPending(null); }
370
+ }
371
+ async function logout() {
372
+ setPending('signOut'); setError(null);
373
+ try { await signOut(); }
374
+ catch { setError('Could not sign out. Try again.'); }
375
+ finally { setPending(null); }
376
+ }
377
+ if (loading || isLoading) return <Text>Loading sign-in…</Text>;
378
+ return <View>
379
+ {sessionId ? <Button title={pending === 'signOut' ? 'Signing out…' : 'Sign out'} disabled={!!pending} onPress={() => { void logout(); }} /> : null}
380
+ {!isAuthenticated && <Button title={pending === 'signIn' ? 'Signing in…' : 'Sign in'} disabled={!!pending} onPress={() => { void authenticate(); }} />}
381
+ {sessionId && !isAuthenticated && (offline
382
+ ? <Text accessibilityRole="alert">Could not reach WorkOS to renew this session. Retrying automatically; check the network connection.</Text>
383
+ : <Text accessibilityRole="alert">Convex could not authenticate this session. It retries automatically if WorkOS could not be reached. Otherwise, check the WorkOS JWT template and the Convex deployment configuration, or sign in again.</Text>)}
384
+ {error && <Text accessibilityRole="alert">{error}</Text>}
385
+ </View>;
386
+ }
387
+ `);
388
+ }
389
+ //# sourceMappingURL=native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native.js","sourceRoot":"","sources":["../../../../src/integrations/auth/workos/native.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,GAAqB,EACrB,GAAY;IAEZ,MAAM,GAAG,GAAG,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;IAC/B,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,GAAG,CAAC,KAAK,CACb,GAAG,GAAG,sBAAsB,EAC5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsSH,CACE,CAAC;IACF,MAAM,GAAG,CAAC,KAAK,CACb,GAAG,GAAG,oBAAoB,EAC1B;;;;;;;gBAOY,GAAG,CAAC,YAAY,CAAC;qBACZ,GAAG,CAAC,kBAAkB,CAAC;wBACpB,GAAG,CAAC,qBAAqB,CAAC;+BACnB,MAAM;oCACD,MAAM;uCACH,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsC5C,CACE,CAAC;IACF,MAAM,GAAG,CAAC,KAAK,CACb,GAAG,GAAG,wBAAwB,EAC9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCH,CACE,CAAC;AACJ,CAAC"}
@@ -2,7 +2,7 @@ import { scriptCommand, workspaceExec, } from '../../../package-manager/index.js
2
2
  export function workosSetup(scope, messages, manager = 'pnpm') {
3
3
  return `## WorkOS setup
4
4
 
5
- Use one WorkOS environment across these frontends so the same account has the same identity. In the WorkOS dashboard, configure each app's redirect URI, initiate login URI at /sign-in, and allowed sign-out URI at its origin. Next.js and TanStack Start use /callback; Vite returns to /. Use the actual development ports listed in each app's .env.workos.example. Register every app's origin, including its development port and production origin, as an allowed [sign-out URI](https://workos.com/docs/authkit/sessions#sign-out-uris). The sign-out controls pass window.location.origin as returnTo so users return to the app they signed out of. Add Vite's origin to the allowed CORS origins. For production Vite apps, configure a custom Authentication API domain on the same site and set VITE_WORKOS_API_HOSTNAME to its hostname.
5
+ Use one WorkOS environment across these frontends so the same account has the same identity. In the WorkOS dashboard, configure each app's redirect URI, initiate login URI at /sign-in, and allowed sign-out URI at its origin. Next.js and TanStack Start use /callback; Vite returns to /. Expo apps use a scheme URI instead, described below. Use the actual development ports listed in each app's .env.workos.example. Register every app's origin, including its development port and production origin, as an allowed [sign-out URI](https://workos.com/docs/authkit/sessions#sign-out-uris). The sign-out controls pass window.location.origin as returnTo so users return to the app they signed out of. Add Vite's origin to the allowed CORS origins. For production Vite apps, configure a custom Authentication API domain on the same site and set VITE_WORKOS_API_HOSTNAME to its hostname.
6
6
 
7
7
  Append each app's .env.workos.example to its .env.local alongside the Convex URL. WORKOS_CLIENT_ID is public. Set the framework-prefixed value in every app; Next.js and TanStack Start also need the same value as WORKOS_CLIENT_ID because their server SDKs read that name. WORKOS_API_KEY and WORKOS_COOKIE_PASSWORD are server secrets used only by Next.js and TanStack Start. Generate a random cookie password of at least 32 characters with openssl rand -base64 32. Never give either secret a NEXT_PUBLIC_, VITE_, EXPO_PUBLIC_ or PUBLIC_ prefix.
8
8
 
@@ -17,11 +17,17 @@ ${workspaceExec(manager, scope, 'backend', 'convex env set WORKOS_AUTHKIT_ISSUER
17
17
 
18
18
  Use the exact client-specific issuer URL, including /user_management/ and your real client ID. In WorkOS, edit the session JWT template to include an aud claim equal to that same client ID, for example { "aud": "client_your_client_id" }. Preserve any existing claims. Sign out and back in after changing the template. Session tokens omit aud by default, so this step is required for auth.config.ts, which uses WORKOS_CLIENT_ID as applicationID. A plain https://api.workos.com/ URL or the hosted sign-in page URL is not this issuer. See packages/backend/.env.workos.example. On a fresh deployment, run ${scriptCommand(manager, 'convex:setup')} to select it. If the push asks for those variables, set them in another terminal and rerun setup. Configure production separately. This starter uses OIDC discovery with domain/applicationID validation. Convex's current AuthKit guide instead shows customJwt providers with explicit JWKS URLs and support for audience-less session tokens; do not copy that setup partially into this configuration.
19
19
 
20
- The frontend SDK supplies an access token through ConvexProviderWithAuth. Protected children wait until Convex validates the token. Next.js and TanStack Start use server-managed sessions, but this starter does not preload authenticated Convex queries during SSR. Hosted AuthKit controls the enabled sign-in methods.
20
+ Each frontend supplies an access token through ConvexProviderWithAuth. Protected children wait until Convex validates the token. Next.js and TanStack Start use server-managed sessions, but this starter does not preload authenticated Convex queries during SSR. Hosted AuthKit controls the enabled sign-in methods.
21
21
 
22
22
  ${messages ? 'Messages use identity.subject from ctx.auth.getUserIdentity() as the owner key. Sessions for the same WorkOS account share messages.' : 'The blank starter retains the providers and sign-in controls. Add ctx.auth.getUserIdentity() checks to each protected backend function you write.'} WorkOS ownership differs from Clerk's tokenIdentifier and Convex Auth's users table ID. Changing providers needs a data migration; provider replacement is unsupported. Install this adapter in an existing no-auth workspace with add auth workos and follow WORKOS_SETUP.md.
23
23
 
24
- Expo is unsupported because no official Expo or React Native AuthKit SDK was found. Astro is also unsupported by this adapter: the [official Astro SDK](https://github.com/workos/authkit-astro) requires a server adapter and on-demand rendering, while this generator uses static output. See [WorkOS SDKs](https://workos.com/docs/sdks), [Convex integration](https://docs.convex.dev/auth/authkit/add-to-app), and the SDK setup guides for [Next.js](https://github.com/workos/authkit-nextjs), [React](https://github.com/workos/authkit-react), and [TanStack Start](https://github.com/workos/authkit-tanstack-start).
24
+ Astro is unsupported by this adapter: the [official Astro SDK](https://github.com/workos/authkit-astro) requires a server adapter and on-demand rendering, while this generator uses static output. See [WorkOS SDKs](https://workos.com/docs/sdks), [Convex integration](https://docs.convex.dev/auth/authkit/add-to-app), and the SDK setup guides for [Next.js](https://github.com/workos/authkit-nextjs), [React](https://github.com/workos/authkit-react), and [TanStack Start](https://github.com/workos/authkit-tanstack-start).
25
+
26
+ WorkOS has no official React Native AuthKit SDK, so each Expo app runs its own public PKCE client. Its src/workos-auth.tsx opens hosted AuthKit with expo-auth-session and exchanges the code with the code verifier and client ID. It stores the access and refresh tokens in expo-secure-store and refreshes the access token before it expires. The app never holds WORKOS_API_KEY. WorkOS issues that token from the same authenticate endpoint and client ID as the web SDKs, so the Convex issuer, auth.config.ts and the aud claim above apply unchanged.
27
+
28
+ Set EXPO_PUBLIC_WORKOS_CLIENT_ID and EXPO_PUBLIC_WORKOS_REDIRECT_URI from the app's .env.workos.example. The default redirect URI is ccm-${scope}-<app name>://callback, which matches the scheme in app.json. Add that exact URI in WorkOS as a redirect URI and as a sign-out URI. Sign-out clears SecureStore, then opens the WorkOS logout endpoint with the URI as return_to so the hosted session ends too. If you change the scheme, change the environment value and both WorkOS entries with it.
29
+
30
+ Expo Go cannot receive a custom scheme. Build a development client from the Expo app directory with ${scriptCommand(manager, 'ios')} or ${scriptCommand(manager, 'android')}. WorkOS documents HTTPS as a production redirect requirement, with an exception for http://127.0.0.1. Before release, confirm that your production environment accepts the app scheme, or switch to an HTTPS universal link. See [PKCE](https://workos.com/docs/reference/authkit/authentication/get-authorization-url/pkce), [sessions](https://workos.com/docs/authkit/sessions) and [WorkOS's Expo example](https://github.com/workos/expo-authkit-example).
25
31
  `;
26
32
  }
27
33
  //# sourceMappingURL=setup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../../src/integrations/auth/workos/setup.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EACb,aAAa,GACd,MAAM,mCAAmC,CAAC;AAC3C,MAAM,UAAU,WAAW,CACzB,KAAa,EACb,QAAiB,EACjB,UAA4B,MAAM;IAElC,OAAO;;;;;;;;;;;EAWP,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,iCAAiC,CAAC;EAC3E,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,6CAA6C,CAAC;;;2lBAGkgB,aAAa,CAAC,OAAO,EAAE,cAAc,CAAC;;;;EAI/nB,QAAQ,CAAC,CAAC,CAAC,sIAAsI,CAAC,CAAC,CAAC,mJAAmJ;;;CAGxS,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../../src/integrations/auth/workos/setup.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EACb,aAAa,GACd,MAAM,mCAAmC,CAAC;AAC3C,MAAM,UAAU,WAAW,CACzB,KAAa,EACb,QAAiB,EACjB,UAA4B,MAAM;IAElC,OAAO;;;;;;;;;;;EAWP,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,iCAAiC,CAAC;EAC3E,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,6CAA6C,CAAC;;;2lBAGkgB,aAAa,CAAC,OAAO,EAAE,cAAc,CAAC;;;;EAI/nB,QAAQ,CAAC,CAAC,CAAC,sIAAsI,CAAC,CAAC,CAAC,mJAAmJ;;;;;;2IAM9J,KAAK;;sGAE1C,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC;CAC1K,CAAC;AACF,CAAC"}
@@ -55,6 +55,8 @@ export declare const versions: {
55
55
  readonly expo: "57.0.21";
56
56
  readonly expoWebBrowser: "57.0.3";
57
57
  readonly expoLinking: "57.0.10";
58
+ readonly expoAuthSession: "57.0.12";
59
+ readonly expoCrypto: "57.0.3";
58
60
  readonly reactNative: "0.86.3";
59
61
  readonly clerkNext: "7.9.1";
60
62
  readonly clerkReact: "6.15.1";
@@ -55,6 +55,8 @@ export const versions = {
55
55
  expo: '57.0.21',
56
56
  expoWebBrowser: '57.0.3',
57
57
  expoLinking: '57.0.10',
58
+ expoAuthSession: '57.0.12',
59
+ expoCrypto: '57.0.3',
58
60
  reactNative: '0.86.3',
59
61
  clerkNext: '7.9.1',
60
62
  clerkReact: '6.15.1',
@@ -1 +1 @@
1
- {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../src/templates/versions.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,OAAO,EAAE,WAAW;IACpB,IAAI,EAAE,kCAAkC;CAChC,CAAC;AAEX,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,IAAI,EAAE,OAAO;IACb,GAAG,EAAE,QAAQ;IACb,SAAS,EAAE,OAAO;IAClB,MAAM,EAAE,QAAQ;IAChB,eAAe,EAAE,SAAS;IAC1B,eAAe,EAAE,QAAQ;IACzB,QAAQ,EAAE,OAAO;IACjB,cAAc,EAAE,OAAO;IACvB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,QAAQ;IACnB,iBAAiB,EAAE,OAAO;IAC1B,UAAU,EAAE,OAAO;IACnB,YAAY,EAAE,QAAQ;IACtB,WAAW,EAAE,OAAO;IACpB,YAAY,EAAE,QAAQ;IACtB,SAAS,EAAE,QAAQ;IACnB,MAAM,EAAE,QAAQ;IAChB,gBAAgB,EAAE,QAAQ;IAC1B,UAAU,EAAE,QAAQ;IACpB,cAAc,EAAE,QAAQ;IACxB,eAAe,EAAE,QAAQ;IACzB,WAAW,EAAE,QAAQ;IACrB,aAAa,EAAE,SAAS;IAExB,UAAU,EAAE,SAAS;IACrB,UAAU,EAAE,OAAO;IACnB,WAAW,EAAE,QAAQ;IACrB,cAAc,EAAE,QAAQ;IACxB,UAAU,EAAE,QAAQ;IACpB,QAAQ,EAAE,QAAQ;IAClB,KAAK,EAAE,QAAQ;IACf,UAAU,EAAE,OAAO;IACnB,aAAa,EAAE,QAAQ;IACvB,SAAS,EAAE,QAAQ;IACnB,GAAG,EAAE,OAAO;IACZ,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,OAAO;IACnB,UAAU,EAAE,QAAQ;IACpB,UAAU,EAAE,OAAO;IACnB,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,OAAO;IACb,SAAS,EAAE,OAAO;IAClB,WAAW,EAAE,QAAQ;IACrB,gBAAgB,EAAE,QAAQ;IAC1B,KAAK,EAAE,OAAO;IACd,oBAAoB,EAAE,QAAQ;IAC9B,mBAAmB,EAAE,QAAQ;IAC7B,aAAa,EAAE,UAAU;IACzB,IAAI,EAAE,SAAS;IACf,cAAc,EAAE,QAAQ;IACxB,WAAW,EAAE,SAAS;IACtB,WAAW,EAAE,QAAQ;IACrB,SAAS,EAAE,OAAO;IAClB,UAAU,EAAE,QAAQ;IACpB,SAAS,EAAE,OAAO;IAClB,MAAM,EAAE,SAAS;IACjB,gBAAgB,EAAE,QAAQ;CAClB,CAAC"}
1
+ {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../src/templates/versions.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,OAAO,EAAE,WAAW;IACpB,IAAI,EAAE,kCAAkC;CAChC,CAAC;AAEX,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,IAAI,EAAE,OAAO;IACb,GAAG,EAAE,QAAQ;IACb,SAAS,EAAE,OAAO;IAClB,MAAM,EAAE,QAAQ;IAChB,eAAe,EAAE,SAAS;IAC1B,eAAe,EAAE,QAAQ;IACzB,QAAQ,EAAE,OAAO;IACjB,cAAc,EAAE,OAAO;IACvB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,QAAQ;IACnB,iBAAiB,EAAE,OAAO;IAC1B,UAAU,EAAE,OAAO;IACnB,YAAY,EAAE,QAAQ;IACtB,WAAW,EAAE,OAAO;IACpB,YAAY,EAAE,QAAQ;IACtB,SAAS,EAAE,QAAQ;IACnB,MAAM,EAAE,QAAQ;IAChB,gBAAgB,EAAE,QAAQ;IAC1B,UAAU,EAAE,QAAQ;IACpB,cAAc,EAAE,QAAQ;IACxB,eAAe,EAAE,QAAQ;IACzB,WAAW,EAAE,QAAQ;IACrB,aAAa,EAAE,SAAS;IAExB,UAAU,EAAE,SAAS;IACrB,UAAU,EAAE,OAAO;IACnB,WAAW,EAAE,QAAQ;IACrB,cAAc,EAAE,QAAQ;IACxB,UAAU,EAAE,QAAQ;IACpB,QAAQ,EAAE,QAAQ;IAClB,KAAK,EAAE,QAAQ;IACf,UAAU,EAAE,OAAO;IACnB,aAAa,EAAE,QAAQ;IACvB,SAAS,EAAE,QAAQ;IACnB,GAAG,EAAE,OAAO;IACZ,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,OAAO;IACnB,UAAU,EAAE,QAAQ;IACpB,UAAU,EAAE,OAAO;IACnB,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,OAAO;IACb,SAAS,EAAE,OAAO;IAClB,WAAW,EAAE,QAAQ;IACrB,gBAAgB,EAAE,QAAQ;IAC1B,KAAK,EAAE,OAAO;IACd,oBAAoB,EAAE,QAAQ;IAC9B,mBAAmB,EAAE,QAAQ;IAC7B,aAAa,EAAE,UAAU;IACzB,IAAI,EAAE,SAAS;IACf,cAAc,EAAE,QAAQ;IACxB,WAAW,EAAE,SAAS;IACtB,eAAe,EAAE,SAAS;IAC1B,UAAU,EAAE,QAAQ;IACpB,WAAW,EAAE,QAAQ;IACrB,SAAS,EAAE,OAAO;IAClB,UAAU,EAAE,QAAQ;IACpB,SAAS,EAAE,OAAO;IAClB,MAAM,EAAE,SAAS;IACjB,gBAAgB,EAAE,QAAQ;CAClB,CAAC"}
@@ -462,7 +462,7 @@ export async function planAddApp(workspace, options) {
462
462
  if (workspace.config.auth === 'better-auth')
463
463
  plan.notes.push(`Set the public CONVEX_SITE_URL listed in apps/${app.name}/.env.better-auth.example. Add this app's origin or Expo scheme to deployment BETTER_AUTH_TRUSTED_ORIGINS, then follow the Better Auth setup instructions.`);
464
464
  if (workspace.config.auth === 'workos')
465
- plan.notes.push(`Add the WorkOS settings listed in apps/${app.name}/.env.workos.example.`);
465
+ plan.notes.push(`Add the WorkOS settings listed in apps/${app.name}/.env.workos.example.${app.framework === 'expo' ? ` Register ccm-${workspace.config.name}-${app.name}://callback in WorkOS as a redirect URI and a sign-out URI.` : ''}`);
466
466
  return plan;
467
467
  }
468
468
  export async function planAddPackage(workspace, options) {
@@ -1 +1 @@
1
- {"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/workspace/add.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/workspace/add.ts"],"names":[],"mappings":"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"}
@@ -53,6 +53,7 @@ const workos = {
53
53
  next: '@workos-inc/authkit-nextjs',
54
54
  vite: '@workos-inc/authkit-react',
55
55
  'tanstack-start': '@workos/authkit-tanstack-react-start',
56
+ expo: 'expo-auth-session',
56
57
  };
57
58
  const baselines = {
58
59
  nuxt: versions.nuxt,
@@ -526,6 +527,9 @@ export async function doctor(workspace, options = {}) {
526
527
  ...(config.auth === 'convex-auth' && app.framework === 'expo'
527
528
  ? ['expo-secure-store']
528
529
  : []),
530
+ ...(config.auth === 'workos' && app.framework === 'expo'
531
+ ? ['expo-crypto', 'expo-secure-store', 'expo-web-browser']
532
+ : []),
529
533
  ...(hasOAuth && app.framework === 'expo'
530
534
  ? ['expo-web-browser', 'expo-linking']
531
535
  : []),
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/workspace/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/workspace/doctor.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ The none adapter demonstrates file ownership. The Clerk adapter demonstrates a b
15
15
 
16
16
  For Astro, also write `auth.config.mjs` with the integration list consumed by `astro.config.mjs`. Providers that need no Astro integration export an empty list. Clerk supplies its official integration and middleware, and imports `useAuth` from `@clerk/astro/react` without a React `ClerkProvider`.
17
17
 
18
- WorkOS AuthKit is the third adapter and supports Next.js, Vite, and TanStack Start. It owns a ConvexProviderWithAuth token bridge, server callback routes where required, and `.env.workos.example`. SvelteKit is rejected by the runtime compatibility check. Expo, Astro, and React Router are rejected during normalization through the WorkOS bindings map. Astro has an [official SDK](https://github.com/workos/authkit-astro), but it requires a server adapter and on-demand rendering, which the static Astro template does not configure. The official React Router SDK exists, but this generator has no binding for it yet. Ownership uses `identity.subject`, unlike Clerk and Convex Auth.
18
+ WorkOS AuthKit is the third adapter and supports Next.js, Vite, TanStack Start, and Expo. It owns a ConvexProviderWithAuth token bridge, server callback routes where required, and `.env.workos.example`. Expo has no official SDK; `src/integrations/auth/workos/native.ts` writes a PKCE public client built on `expo-auth-session` with SecureStore token storage and a single-flight refresh. SvelteKit is rejected by the runtime compatibility check. Astro and React Router are rejected during normalization through the WorkOS bindings map. Astro has an [official SDK](https://github.com/workos/authkit-astro), but it requires a server adapter and on-demand rendering, which the static Astro template does not configure. The official React Router SDK exists, but this generator has no binding for it yet. Ownership uses `identity.subject`, unlike Clerk and Convex Auth.
19
19
 
20
20
  Convex Auth is the second adapter; its independent provider writer lives in `src/integrations/auth/convex-auth/providers.ts`.
21
21
 
package/docs/releases.md CHANGED
@@ -53,12 +53,34 @@ Verify the migration with a new release through the workflow. Retrying an alread
53
53
 
54
54
  Merge regular PRs with Conventional Commit titles. Release-please maintains the version/changelog PR. Merging it creates a GitHub release and explicitly dispatches `publish.yml` at its tag. Dispatch works even when the release was created with `GITHUB_TOKEN`.
55
55
 
56
- The publishing workflow rejects branches, prereleases, missing releases, moved tags, and commits outside `main` history. It runs reusable CI against the exact release SHA: lint, formatting, typecheck, unit/generator tests, tarball smoke tests, Windows checks, and the generated-project build matrix. The Linux job uploads the tarball only after its smoke test passes.
56
+ The publishing workflow rejects branches, prereleases, missing releases, moved tags, and commits outside `main` history. It runs reusable CI against the exact release SHA: lint, formatting, typecheck, unit/generator tests, tarball smoke tests, and Windows checks. It skips the generated-project build matrix, which already passed on the release PR. See [What CI runs](#what-ci-runs). The Linux job uploads the tarball only after its smoke test passes.
57
57
 
58
58
  A separate job in the `npm` environment downloads that same artifact, validates its package name/version/bin/repository, and publishes it with provenance. It does not rebuild the archive. Publishing is serialized across versions so concurrent releases cannot race to update the latest tag. Node 24 and an OIDC-capable npm CLI are configured explicitly. No PR job receives npm publishing credentials or an OIDC write permission.
59
59
 
60
60
  The dispatch uses the tag rather than checking out a tag inside a workflow started on `main`. npm provenance reads the workflow event's commit, so both the event and checked-out source must identify the release. [npm provenance](https://docs.npmjs.com/generating-provenance-statements/).
61
61
 
62
+ ## What CI runs
63
+
64
+ Building every generated project takes 75 jobs, so each change gets that run once.
65
+
66
+ | Trigger | Generator checks | Generated projects |
67
+ | ------------------------ | ----------------- | ------------------ |
68
+ | Feature PR | Linux and Windows | 10 smoke entries |
69
+ | Release PR | Linux and Windows | All 75 |
70
+ | Manual run of `ci.yml` | Linux and Windows | All 75 |
71
+ | Push to `main` | Linux | None |
72
+ | Publish at a release tag | Linux and Windows | None |
73
+
74
+ `main` requires up-to-date branches, so a squash commit has the same tree as the PR run that tested it. The push run only keeps the dependency cache warm for later PRs. Release-please rebuilds the release PR after every merge, and its full run is the gate. A failure there costs a fix PR. A failure after the tag exists costs a new release.
75
+
76
+ `.github/ci-matrix.json` lists the generated projects. Entries with `"smoke": true` run on feature PRs, and `tests/ci-plan.test.ts` fails when that subset misses a framework, auth provider or package manager. Add new combinations to the JSON file. `scripts/ci-plan.mjs` picks the scope for each trigger.
77
+
78
+ A combination outside the smoke subset can break without failing its feature PR. The release PR catches it. For a risky change, run every project on the branch first:
79
+
80
+ ```sh
81
+ gh workflow run ci.yml --repo adamtrip-solutions/create-convex-monorepo --ref my-branch
82
+ ```
83
+
62
84
  ## Retry a failed publication
63
85
 
64
86
  Fix account, environment or registry configuration, then rerun **Publish npm package** at the same release tag:
package/docs/research.md CHANGED
@@ -186,7 +186,23 @@ Investigated 2026-09-18 against the npm registry, official WorkOS SDK source, an
186
186
 
187
187
  The Start package uses the `@workos` scope. The guessed `@workos-inc/authkit-tanstack-react-start` name returned npm 404. Published package manifests identify WorkOS's repositories and declare compatible React, Next.js, and Start peer ranges. Both server SDKs require the Node SDK peer. Sources: [SDK catalog](https://workos.com/docs/sdks), [Next SDK](https://github.com/workos/authkit-nextjs), [React SDK](https://github.com/workos/authkit-react), [Start SDK](https://github.com/workos/authkit-tanstack-start), and [npm registry metadata](https://registry.npmjs.org/@workos/authkit-tanstack-react-start/latest).
188
188
 
189
- No official Expo or React Native AuthKit SDK appeared in the catalog or npm search. WorkOS lists native Android and iOS SDKs separately. Its [Expo integration guide](https://workos.com/docs/integrations/react-native-expo) describes manually combining SSO API calls with Expo AuthSession and WebBrowser, rather than installing an AuthKit SDK. This adapter rejects Expo during normalization, including mixed workspaces and later `add app` or `add auth` operations. It does not use a community SDK.
189
+ No official Expo or React Native AuthKit SDK appeared in the catalog or npm search. WorkOS lists native Android and iOS SDKs separately. The generator does not use a community SDK.
190
+
191
+ ### Expo public client
192
+
193
+ Investigated 2026-09-23 against the WorkOS API reference, WorkOS's own [Expo AuthKit example](https://github.com/workos/expo-authkit-example), the `@workos-inc/authkit-js` 0.20.3 source, and the published `expo-auth-session` 57.0.12 build. The older [Expo integration guide](https://workos.com/docs/integrations/react-native-expo) covers the SSO API with a client secret, so this adapter does not follow it.
194
+
195
+ WorkOS documents PKCE for [public clients such as native apps](https://workos.com/docs/reference/authkit/authentication/get-authorization-url/pkce). The generated `src/workos-auth.tsx` builds an `AuthRequest` against `https://api.workos.com/user_management/authorize` with `provider=authkit`, `response_type=code` and an S256 code challenge. `expo-auth-session` generates and checks `state`. The app posts JSON to `/user_management/authenticate` with `grant_type=authorization_code`, `code`, `code_verifier` and `client_id`. The [authenticate reference](https://workos.com/docs/reference/authkit/authentication/code) marks `client_secret` optional and `code_verifier` required when the secret is absent.
196
+
197
+ The refresh-token reference lists `client_secret` as required. The official browser SDK `authkit-js` still refreshes public clients with only `client_id`, `grant_type=refresh_token` and `refresh_token`, and WorkOS's Expo example does the same through the Node SDK's public-client mode. The generated app follows that behavior. WorkOS [rotates the refresh token](https://workos.com/docs/authkit/session-resilience) on each use and allows a 30-second replay window. The app shares one in-flight refresh between callers, keeps the session after network errors, 408, 429 and 5xx responses, and clears it on any other failure. Tokens live in `expo-secure-store` under separate access and refresh keys.
198
+
199
+ Sign-out follows the [sessions guide](https://workos.com/docs/authkit/sessions). It clears SecureStore, reads `sid` from the access token and opens `/user_management/sessions/logout` with `session_id` and `return_to` in an auth session. `return_to` must be an allowed sign-out URI, so the setup text asks for the redirect URI in both lists.
200
+
201
+ The access token comes from the same authenticate endpoint and client ID as the Vite SDK's PKCE flow, so `auth.config.ts` is unchanged. The [access token reference](https://workos.com/docs/reference/authkit/session-tokens/access-token) lists `sid`, `sub`, `exp` and the JWKS at `https://api.workos.com/sso/jwks/<clientId>`. WorkOS renders its one [JWT template](https://workos.com/docs/authkit/jwt-templates) per environment into every AuthKit session token, so the `aud` claim reaches mobile tokens too.
202
+
203
+ The redirect URI defaults to `ccm-<project>-<app>://callback`, matching `app.json`. WorkOS's example registers a custom scheme the same way. The [redirect URI rules](https://workos.com/docs/reference/authkit/authentication/get-authorization-url/redirect-uri) require HTTPS in production with an exception for `http://127.0.0.1`, and they do not mention custom schemes. Production acceptance of a custom scheme is unverified. `EXPO_PUBLIC_WORKOS_REDIRECT_URI` lets a project switch to an HTTPS universal link.
204
+
205
+ `expo-auth-session` 57.0.12 is the version Expo's documentation recommends for SDK 57. Expo's docs require `expo-crypto` beside it. The adapter pins `expo-crypto` 57.0.3, which matches that release's dependency range, and reuses the existing `expo-secure-store` and `expo-web-browser` pins. `expo install --check` reported no mismatch for these four packages. Clean generation of `web:tanstack-start,dashboard:vite,mobile:expo` with `pnpm install`, `typecheck`, `lint`, `format:check` and `expo export` passed. A scratch runtime harness exercised the generated module with the real `AuthRequest` and mocked native modules. It covered the authorize URL, code exchange, single-flight refresh, transient and terminal refresh failures, the sign-out race and session restore. Live WorkOS sign-in on a device was not tested.
190
206
 
191
207
  ### Tokens and ownership
192
208
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-convex-monorepo",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "Generate typed Convex monorepos with composable frontend and authentication adapters.",
5
5
  "license": "MIT",
6
6
  "type": "module",