@clerk/tanstack-react-start 0.25.4-canary.v20251009170317 → 0.26.0-canary.v20251009201027
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/dist/client/ClerkProvider.js +6 -7
- package/dist/client/ClerkProvider.js.map +1 -1
- package/dist/server/auth.d.ts +6 -0
- package/dist/server/auth.js +18 -0
- package/dist/server/auth.js.map +1 -0
- package/dist/server/clerkClient.js +1 -1
- package/dist/server/clerkMiddleware.d.ts +9 -0
- package/dist/server/clerkMiddleware.js +46 -0
- package/dist/server/clerkMiddleware.js.map +1 -0
- package/dist/server/constants.js +1 -1
- package/dist/server/index.d.ts +4 -5
- package/dist/server/index.js +2 -2
- package/dist/server/loadOptions.d.ts +4 -0
- package/dist/server/types.d.ts +5 -2
- package/dist/server/utils/index.d.ts +1 -4
- package/dist/server/utils/index.js +1 -4
- package/dist/server/utils/index.js.map +1 -1
- package/dist/utils/env.d.ts +1 -3
- package/dist/utils/env.js +2 -2
- package/dist/utils/env.js.map +1 -1
- package/dist/utils/errors.d.ts +2 -2
- package/dist/utils/errors.js +4 -7
- package/dist/utils/errors.js.map +1 -1
- package/package.json +9 -9
- package/dist/server/authenticateRequest.d.ts +0 -5
- package/dist/server/authenticateRequest.js +0 -33
- package/dist/server/authenticateRequest.js.map +0 -1
- package/dist/server/errors.d.ts +0 -7
- package/dist/server/errors.js +0 -15
- package/dist/server/errors.js.map +0 -1
- package/dist/server/getAuth.d.ts +0 -5
- package/dist/server/getAuth.js +0 -21
- package/dist/server/getAuth.js.map +0 -1
- package/dist/server/middlewareHandler.d.ts +0 -9
- package/dist/server/middlewareHandler.js +0 -51
- package/dist/server/middlewareHandler.js.map +0 -1
@@ -1,6 +1,7 @@
|
|
1
1
|
import { ClerkProvider as ClerkProvider$1 } from '@clerk/clerk-react';
|
2
2
|
export * from '@clerk/clerk-react';
|
3
|
-
import {
|
3
|
+
import { ScriptOnce } from '@tanstack/react-router';
|
4
|
+
import { getGlobalStartContext } from '@tanstack/react-start';
|
4
5
|
import { useEffect } from 'react';
|
5
6
|
import { isClient } from '../utils/index.js';
|
6
7
|
import { ClerkOptionsProvider } from './OptionsContext.js';
|
@@ -11,25 +12,23 @@ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
11
12
|
// src/client/ClerkProvider.tsx
|
12
13
|
var SDK_METADATA = {
|
13
14
|
name: "@clerk/tanstack-react-start",
|
14
|
-
version: "0.
|
15
|
+
version: "0.26.0-canary.v20251009201027"
|
15
16
|
};
|
16
17
|
var awaitableNavigateRef = { current: void 0 };
|
17
18
|
function ClerkProvider({ children, ...providerProps }) {
|
18
19
|
const awaitableNavigate = useAwaitableNavigate();
|
19
|
-
const
|
20
|
-
strict: false
|
21
|
-
});
|
20
|
+
const clerkInitialState = getGlobalStartContext()?.clerkInitialState ?? {};
|
22
21
|
useEffect(() => {
|
23
22
|
awaitableNavigateRef.current = awaitableNavigate;
|
24
23
|
}, [awaitableNavigate]);
|
25
|
-
const clerkInitState = isClient() ? window.__clerk_init_state :
|
24
|
+
const clerkInitState = isClient() ? window.__clerk_init_state : clerkInitialState;
|
26
25
|
const { clerkSsrState, ...restInitState } = pickFromClerkInitState(clerkInitState?.__internal_clerk_state);
|
27
26
|
const mergedProps = {
|
28
27
|
...mergeWithPublicEnvs(restInitState),
|
29
28
|
...providerProps
|
30
29
|
};
|
31
30
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
32
|
-
/* @__PURE__ */ jsx(ScriptOnce, { children: `window.__clerk_init_state = ${JSON.stringify(
|
31
|
+
/* @__PURE__ */ jsx(ScriptOnce, { children: `window.__clerk_init_state = ${JSON.stringify(clerkInitialState)};` }),
|
33
32
|
/* @__PURE__ */ jsx(ClerkOptionsProvider, { options: mergedProps, children: /* @__PURE__ */ jsx(
|
34
33
|
ClerkProvider$1,
|
35
34
|
{
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/client/ClerkProvider.tsx"],"names":["ReactClerkProvider"],"mappings":"
|
1
|
+
{"version":3,"sources":["../../src/client/ClerkProvider.tsx"],"names":["ReactClerkProvider"],"mappings":";;;;;;;;;;;;AAaA,IAAM,YAAA,GAAe;AAAA,EACnB,IAAA,EAAM,6BAAA;AAAA,EACN,OAAA,EAAS;AACX,CAAA;AAEA,IAAM,oBAAA,GAAyF,EAAE,OAAA,EAAS,MAAA,EAAU;AAE7G,SAAS,aAAA,CAAc,EAAE,QAAA,EAAU,GAAG,eAAc,EAAiD;AAC1G,EAAA,MAAM,oBAAoB,oBAAA,EAAqB;AAE/C,EAAA,MAAM,iBAAA,GAAoB,qBAAA,EAAsB,EAAG,iBAAA,IAAqB,EAAC;AAEzE,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,oBAAA,CAAqB,OAAA,GAAU,iBAAA;AAAA,EACjC,CAAA,EAAG,CAAC,iBAAiB,CAAC,CAAA;AAEtB,EAAA,MAAM,cAAA,GAAiB,QAAA,EAAS,GAAK,MAAA,CAAe,kBAAA,GAAqB,iBAAA;AAEzE,EAAA,MAAM,EAAE,aAAA,EAAe,GAAG,eAAc,GAAI,sBAAA,CAAuB,gBAAgB,sBAAsB,CAAA;AAEzG,EAAA,MAAM,WAAA,GAAc;AAAA,IAClB,GAAG,oBAAoB,aAAa,CAAA;AAAA,IACpC,GAAG;AAAA,GACL;AAEA,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,cAAY,QAAA,EAAA,CAAA,4BAAA,EAA+B,IAAA,CAAK,SAAA,CAAU,iBAAiB,CAAC,CAAA,CAAA,CAAA,EAAI,CAAA;AAAA,oBACjF,GAAA,CAAC,oBAAA,EAAA,EAAqB,OAAA,EAAS,WAAA,EAC7B,QAAA,kBAAA,GAAA;AAAA,MAACA,eAAA;AAAA,MAAA;AAAA,QACC,YAAA,EAAc,aAAA;AAAA,QACd,WAAA,EAAa,YAAA;AAAA,QACb,UAAA,EAAY,CAAC,EAAA,KACX,oBAAA,CAAqB,OAAA,GAAU;AAAA,UAC7B,EAAA;AAAA,UACA,OAAA,EAAS;AAAA,SACV,CAAA;AAAA,QAEH,aAAA,EAAe,CAAC,EAAA,KACd,oBAAA,CAAqB,OAAA,GAAU;AAAA,UAC7B,EAAA;AAAA,UACA,OAAA,EAAS;AAAA,SACV,CAAA;AAAA,QAEF,GAAG,WAAA;AAAA,QAEH;AAAA;AAAA,KACH,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;AACA,aAAA,CAAc,WAAA,GAAc,eAAA","file":"ClerkProvider.js","sourcesContent":["import { ClerkProvider as ReactClerkProvider } from '@clerk/clerk-react';\nimport { ScriptOnce } from '@tanstack/react-router';\nimport { getGlobalStartContext } from '@tanstack/react-start';\nimport { useEffect } from 'react';\n\nimport { isClient } from '../utils';\nimport { ClerkOptionsProvider } from './OptionsContext';\nimport type { TanstackStartClerkProviderProps } from './types';\nimport { useAwaitableNavigate } from './useAwaitableNavigate';\nimport { mergeWithPublicEnvs, pickFromClerkInitState } from './utils';\n\nexport * from '@clerk/clerk-react';\n\nconst SDK_METADATA = {\n name: PACKAGE_NAME,\n version: PACKAGE_VERSION,\n};\n\nconst awaitableNavigateRef: { current: ReturnType<typeof useAwaitableNavigate> | undefined } = { current: undefined };\n\nexport function ClerkProvider({ children, ...providerProps }: TanstackStartClerkProviderProps): JSX.Element {\n const awaitableNavigate = useAwaitableNavigate();\n // @ts-expect-error: Untyped internal Clerk initial state\n const clerkInitialState = getGlobalStartContext()?.clerkInitialState ?? {};\n\n useEffect(() => {\n awaitableNavigateRef.current = awaitableNavigate;\n }, [awaitableNavigate]);\n\n const clerkInitState = isClient() ? (window as any).__clerk_init_state : clerkInitialState;\n\n const { clerkSsrState, ...restInitState } = pickFromClerkInitState(clerkInitState?.__internal_clerk_state);\n\n const mergedProps = {\n ...mergeWithPublicEnvs(restInitState),\n ...providerProps,\n };\n\n return (\n <>\n <ScriptOnce>{`window.__clerk_init_state = ${JSON.stringify(clerkInitialState)};`}</ScriptOnce>\n <ClerkOptionsProvider options={mergedProps}>\n <ReactClerkProvider\n initialState={clerkSsrState}\n sdkMetadata={SDK_METADATA}\n routerPush={(to: string) =>\n awaitableNavigateRef.current?.({\n to,\n replace: false,\n })\n }\n routerReplace={(to: string) =>\n awaitableNavigateRef.current?.({\n to,\n replace: true,\n })\n }\n {...mergedProps}\n >\n {children}\n </ReactClerkProvider>\n </ClerkOptionsProvider>\n </>\n );\n}\nClerkProvider.displayName = 'ClerkProvider';\n"]}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import { getAuthObjectForAcceptedToken } from '@clerk/backend/internal';
|
2
|
+
import { getGlobalStartContext } from '@tanstack/react-start';
|
3
|
+
import { errorThrower } from '../utils/index.js';
|
4
|
+
import { clerkMiddlewareNotConfigured } from '../utils/errors.js';
|
5
|
+
|
6
|
+
// src/server/auth.ts
|
7
|
+
var auth = async (opts) => {
|
8
|
+
const authObjectFn = getGlobalStartContext().auth;
|
9
|
+
if (!authObjectFn) {
|
10
|
+
return errorThrower.throw(clerkMiddlewareNotConfigured);
|
11
|
+
}
|
12
|
+
const authObject = await Promise.resolve(authObjectFn({ treatPendingAsSignedOut: opts?.treatPendingAsSignedOut }));
|
13
|
+
return getAuthObjectForAcceptedToken({ authObject, acceptsToken: opts?.acceptsToken });
|
14
|
+
};
|
15
|
+
|
16
|
+
export { auth };
|
17
|
+
//# sourceMappingURL=auth.js.map
|
18
|
+
//# sourceMappingURL=auth.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../src/server/auth.ts"],"names":[],"mappings":";;;;;;AAQO,IAAM,IAAA,GAAqD,OAAO,IAAA,KAAuB;AAE9F,EAAA,MAAM,YAAA,GAAe,uBAAsB,CAAE,IAAA;AAE7C,EAAA,IAAI,CAAC,YAAA,EAAc;AACjB,IAAA,OAAO,YAAA,CAAa,MAAM,4BAA4B,CAAA;AAAA,EACxD;AAGA,EAAA,MAAM,UAAA,GAAa,MAAM,OAAA,CAAQ,OAAA,CAAQ,YAAA,CAAa,EAAE,uBAAA,EAAyB,IAAA,EAAM,uBAAA,EAAyB,CAAC,CAAA;AAEjH,EAAA,OAAO,8BAA8B,EAAE,UAAA,EAAY,YAAA,EAAc,IAAA,EAAM,cAAc,CAAA;AACvF","file":"auth.js","sourcesContent":["import type { SessionAuthObject } from '@clerk/backend';\nimport type { AuthOptions, GetAuthFnNoRequest } from '@clerk/backend/internal';\nimport { getAuthObjectForAcceptedToken } from '@clerk/backend/internal';\nimport { getGlobalStartContext } from '@tanstack/react-start';\n\nimport { errorThrower } from '../utils';\nimport { clerkMiddlewareNotConfigured } from '../utils/errors';\n\nexport const auth: GetAuthFnNoRequest<SessionAuthObject, true> = (async (opts?: AuthOptions) => {\n // @ts-expect-error: Untyped internal Clerk start context\n const authObjectFn = getGlobalStartContext().auth;\n\n if (!authObjectFn) {\n return errorThrower.throw(clerkMiddlewareNotConfigured);\n }\n\n // We're keeping it a promise for now for future changes\n const authObject = await Promise.resolve(authObjectFn({ treatPendingAsSignedOut: opts?.treatPendingAsSignedOut }));\n\n return getAuthObjectForAcceptedToken({ authObject, acceptsToken: opts?.acceptsToken });\n}) as GetAuthFnNoRequest<SessionAuthObject, true>;\n"]}
|
@@ -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"}@${"0.
|
13
|
+
userAgent: `${"@clerk/tanstack-react-start"}@${"0.26.0-canary.v20251009201027"}`,
|
14
14
|
proxyUrl: commonEnv.PROXY_URL,
|
15
15
|
domain: commonEnv.DOMAIN,
|
16
16
|
isSatellite: commonEnv.IS_SATELLITE,
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import { AnyRequestMiddleware } from '@tanstack/react-start';
|
2
|
+
import { ClerkMiddlewareOptions } from './types.js';
|
3
|
+
import '@clerk/backend';
|
4
|
+
import '@clerk/backend/internal';
|
5
|
+
import '@clerk/types';
|
6
|
+
|
7
|
+
declare const clerkMiddleware: (options?: ClerkMiddlewareOptions) => AnyRequestMiddleware;
|
8
|
+
|
9
|
+
export { clerkMiddleware };
|
@@ -0,0 +1,46 @@
|
|
1
|
+
import { constants, AuthStatus } from '@clerk/backend/internal';
|
2
|
+
import { handleNetlifyCacheInDevInstance } from '@clerk/shared/netlifyCacheHandler';
|
3
|
+
import { createMiddleware, json } from '@tanstack/react-start';
|
4
|
+
import { clerkClient } from './clerkClient.js';
|
5
|
+
import { loadOptions } from './loadOptions.js';
|
6
|
+
import { getResponseClerkState } from './utils/index.js';
|
7
|
+
|
8
|
+
// src/server/clerkMiddleware.ts
|
9
|
+
var clerkMiddleware = (options) => {
|
10
|
+
return createMiddleware().server(async (args) => {
|
11
|
+
const loadedOptions = loadOptions(args.request, options);
|
12
|
+
const requestState = await clerkClient().authenticateRequest(args.request, {
|
13
|
+
...loadedOptions,
|
14
|
+
acceptsToken: "any"
|
15
|
+
});
|
16
|
+
const locationHeader = requestState.headers.get(constants.Headers.Location);
|
17
|
+
if (locationHeader) {
|
18
|
+
handleNetlifyCacheInDevInstance({
|
19
|
+
locationHeader,
|
20
|
+
requestStateHeaders: requestState.headers,
|
21
|
+
publishableKey: requestState.publishableKey
|
22
|
+
});
|
23
|
+
throw json(null, { status: 307, headers: requestState.headers });
|
24
|
+
}
|
25
|
+
if (requestState.status === AuthStatus.Handshake) {
|
26
|
+
throw new Error("Clerk: handshake status without redirect");
|
27
|
+
}
|
28
|
+
const clerkInitialState = getResponseClerkState(requestState, loadedOptions);
|
29
|
+
const result = await args.next({
|
30
|
+
context: {
|
31
|
+
clerkInitialState,
|
32
|
+
auth: (opts) => requestState.toAuth(opts)
|
33
|
+
}
|
34
|
+
});
|
35
|
+
if (requestState.headers) {
|
36
|
+
requestState.headers.forEach((value, key) => {
|
37
|
+
result.response.headers.append(key, value);
|
38
|
+
});
|
39
|
+
}
|
40
|
+
return result;
|
41
|
+
});
|
42
|
+
};
|
43
|
+
|
44
|
+
export { clerkMiddleware };
|
45
|
+
//# sourceMappingURL=clerkMiddleware.js.map
|
46
|
+
//# sourceMappingURL=clerkMiddleware.js.map
|
@@ -0,0 +1 @@
|
|
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,aAAA,GAAgB,WAAA,CAAY,IAAA,CAAK,OAAA,EAAS,OAAO,CAAA;AACvD,IAAA,MAAM,eAAe,MAAM,WAAA,EAAY,CAAE,mBAAA,CAAoB,KAAK,OAAA,EAAS;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 } from '@clerk/backend/internal';\nimport { handleNetlifyCacheInDevInstance } from '@clerk/shared/netlifyCacheHandler';\nimport type { PendingSessionOptions } from '@clerk/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 } from './utils';\n\nexport const clerkMiddleware = (options?: ClerkMiddlewareOptions): AnyRequestMiddleware => {\n return createMiddleware().server(async args => {\n const loadedOptions = loadOptions(args.request, options);\n const requestState = await clerkClient().authenticateRequest(args.request, {\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"]}
|
package/dist/server/constants.js
CHANGED
@@ -26,7 +26,7 @@ var commonEnvs = () => {
|
|
26
26
|
API_URL: getEnvVariable("CLERK_API_URL") || apiUrlFromPublishableKey(publicEnvs.publishableKey),
|
27
27
|
SDK_METADATA: {
|
28
28
|
name: "@clerk/tanstack-react-start",
|
29
|
-
version: "0.
|
29
|
+
version: "0.26.0-canary.v20251009201027",
|
30
30
|
environment: getEnvVariable("NODE_ENV")
|
31
31
|
}
|
32
32
|
};
|
package/dist/server/index.d.ts
CHANGED
@@ -1,9 +1,8 @@
|
|
1
|
-
export {
|
2
|
-
export { getAuth } from './getAuth.js';
|
1
|
+
export { auth } from './auth.js';
|
3
2
|
export { clerkClient } from './clerkClient.js';
|
3
|
+
export { clerkMiddleware } from './clerkMiddleware.js';
|
4
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';
|
5
|
-
import '@
|
6
|
-
import '@tanstack/react-start
|
5
|
+
import '@clerk/backend/internal';
|
6
|
+
import '@tanstack/react-start';
|
7
7
|
import './types.js';
|
8
8
|
import '@clerk/types';
|
9
|
-
import '@clerk/backend/internal';
|
package/dist/server/index.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
export
|
2
|
-
export * from './getAuth.js';
|
1
|
+
export { auth } from './auth.js';
|
3
2
|
export { clerkClient } from './clerkClient.js';
|
3
|
+
export { clerkMiddleware } from './clerkMiddleware.js';
|
4
4
|
//# sourceMappingURL=index.js.map
|
5
5
|
//# sourceMappingURL=index.js.map
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import * as _clerk_backend_internal from '@clerk/backend/internal';
|
1
2
|
import { LoaderOptions } from './types.js';
|
2
3
|
import '@clerk/backend';
|
3
4
|
import '@clerk/types';
|
@@ -15,6 +16,7 @@ declare const loadOptions: (request: Request, overrides?: LoaderOptions) => {
|
|
15
16
|
signUpUrl: string;
|
16
17
|
afterSignInUrl: string;
|
17
18
|
afterSignUpUrl: string;
|
19
|
+
organizationSyncOptions?: _clerk_backend_internal.OrganizationSyncOptions;
|
18
20
|
audience?: string | string[] | undefined;
|
19
21
|
authorizedParties?: string[] | undefined;
|
20
22
|
signInForceRedirectUrl?: string | null;
|
@@ -35,6 +37,7 @@ declare const loadOptions: (request: Request, overrides?: LoaderOptions) => {
|
|
35
37
|
signUpUrl: string;
|
36
38
|
afterSignInUrl: string;
|
37
39
|
afterSignUpUrl: string;
|
40
|
+
organizationSyncOptions?: _clerk_backend_internal.OrganizationSyncOptions;
|
38
41
|
audience?: string | string[] | undefined;
|
39
42
|
authorizedParties?: string[] | undefined;
|
40
43
|
signInForceRedirectUrl?: string | null;
|
@@ -55,6 +58,7 @@ declare const loadOptions: (request: Request, overrides?: LoaderOptions) => {
|
|
55
58
|
signUpUrl: string;
|
56
59
|
afterSignInUrl: string;
|
57
60
|
afterSignUpUrl: string;
|
61
|
+
organizationSyncOptions?: _clerk_backend_internal.OrganizationSyncOptions;
|
58
62
|
audience?: string | string[] | undefined;
|
59
63
|
authorizedParties?: string[] | undefined;
|
60
64
|
signInForceRedirectUrl?: string | null;
|
package/dist/server/types.d.ts
CHANGED
@@ -1,14 +1,17 @@
|
|
1
1
|
import { VerifyTokenOptions } from '@clerk/backend';
|
2
|
+
import { OrganizationSyncOptions } from '@clerk/backend/internal';
|
2
3
|
import { MultiDomainAndOrProxy, SignInForceRedirectUrl, SignInFallbackRedirectUrl, SignUpForceRedirectUrl, SignUpFallbackRedirectUrl, LegacyRedirectProps } from '@clerk/types';
|
3
4
|
|
4
|
-
type
|
5
|
+
type ClerkMiddlewareOptions = {
|
5
6
|
publishableKey?: string;
|
6
7
|
jwtKey?: string;
|
7
8
|
secretKey?: string;
|
8
9
|
machineSecretKey?: string;
|
9
10
|
signInUrl?: string;
|
10
11
|
signUpUrl?: string;
|
12
|
+
organizationSyncOptions?: OrganizationSyncOptions;
|
11
13
|
} & Pick<VerifyTokenOptions, 'audience' | 'authorizedParties'> & MultiDomainAndOrProxy & SignInForceRedirectUrl & SignInFallbackRedirectUrl & SignUpForceRedirectUrl & SignUpFallbackRedirectUrl & LegacyRedirectProps;
|
14
|
+
type LoaderOptions = ClerkMiddlewareOptions;
|
12
15
|
type AdditionalStateOptions = SignInFallbackRedirectUrl & SignUpFallbackRedirectUrl & SignInForceRedirectUrl & SignUpForceRedirectUrl;
|
13
16
|
|
14
|
-
export type { AdditionalStateOptions, LoaderOptions };
|
17
|
+
export type { AdditionalStateOptions, ClerkMiddlewareOptions, LoaderOptions };
|
@@ -18,10 +18,7 @@ declare const wrapWithClerkState: (data: any) => {
|
|
18
18
|
* @internal
|
19
19
|
*/
|
20
20
|
declare function getResponseClerkState(requestState: RequestState, additionalStateOptions?: AdditionalStateOptions): {
|
21
|
-
|
22
|
-
__internal_clerk_state: any;
|
23
|
-
};
|
24
|
-
headers: Headers;
|
21
|
+
__internal_clerk_state: any;
|
25
22
|
};
|
26
23
|
/**
|
27
24
|
* Patches request to avoid duplex issues with unidici
|
@@ -28,10 +28,7 @@ function getResponseClerkState(requestState, additionalStateOptions = {}) {
|
|
28
28
|
__signInFallbackRedirectUrl: additionalStateOptions.signInFallbackRedirectUrl || getEnvVariable("CLERK_SIGN_IN_FALLBACK_REDIRECT_URL") || "",
|
29
29
|
__signUpFallbackRedirectUrl: additionalStateOptions.signUpFallbackRedirectUrl || getEnvVariable("CLERK_SIGN_UP_FALLBACK_REDIRECT_URL") || ""
|
30
30
|
});
|
31
|
-
return
|
32
|
-
clerkInitialState,
|
33
|
-
headers: requestState.headers
|
34
|
-
};
|
31
|
+
return clerkInitialState;
|
35
32
|
}
|
36
33
|
var patchRequest = (request) => {
|
37
34
|
const clonedRequest = new Request(request.url, {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/server/utils/index.ts"],"names":[],"mappings":";;;;;AAaO,IAAM,kBAAA,GAAqB,CAAC,IAAA,KAAc;AAC/C,EAAA,OAAO,EAAE,sBAAA,EAAwB,EAAE,GAAG,MAAK,EAAE;AAC/C;AAOO,SAAS,qBAAA,CAAsB,YAAA,EAA4B,sBAAA,GAAiD,EAAC,EAAG;AACrH,EAAA,MAAM,EAAE,MAAA,EAAQ,OAAA,EAAS,UAAA,EAAY,GAAG,MAAK,GAAI,YAAA;AAEjD,EAAA,MAAM,oBAAoB,kBAAA,CAAmB;AAAA,IAC3C,iBAAA,EAAmB,KAAK,MAAA,EAAO;AAAA,IAC/B,kBAAkB,YAAA,CAAa,cAAA;AAAA,IAC/B,YAAY,YAAA,CAAa,QAAA;AAAA,IACzB,UAAU,YAAA,CAAa,MAAA;AAAA,IACvB,eAAe,YAAA,CAAa,WAAA;AAAA,IAC5B,aAAa,YAAA,CAAa,SAAA;AAAA,IAC1B,aAAa,YAAA,CAAa,SAAA;AAAA,IAC1B,kBAAkB,YAAA,CAAa,cAAA;AAAA,IAC/B,kBAAkB,YAAA,CAAa,cAAA;AAAA,IAC/B,aAAA,EAAe,kBAAkB,YAAY,CAAA;AAAA,IAC7C,YAAA,EAAc,eAAe,UAAU,CAAA;AAAA,IACvC,gBAAA,EAAkB,eAAe,kBAAkB,CAAA;AAAA,IACnD,mBAAA,EAAqB,QAAA,CAAS,cAAA,CAAe,0BAA0B,CAAC,CAAA;AAAA,IACxE,gBAAA,EAAkB,QAAA,CAAS,cAAA,CAAe,uBAAuB,CAAC,CAAA;AAAA,IAClE,wBAAA,EACE,sBAAA,CAAuB,sBAAA,IAA0B,cAAA,CAAe,kCAAkC,CAAA,IAAK,EAAA;AAAA,IACzG,wBAAA,EACE,sBAAA,CAAuB,sBAAA,IAA0B,cAAA,CAAe,kCAAkC,CAAA,IAAK,EAAA;AAAA,IACzG,2BAAA,EACE,sBAAA,CAAuB,yBAAA,IAA6B,cAAA,CAAe,qCAAqC,CAAA,IAAK,EAAA;AAAA,IAC/G,2BAAA,EACE,sBAAA,CAAuB,yBAAA,IAA6B,cAAA,CAAe,qCAAqC,CAAA,IAAK;AAAA,GAChH,CAAA;AAED,EAAA,OAAO
|
1
|
+
{"version":3,"sources":["../../../src/server/utils/index.ts"],"names":[],"mappings":";;;;;AAaO,IAAM,kBAAA,GAAqB,CAAC,IAAA,KAAc;AAC/C,EAAA,OAAO,EAAE,sBAAA,EAAwB,EAAE,GAAG,MAAK,EAAE;AAC/C;AAOO,SAAS,qBAAA,CAAsB,YAAA,EAA4B,sBAAA,GAAiD,EAAC,EAAG;AACrH,EAAA,MAAM,EAAE,MAAA,EAAQ,OAAA,EAAS,UAAA,EAAY,GAAG,MAAK,GAAI,YAAA;AAEjD,EAAA,MAAM,oBAAoB,kBAAA,CAAmB;AAAA,IAC3C,iBAAA,EAAmB,KAAK,MAAA,EAAO;AAAA,IAC/B,kBAAkB,YAAA,CAAa,cAAA;AAAA,IAC/B,YAAY,YAAA,CAAa,QAAA;AAAA,IACzB,UAAU,YAAA,CAAa,MAAA;AAAA,IACvB,eAAe,YAAA,CAAa,WAAA;AAAA,IAC5B,aAAa,YAAA,CAAa,SAAA;AAAA,IAC1B,aAAa,YAAA,CAAa,SAAA;AAAA,IAC1B,kBAAkB,YAAA,CAAa,cAAA;AAAA,IAC/B,kBAAkB,YAAA,CAAa,cAAA;AAAA,IAC/B,aAAA,EAAe,kBAAkB,YAAY,CAAA;AAAA,IAC7C,YAAA,EAAc,eAAe,UAAU,CAAA;AAAA,IACvC,gBAAA,EAAkB,eAAe,kBAAkB,CAAA;AAAA,IACnD,mBAAA,EAAqB,QAAA,CAAS,cAAA,CAAe,0BAA0B,CAAC,CAAA;AAAA,IACxE,gBAAA,EAAkB,QAAA,CAAS,cAAA,CAAe,uBAAuB,CAAC,CAAA;AAAA,IAClE,wBAAA,EACE,sBAAA,CAAuB,sBAAA,IAA0B,cAAA,CAAe,kCAAkC,CAAA,IAAK,EAAA;AAAA,IACzG,wBAAA,EACE,sBAAA,CAAuB,sBAAA,IAA0B,cAAA,CAAe,kCAAkC,CAAA,IAAK,EAAA;AAAA,IACzG,2BAAA,EACE,sBAAA,CAAuB,yBAAA,IAA6B,cAAA,CAAe,qCAAqC,CAAA,IAAK,EAAA;AAAA,IAC/G,2BAAA,EACE,sBAAA,CAAuB,yBAAA,IAA6B,cAAA,CAAe,qCAAqC,CAAA,IAAK;AAAA,GAChH,CAAA;AAED,EAAA,OAAO,iBAAA;AACT;AASO,IAAM,YAAA,GAAe,CAAC,OAAA,KAAqB;AAChD,EAAA,MAAM,aAAA,GAAgB,IAAI,OAAA,CAAQ,OAAA,CAAQ,GAAA,EAAK;AAAA,IAC7C,SAAS,OAAA,CAAQ,OAAA;AAAA,IACjB,QAAQ,OAAA,CAAQ,MAAA;AAAA,IAChB,UAAU,OAAA,CAAQ,QAAA;AAAA,IAClB,OAAO,OAAA,CAAQ,KAAA;AAAA,IACf,QAAQ,OAAA,CAAQ;AAAA,GACjB,CAAA;AAGD,EAAA,IAAI,aAAA,CAAc,WAAW,KAAA,IAAS,aAAA,CAAc,SAAS,IAAA,IAAQ,EAAE,YAAY,aAAA,CAAA,EAAgB;AACjG,IAAC,cAAgD,MAAA,GAAS,MAAA;AAAA,EAC5D;AAEA,EAAA,OAAO,aAAA;AACT","file":"index.js","sourcesContent":["import type { RequestState } from '@clerk/backend/internal';\nimport { debugRequestState } from '@clerk/backend/internal';\nimport { getEnvVariable } from '@clerk/shared/getEnvVariable';\nimport { isTruthy } from '@clerk/shared/underscore';\n\nimport type { AdditionalStateOptions } from '../types';\n\n/**\n * Wraps obscured clerk internals with a readable `clerkState` key.\n * This is intended to be passed into <ClerkProvider>\n *\n * @internal\n */\nexport const wrapWithClerkState = (data: any) => {\n return { __internal_clerk_state: { ...data } };\n};\n\n/**\n * Returns the clerk state object and observability headers to be injected into a context.\n *\n * @internal\n */\nexport function getResponseClerkState(requestState: RequestState, additionalStateOptions: AdditionalStateOptions = {}) {\n const { reason, message, isSignedIn, ...rest } = requestState;\n\n const clerkInitialState = wrapWithClerkState({\n __clerk_ssr_state: rest.toAuth(),\n __publishableKey: requestState.publishableKey,\n __proxyUrl: requestState.proxyUrl,\n __domain: requestState.domain,\n __isSatellite: requestState.isSatellite,\n __signInUrl: requestState.signInUrl,\n __signUpUrl: requestState.signUpUrl,\n __afterSignInUrl: requestState.afterSignInUrl,\n __afterSignUpUrl: requestState.afterSignUpUrl,\n __clerk_debug: debugRequestState(requestState),\n __clerkJSUrl: getEnvVariable('CLERK_JS'),\n __clerkJSVersion: getEnvVariable('CLERK_JS_VERSION'),\n __telemetryDisabled: isTruthy(getEnvVariable('CLERK_TELEMETRY_DISABLED')),\n __telemetryDebug: isTruthy(getEnvVariable('CLERK_TELEMETRY_DEBUG')),\n __signInForceRedirectUrl:\n additionalStateOptions.signInForceRedirectUrl || getEnvVariable('CLERK_SIGN_IN_FORCE_REDIRECT_URL') || '',\n __signUpForceRedirectUrl:\n additionalStateOptions.signUpForceRedirectUrl || getEnvVariable('CLERK_SIGN_UP_FORCE_REDIRECT_URL') || '',\n __signInFallbackRedirectUrl:\n additionalStateOptions.signInFallbackRedirectUrl || getEnvVariable('CLERK_SIGN_IN_FALLBACK_REDIRECT_URL') || '',\n __signUpFallbackRedirectUrl:\n additionalStateOptions.signUpFallbackRedirectUrl || getEnvVariable('CLERK_SIGN_UP_FALLBACK_REDIRECT_URL') || '',\n });\n\n return clerkInitialState;\n}\n\n/**\n * Patches request to avoid duplex issues with unidici\n * For more information, see:\n * https://github.com/nodejs/node/issues/46221\n * https://github.com/whatwg/fetch/pull/1457\n * @internal\n */\nexport const patchRequest = (request: Request) => {\n const clonedRequest = new Request(request.url, {\n headers: request.headers,\n method: request.method,\n redirect: request.redirect,\n cache: request.cache,\n signal: request.signal,\n });\n\n // If duplex is not set, set it to 'half' to avoid duplex issues with unidici\n if (clonedRequest.method !== 'GET' && clonedRequest.body !== null && !('duplex' in clonedRequest)) {\n (clonedRequest as unknown as { duplex: 'half' }).duplex = 'half';\n }\n\n return clonedRequest;\n};\n"]}
|
package/dist/utils/env.d.ts
CHANGED
@@ -1,6 +1,4 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
declare const getPublicEnvVariables: (context?: H3EventContext) => {
|
1
|
+
declare const getPublicEnvVariables: () => {
|
4
2
|
readonly publishableKey: string;
|
5
3
|
readonly domain: string;
|
6
4
|
readonly isSatellite: boolean;
|
package/dist/utils/env.js
CHANGED
@@ -2,9 +2,9 @@ import { getEnvVariable } from '@clerk/shared/getEnvVariable';
|
|
2
2
|
import { isTruthy } from '@clerk/shared/underscore';
|
3
3
|
|
4
4
|
// src/utils/env.ts
|
5
|
-
var getPublicEnvVariables = (
|
5
|
+
var getPublicEnvVariables = () => {
|
6
6
|
const getValue = (name) => {
|
7
|
-
return getEnvVariable(`VITE_${name}
|
7
|
+
return getEnvVariable(`VITE_${name}`) || getEnvVariable(name);
|
8
8
|
};
|
9
9
|
return {
|
10
10
|
publishableKey: getValue("CLERK_PUBLISHABLE_KEY"),
|
package/dist/utils/env.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/utils/env.ts"],"names":[],"mappings":";;;;
|
1
|
+
{"version":3,"sources":["../../src/utils/env.ts"],"names":[],"mappings":";;;;AAGO,IAAM,wBAAwB,MAAM;AACzC,EAAA,MAAM,QAAA,GAAW,CAAC,IAAA,KAAyB;AACzC,IAAA,OAAO,eAAe,CAAA,KAAA,EAAQ,IAAI,CAAA,CAAE,CAAA,IAAK,eAAe,IAAI,CAAA;AAAA,EAC9D,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,cAAA,EAAgB,SAAS,uBAAuB,CAAA;AAAA,IAChD,MAAA,EAAQ,SAAS,cAAc,CAAA;AAAA,IAC/B,WAAA,EAAa,QAAA,CAAS,QAAA,CAAS,oBAAoB,CAAC,CAAA;AAAA,IACpD,QAAA,EAAU,SAAS,iBAAiB,CAAA;AAAA,IACpC,SAAA,EAAW,SAAS,mBAAmB,CAAA;AAAA,IACvC,SAAA,EAAW,SAAS,mBAAmB,CAAA;AAAA,IACvC,UAAA,EAAY,QAAA,CAAS,cAAc,CAAA,IAAK,SAAS,UAAU,CAAA;AAAA,IAC3D,cAAA,EAAgB,SAAS,kBAAkB,CAAA;AAAA,IAC3C,cAAA,EAAgB,SAAS,kBAAkB,CAAA;AAAA,IAC3C,iBAAA,EAAmB,QAAA,CAAS,QAAA,CAAS,0BAA0B,CAAC,CAAA;AAAA,IAChE,cAAA,EAAgB,QAAA,CAAS,QAAA,CAAS,uBAAuB,CAAC,CAAA;AAAA,IAC1D,cAAA,EAAgB,SAAS,yBAAyB,CAAA;AAAA,IAClD,cAAA,EAAgB,SAAS,yBAAyB,CAAA;AAAA,IAClD,0BAAA,EAA4B,SAAS,6BAA6B;AAAA,GACpE;AACF","file":"env.js","sourcesContent":["import { getEnvVariable } from '@clerk/shared/getEnvVariable';\nimport { isTruthy } from '@clerk/shared/underscore';\n\nexport const getPublicEnvVariables = () => {\n const getValue = (name: string): string => {\n return getEnvVariable(`VITE_${name}`) || getEnvVariable(name);\n };\n\n return {\n publishableKey: getValue('CLERK_PUBLISHABLE_KEY'),\n domain: getValue('CLERK_DOMAIN'),\n isSatellite: isTruthy(getValue('CLERK_IS_SATELLITE')),\n proxyUrl: getValue('CLERK_PROXY_URL'),\n signInUrl: getValue('CLERK_SIGN_IN_URL'),\n signUpUrl: getValue('CLERK_SIGN_UP_URL'),\n clerkJsUrl: getValue('CLERK_JS_URL') || getValue('CLERK_JS'),\n clerkJsVariant: getValue('CLERK_JS_VARIANT') as '' | 'headless' | undefined,\n clerkJsVersion: getValue('CLERK_JS_VERSION'),\n telemetryDisabled: isTruthy(getValue('CLERK_TELEMETRY_DISABLED')),\n telemetryDebug: isTruthy(getValue('CLERK_TELEMETRY_DEBUG')),\n afterSignInUrl: getValue('CLERK_AFTER_SIGN_IN_URL'),\n afterSignUpUrl: getValue('CLERK_AFTER_SIGN_UP_URL'),\n newSubscriptionRedirectUrl: getValue('CLERK_CHECKOUT_CONTINUE_URL'),\n } as const;\n};\n"]}
|
package/dist/utils/errors.d.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
1
|
declare const noFetchFnCtxPassedInGetAuth: string;
|
2
|
-
declare const
|
2
|
+
declare const clerkMiddlewareNotConfigured: string;
|
3
3
|
|
4
|
-
export {
|
4
|
+
export { clerkMiddlewareNotConfigured, noFetchFnCtxPassedInGetAuth };
|
package/dist/utils/errors.js
CHANGED
@@ -17,14 +17,11 @@ var noFetchFnCtxPassedInGetAuth = createErrorMessage(`
|
|
17
17
|
...
|
18
18
|
});
|
19
19
|
`);
|
20
|
-
var
|
21
|
-
It looks like you're trying to use Clerk without configuring the
|
20
|
+
var clerkMiddlewareNotConfigured = createErrorMessage(`
|
21
|
+
It looks like you're trying to use Clerk without configuring the middleware.
|
22
22
|
|
23
|
-
To fix this, make sure you have the \`
|
23
|
+
To fix this, make sure you have the \`clerkMiddleware()\` configured in your \`createStart()\` function in your \`src/start.ts\` file.`);
|
24
24
|
|
25
|
-
|
26
|
-
`);
|
27
|
-
|
28
|
-
export { clerkHandlerNotConfigured, noFetchFnCtxPassedInGetAuth };
|
25
|
+
export { clerkMiddlewareNotConfigured, noFetchFnCtxPassedInGetAuth };
|
29
26
|
//# sourceMappingURL=errors.js.map
|
30
27
|
//# sourceMappingURL=errors.js.map
|
package/dist/utils/errors.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/utils/errors.ts"],"names":[],"mappings":";AAAA,IAAM,kBAAA,GAAqB,CAAC,GAAA,KAAgB;AAC1C,EAAA,OAAO,CAAA,iBAAA,EAAa,GAAA,CAAI,IAAA,EAAM;;AAAA;AAAA;;AAAA,CAAA;AAMhC,CAAA;AAEO,IAAM,8BAA8B,kBAAA,CAAmB;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA,CAS3D;AAEI,IAAM,
|
1
|
+
{"version":3,"sources":["../../src/utils/errors.ts"],"names":[],"mappings":";AAAA,IAAM,kBAAA,GAAqB,CAAC,GAAA,KAAgB;AAC1C,EAAA,OAAO,CAAA,iBAAA,EAAa,GAAA,CAAI,IAAA,EAAM;;AAAA;AAAA;;AAAA,CAAA;AAMhC,CAAA;AAEO,IAAM,8BAA8B,kBAAA,CAAmB;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA,CAS3D;AAEI,IAAM,+BAA+B,kBAAA,CAAmB;AAAA;;AAAA,sIAAA,CAGwE","file":"errors.js","sourcesContent":["const createErrorMessage = (msg: string) => {\n return `🔒 Clerk: ${msg.trim()}\n\nFor more info, check out the docs: https://clerk.com/docs,\nor come say hi in our discord server: https://clerk.com/discord\n\n`;\n};\n\nexport const noFetchFnCtxPassedInGetAuth = createErrorMessage(`\n You're calling 'getAuth()' from a server function, without providing the request object.\n Example:\n\n export const someServerFunction = createServerFn({ method: 'GET' }).handler(async () => {\n const request = getWebRequest()\n const auth = getAuth(request);\n ...\n });\n `);\n\nexport const clerkMiddlewareNotConfigured = createErrorMessage(`\nIt looks like you're trying to use Clerk without configuring the middleware.\n\nTo fix this, make sure you have the \\`clerkMiddleware()\\` configured in your \\`createStart()\\` function in your \\`src/start.ts\\` file.`);\n"]}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@clerk/tanstack-react-start",
|
3
|
-
"version": "0.
|
3
|
+
"version": "0.26.0-canary.v20251009201027",
|
4
4
|
"description": "Clerk SDK for TanStack React Start",
|
5
5
|
"keywords": [
|
6
6
|
"clerk",
|
@@ -55,19 +55,19 @@
|
|
55
55
|
],
|
56
56
|
"dependencies": {
|
57
57
|
"tslib": "2.8.1",
|
58
|
-
"@clerk/
|
59
|
-
"@clerk/
|
60
|
-
"@clerk/shared": "^3.27.4-canary.
|
61
|
-
"@clerk/types": "^4.93.0-canary.
|
58
|
+
"@clerk/clerk-react": "^5.52.0-canary.v20251009201027",
|
59
|
+
"@clerk/backend": "^2.18.0-canary.v20251009201027",
|
60
|
+
"@clerk/shared": "^3.27.4-canary.v20251009201027",
|
61
|
+
"@clerk/types": "^4.93.0-canary.v20251009201027"
|
62
62
|
},
|
63
63
|
"devDependencies": {
|
64
|
-
"@tanstack/react-router": "1.
|
65
|
-
"@tanstack/react-start": "1.
|
64
|
+
"@tanstack/react-router": "1.132.0",
|
65
|
+
"@tanstack/react-start": "1.132.0",
|
66
66
|
"esbuild-plugin-file-path-extensions": "^2.1.4"
|
67
67
|
},
|
68
68
|
"peerDependencies": {
|
69
|
-
"@tanstack/react-router": "^1.
|
70
|
-
"@tanstack/react-start": "^1.
|
69
|
+
"@tanstack/react-router": "^1.132.0",
|
70
|
+
"@tanstack/react-start": "^1.132.0",
|
71
71
|
"react": "^18.0.0 || ^19.0.0 || ^19.0.0-0",
|
72
72
|
"react-dom": "^18.0.0 || ^19.0.0 || ^19.0.0-0"
|
73
73
|
},
|
@@ -1,33 +0,0 @@
|
|
1
|
-
import { createClerkClient } from '@clerk/backend';
|
2
|
-
import { patchRequest } from './utils/index.js';
|
3
|
-
|
4
|
-
// src/server/authenticateRequest.ts
|
5
|
-
async function authenticateRequest(request, opts) {
|
6
|
-
const { audience, authorizedParties } = opts;
|
7
|
-
const { apiUrl, secretKey, jwtKey, proxyUrl, isSatellite, domain, publishableKey, acceptsToken, machineSecretKey } = opts;
|
8
|
-
const { signInUrl, signUpUrl, afterSignInUrl, afterSignUpUrl } = opts;
|
9
|
-
const requestState = await createClerkClient({
|
10
|
-
apiUrl,
|
11
|
-
secretKey,
|
12
|
-
machineSecretKey,
|
13
|
-
jwtKey,
|
14
|
-
proxyUrl,
|
15
|
-
isSatellite,
|
16
|
-
domain,
|
17
|
-
publishableKey,
|
18
|
-
userAgent: `${"@clerk/tanstack-react-start"}@${"0.25.4-canary.v20251009170317"}`
|
19
|
-
}).authenticateRequest(patchRequest(request), {
|
20
|
-
audience,
|
21
|
-
authorizedParties,
|
22
|
-
signInUrl,
|
23
|
-
signUpUrl,
|
24
|
-
afterSignInUrl,
|
25
|
-
afterSignUpUrl,
|
26
|
-
acceptsToken
|
27
|
-
});
|
28
|
-
return requestState;
|
29
|
-
}
|
30
|
-
|
31
|
-
export { authenticateRequest };
|
32
|
-
//# sourceMappingURL=authenticateRequest.js.map
|
33
|
-
//# sourceMappingURL=authenticateRequest.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../src/server/authenticateRequest.ts"],"names":[],"mappings":";;;;AAKA,eAAsB,mBAAA,CAAoB,SAAkB,IAAA,EAAyD;AACnH,EAAA,MAAM,EAAE,QAAA,EAAU,iBAAA,EAAkB,GAAI,IAAA;AAExC,EAAA,MAAM,EAAE,MAAA,EAAQ,SAAA,EAAW,MAAA,EAAQ,QAAA,EAAU,aAAa,MAAA,EAAQ,cAAA,EAAgB,YAAA,EAAc,gBAAA,EAAiB,GAC/G,IAAA;AACF,EAAA,MAAM,EAAE,SAAA,EAAW,SAAA,EAAW,cAAA,EAAgB,gBAAe,GAAI,IAAA;AAEjE,EAAA,MAAM,YAAA,GAAe,MAAM,iBAAA,CAAkB;AAAA,IAC3C,MAAA;AAAA,IACA,SAAA;AAAA,IACA,gBAAA;AAAA,IACA,MAAA;AAAA,IACA,QAAA;AAAA,IACA,WAAA;AAAA,IACA,MAAA;AAAA,IACA,cAAA;AAAA,IACA,SAAA,EAAW,CAAA,EAAG,6BAAY,CAAA,CAAA,EAAI,+BAAe,CAAA;AAAA,GAC9C,CAAA,CAAE,mBAAA,CAAoB,YAAA,CAAa,OAAO,CAAA,EAAG;AAAA,IAC5C,QAAA;AAAA,IACA,iBAAA;AAAA,IACA,SAAA;AAAA,IACA,SAAA;AAAA,IACA,cAAA;AAAA,IACA,cAAA;AAAA,IACA;AAAA,GACD,CAAA;AAED,EAAA,OAAO,YAAA;AACT","file":"authenticateRequest.js","sourcesContent":["import { createClerkClient } from '@clerk/backend';\nimport type { AuthenticateRequestOptions, RequestState } from '@clerk/backend/internal';\n\nimport { patchRequest } from './utils';\n\nexport async function authenticateRequest(request: Request, opts: AuthenticateRequestOptions): Promise<RequestState> {\n const { audience, authorizedParties } = opts;\n\n const { apiUrl, secretKey, jwtKey, proxyUrl, isSatellite, domain, publishableKey, acceptsToken, machineSecretKey } =\n opts;\n const { signInUrl, signUpUrl, afterSignInUrl, afterSignUpUrl } = opts;\n\n const requestState = await createClerkClient({\n apiUrl,\n secretKey,\n machineSecretKey,\n jwtKey,\n proxyUrl,\n isSatellite,\n domain,\n publishableKey,\n userAgent: `${PACKAGE_NAME}@${PACKAGE_VERSION}`,\n }).authenticateRequest(patchRequest(request), {\n audience,\n authorizedParties,\n signInUrl,\n signUpUrl,\n afterSignInUrl,\n afterSignUpUrl,\n acceptsToken,\n });\n\n return requestState;\n}\n"]}
|
package/dist/server/errors.d.ts
DELETED
package/dist/server/errors.js
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
// src/server/errors.ts
|
2
|
-
var ClerkHandshakeRedirect = class extends Error {
|
3
|
-
constructor(status, headers) {
|
4
|
-
super("Clerk handshake redirect required");
|
5
|
-
this.status = status;
|
6
|
-
this.headers = headers;
|
7
|
-
this.name = "ClerkHandshakeRedirect";
|
8
|
-
this.status = status;
|
9
|
-
this.headers = headers;
|
10
|
-
}
|
11
|
-
};
|
12
|
-
|
13
|
-
export { ClerkHandshakeRedirect };
|
14
|
-
//# sourceMappingURL=errors.js.map
|
15
|
-
//# sourceMappingURL=errors.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../src/server/errors.ts"],"names":[],"mappings":";AAAO,IAAM,sBAAA,GAAN,cAAqC,KAAA,CAAM;AAAA,EAChD,WAAA,CACS,QACA,OAAA,EACP;AACA,IAAA,KAAA,CAAM,mCAAmC,CAAA;AAHlC,IAAA,IAAA,CAAA,MAAA,GAAA,MAAA;AACA,IAAA,IAAA,CAAA,OAAA,GAAA,OAAA;AAGP,IAAA,IAAA,CAAK,IAAA,GAAO,wBAAA;AACZ,IAAA,IAAA,CAAK,MAAA,GAAS,MAAA;AACd,IAAA,IAAA,CAAK,OAAA,GAAU,OAAA;AAAA,EACjB;AACF","file":"errors.js","sourcesContent":["export class ClerkHandshakeRedirect extends Error {\n constructor(\n public status: number,\n public headers: Headers,\n ) {\n super('Clerk handshake redirect required');\n this.name = 'ClerkHandshakeRedirect';\n this.status = status;\n this.headers = headers;\n }\n}\n"]}
|
package/dist/server/getAuth.d.ts
DELETED
package/dist/server/getAuth.js
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
import { getAuthObjectForAcceptedToken } from '@clerk/backend/internal';
|
2
|
-
import { getContext } from '@tanstack/react-start/server';
|
3
|
-
import { errorThrower } from '../utils/index.js';
|
4
|
-
import { noFetchFnCtxPassedInGetAuth, clerkHandlerNotConfigured } from '../utils/errors.js';
|
5
|
-
|
6
|
-
// src/server/getAuth.ts
|
7
|
-
var getAuth = async (request, opts) => {
|
8
|
-
if (!request) {
|
9
|
-
return errorThrower.throw(noFetchFnCtxPassedInGetAuth);
|
10
|
-
}
|
11
|
-
const authObjectFn = getContext("auth");
|
12
|
-
if (!authObjectFn) {
|
13
|
-
return errorThrower.throw(clerkHandlerNotConfigured);
|
14
|
-
}
|
15
|
-
const authObject = await Promise.resolve(authObjectFn({ treatPendingAsSignedOut: opts?.treatPendingAsSignedOut }));
|
16
|
-
return getAuthObjectForAcceptedToken({ authObject, acceptsToken: opts?.acceptsToken });
|
17
|
-
};
|
18
|
-
|
19
|
-
export { getAuth };
|
20
|
-
//# sourceMappingURL=getAuth.js.map
|
21
|
-
//# sourceMappingURL=getAuth.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../src/server/getAuth.ts"],"names":[],"mappings":";;;;;;AAOO,IAAM,OAAA,GAAqC,OAAO,OAAA,EAAkB,IAAA,KAAuB;AAChG,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,OAAO,YAAA,CAAa,MAAM,2BAA2B,CAAA;AAAA,EACvD;AAEA,EAAA,MAAM,YAAA,GAAe,WAAW,MAAM,CAAA;AAEtC,EAAA,IAAI,CAAC,YAAA,EAAc;AACjB,IAAA,OAAO,YAAA,CAAa,MAAM,yBAAyB,CAAA;AAAA,EACrD;AAGA,EAAA,MAAM,UAAA,GAAa,MAAM,OAAA,CAAQ,OAAA,CAAQ,YAAA,CAAa,EAAE,uBAAA,EAAyB,IAAA,EAAM,uBAAA,EAAyB,CAAC,CAAA;AAEjH,EAAA,OAAO,8BAA8B,EAAE,UAAA,EAAY,YAAA,EAAc,IAAA,EAAM,cAAc,CAAA;AACvF","file":"getAuth.js","sourcesContent":["import type { AuthOptions, GetAuthFn } from '@clerk/backend/internal';\nimport { getAuthObjectForAcceptedToken } from '@clerk/backend/internal';\nimport { getContext } from '@tanstack/react-start/server';\n\nimport { errorThrower } from '../utils';\nimport { clerkHandlerNotConfigured, noFetchFnCtxPassedInGetAuth } from '../utils/errors';\n\nexport const getAuth: GetAuthFn<Request, true> = (async (request: Request, opts?: AuthOptions) => {\n if (!request) {\n return errorThrower.throw(noFetchFnCtxPassedInGetAuth);\n }\n\n const authObjectFn = getContext('auth');\n\n if (!authObjectFn) {\n return errorThrower.throw(clerkHandlerNotConfigured);\n }\n\n // We're keeping it a promise for now to minimize breaking changes\n const authObject = await Promise.resolve(authObjectFn({ treatPendingAsSignedOut: opts?.treatPendingAsSignedOut }));\n\n return getAuthObjectForAcceptedToken({ authObject, acceptsToken: opts?.acceptsToken });\n}) as GetAuthFn<Request, true>;\n"]}
|
@@ -1,9 +0,0 @@
|
|
1
|
-
import { AnyRouter } from '@tanstack/react-router';
|
2
|
-
import { CustomizeStartHandler, HandlerCallback, RequestHandler } from '@tanstack/react-start/server';
|
3
|
-
import { LoaderOptions } from './types.js';
|
4
|
-
import '@clerk/backend';
|
5
|
-
import '@clerk/types';
|
6
|
-
|
7
|
-
declare function createClerkHandler<TRouter extends AnyRouter>(eventHandler: CustomizeStartHandler<TRouter>, clerkOptions?: LoaderOptions): (cb: HandlerCallback<TRouter>) => Promise<RequestHandler>;
|
8
|
-
|
9
|
-
export { createClerkHandler };
|
@@ -1,51 +0,0 @@
|
|
1
|
-
import { constants, AuthStatus } from '@clerk/backend/internal';
|
2
|
-
import { handleNetlifyCacheInDevInstance } from '@clerk/shared/netlifyCacheHandler';
|
3
|
-
import { getWebRequest, getEvent } from '@tanstack/react-start/server';
|
4
|
-
import { errorThrower } from '../utils/index.js';
|
5
|
-
import { authenticateRequest } from './authenticateRequest.js';
|
6
|
-
import { loadOptions } from './loadOptions.js';
|
7
|
-
import { getResponseClerkState } from './utils/index.js';
|
8
|
-
|
9
|
-
// src/server/middlewareHandler.ts
|
10
|
-
function createClerkHandler(eventHandler, clerkOptions = {}) {
|
11
|
-
return async (cb) => {
|
12
|
-
const request = getWebRequest();
|
13
|
-
const event = getEvent();
|
14
|
-
const loadedOptions = loadOptions(request, clerkOptions);
|
15
|
-
const requestState = await authenticateRequest(request, {
|
16
|
-
...loadedOptions,
|
17
|
-
acceptsToken: "any"
|
18
|
-
});
|
19
|
-
event.context.auth = (options) => requestState.toAuth(options);
|
20
|
-
return eventHandler(async ({ request: request2, router, responseHeaders }) => {
|
21
|
-
const locationHeader = requestState.headers.get(constants.Headers.Location);
|
22
|
-
if (locationHeader) {
|
23
|
-
handleNetlifyCacheInDevInstance({
|
24
|
-
locationHeader,
|
25
|
-
requestStateHeaders: requestState.headers,
|
26
|
-
publishableKey: requestState.publishableKey
|
27
|
-
});
|
28
|
-
return new Response(null, {
|
29
|
-
status: 307,
|
30
|
-
headers: requestState.headers
|
31
|
-
});
|
32
|
-
}
|
33
|
-
if (requestState.status === AuthStatus.Handshake) {
|
34
|
-
throw errorThrower.throw("Clerk: unexpected handshake without redirect");
|
35
|
-
}
|
36
|
-
const { clerkInitialState, headers } = getResponseClerkState(requestState, loadedOptions);
|
37
|
-
router.update({
|
38
|
-
context: { ...router.options.context, clerkInitialState }
|
39
|
-
});
|
40
|
-
headers.forEach((value, key) => {
|
41
|
-
responseHeaders.set(key, value);
|
42
|
-
});
|
43
|
-
await router.load();
|
44
|
-
return cb({ request: request2, router, responseHeaders });
|
45
|
-
});
|
46
|
-
};
|
47
|
-
}
|
48
|
-
|
49
|
-
export { createClerkHandler };
|
50
|
-
//# sourceMappingURL=middlewareHandler.js.map
|
51
|
-
//# sourceMappingURL=middlewareHandler.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../src/server/middlewareHandler.ts"],"names":["request"],"mappings":";;;;;;;;;AAkBO,SAAS,kBAAA,CACd,YAAA,EACA,YAAA,GAA8B,EAAC,EAC/B;AACA,EAAA,OAAO,OAAO,EAAA,KAA0D;AACtE,IAAA,MAAM,UAAU,aAAA,EAAc;AAC9B,IAAA,MAAM,QAAQ,QAAA,EAAS;AACvB,IAAA,MAAM,aAAA,GAAgB,WAAA,CAAY,OAAA,EAAS,YAAY,CAAA;AAEvD,IAAA,MAAM,YAAA,GAAe,MAAM,mBAAA,CAAoB,OAAA,EAAS;AAAA,MACtD,GAAG,aAAA;AAAA,MACH,YAAA,EAAc;AAAA,KACf,CAAA;AAGD,IAAA,KAAA,CAAM,QAAQ,IAAA,GAAO,CAAC,OAAA,KAAoC,YAAA,CAAa,OAAO,OAAO,CAAA;AAErF,IAAA,OAAO,aAAa,OAAO,EAAE,SAAAA,QAAAA,EAAS,MAAA,EAAQ,iBAAgB,KAAM;AAClE,MAAA,MAAM,iBAAiB,YAAA,CAAa,OAAA,CAAQ,GAAA,CAAI,SAAA,CAAU,QAAQ,QAAQ,CAAA;AAC1E,MAAA,IAAI,cAAA,EAAgB;AAClB,QAAA,+BAAA,CAAgC;AAAA,UAC9B,cAAA;AAAA,UACA,qBAAqB,YAAA,CAAa,OAAA;AAAA,UAClC,gBAAgB,YAAA,CAAa;AAAA,SAC9B,CAAA;AAED,QAAA,OAAO,IAAI,SAAS,IAAA,EAAM;AAAA,UACxB,MAAA,EAAQ,GAAA;AAAA,UACR,SAAS,YAAA,CAAa;AAAA,SACvB,CAAA;AAAA,MACH;AAEA,MAAA,IAAI,YAAA,CAAa,MAAA,KAAW,UAAA,CAAW,SAAA,EAAW;AAEhD,QAAA,MAAM,YAAA,CAAa,MAAM,8CAA8C,CAAA;AAAA,MACzE;AAEA,MAAA,MAAM,EAAE,iBAAA,EAAmB,OAAA,EAAQ,GAAI,qBAAA,CAAsB,cAAc,aAAa,CAAA;AAGxF,MAAA,MAAA,CAAO,MAAA,CAAO;AAAA,QACZ,SAAS,EAAE,GAAG,MAAA,CAAO,OAAA,CAAQ,SAAS,iBAAA;AAAkB,OACzD,CAAA;AAED,MAAA,OAAA,CAAQ,OAAA,CAAQ,CAAC,KAAA,EAAO,GAAA,KAAQ;AAC9B,QAAA,eAAA,CAAgB,GAAA,CAAI,KAAK,KAAK,CAAA;AAAA,MAChC,CAAC,CAAA;AAED,MAAA,MAAM,OAAO,IAAA,EAAK;AAElB,MAAA,OAAO,GAAG,EAAE,OAAA,EAAAA,QAAAA,EAAS,MAAA,EAAQ,iBAAiB,CAAA;AAAA,IAChD,CAAC,CAAA;AAAA,EACH,CAAA;AACF","file":"middlewareHandler.js","sourcesContent":["import { AuthStatus, constants } from '@clerk/backend/internal';\nimport { handleNetlifyCacheInDevInstance } from '@clerk/shared/netlifyCacheHandler';\nimport type { PendingSessionOptions } from '@clerk/types';\nimport type { AnyRouter } from '@tanstack/react-router';\nimport {\n type CustomizeStartHandler,\n getEvent,\n getWebRequest,\n type HandlerCallback,\n type RequestHandler,\n} from '@tanstack/react-start/server';\n\nimport { errorThrower } from '../utils';\nimport { authenticateRequest } from './authenticateRequest';\nimport { loadOptions } from './loadOptions';\nimport type { LoaderOptions } from './types';\nimport { getResponseClerkState } from './utils';\n\nexport function createClerkHandler<TRouter extends AnyRouter>(\n eventHandler: CustomizeStartHandler<TRouter>,\n clerkOptions: LoaderOptions = {},\n) {\n return async (cb: HandlerCallback<TRouter>): Promise<RequestHandler> => {\n const request = getWebRequest();\n const event = getEvent();\n const loadedOptions = loadOptions(request, clerkOptions);\n\n const requestState = await authenticateRequest(request, {\n ...loadedOptions,\n acceptsToken: 'any',\n });\n\n // Set auth object here so it is available immediately in server functions via getAuth()\n event.context.auth = (options?: PendingSessionOptions) => requestState.toAuth(options);\n\n return eventHandler(async ({ request, router, responseHeaders }) => {\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\n return new Response(null, {\n status: 307,\n headers: requestState.headers,\n });\n }\n\n if (requestState.status === AuthStatus.Handshake) {\n // eslint-disable-next-line @typescript-eslint/only-throw-error\n throw errorThrower.throw('Clerk: unexpected handshake without redirect');\n }\n\n const { clerkInitialState, headers } = getResponseClerkState(requestState, loadedOptions);\n\n // Merging the TanStack router context with the Clerk context and loading the router\n router.update({\n context: { ...router.options.context, clerkInitialState },\n });\n\n headers.forEach((value, key) => {\n responseHeaders.set(key, value);\n });\n\n await router.load();\n\n return cb({ request, router, responseHeaders });\n });\n };\n}\n"]}
|