@clerk/tanstack-react-start 1.0.0-snapshot.v20260114124449 → 1.0.0-snapshot.v20260114212940

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.
@@ -12,7 +12,7 @@ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
12
12
  // src/client/ClerkProvider.tsx
13
13
  var SDK_METADATA = {
14
14
  name: "@clerk/tanstack-react-start",
15
- version: "1.0.0-snapshot.v20260114124449"
15
+ version: "1.0.0-snapshot.v20260114212940"
16
16
  };
17
17
  var awaitableNavigateRef = { current: void 0 };
18
18
  function ClerkProvider({
@@ -10,7 +10,7 @@ var clerkClient = (options) => {
10
10
  publishableKey: commonEnv.PUBLISHABLE_KEY,
11
11
  apiUrl: commonEnv.API_URL,
12
12
  apiVersion: commonEnv.API_VERSION,
13
- userAgent: `${"@clerk/tanstack-react-start"}@${"1.0.0-snapshot.v20260114124449"}`,
13
+ userAgent: `${"@clerk/tanstack-react-start"}@${"1.0.0-snapshot.v20260114212940"}`,
14
14
  proxyUrl: commonEnv.PROXY_URL,
15
15
  domain: commonEnv.DOMAIN,
16
16
  isSatellite: commonEnv.IS_SATELLITE,
@@ -1,9 +1,9 @@
1
1
  import { AnyRequestMiddleware } from '@tanstack/react-start';
2
- import { ClerkMiddlewareOptions, ClerkMiddlewareOptionsCallback } from './types.js';
2
+ import { ClerkMiddlewareOptions } from './types.js';
3
3
  import '@clerk/backend';
4
4
  import '@clerk/backend/internal';
5
5
  import '@clerk/shared/types';
6
6
 
7
- declare const clerkMiddleware: (options?: ClerkMiddlewareOptions | ClerkMiddlewareOptionsCallback) => AnyRequestMiddleware;
7
+ declare const clerkMiddleware: (options?: ClerkMiddlewareOptions) => AnyRequestMiddleware;
8
8
 
9
9
  export { clerkMiddleware };
@@ -9,8 +9,7 @@ import { patchRequest, getResponseClerkState } from './utils/index.js';
9
9
  var clerkMiddleware = (options) => {
10
10
  return createMiddleware().server(async (args) => {
11
11
  const clerkRequest = createClerkRequest(patchRequest(args.request));
12
- const resolvedOptions = typeof options === "function" ? await options({ url: clerkRequest.clerkUrl }) : options;
13
- const loadedOptions = loadOptions(clerkRequest, resolvedOptions);
12
+ const loadedOptions = loadOptions(clerkRequest, options);
14
13
  const requestState = await clerkClient().authenticateRequest(clerkRequest, {
15
14
  ...loadedOptions,
16
15
  acceptsToken: "any"
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/server/clerkMiddleware.ts"],"names":[],"mappings":";;;;;;;;AAYO,IAAM,eAAA,GAAkB,CAC7B,OAAA,KACyB;AACzB,EAAA,OAAO,gBAAA,EAAiB,CAAE,MAAA,CAAO,OAAM,IAAA,KAAQ;AAC7C,IAAA,MAAM,YAAA,GAAe,kBAAA,CAAmB,YAAA,CAAa,IAAA,CAAK,OAAO,CAAC,CAAA;AAGlE,IAAA,MAAM,eAAA,GAAkB,OAAO,OAAA,KAAY,UAAA,GAAa,MAAM,OAAA,CAAQ,EAAE,GAAA,EAAK,YAAA,CAAa,QAAA,EAAU,CAAA,GAAI,OAAA;AAExG,IAAA,MAAM,aAAA,GAAgB,WAAA,CAAY,YAAA,EAAc,eAAe,CAAA;AAC/D,IAAA,MAAM,YAAA,GAAe,MAAM,WAAA,EAAY,CAAE,oBAAoB,YAAA,EAAc;AAAA,MACzE,GAAG,aAAA;AAAA,MACH,YAAA,EAAc;AAAA,KACf,CAAA;AAED,IAAA,MAAM,iBAAiB,YAAA,CAAa,OAAA,CAAQ,GAAA,CAAI,SAAA,CAAU,QAAQ,QAAQ,CAAA;AAC1E,IAAA,IAAI,cAAA,EAAgB;AAClB,MAAA,+BAAA,CAAgC;AAAA,QAC9B,cAAA;AAAA,QACA,qBAAqB,YAAA,CAAa,OAAA;AAAA,QAClC,gBAAgB,YAAA,CAAa;AAAA,OAC9B,CAAA;AAGD,MAAA,MAAM,IAAA,CAAK,MAAM,EAAE,MAAA,EAAQ,KAAK,OAAA,EAAS,YAAA,CAAa,SAAS,CAAA;AAAA,IACjE;AAEA,IAAA,IAAI,YAAA,CAAa,MAAA,KAAW,UAAA,CAAW,SAAA,EAAW;AAChD,MAAA,MAAM,IAAI,MAAM,0CAA0C,CAAA;AAAA,IAC5D;AAEA,IAAA,MAAM,iBAAA,GAAoB,qBAAA,CAAsB,YAAA,EAA8B,aAAa,CAAA;AAE3F,IAAA,MAAM,MAAA,GAAS,MAAM,IAAA,CAAK,IAAA,CAAK;AAAA,MAC7B,OAAA,EAAS;AAAA,QACP,iBAAA;AAAA,QACA,IAAA,EAAM,CAAC,IAAA,KAAiC,YAAA,CAAa,OAAO,IAAI;AAAA;AAClE,KACD,CAAA;AAED,IAAA,IAAI,aAAa,OAAA,EAAS;AACxB,MAAA,YAAA,CAAa,OAAA,CAAQ,OAAA,CAAQ,CAAC,KAAA,EAAO,GAAA,KAAQ;AAC3C,QAAA,MAAA,CAAO,QAAA,CAAS,OAAA,CAAQ,MAAA,CAAO,GAAA,EAAK,KAAK,CAAA;AAAA,MAC3C,CAAC,CAAA;AAAA,IACH;AAEA,IAAA,OAAO,MAAA;AAAA,EACT,CAAC,CAAA;AACH","file":"clerkMiddleware.js","sourcesContent":["import type { RequestState } from '@clerk/backend/internal';\nimport { AuthStatus, constants, createClerkRequest } from '@clerk/backend/internal';\nimport { handleNetlifyCacheInDevInstance } from '@clerk/shared/netlifyCacheHandler';\nimport type { PendingSessionOptions } from '@clerk/shared/types';\nimport type { AnyRequestMiddleware } from '@tanstack/react-start';\nimport { createMiddleware, json } from '@tanstack/react-start';\n\nimport { clerkClient } from './clerkClient';\nimport { loadOptions } from './loadOptions';\nimport type { ClerkMiddlewareOptions, ClerkMiddlewareOptionsCallback } from './types';\nimport { getResponseClerkState, patchRequest } from './utils';\n\nexport const clerkMiddleware = (\n options?: ClerkMiddlewareOptions | ClerkMiddlewareOptionsCallback,\n): AnyRequestMiddleware => {\n return createMiddleware().server(async args => {\n const clerkRequest = createClerkRequest(patchRequest(args.request));\n\n // Resolve options: if function, call it with context object; otherwise use as-is\n const resolvedOptions = typeof options === 'function' ? await options({ url: clerkRequest.clerkUrl }) : options;\n\n const loadedOptions = loadOptions(clerkRequest, resolvedOptions);\n const requestState = await clerkClient().authenticateRequest(clerkRequest, {\n ...loadedOptions,\n acceptsToken: 'any',\n });\n\n const locationHeader = requestState.headers.get(constants.Headers.Location);\n if (locationHeader) {\n handleNetlifyCacheInDevInstance({\n locationHeader,\n requestStateHeaders: requestState.headers,\n publishableKey: requestState.publishableKey,\n });\n // Trigger a handshake redirect\n // eslint-disable-next-line @typescript-eslint/only-throw-error\n throw json(null, { status: 307, headers: requestState.headers });\n }\n\n if (requestState.status === AuthStatus.Handshake) {\n throw new Error('Clerk: handshake status without redirect');\n }\n\n const clerkInitialState = getResponseClerkState(requestState as RequestState, loadedOptions);\n\n const result = await args.next({\n context: {\n clerkInitialState,\n auth: (opts?: PendingSessionOptions) => requestState.toAuth(opts),\n },\n });\n\n if (requestState.headers) {\n requestState.headers.forEach((value, key) => {\n result.response.headers.append(key, value);\n });\n }\n\n return result;\n });\n};\n"]}
1
+ {"version":3,"sources":["../../src/server/clerkMiddleware.ts"],"names":[],"mappings":";;;;;;;;AAYO,IAAM,eAAA,GAAkB,CAAC,OAAA,KAA2D;AACzF,EAAA,OAAO,gBAAA,EAAiB,CAAE,MAAA,CAAO,OAAM,IAAA,KAAQ;AAC7C,IAAA,MAAM,YAAA,GAAe,kBAAA,CAAmB,YAAA,CAAa,IAAA,CAAK,OAAO,CAAC,CAAA;AAClE,IAAA,MAAM,aAAA,GAAgB,WAAA,CAAY,YAAA,EAAc,OAAO,CAAA;AACvD,IAAA,MAAM,YAAA,GAAe,MAAM,WAAA,EAAY,CAAE,oBAAoB,YAAA,EAAc;AAAA,MACzE,GAAG,aAAA;AAAA,MACH,YAAA,EAAc;AAAA,KACf,CAAA;AAED,IAAA,MAAM,iBAAiB,YAAA,CAAa,OAAA,CAAQ,GAAA,CAAI,SAAA,CAAU,QAAQ,QAAQ,CAAA;AAC1E,IAAA,IAAI,cAAA,EAAgB;AAClB,MAAA,+BAAA,CAAgC;AAAA,QAC9B,cAAA;AAAA,QACA,qBAAqB,YAAA,CAAa,OAAA;AAAA,QAClC,gBAAgB,YAAA,CAAa;AAAA,OAC9B,CAAA;AAGD,MAAA,MAAM,IAAA,CAAK,MAAM,EAAE,MAAA,EAAQ,KAAK,OAAA,EAAS,YAAA,CAAa,SAAS,CAAA;AAAA,IACjE;AAEA,IAAA,IAAI,YAAA,CAAa,MAAA,KAAW,UAAA,CAAW,SAAA,EAAW;AAChD,MAAA,MAAM,IAAI,MAAM,0CAA0C,CAAA;AAAA,IAC5D;AAEA,IAAA,MAAM,iBAAA,GAAoB,qBAAA,CAAsB,YAAA,EAA8B,aAAa,CAAA;AAE3F,IAAA,MAAM,MAAA,GAAS,MAAM,IAAA,CAAK,IAAA,CAAK;AAAA,MAC7B,OAAA,EAAS;AAAA,QACP,iBAAA;AAAA,QACA,IAAA,EAAM,CAAC,IAAA,KAAiC,YAAA,CAAa,OAAO,IAAI;AAAA;AAClE,KACD,CAAA;AAED,IAAA,IAAI,aAAa,OAAA,EAAS;AACxB,MAAA,YAAA,CAAa,OAAA,CAAQ,OAAA,CAAQ,CAAC,KAAA,EAAO,GAAA,KAAQ;AAC3C,QAAA,MAAA,CAAO,QAAA,CAAS,OAAA,CAAQ,MAAA,CAAO,GAAA,EAAK,KAAK,CAAA;AAAA,MAC3C,CAAC,CAAA;AAAA,IACH;AAEA,IAAA,OAAO,MAAA;AAAA,EACT,CAAC,CAAA;AACH","file":"clerkMiddleware.js","sourcesContent":["import type { RequestState } from '@clerk/backend/internal';\nimport { AuthStatus, constants, createClerkRequest } from '@clerk/backend/internal';\nimport { handleNetlifyCacheInDevInstance } from '@clerk/shared/netlifyCacheHandler';\nimport type { PendingSessionOptions } from '@clerk/shared/types';\nimport type { AnyRequestMiddleware } from '@tanstack/react-start';\nimport { createMiddleware, json } from '@tanstack/react-start';\n\nimport { clerkClient } from './clerkClient';\nimport { loadOptions } from './loadOptions';\nimport type { ClerkMiddlewareOptions } from './types';\nimport { getResponseClerkState, patchRequest } from './utils';\n\nexport const clerkMiddleware = (options?: ClerkMiddlewareOptions): AnyRequestMiddleware => {\n return createMiddleware().server(async args => {\n const clerkRequest = createClerkRequest(patchRequest(args.request));\n const loadedOptions = loadOptions(clerkRequest, options);\n const requestState = await clerkClient().authenticateRequest(clerkRequest, {\n ...loadedOptions,\n acceptsToken: 'any',\n });\n\n const locationHeader = requestState.headers.get(constants.Headers.Location);\n if (locationHeader) {\n handleNetlifyCacheInDevInstance({\n locationHeader,\n requestStateHeaders: requestState.headers,\n publishableKey: requestState.publishableKey,\n });\n // Trigger a handshake redirect\n // eslint-disable-next-line @typescript-eslint/only-throw-error\n throw json(null, { status: 307, headers: requestState.headers });\n }\n\n if (requestState.status === AuthStatus.Handshake) {\n throw new Error('Clerk: handshake status without redirect');\n }\n\n const clerkInitialState = getResponseClerkState(requestState as RequestState, loadedOptions);\n\n const result = await args.next({\n context: {\n clerkInitialState,\n auth: (opts?: PendingSessionOptions) => requestState.toAuth(opts),\n },\n });\n\n if (requestState.headers) {\n requestState.headers.forEach((value, key) => {\n result.response.headers.append(key, value);\n });\n }\n\n return result;\n });\n};\n"]}
@@ -27,7 +27,7 @@ var commonEnvs = () => {
27
27
  API_URL: getEnvVariable("CLERK_API_URL") || apiUrlFromPublishableKey(publicEnvs.publishableKey),
28
28
  SDK_METADATA: {
29
29
  name: "@clerk/tanstack-react-start",
30
- version: "1.0.0-snapshot.v20260114124449",
30
+ version: "1.0.0-snapshot.v20260114212940",
31
31
  environment: getEnvVariable("NODE_ENV")
32
32
  }
33
33
  };
@@ -1,8 +1,8 @@
1
1
  export { auth } from './auth.js';
2
2
  export { clerkClient } from './clerkClient.js';
3
3
  export { clerkMiddleware } from './clerkMiddleware.js';
4
- export { ClerkMiddlewareOptions, ClerkMiddlewareOptionsCallback } from './types.js';
5
4
  export { AllowlistIdentifier, Client, EmailAddress, ExternalAccount, Invitation, OauthAccessToken, Organization, OrganizationDomain, OrganizationInvitation, OrganizationMembership, OrganizationMembershipPublicUserData, OrganizationMembershipRole, PhoneNumber, SMSMessage, Session, SignInToken, Token, User, WebhookEvent, WebhookEventType } from '@clerk/backend';
6
5
  import '@clerk/backend/internal';
7
6
  import '@tanstack/react-start';
7
+ import './types.js';
8
8
  import '@clerk/shared/types';
@@ -15,7 +15,6 @@ declare const loadOptions: (request: ClerkRequest, overrides?: LoaderOptions) =>
15
15
  proxyUrl: string;
16
16
  signInUrl: string;
17
17
  signUpUrl: string;
18
- satelliteAutoSync: boolean | undefined;
19
18
  organizationSyncOptions?: _clerk_backend_internal.OrganizationSyncOptions;
20
19
  audience?: string | string[] | undefined;
21
20
  authorizedParties?: string[] | undefined;
@@ -34,7 +33,6 @@ declare const loadOptions: (request: ClerkRequest, overrides?: LoaderOptions) =>
34
33
  proxyUrl: string;
35
34
  signInUrl: string;
36
35
  signUpUrl: string;
37
- satelliteAutoSync: boolean | undefined;
38
36
  organizationSyncOptions?: _clerk_backend_internal.OrganizationSyncOptions;
39
37
  audience?: string | string[] | undefined;
40
38
  authorizedParties?: string[] | undefined;
@@ -53,7 +51,6 @@ declare const loadOptions: (request: ClerkRequest, overrides?: LoaderOptions) =>
53
51
  proxyUrl: string;
54
52
  signInUrl: string;
55
53
  signUpUrl: string;
56
- satelliteAutoSync: boolean | undefined;
57
54
  organizationSyncOptions?: _clerk_backend_internal.OrganizationSyncOptions;
58
55
  audience?: string | string[] | undefined;
59
56
  authorizedParties?: string[] | undefined;
@@ -2,6 +2,7 @@ import { apiUrlFromPublishableKey } from '@clerk/shared/apiUrlFromPublishableKey
2
2
  import { getEnvVariable } from '@clerk/shared/getEnvVariable';
3
3
  import { isDevelopmentFromSecretKey } from '@clerk/shared/keys';
4
4
  import { isProxyUrlRelative, isHttpOrHttps } from '@clerk/shared/proxy';
5
+ import { handleValueOrFn } from '@clerk/shared/utils';
5
6
  import { errorThrower } from '../utils/index.js';
6
7
  import { commonEnvs } from './constants.js';
7
8
 
@@ -13,12 +14,11 @@ var loadOptions = (request, overrides = {}) => {
13
14
  const publishableKey = overrides.publishableKey || commonEnv.PUBLISHABLE_KEY;
14
15
  const jwtKey = overrides.jwtKey || commonEnv.CLERK_JWT_KEY;
15
16
  const apiUrl = getEnvVariable("CLERK_API_URL") || apiUrlFromPublishableKey(publishableKey);
16
- const domain = overrides.domain || commonEnv.DOMAIN;
17
- const isSatellite = overrides.isSatellite || commonEnv.IS_SATELLITE;
18
- const relativeOrAbsoluteProxyUrl = overrides.proxyUrl || commonEnv.PROXY_URL;
17
+ const domain = handleValueOrFn(overrides.domain, new URL(request.url)) || commonEnv.DOMAIN;
18
+ const isSatellite = handleValueOrFn(overrides.isSatellite, new URL(request.url)) || commonEnv.IS_SATELLITE;
19
+ const relativeOrAbsoluteProxyUrl = handleValueOrFn(overrides?.proxyUrl, request.clerkUrl, commonEnv.PROXY_URL);
19
20
  const signInUrl = overrides.signInUrl || commonEnv.SIGN_IN_URL;
20
21
  const signUpUrl = overrides.signUpUrl || commonEnv.SIGN_UP_URL;
21
- const satelliteAutoSync = overrides.satelliteAutoSync;
22
22
  let proxyUrl;
23
23
  if (!!relativeOrAbsoluteProxyUrl && isProxyUrlRelative(relativeOrAbsoluteProxyUrl)) {
24
24
  proxyUrl = new URL(relativeOrAbsoluteProxyUrl, request.clerkUrl).toString();
@@ -46,8 +46,7 @@ var loadOptions = (request, overrides = {}) => {
46
46
  isSatellite,
47
47
  proxyUrl,
48
48
  signInUrl,
49
- signUpUrl,
50
- satelliteAutoSync
49
+ signUpUrl
51
50
  };
52
51
  };
53
52
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/server/loadOptions.ts"],"names":[],"mappings":";;;;;;;;AAUO,IAAM,WAAA,GAAc,CAAC,OAAA,EAAuB,SAAA,GAA2B,EAAC,KAAM;AACnF,EAAA,MAAM,YAAY,UAAA,EAAW;AAC7B,EAAA,MAAM,SAAA,GAAY,SAAA,CAAU,SAAA,IAAa,SAAA,CAAU,UAAA;AACnD,EAAA,MAAM,gBAAA,GAAmB,SAAA,CAAU,gBAAA,IAAoB,SAAA,CAAU,kBAAA;AACjE,EAAA,MAAM,cAAA,GAAiB,SAAA,CAAU,cAAA,IAAkB,SAAA,CAAU,eAAA;AAC7D,EAAA,MAAM,MAAA,GAAS,SAAA,CAAU,MAAA,IAAU,SAAA,CAAU,aAAA;AAC7C,EAAA,MAAM,MAAA,GAAS,cAAA,CAAe,eAAe,CAAA,IAAK,yBAAyB,cAAc,CAAA;AACzF,EAAA,MAAM,MAAA,GAAS,SAAA,CAAU,MAAA,IAAU,SAAA,CAAU,MAAA;AAC7C,EAAA,MAAM,WAAA,GAAc,SAAA,CAAU,WAAA,IAAe,SAAA,CAAU,YAAA;AACvD,EAAA,MAAM,0BAAA,GAA6B,SAAA,CAAU,QAAA,IAAY,SAAA,CAAU,SAAA;AACnE,EAAA,MAAM,SAAA,GAAY,SAAA,CAAU,SAAA,IAAa,SAAA,CAAU,WAAA;AACnD,EAAA,MAAM,SAAA,GAAY,SAAA,CAAU,SAAA,IAAa,SAAA,CAAU,WAAA;AACnD,EAAA,MAAM,oBAAoB,SAAA,CAAU,iBAAA;AAEpC,EAAA,IAAI,QAAA;AACJ,EAAA,IAAI,CAAC,CAAC,0BAAA,IAA8B,kBAAA,CAAmB,0BAA0B,CAAA,EAAG;AAClF,IAAA,QAAA,GAAW,IAAI,GAAA,CAAI,0BAAA,EAA4B,OAAA,CAAQ,QAAQ,EAAE,QAAA,EAAS;AAAA,EAC5E,CAAA,MAAO;AACL,IAAA,QAAA,GAAW,0BAAA;AAAA,EACb;AAEA,EAAA,IAAI,CAAC,SAAA,EAAW;AAEd,IAAA,MAAM,YAAA,CAAa,MAAM,+BAA+B,CAAA;AAAA,EAC1D;AAEA,EAAA,IAAI,WAAA,IAAe,CAAC,QAAA,IAAY,CAAC,MAAA,EAAQ;AAEvC,IAAA,MAAM,YAAA,CAAa,MAAM,sDAAsD,CAAA;AAAA,EACjF;AAEA,EAAA,IAAI,eAAe,CAAC,aAAA,CAAc,SAAS,CAAA,IAAK,0BAAA,CAA2B,SAAS,CAAA,EAAG;AAErF,IAAA,MAAM,YAAA,CAAa,MAAM,4DAA4D,CAAA;AAAA,EACvF;AAEA,EAAA,OAAO;AAAA;AAAA,IAEL,GAAG,SAAA;AAAA,IACH,SAAA;AAAA,IACA,gBAAA;AAAA,IACA,cAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,WAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,GACF;AACF","file":"loadOptions.js","sourcesContent":["import type { ClerkRequest } from '@clerk/backend/internal';\nimport { apiUrlFromPublishableKey } from '@clerk/shared/apiUrlFromPublishableKey';\nimport { getEnvVariable } from '@clerk/shared/getEnvVariable';\nimport { isDevelopmentFromSecretKey } from '@clerk/shared/keys';\nimport { isHttpOrHttps, isProxyUrlRelative } from '@clerk/shared/proxy';\n\nimport { errorThrower } from '../utils';\nimport { commonEnvs } from './constants';\nimport type { LoaderOptions } from './types';\n\nexport const loadOptions = (request: ClerkRequest, overrides: LoaderOptions = {}) => {\n const commonEnv = commonEnvs();\n const secretKey = overrides.secretKey || commonEnv.SECRET_KEY;\n const machineSecretKey = overrides.machineSecretKey || commonEnv.MACHINE_SECRET_KEY;\n const publishableKey = overrides.publishableKey || commonEnv.PUBLISHABLE_KEY;\n const jwtKey = overrides.jwtKey || commonEnv.CLERK_JWT_KEY;\n const apiUrl = getEnvVariable('CLERK_API_URL') || apiUrlFromPublishableKey(publishableKey);\n const domain = overrides.domain || commonEnv.DOMAIN;\n const isSatellite = overrides.isSatellite || commonEnv.IS_SATELLITE;\n const relativeOrAbsoluteProxyUrl = overrides.proxyUrl || commonEnv.PROXY_URL;\n const signInUrl = overrides.signInUrl || commonEnv.SIGN_IN_URL;\n const signUpUrl = overrides.signUpUrl || commonEnv.SIGN_UP_URL;\n const satelliteAutoSync = overrides.satelliteAutoSync;\n\n let proxyUrl;\n if (!!relativeOrAbsoluteProxyUrl && isProxyUrlRelative(relativeOrAbsoluteProxyUrl)) {\n proxyUrl = new URL(relativeOrAbsoluteProxyUrl, request.clerkUrl).toString();\n } else {\n proxyUrl = relativeOrAbsoluteProxyUrl;\n }\n\n if (!secretKey) {\n // eslint-disable-next-line @typescript-eslint/only-throw-error\n throw errorThrower.throw('Clerk: no secret key provided');\n }\n\n if (isSatellite && !proxyUrl && !domain) {\n // eslint-disable-next-line @typescript-eslint/only-throw-error\n throw errorThrower.throw('Clerk: satellite mode requires a proxy URL or domain');\n }\n\n if (isSatellite && !isHttpOrHttps(signInUrl) && isDevelopmentFromSecretKey(secretKey)) {\n // eslint-disable-next-line @typescript-eslint/only-throw-error\n throw errorThrower.throw('Clerk: satellite mode requires a sign-in URL in production');\n }\n\n return {\n // used to append options that are not initialized from env\n ...overrides,\n secretKey,\n machineSecretKey,\n publishableKey,\n jwtKey,\n apiUrl,\n domain,\n isSatellite,\n proxyUrl,\n signInUrl,\n signUpUrl,\n satelliteAutoSync,\n };\n};\n"]}
1
+ {"version":3,"sources":["../../src/server/loadOptions.ts"],"names":[],"mappings":";;;;;;;;;AAWO,IAAM,WAAA,GAAc,CAAC,OAAA,EAAuB,SAAA,GAA2B,EAAC,KAAM;AACnF,EAAA,MAAM,YAAY,UAAA,EAAW;AAC7B,EAAA,MAAM,SAAA,GAAY,SAAA,CAAU,SAAA,IAAa,SAAA,CAAU,UAAA;AACnD,EAAA,MAAM,gBAAA,GAAmB,SAAA,CAAU,gBAAA,IAAoB,SAAA,CAAU,kBAAA;AACjE,EAAA,MAAM,cAAA,GAAiB,SAAA,CAAU,cAAA,IAAkB,SAAA,CAAU,eAAA;AAC7D,EAAA,MAAM,MAAA,GAAS,SAAA,CAAU,MAAA,IAAU,SAAA,CAAU,aAAA;AAC7C,EAAA,MAAM,MAAA,GAAS,cAAA,CAAe,eAAe,CAAA,IAAK,yBAAyB,cAAc,CAAA;AACzF,EAAA,MAAM,MAAA,GAAS,eAAA,CAAgB,SAAA,CAAU,MAAA,EAAQ,IAAI,IAAI,OAAA,CAAQ,GAAG,CAAC,CAAA,IAAK,SAAA,CAAU,MAAA;AACpF,EAAA,MAAM,WAAA,GAAc,eAAA,CAAgB,SAAA,CAAU,WAAA,EAAa,IAAI,IAAI,OAAA,CAAQ,GAAG,CAAC,CAAA,IAAK,SAAA,CAAU,YAAA;AAC9F,EAAA,MAAM,6BAA6B,eAAA,CAAgB,SAAA,EAAW,UAAU,OAAA,CAAQ,QAAA,EAAU,UAAU,SAAS,CAAA;AAC7G,EAAA,MAAM,SAAA,GAAY,SAAA,CAAU,SAAA,IAAa,SAAA,CAAU,WAAA;AACnD,EAAA,MAAM,SAAA,GAAY,SAAA,CAAU,SAAA,IAAa,SAAA,CAAU,WAAA;AAEnD,EAAA,IAAI,QAAA;AACJ,EAAA,IAAI,CAAC,CAAC,0BAAA,IAA8B,kBAAA,CAAmB,0BAA0B,CAAA,EAAG;AAClF,IAAA,QAAA,GAAW,IAAI,GAAA,CAAI,0BAAA,EAA4B,OAAA,CAAQ,QAAQ,EAAE,QAAA,EAAS;AAAA,EAC5E,CAAA,MAAO;AACL,IAAA,QAAA,GAAW,0BAAA;AAAA,EACb;AAEA,EAAA,IAAI,CAAC,SAAA,EAAW;AAEd,IAAA,MAAM,YAAA,CAAa,MAAM,+BAA+B,CAAA;AAAA,EAC1D;AAEA,EAAA,IAAI,WAAA,IAAe,CAAC,QAAA,IAAY,CAAC,MAAA,EAAQ;AAEvC,IAAA,MAAM,YAAA,CAAa,MAAM,sDAAsD,CAAA;AAAA,EACjF;AAEA,EAAA,IAAI,eAAe,CAAC,aAAA,CAAc,SAAS,CAAA,IAAK,0BAAA,CAA2B,SAAS,CAAA,EAAG;AAErF,IAAA,MAAM,YAAA,CAAa,MAAM,4DAA4D,CAAA;AAAA,EACvF;AAEA,EAAA,OAAO;AAAA;AAAA,IAEL,GAAG,SAAA;AAAA,IACH,SAAA;AAAA,IACA,gBAAA;AAAA,IACA,cAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,WAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,GACF;AACF","file":"loadOptions.js","sourcesContent":["import type { ClerkRequest } from '@clerk/backend/internal';\nimport { apiUrlFromPublishableKey } from '@clerk/shared/apiUrlFromPublishableKey';\nimport { getEnvVariable } from '@clerk/shared/getEnvVariable';\nimport { isDevelopmentFromSecretKey } from '@clerk/shared/keys';\nimport { isHttpOrHttps, isProxyUrlRelative } from '@clerk/shared/proxy';\nimport { handleValueOrFn } from '@clerk/shared/utils';\n\nimport { errorThrower } from '../utils';\nimport { commonEnvs } from './constants';\nimport type { LoaderOptions } from './types';\n\nexport const loadOptions = (request: ClerkRequest, overrides: LoaderOptions = {}) => {\n const commonEnv = commonEnvs();\n const secretKey = overrides.secretKey || commonEnv.SECRET_KEY;\n const machineSecretKey = overrides.machineSecretKey || commonEnv.MACHINE_SECRET_KEY;\n const publishableKey = overrides.publishableKey || commonEnv.PUBLISHABLE_KEY;\n const jwtKey = overrides.jwtKey || commonEnv.CLERK_JWT_KEY;\n const apiUrl = getEnvVariable('CLERK_API_URL') || apiUrlFromPublishableKey(publishableKey);\n const domain = handleValueOrFn(overrides.domain, new URL(request.url)) || commonEnv.DOMAIN;\n const isSatellite = handleValueOrFn(overrides.isSatellite, new URL(request.url)) || commonEnv.IS_SATELLITE;\n const relativeOrAbsoluteProxyUrl = handleValueOrFn(overrides?.proxyUrl, request.clerkUrl, commonEnv.PROXY_URL);\n const signInUrl = overrides.signInUrl || commonEnv.SIGN_IN_URL;\n const signUpUrl = overrides.signUpUrl || commonEnv.SIGN_UP_URL;\n\n let proxyUrl;\n if (!!relativeOrAbsoluteProxyUrl && isProxyUrlRelative(relativeOrAbsoluteProxyUrl)) {\n proxyUrl = new URL(relativeOrAbsoluteProxyUrl, request.clerkUrl).toString();\n } else {\n proxyUrl = relativeOrAbsoluteProxyUrl;\n }\n\n if (!secretKey) {\n // eslint-disable-next-line @typescript-eslint/only-throw-error\n throw errorThrower.throw('Clerk: no secret key provided');\n }\n\n if (isSatellite && !proxyUrl && !domain) {\n // eslint-disable-next-line @typescript-eslint/only-throw-error\n throw errorThrower.throw('Clerk: satellite mode requires a proxy URL or domain');\n }\n\n if (isSatellite && !isHttpOrHttps(signInUrl) && isDevelopmentFromSecretKey(secretKey)) {\n // eslint-disable-next-line @typescript-eslint/only-throw-error\n throw errorThrower.throw('Clerk: satellite mode requires a sign-in URL in production');\n }\n\n return {\n // used to append options that are not initialized from env\n ...overrides,\n secretKey,\n machineSecretKey,\n publishableKey,\n jwtKey,\n apiUrl,\n domain,\n isSatellite,\n proxyUrl,\n signInUrl,\n signUpUrl,\n };\n};\n"]}
@@ -1,6 +1,6 @@
1
1
  import { VerifyTokenOptions } from '@clerk/backend';
2
2
  import { OrganizationSyncOptions } from '@clerk/backend/internal';
3
- import { MultiDomainAndOrProxyPrimitives, SignInForceRedirectUrl, SignInFallbackRedirectUrl, SignUpForceRedirectUrl, SignUpFallbackRedirectUrl } from '@clerk/shared/types';
3
+ import { MultiDomainAndOrProxy, SignInForceRedirectUrl, SignInFallbackRedirectUrl, SignUpForceRedirectUrl, SignUpFallbackRedirectUrl } from '@clerk/shared/types';
4
4
 
5
5
  type ClerkMiddlewareOptions = {
6
6
  publishableKey?: string;
@@ -10,29 +10,8 @@ type ClerkMiddlewareOptions = {
10
10
  signInUrl?: string;
11
11
  signUpUrl?: string;
12
12
  organizationSyncOptions?: OrganizationSyncOptions;
13
- /**
14
- * Controls whether satellite apps automatically sync with the primary domain on initial page load.
15
- *
16
- * When `true` (default), satellite apps will automatically trigger a handshake redirect
17
- * to sync authentication state with the primary domain, even if no session cookies exist.
18
- *
19
- * When `false`, satellite apps will skip the automatic handshake if no session cookies exist,
20
- * and only trigger the handshake after an explicit sign-in action (when the `__clerk_sync=1`
21
- * query parameter is present). This optimizes performance for satellite apps where users
22
- * may not be authenticated, avoiding unnecessary redirects to the primary domain.
23
- *
24
- * @default true
25
- */
26
- satelliteAutoSync?: boolean;
27
- } & Pick<VerifyTokenOptions, 'audience' | 'authorizedParties'> & MultiDomainAndOrProxyPrimitives & SignInForceRedirectUrl & SignInFallbackRedirectUrl & SignUpForceRedirectUrl & SignUpFallbackRedirectUrl;
13
+ } & Pick<VerifyTokenOptions, 'audience' | 'authorizedParties'> & MultiDomainAndOrProxy & SignInForceRedirectUrl & SignInFallbackRedirectUrl & SignUpForceRedirectUrl & SignUpFallbackRedirectUrl;
28
14
  type LoaderOptions = ClerkMiddlewareOptions;
29
- /**
30
- * Callback function that receives request context and returns middleware options.
31
- * Allows dynamic configuration based on the current request.
32
- */
33
- type ClerkMiddlewareOptionsCallback = (args: {
34
- url: URL;
35
- }) => ClerkMiddlewareOptions | Promise<ClerkMiddlewareOptions>;
36
15
  type AdditionalStateOptions = SignInFallbackRedirectUrl & SignUpFallbackRedirectUrl & SignInForceRedirectUrl & SignUpForceRedirectUrl;
37
16
 
38
- export type { AdditionalStateOptions, ClerkMiddlewareOptions, ClerkMiddlewareOptionsCallback, LoaderOptions };
17
+ export type { AdditionalStateOptions, ClerkMiddlewareOptions, LoaderOptions };
@@ -1,7 +1,7 @@
1
- import * as _clerk_shared_index_BdI5zNXN from '@clerk/shared/index-BdI5zNXN';
1
+ import * as _clerk_shared_index_D2EaVwjc from '@clerk/shared/index-D2EaVwjc';
2
2
 
3
3
  declare const isClient: () => boolean;
4
4
  declare const isServer: () => boolean;
5
- declare const errorThrower: _clerk_shared_index_BdI5zNXN.Zn;
5
+ declare const errorThrower: _clerk_shared_index_D2EaVwjc.Zn;
6
6
 
7
7
  export { errorThrower, isClient, isServer };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clerk/tanstack-react-start",
3
- "version": "1.0.0-snapshot.v20260114124449",
3
+ "version": "1.0.0-snapshot.v20260114212940",
4
4
  "description": "Clerk SDK for TanStack React Start",
5
5
  "keywords": [
6
6
  "clerk",
@@ -64,9 +64,9 @@
64
64
  ],
65
65
  "dependencies": {
66
66
  "tslib": "2.8.1",
67
- "@clerk/backend": "3.0.0-snapshot.v20260114124449",
68
- "@clerk/shared": "4.0.0-snapshot.v20260114124449",
69
- "@clerk/react": "6.0.0-snapshot.v20260114124449"
67
+ "@clerk/backend": "3.0.0-snapshot.v20260114212940",
68
+ "@clerk/react": "6.0.0-snapshot.v20260114212940",
69
+ "@clerk/shared": "4.0.0-snapshot.v20260114212940"
70
70
  },
71
71
  "devDependencies": {
72
72
  "@tanstack/react-router": "1.132.0",