@clerk/react-router 3.1.8-snapshot.v20260429150611 → 3.1.8
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 { useAwaitableNavigate } from "./useAwaitableNavigate.js";
|
|
|
12
12
|
export * from "@clerk/react";
|
|
13
13
|
var SDK_METADATA = {
|
|
14
14
|
name: "@clerk/react-router",
|
|
15
|
-
version: "3.1.8
|
|
15
|
+
version: "3.1.8"
|
|
16
16
|
};
|
|
17
17
|
var awaitableNavigateRef = { current: void 0 };
|
|
18
18
|
function ClerkProviderBase({ children, ...rest }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/server/clerkClient.ts"],"sourcesContent":["import { createClerkClient } from '@clerk/backend';\n\nimport { type DataFunctionArgs, loadOptions } from './loadOptions';\nimport type { ClerkMiddlewareOptions } from './types';\n\nexport const clerkClient = (args: DataFunctionArgs, overrides: ClerkMiddlewareOptions = {}) => {\n const options = loadOptions(args, overrides);\n\n const { apiUrl, secretKey, jwtKey, proxyUrl, isSatellite, domain, publishableKey, machineSecretKey } = options;\n\n return createClerkClient({\n apiUrl,\n secretKey,\n jwtKey,\n proxyUrl,\n isSatellite,\n domain,\n publishableKey,\n machineSecretKey,\n userAgent: `${PACKAGE_NAME}@${PACKAGE_VERSION}`,\n });\n};\n"],"mappings":";AAAA,SAAS,yBAAyB;AAElC,SAAgC,mBAAmB;AAG5C,IAAM,cAAc,CAAC,MAAwB,YAAoC,CAAC,MAAM;AAC7F,QAAM,UAAU,YAAY,MAAM,SAAS;AAE3C,QAAM,EAAE,QAAQ,WAAW,QAAQ,UAAU,aAAa,QAAQ,gBAAgB,iBAAiB,IAAI;AAEvG,SAAO,kBAAkB;AAAA,IACvB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW,GAAG,qBAAY,IAAI,
|
|
1
|
+
{"version":3,"sources":["../../src/server/clerkClient.ts"],"sourcesContent":["import { createClerkClient } from '@clerk/backend';\n\nimport { type DataFunctionArgs, loadOptions } from './loadOptions';\nimport type { ClerkMiddlewareOptions } from './types';\n\nexport const clerkClient = (args: DataFunctionArgs, overrides: ClerkMiddlewareOptions = {}) => {\n const options = loadOptions(args, overrides);\n\n const { apiUrl, secretKey, jwtKey, proxyUrl, isSatellite, domain, publishableKey, machineSecretKey } = options;\n\n return createClerkClient({\n apiUrl,\n secretKey,\n jwtKey,\n proxyUrl,\n isSatellite,\n domain,\n publishableKey,\n machineSecretKey,\n userAgent: `${PACKAGE_NAME}@${PACKAGE_VERSION}`,\n });\n};\n"],"mappings":";AAAA,SAAS,yBAAyB;AAElC,SAAgC,mBAAmB;AAG5C,IAAM,cAAc,CAAC,MAAwB,YAAoC,CAAC,MAAM;AAC7F,QAAM,UAAU,YAAY,MAAM,SAAS;AAE3C,QAAM,EAAE,QAAQ,WAAW,QAAQ,UAAU,aAAa,QAAQ,gBAAgB,iBAAiB,IAAI;AAEvG,SAAO,kBAAkB;AAAA,IACvB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW,GAAG,qBAAY,IAAI,OAAe;AAAA,EAC/C,CAAC;AACH;","names":[]}
|
package/dist/server/utils.js
CHANGED
|
@@ -77,8 +77,7 @@ var patchRequest = (request) => {
|
|
|
77
77
|
headers: request.headers,
|
|
78
78
|
method: request.method,
|
|
79
79
|
redirect: request.redirect,
|
|
80
|
-
cache: request.cache
|
|
81
|
-
signal: request.signal
|
|
80
|
+
cache: request.cache
|
|
82
81
|
});
|
|
83
82
|
if (clonedRequest.method !== "GET" && clonedRequest.body !== null && !("duplex" in clonedRequest)) {
|
|
84
83
|
clonedRequest.duplex = "half";
|
package/dist/server/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/server/utils.ts"],"sourcesContent":["import { constants, debugRequestState } from '@clerk/backend/internal';\nimport { parse as parseCookie } from 'cookie';\nimport type { AppLoadContext, UNSAFE_DataWithResponseInit } from 'react-router';\n\nimport { getPublicEnvVariables } from '../utils/env';\nimport { canUseKeyless } from '../utils/feature-flags';\nimport type { RequestStateWithRedirectUrls } from './types';\n\nexport function isResponse(value: any): value is Response {\n return (\n value != null &&\n typeof value.status === 'number' &&\n typeof value.statusText === 'string' &&\n typeof value.headers === 'object' &&\n typeof value.body !== 'undefined'\n );\n}\n\nexport function isDataWithResponseInit(value: any): value is UNSAFE_DataWithResponseInit<unknown> {\n return (\n typeof value === 'object' &&\n value != null &&\n 'type' in value &&\n 'data' in value &&\n 'init' in value &&\n value.type === 'DataWithResponseInit'\n );\n}\n\nexport function isRedirect(res: Response): boolean {\n return res.status >= 300 && res.status < 400;\n}\n\nexport const parseCookies = (req: Request) => {\n return parseCookie(req.headers.get('cookie') || '');\n};\n\nexport function assertValidHandlerResult(val: any, error?: string): asserts val is Record<string, unknown> | null {\n if ((val !== null && typeof val !== 'object') || Array.isArray(val)) {\n throw new Error(error || '');\n }\n}\n\n/**\n * `get` and `set` properties will only be available if v8_middleware flag is enabled\n * See: https://reactrouter.com/upgrading/future#futurev8_middleware\n */\nexport const IsOptIntoMiddleware = (context: AppLoadContext) => {\n return 'get' in context && 'set' in context;\n};\n\nexport const injectRequestStateIntoResponse = async (\n response: Response,\n requestState: RequestStateWithRedirectUrls,\n context: AppLoadContext,\n includeClerkHeaders = false,\n) => {\n const clone = new Response(response.body, response);\n const data = await clone.json();\n\n const { clerkState, headers } = getResponseClerkState(requestState, context);\n\n // set the correct content-type header in case the user returned a `Response` directly\n clone.headers.set(constants.Headers.ContentType, constants.ContentTypes.Json);\n\n // Only add Clerk headers if requested\n if (includeClerkHeaders) {\n headers.forEach((value, key) => {\n clone.headers.append(key, value);\n });\n }\n\n return Response.json({ ...(data || {}), ...clerkState }, clone);\n};\n\n/**\n * Returns the clerk state object and observability headers to be injected into a loader response.\n *\n * @internal\n */\nexport function getResponseClerkState(requestState: RequestStateWithRedirectUrls, context: AppLoadContext) {\n const { reason, message, isSignedIn, __keylessClaimUrl, __keylessApiKeysUrl, ...rest } = requestState;\n const envVars = getPublicEnvVariables(context);\n\n const baseState: Record<string, unknown> = {\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 __signInForceRedirectUrl: requestState.signInForceRedirectUrl,\n __signUpForceRedirectUrl: requestState.signUpForceRedirectUrl,\n __signInFallbackRedirectUrl: requestState.signInFallbackRedirectUrl,\n __signUpFallbackRedirectUrl: requestState.signUpFallbackRedirectUrl,\n __clerk_debug: debugRequestState(requestState),\n __clerkJSUrl: envVars.clerkJsUrl,\n __clerkJSVersion: envVars.clerkJsVersion,\n __clerkUIUrl: envVars.clerkUIUrl,\n __clerkUIVersion: envVars.clerkUIVersion,\n __prefetchUI: envVars.prefetchUI,\n __telemetryDisabled: envVars.telemetryDisabled,\n __telemetryDebug: envVars.telemetryDebug,\n };\n\n if (canUseKeyless && __keylessClaimUrl) {\n baseState.__keylessClaimUrl = __keylessClaimUrl;\n baseState.__keylessApiKeysUrl = __keylessApiKeysUrl;\n }\n\n const clerkState = wrapWithClerkState(baseState);\n\n return {\n clerkState,\n headers: requestState.headers,\n };\n}\n\n/**\n * Wraps obscured clerk internals with a readable `clerkState` key.\n * This is intended to be passed by the user into <ClerkProvider>\n *\n * @internal\n */\nexport const wrapWithClerkState = (data: any) => {\n return { clerkState: { __internal_clerk_state: { ...data } } };\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
|
|
1
|
+
{"version":3,"sources":["../../src/server/utils.ts"],"sourcesContent":["import { constants, debugRequestState } from '@clerk/backend/internal';\nimport { parse as parseCookie } from 'cookie';\nimport type { AppLoadContext, UNSAFE_DataWithResponseInit } from 'react-router';\n\nimport { getPublicEnvVariables } from '../utils/env';\nimport { canUseKeyless } from '../utils/feature-flags';\nimport type { RequestStateWithRedirectUrls } from './types';\n\nexport function isResponse(value: any): value is Response {\n return (\n value != null &&\n typeof value.status === 'number' &&\n typeof value.statusText === 'string' &&\n typeof value.headers === 'object' &&\n typeof value.body !== 'undefined'\n );\n}\n\nexport function isDataWithResponseInit(value: any): value is UNSAFE_DataWithResponseInit<unknown> {\n return (\n typeof value === 'object' &&\n value != null &&\n 'type' in value &&\n 'data' in value &&\n 'init' in value &&\n value.type === 'DataWithResponseInit'\n );\n}\n\nexport function isRedirect(res: Response): boolean {\n return res.status >= 300 && res.status < 400;\n}\n\nexport const parseCookies = (req: Request) => {\n return parseCookie(req.headers.get('cookie') || '');\n};\n\nexport function assertValidHandlerResult(val: any, error?: string): asserts val is Record<string, unknown> | null {\n if ((val !== null && typeof val !== 'object') || Array.isArray(val)) {\n throw new Error(error || '');\n }\n}\n\n/**\n * `get` and `set` properties will only be available if v8_middleware flag is enabled\n * See: https://reactrouter.com/upgrading/future#futurev8_middleware\n */\nexport const IsOptIntoMiddleware = (context: AppLoadContext) => {\n return 'get' in context && 'set' in context;\n};\n\nexport const injectRequestStateIntoResponse = async (\n response: Response,\n requestState: RequestStateWithRedirectUrls,\n context: AppLoadContext,\n includeClerkHeaders = false,\n) => {\n const clone = new Response(response.body, response);\n const data = await clone.json();\n\n const { clerkState, headers } = getResponseClerkState(requestState, context);\n\n // set the correct content-type header in case the user returned a `Response` directly\n clone.headers.set(constants.Headers.ContentType, constants.ContentTypes.Json);\n\n // Only add Clerk headers if requested\n if (includeClerkHeaders) {\n headers.forEach((value, key) => {\n clone.headers.append(key, value);\n });\n }\n\n return Response.json({ ...(data || {}), ...clerkState }, clone);\n};\n\n/**\n * Returns the clerk state object and observability headers to be injected into a loader response.\n *\n * @internal\n */\nexport function getResponseClerkState(requestState: RequestStateWithRedirectUrls, context: AppLoadContext) {\n const { reason, message, isSignedIn, __keylessClaimUrl, __keylessApiKeysUrl, ...rest } = requestState;\n const envVars = getPublicEnvVariables(context);\n\n const baseState: Record<string, unknown> = {\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 __signInForceRedirectUrl: requestState.signInForceRedirectUrl,\n __signUpForceRedirectUrl: requestState.signUpForceRedirectUrl,\n __signInFallbackRedirectUrl: requestState.signInFallbackRedirectUrl,\n __signUpFallbackRedirectUrl: requestState.signUpFallbackRedirectUrl,\n __clerk_debug: debugRequestState(requestState),\n __clerkJSUrl: envVars.clerkJsUrl,\n __clerkJSVersion: envVars.clerkJsVersion,\n __clerkUIUrl: envVars.clerkUIUrl,\n __clerkUIVersion: envVars.clerkUIVersion,\n __prefetchUI: envVars.prefetchUI,\n __telemetryDisabled: envVars.telemetryDisabled,\n __telemetryDebug: envVars.telemetryDebug,\n };\n\n if (canUseKeyless && __keylessClaimUrl) {\n baseState.__keylessClaimUrl = __keylessClaimUrl;\n baseState.__keylessApiKeysUrl = __keylessApiKeysUrl;\n }\n\n const clerkState = wrapWithClerkState(baseState);\n\n return {\n clerkState,\n headers: requestState.headers,\n };\n}\n\n/**\n * Wraps obscured clerk internals with a readable `clerkState` key.\n * This is intended to be passed by the user into <ClerkProvider>\n *\n * @internal\n */\nexport const wrapWithClerkState = (data: any) => {\n return { clerkState: { __internal_clerk_state: { ...data } } };\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 // Omit `signal` from the clone: Node 24's bundled undici tightened the\n // instanceof AbortSignal check, which rejects cross-realm signals (e.g.\n // those carried by framework Request subclasses).\n const clonedRequest = new Request(request.url, {\n headers: request.headers,\n method: request.method,\n redirect: request.redirect,\n cache: request.cache,\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"],"mappings":"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","names":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@clerk/react-router",
|
|
3
|
-
"version": "3.1.8
|
|
3
|
+
"version": "3.1.8",
|
|
4
4
|
"description": "Clerk SDK for React Router",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"clerk",
|
|
@@ -94,9 +94,9 @@
|
|
|
94
94
|
"dependencies": {
|
|
95
95
|
"cookie": "1.0.2",
|
|
96
96
|
"tslib": "2.8.1",
|
|
97
|
-
"@clerk/backend": "3.4.2
|
|
98
|
-
"@clerk/react": "6.4.6
|
|
99
|
-
"@clerk/shared": "4.8.6
|
|
97
|
+
"@clerk/backend": "^3.4.2",
|
|
98
|
+
"@clerk/react": "^6.4.6",
|
|
99
|
+
"@clerk/shared": "^4.8.6"
|
|
100
100
|
},
|
|
101
101
|
"devDependencies": {
|
|
102
102
|
"esbuild-plugin-file-path-extensions": "^2.1.4",
|