@clerk/react-router 3.4.1 → 3.4.2-canary.v20260610190754

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.
Files changed (100) hide show
  1. package/dist/ReactRouterClerkProvider-trOD2EJy.d.ts +17 -0
  2. package/dist/api/index.d.ts +1 -1
  3. package/dist/api/index.js +3 -3
  4. package/dist/client/ReactRouterClerkProvider.d.ts +2 -13
  5. package/dist/client/ReactRouterClerkProvider.js +75 -121
  6. package/dist/client/ReactRouterClerkProvider.js.map +1 -1
  7. package/dist/client/ReactRouterOptionsContext.d.ts +6 -7
  8. package/dist/client/ReactRouterOptionsContext.js +11 -12
  9. package/dist/client/ReactRouterOptionsContext.js.map +1 -1
  10. package/dist/client/index.d.ts +4 -9
  11. package/dist/client/index.js +4 -12
  12. package/dist/client/types.d.ts +2 -56
  13. package/dist/client/types.js +1 -1
  14. package/dist/client/uiComponents.d.ts +2 -10
  15. package/dist/client/uiComponents.js +21 -34
  16. package/dist/client/uiComponents.js.map +1 -1
  17. package/dist/client/useAwaitableNavigate.d.ts +4 -2
  18. package/dist/client/useAwaitableNavigate.js +22 -21
  19. package/dist/client/useAwaitableNavigate.js.map +1 -1
  20. package/dist/client/usePathnameWithoutSplatRouteParams.d.ts +3 -1
  21. package/dist/client/usePathnameWithoutSplatRouteParams.js +10 -12
  22. package/dist/client/usePathnameWithoutSplatRouteParams.js.map +1 -1
  23. package/dist/errorThrower.d.ts +4 -4
  24. package/dist/errorThrower.js +6 -5
  25. package/dist/errorThrower.js.map +1 -1
  26. package/dist/errors.d.ts +2 -4
  27. package/dist/errors.js +3 -28
  28. package/dist/global.d.ts +1 -0
  29. package/dist/index.d.ts +6 -9
  30. package/dist/index.js +12 -9
  31. package/dist/index.js.map +1 -1
  32. package/dist/legacy.d.ts +2 -1
  33. package/dist/legacy.js +2 -6
  34. package/dist/loadOptions-DNSRkrk0.d.ts +63 -0
  35. package/dist/server/clerkClient.d.ts +6 -8
  36. package/dist/server/clerkClient.js +19 -19
  37. package/dist/server/clerkClient.js.map +1 -1
  38. package/dist/server/clerkMiddleware.d.ts +12 -11
  39. package/dist/server/clerkMiddleware.js +83 -90
  40. package/dist/server/clerkMiddleware.js.map +1 -1
  41. package/dist/server/getAuth.d.ts +5 -3
  42. package/dist/server/getAuth.js +16 -23
  43. package/dist/server/getAuth.js.map +1 -1
  44. package/dist/server/index.d.ts +6 -10
  45. package/dist/server/index.js +5 -10
  46. package/dist/server/keyless/fileStorage.d.ts +6 -5
  47. package/dist/server/keyless/fileStorage.js +12 -11
  48. package/dist/server/keyless/fileStorage.js.map +1 -1
  49. package/dist/server/keyless/index.d.ts +6 -9
  50. package/dist/server/keyless/index.js +34 -40
  51. package/dist/server/keyless/index.js.map +1 -1
  52. package/dist/server/keyless/utils.d.ts +8 -11
  53. package/dist/server/keyless/utils.js +10 -12
  54. package/dist/server/keyless/utils.js.map +1 -1
  55. package/dist/server/loadOptions.d.ts +2 -64
  56. package/dist/server/loadOptions.js +50 -63
  57. package/dist/server/loadOptions.js.map +1 -1
  58. package/dist/server/rootAuthLoader.d.ts +17 -16
  59. package/dist/server/rootAuthLoader.js +45 -71
  60. package/dist/server/rootAuthLoader.js.map +1 -1
  61. package/dist/server/types.d.ts +2 -84
  62. package/dist/server/types.js +1 -1
  63. package/dist/server/utils.d.ts +13 -13
  64. package/dist/server/utils.js +93 -83
  65. package/dist/server/utils.js.map +1 -1
  66. package/dist/ssr/index.d.ts +4 -7
  67. package/dist/ssr/index.js +5 -5
  68. package/dist/ssr/index.js.map +1 -1
  69. package/dist/types/index.d.ts +4 -9
  70. package/dist/types/index.js +1 -1
  71. package/dist/types-C3uAu7q3.d.ts +58 -0
  72. package/dist/types-CkBFvMvW.d.ts +86 -0
  73. package/dist/uiComponents-CuYpqdGX.d.ts +12 -0
  74. package/dist/utils/assert.d.ts +4 -6
  75. package/dist/utils/assert.js +20 -29
  76. package/dist/utils/assert.js.map +1 -1
  77. package/dist/utils/env.d.ts +25 -23
  78. package/dist/utils/env.js +32 -33
  79. package/dist/utils/env.js.map +1 -1
  80. package/dist/utils/errors.d.ts +3 -1
  81. package/dist/utils/errors.js +15 -24
  82. package/dist/utils/errors.js.map +1 -1
  83. package/dist/utils/feature-flags.d.ts +3 -1
  84. package/dist/utils/feature-flags.js +7 -6
  85. package/dist/utils/feature-flags.js.map +1 -1
  86. package/dist/webhooks.d.ts +1 -1
  87. package/dist/webhooks.js +3 -3
  88. package/package.json +6 -6
  89. package/dist/api/index.js.map +0 -1
  90. package/dist/client/index.js.map +0 -1
  91. package/dist/client/types.js.map +0 -1
  92. package/dist/errors.js.map +0 -1
  93. package/dist/global.d.d.ts +0 -2
  94. package/dist/global.d.js +0 -1
  95. package/dist/global.d.js.map +0 -1
  96. package/dist/legacy.js.map +0 -1
  97. package/dist/server/index.js.map +0 -1
  98. package/dist/server/types.js.map +0 -1
  99. package/dist/types/index.js.map +0 -1
  100. package/dist/webhooks.js.map +0 -1
@@ -1,3 +1,5 @@
1
+ //#region src/client/usePathnameWithoutSplatRouteParams.d.ts
1
2
  declare const usePathnameWithoutSplatRouteParams: () => string;
2
-
3
+ //#endregion
3
4
  export { usePathnameWithoutSplatRouteParams };
5
+ //# sourceMappingURL=usePathnameWithoutSplatRouteParams.d.ts.map
@@ -1,16 +1,14 @@
1
- // src/client/usePathnameWithoutSplatRouteParams.tsx
2
1
  import { useRef } from "react";
3
2
  import { useLocation, useParams } from "react-router";
4
- var usePathnameWithoutSplatRouteParams = () => {
5
- const params = useParams();
6
- const { pathname } = useLocation();
7
- const splatRouteParam = params["*"] || "";
8
- const path = pathname.replace(splatRouteParam, "").replace(/\/$/, "").replace(/^\//, "").trim();
9
- const computedPath = `/${path}`;
10
- const stablePath = useRef(computedPath);
11
- return stablePath.current;
12
- };
13
- export {
14
- usePathnameWithoutSplatRouteParams
3
+
4
+ //#region src/client/usePathnameWithoutSplatRouteParams.tsx
5
+ const usePathnameWithoutSplatRouteParams = () => {
6
+ const params = useParams();
7
+ const { pathname } = useLocation();
8
+ const splatRouteParam = params["*"] || "";
9
+ return useRef(`/${pathname.replace(splatRouteParam, "").replace(/\/$/, "").replace(/^\//, "").trim()}`).current;
15
10
  };
11
+
12
+ //#endregion
13
+ export { usePathnameWithoutSplatRouteParams };
16
14
  //# sourceMappingURL=usePathnameWithoutSplatRouteParams.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/client/usePathnameWithoutSplatRouteParams.tsx"],"sourcesContent":["import { useRef } from 'react';\nimport { useLocation, useParams } from 'react-router';\n\nexport const usePathnameWithoutSplatRouteParams = () => {\n const params = useParams();\n const { pathname } = useLocation();\n\n // Get the splat route params\n // React Router stores splat route params in an object with a key of '*'\n // If there are no splat route params, we fallback to an empty string\n const splatRouteParam = params['*'] || '';\n\n // Remove the splat route param from the pathname\n // so we end up with the pathname where the components are mounted at\n // eg /user/123/profile/security will return /user/123/profile as the path\n const path = pathname.replace(splatRouteParam, '').replace(/\\/$/, '').replace(/^\\//, '').trim();\n\n const computedPath = `/${path}`;\n\n // Stabilize the base path to prevent race conditions during navigation away.\n // When the router navigates to a different route, useLocation() returns the\n // new pathname before this component unmounts. This causes the basePath to change,\n // which makes the SignIn/SignUp catch-all route fire RedirectToSignIn incorrectly.\n // Matches the pattern used in @clerk/nextjs usePathnameWithoutCatchAll.\n const stablePath = useRef(computedPath);\n return stablePath.current;\n};\n"],"mappings":";AAAA,SAAS,cAAc;AACvB,SAAS,aAAa,iBAAiB;AAEhC,IAAM,qCAAqC,MAAM;AACtD,QAAM,SAAS,UAAU;AACzB,QAAM,EAAE,SAAS,IAAI,YAAY;AAKjC,QAAM,kBAAkB,OAAO,GAAG,KAAK;AAKvC,QAAM,OAAO,SAAS,QAAQ,iBAAiB,EAAE,EAAE,QAAQ,OAAO,EAAE,EAAE,QAAQ,OAAO,EAAE,EAAE,KAAK;AAE9F,QAAM,eAAe,IAAI,IAAI;AAO7B,QAAM,aAAa,OAAO,YAAY;AACtC,SAAO,WAAW;AACpB;","names":[]}
1
+ {"version":3,"file":"usePathnameWithoutSplatRouteParams.js","names":[],"sources":["../../src/client/usePathnameWithoutSplatRouteParams.tsx"],"sourcesContent":["import { useRef } from 'react';\nimport { useLocation, useParams } from 'react-router';\n\nexport const usePathnameWithoutSplatRouteParams = () => {\n const params = useParams();\n const { pathname } = useLocation();\n\n // Get the splat route params\n // React Router stores splat route params in an object with a key of '*'\n // If there are no splat route params, we fallback to an empty string\n const splatRouteParam = params['*'] || '';\n\n // Remove the splat route param from the pathname\n // so we end up with the pathname where the components are mounted at\n // eg /user/123/profile/security will return /user/123/profile as the path\n const path = pathname.replace(splatRouteParam, '').replace(/\\/$/, '').replace(/^\\//, '').trim();\n\n const computedPath = `/${path}`;\n\n // Stabilize the base path to prevent race conditions during navigation away.\n // When the router navigates to a different route, useLocation() returns the\n // new pathname before this component unmounts. This causes the basePath to change,\n // which makes the SignIn/SignUp catch-all route fire RedirectToSignIn incorrectly.\n // Matches the pattern used in @clerk/nextjs usePathnameWithoutCatchAll.\n const stablePath = useRef(computedPath);\n return stablePath.current;\n};\n"],"mappings":";;;;AAGA,MAAa,2CAA2C;CACtD,MAAM,SAAS,UAAU;CACzB,MAAM,EAAE,aAAa,YAAY;CAKjC,MAAM,kBAAkB,OAAO,QAAQ;CAevC,OADmB,OAAO,IATb,SAAS,QAAQ,iBAAiB,EAAE,CAAC,CAAC,QAAQ,OAAO,EAAE,CAAC,CAAC,QAAQ,OAAO,EAAE,CAAC,CAAC,KAE7D,GAQZ,CAAC,CAAC;AACpB"}
@@ -1,5 +1,5 @@
1
- import * as _clerk_shared_error from '@clerk/shared/error';
2
-
3
- declare const errorThrower: _clerk_shared_error.ErrorThrower;
4
-
1
+ //#region src/errorThrower.d.ts
2
+ declare const errorThrower: import("@clerk/shared/error").ErrorThrower;
3
+ //#endregion
5
4
  export { errorThrower };
5
+ //# sourceMappingURL=errorThrower.d.ts.map
@@ -1,7 +1,8 @@
1
- // src/errorThrower.ts
2
1
  import { buildErrorThrower } from "@clerk/shared/error";
3
- var errorThrower = buildErrorThrower({ packageName: "@clerk/react-router" });
4
- export {
5
- errorThrower
6
- };
2
+
3
+ //#region src/errorThrower.ts
4
+ const errorThrower = buildErrorThrower({ packageName: "@clerk/react-router" });
5
+
6
+ //#endregion
7
+ export { errorThrower };
7
8
  //# sourceMappingURL=errorThrower.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/errorThrower.ts"],"sourcesContent":["import { buildErrorThrower } from '@clerk/shared/error';\n\nconst errorThrower = buildErrorThrower({ packageName: PACKAGE_NAME });\n\nexport { errorThrower };\n"],"mappings":";AAAA,SAAS,yBAAyB;AAElC,IAAM,eAAe,kBAAkB,EAAE,aAAa,sBAAa,CAAC;","names":[]}
1
+ {"version":3,"file":"errorThrower.js","names":[],"sources":["../src/errorThrower.ts"],"sourcesContent":["import { buildErrorThrower } from '@clerk/shared/error';\n\nconst errorThrower = buildErrorThrower({ packageName: PACKAGE_NAME });\n\nexport { errorThrower };\n"],"mappings":";;;AAEA,MAAM,eAAe,kBAAkB,EAAE,mCAA0B,CAAC"}
package/dist/errors.d.ts CHANGED
@@ -1,4 +1,2 @@
1
- export { ClerkAPIResponseError, ClerkOfflineError, ClerkRuntimeError, EmailLinkErrorCode, EmailLinkErrorCodeStatus, isClerkAPIResponseError, isClerkRuntimeError, isEmailLinkError, isKnownError, isMetamaskError, isReverificationCancelledError } from '@clerk/react/errors';
2
- import '@clerk/react/legacy';
3
- import '@clerk/backend/webhooks';
4
- import '@clerk/backend';
1
+ import { ClerkAPIResponseError, ClerkOfflineError, ClerkRuntimeError, EmailLinkErrorCode, EmailLinkErrorCodeStatus, isClerkAPIResponseError, isClerkRuntimeError, isEmailLinkError, isKnownError, isMetamaskError, isReverificationCancelledError } from "@clerk/react/errors";
2
+ export { ClerkAPIResponseError, ClerkOfflineError, ClerkRuntimeError, EmailLinkErrorCode, EmailLinkErrorCodeStatus, isClerkAPIResponseError, isClerkRuntimeError, isEmailLinkError, isKnownError, isMetamaskError, isReverificationCancelledError };
package/dist/errors.js CHANGED
@@ -1,28 +1,3 @@
1
- // src/errors.ts
2
- import {
3
- ClerkAPIResponseError,
4
- ClerkOfflineError,
5
- ClerkRuntimeError,
6
- isClerkAPIResponseError,
7
- isClerkRuntimeError,
8
- isEmailLinkError,
9
- isKnownError,
10
- isMetamaskError,
11
- isReverificationCancelledError,
12
- EmailLinkErrorCode,
13
- EmailLinkErrorCodeStatus
14
- } from "@clerk/react/errors";
15
- export {
16
- ClerkAPIResponseError,
17
- ClerkOfflineError,
18
- ClerkRuntimeError,
19
- EmailLinkErrorCode,
20
- EmailLinkErrorCodeStatus,
21
- isClerkAPIResponseError,
22
- isClerkRuntimeError,
23
- isEmailLinkError,
24
- isKnownError,
25
- isMetamaskError,
26
- isReverificationCancelledError
27
- };
28
- //# sourceMappingURL=errors.js.map
1
+ import { ClerkAPIResponseError, ClerkOfflineError, ClerkRuntimeError, EmailLinkErrorCode, EmailLinkErrorCodeStatus, isClerkAPIResponseError, isClerkRuntimeError, isEmailLinkError, isKnownError, isMetamaskError, isReverificationCancelledError } from "@clerk/react/errors";
2
+
3
+ export { ClerkAPIResponseError, ClerkOfflineError, ClerkRuntimeError, EmailLinkErrorCode, EmailLinkErrorCodeStatus, isClerkAPIResponseError, isClerkRuntimeError, isEmailLinkError, isKnownError, isMetamaskError, isReverificationCancelledError };
@@ -0,0 +1 @@
1
+ export { };
package/dist/index.d.ts CHANGED
@@ -1,9 +1,6 @@
1
- export { ClerkProvider } from './client/ReactRouterClerkProvider.js';
2
- export { WithClerkState } from './client/types.js';
3
- export { OrganizationProfile, SignIn, SignUp, UserProfile } from './client/uiComponents.js';
4
- export * from '@clerk/react';
5
- export { UNSAFE_PortalProvider } from '@clerk/react';
6
- export { getToken } from '@clerk/shared/getToken';
7
- import '@clerk/react/internal';
8
- import 'react';
9
- import '@clerk/shared/types';
1
+ import { r as WithClerkState } from "./types-C3uAu7q3.js";
2
+ import { t as ClerkProvider } from "./ReactRouterClerkProvider-trOD2EJy.js";
3
+ import { i as UserProfile, n as SignIn, r as SignUp, t as OrganizationProfile } from "./uiComponents-CuYpqdGX.js";
4
+ import { getToken } from "@clerk/shared/getToken";
5
+ export * from "@clerk/react";
6
+ export { ClerkProvider, OrganizationProfile, SignIn, SignUp, UserProfile, type WithClerkState, getToken };
package/dist/index.js CHANGED
@@ -1,12 +1,15 @@
1
- // src/index.ts
2
- export * from "./client/index.js";
3
- import { getToken } from "@clerk/shared/getToken";
1
+ import { ClerkProvider } from "./client/ReactRouterClerkProvider.js";
2
+ import { OrganizationProfile, SignIn, SignUp, UserProfile } from "./client/uiComponents.js";
3
+ import "./client/index.js";
4
4
  import { setErrorThrowerOptions } from "@clerk/react/internal";
5
- if (typeof window !== "undefined" && typeof window.global === "undefined") {
6
- window.global = window;
7
- }
5
+ import { getToken } from "@clerk/shared/getToken";
6
+
7
+ export * from "@clerk/react"
8
+
9
+ //#region src/index.ts
10
+ if (typeof window !== "undefined" && typeof window.global === "undefined") window.global = window;
8
11
  setErrorThrowerOptions({ packageName: "@clerk/react-router" });
9
- export {
10
- getToken
11
- };
12
+
13
+ //#endregion
14
+ export { ClerkProvider, OrganizationProfile, SignIn, SignUp, UserProfile, getToken };
12
15
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["if (typeof window !== 'undefined' && typeof (window as any).global === 'undefined') {\n (window as any).global = window;\n}\n\nexport * from './client';\nexport { getToken } from '@clerk/shared/getToken';\n\n// Override Clerk React error thrower to show that errors come from @clerk/react-router\nimport { setErrorThrowerOptions } from '@clerk/react/internal';\nsetErrorThrowerOptions({ packageName: PACKAGE_NAME });\n"],"mappings":";AAIA,cAAc;AACd,SAAS,gBAAgB;AAGzB,SAAS,8BAA8B;AARvC,IAAI,OAAO,WAAW,eAAe,OAAQ,OAAe,WAAW,aAAa;AAClF,EAAC,OAAe,SAAS;AAC3B;AAOA,uBAAuB,EAAE,aAAa,sBAAa,CAAC;","names":[]}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["if (typeof window !== 'undefined' && typeof (window as any).global === 'undefined') {\n (window as any).global = window;\n}\n\nexport * from '@clerk/react';\nexport { ClerkProvider, SignIn, SignUp, OrganizationProfile, UserProfile, type WithClerkState } from './client';\nexport { getToken } from '@clerk/shared/getToken';\n\n// Override Clerk React error thrower to show that errors come from @clerk/react-router\nimport { setErrorThrowerOptions } from '@clerk/react/internal';\nsetErrorThrowerOptions({ packageName: PACKAGE_NAME });\n"],"mappings":";;;;;;;;;AAAA,IAAI,OAAO,WAAW,eAAe,OAAQ,OAAe,WAAW,aACrE,AAAC,OAAe,SAAS;AAS3B,uBAAuB,EAAE,mCAA0B,CAAC"}
package/dist/legacy.d.ts CHANGED
@@ -1 +1,2 @@
1
- export { useSignIn, useSignUp } from '@clerk/react/legacy';
1
+ import { useSignIn, useSignUp } from "@clerk/react/legacy";
2
+ export { useSignIn, useSignUp };
package/dist/legacy.js CHANGED
@@ -1,7 +1,3 @@
1
- // src/legacy.ts
2
1
  import { useSignIn, useSignUp } from "@clerk/react/legacy";
3
- export {
4
- useSignIn,
5
- useSignUp
6
- };
7
- //# sourceMappingURL=legacy.js.map
2
+
3
+ export { useSignIn, useSignUp };
@@ -0,0 +1,63 @@
1
+ import { n as ClerkMiddlewareOptions } from "./types-CkBFvMvW.js";
2
+ import { MiddlewareFunction } from "react-router";
3
+
4
+ //#region src/server/loadOptions.d.ts
5
+ type DataFunctionArgs = Parameters<MiddlewareFunction<Response>>[0];
6
+ declare const loadOptions: (args: DataFunctionArgs, overrides?: ClerkMiddlewareOptions) => {
7
+ secretKey: string;
8
+ machineSecretKey: string;
9
+ publishableKey: string;
10
+ jwtKey: string;
11
+ apiUrl: string;
12
+ domain: string;
13
+ isSatellite: boolean;
14
+ proxyUrl: string;
15
+ signInUrl: string;
16
+ signUpUrl: string;
17
+ signInForceRedirectUrl: string;
18
+ signUpForceRedirectUrl: string;
19
+ signInFallbackRedirectUrl: string;
20
+ signUpFallbackRedirectUrl: string;
21
+ organizationSyncOptions?: import("@clerk/backend/internal").OrganizationSyncOptions;
22
+ audience?: string | string[] | undefined;
23
+ authorizedParties?: string[] | undefined;
24
+ } | {
25
+ secretKey: string;
26
+ machineSecretKey: string;
27
+ publishableKey: string;
28
+ jwtKey: string;
29
+ apiUrl: string;
30
+ domain: string;
31
+ isSatellite: boolean;
32
+ proxyUrl: string;
33
+ signInUrl: string;
34
+ signUpUrl: string;
35
+ signInForceRedirectUrl: string;
36
+ signUpForceRedirectUrl: string;
37
+ signInFallbackRedirectUrl: string;
38
+ signUpFallbackRedirectUrl: string;
39
+ organizationSyncOptions?: import("@clerk/backend/internal").OrganizationSyncOptions;
40
+ audience?: string | string[] | undefined;
41
+ authorizedParties?: string[] | undefined;
42
+ } | {
43
+ secretKey: string;
44
+ machineSecretKey: string;
45
+ publishableKey: string;
46
+ jwtKey: string;
47
+ apiUrl: string;
48
+ domain: string;
49
+ isSatellite: boolean;
50
+ proxyUrl: string;
51
+ signInUrl: string;
52
+ signUpUrl: string;
53
+ signInForceRedirectUrl: string;
54
+ signUpForceRedirectUrl: string;
55
+ signInFallbackRedirectUrl: string;
56
+ signUpFallbackRedirectUrl: string;
57
+ organizationSyncOptions?: import("@clerk/backend/internal").OrganizationSyncOptions;
58
+ audience?: string | string[] | undefined;
59
+ authorizedParties?: string[] | undefined;
60
+ };
61
+ //#endregion
62
+ export { loadOptions as n, DataFunctionArgs as t };
63
+ //# sourceMappingURL=loadOptions-DNSRkrk0.d.ts.map
@@ -1,10 +1,8 @@
1
- import * as _clerk_backend from '@clerk/backend';
2
- import { DataFunctionArgs } from './loadOptions.js';
3
- import { ClerkMiddlewareOptions } from './types.js';
4
- import '@clerk/backend/internal';
5
- import 'react-router';
6
- import '@clerk/shared/types';
7
-
8
- declare const clerkClient: (args: DataFunctionArgs, overrides?: ClerkMiddlewareOptions) => _clerk_backend.ClerkClient;
1
+ import { n as ClerkMiddlewareOptions } from "../types-CkBFvMvW.js";
2
+ import { t as DataFunctionArgs } from "../loadOptions-DNSRkrk0.js";
9
3
 
4
+ //#region src/server/clerkClient.d.ts
5
+ declare const clerkClient: (args: DataFunctionArgs, overrides?: ClerkMiddlewareOptions) => import("@clerk/backend").ClerkClient;
6
+ //#endregion
10
7
  export { clerkClient };
8
+ //# sourceMappingURL=clerkClient.d.ts.map
@@ -1,22 +1,22 @@
1
- // src/server/clerkClient.ts
2
- import { createClerkClient } from "@clerk/backend";
3
1
  import { loadOptions } from "./loadOptions.js";
4
- var clerkClient = (args, overrides = {}) => {
5
- const options = loadOptions(args, overrides);
6
- const { apiUrl, secretKey, jwtKey, proxyUrl, isSatellite, domain, publishableKey, machineSecretKey } = options;
7
- return createClerkClient({
8
- apiUrl,
9
- secretKey,
10
- jwtKey,
11
- proxyUrl,
12
- isSatellite,
13
- domain,
14
- publishableKey,
15
- machineSecretKey,
16
- userAgent: `${"@clerk/react-router"}@${"3.4.1"}`
17
- });
18
- };
19
- export {
20
- clerkClient
2
+ import { createClerkClient } from "@clerk/backend";
3
+
4
+ //#region src/server/clerkClient.ts
5
+ const clerkClient = (args, overrides = {}) => {
6
+ const { apiUrl, secretKey, jwtKey, proxyUrl, isSatellite, domain, publishableKey, machineSecretKey } = loadOptions(args, overrides);
7
+ return createClerkClient({
8
+ apiUrl,
9
+ secretKey,
10
+ jwtKey,
11
+ proxyUrl,
12
+ isSatellite,
13
+ domain,
14
+ publishableKey,
15
+ machineSecretKey,
16
+ userAgent: `@clerk/react-router@3.4.2-canary.v20260610190754`
17
+ });
21
18
  };
19
+
20
+ //#endregion
21
+ export { clerkClient };
22
22
  //# sourceMappingURL=clerkClient.js.map
@@ -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,OAAe;AAAA,EAC/C,CAAC;AACH;","names":[]}
1
+ {"version":3,"file":"clerkClient.js","names":[],"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":";;;;AAKA,MAAa,eAAe,MAAwB,YAAoC,CAAC,MAAM;CAG7F,MAAM,EAAE,QAAQ,WAAW,QAAQ,UAAU,aAAa,QAAQ,gBAAgB,qBAFlE,YAAY,MAAM,SAE2E;CAE7G,OAAO,kBAAkB;EACvB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,WAAW;CACb,CAAC;AACH"}
@@ -1,16 +1,16 @@
1
- import * as react_router from 'react-router';
2
- import { MiddlewareFunction } from 'react-router';
3
- import { AuthObject } from '@clerk/backend';
4
- import { RequestState } from '@clerk/backend/internal';
5
- import { PendingSessionOptions } from '@clerk/shared/types';
6
- import { ClerkMiddlewareOptions, AdditionalStateOptions } from './types.js';
1
+ import { n as ClerkMiddlewareOptions, t as AdditionalStateOptions } from "../types-CkBFvMvW.js";
2
+ import { MiddlewareFunction } from "react-router";
3
+ import { AuthObject } from "@clerk/backend";
4
+ import { RequestState } from "@clerk/backend/internal";
5
+ import { PendingSessionOptions } from "@clerk/shared/types";
7
6
 
7
+ //#region src/server/clerkMiddleware.d.ts
8
8
  type RequestStateContextValue = {
9
- requestState: RequestState<any>;
10
- additionalState: AdditionalStateOptions;
9
+ requestState: RequestState<any>;
10
+ additionalState: AdditionalStateOptions;
11
11
  };
12
- declare const authFnContext: react_router.RouterContext<((options?: PendingSessionOptions) => AuthObject) | null>;
13
- declare const requestStateContext: react_router.RouterContext<RequestStateContextValue | null>;
12
+ declare const authFnContext: import("react-router").RouterContext<((options?: PendingSessionOptions) => AuthObject) | null>;
13
+ declare const requestStateContext: import("react-router").RouterContext<RequestStateContextValue | null>;
14
14
  /**
15
15
  * Middleware that integrates Clerk authentication into your React Router application.
16
16
  * It checks the request's cookies and headers for a session JWT and, if found,
@@ -28,5 +28,6 @@ declare const requestStateContext: react_router.RouterContext<RequestStateContex
28
28
  * export const middleware: Route.MiddlewareFunction[] = [clerkMiddleware()]
29
29
  */
30
30
  declare const clerkMiddleware: (options?: ClerkMiddlewareOptions) => MiddlewareFunction<Response>;
31
-
31
+ //#endregion
32
32
  export { authFnContext, clerkMiddleware, requestStateContext };
33
+ //# sourceMappingURL=clerkMiddleware.d.ts.map
@@ -1,94 +1,87 @@
1
- // src/server/clerkMiddleware.ts
2
- import { AuthStatus, constants, createClerkRequest } from "@clerk/backend/internal";
3
- import { handleNetlifyCacheInDevInstance } from "@clerk/shared/netlifyCacheHandler";
4
- import { createContext } from "react-router";
1
+ import { patchRequest } from "./utils.js";
2
+ import { loadOptions } from "./loadOptions.js";
5
3
  import { clerkClient } from "./clerkClient.js";
6
4
  import { resolveKeysWithKeylessFallback } from "./keyless/utils.js";
7
- import { loadOptions } from "./loadOptions.js";
8
- import { patchRequest } from "./utils.js";
9
- var authFnContext = createContext(null);
10
- var requestStateContext = createContext(null);
11
- var clerkMiddleware = (options) => {
12
- return async (args, next) => {
13
- const clerkRequest = createClerkRequest(patchRequest(args.request));
14
- const loadedOptions = loadOptions(args, options);
15
- const {
16
- publishableKey,
17
- secretKey,
18
- claimUrl: __keylessClaimUrl,
19
- apiKeysUrl: __keylessApiKeysUrl
20
- } = await resolveKeysWithKeylessFallback(loadedOptions.publishableKey, loadedOptions.secretKey, args, options);
21
- if (publishableKey) {
22
- loadedOptions.publishableKey = publishableKey;
23
- }
24
- if (secretKey) {
25
- loadedOptions.secretKey = secretKey;
26
- }
27
- const {
28
- apiUrl,
29
- jwtKey,
30
- proxyUrl,
31
- isSatellite,
32
- domain,
33
- machineSecretKey,
34
- audience,
35
- authorizedParties,
36
- signInUrl,
37
- signUpUrl,
38
- organizationSyncOptions
39
- } = loadedOptions;
40
- const requestState = await clerkClient(args, options).authenticateRequest(clerkRequest, {
41
- apiUrl,
42
- secretKey: loadedOptions.secretKey,
43
- jwtKey,
44
- proxyUrl,
45
- isSatellite,
46
- domain,
47
- publishableKey: loadedOptions.publishableKey,
48
- machineSecretKey,
49
- audience,
50
- authorizedParties,
51
- organizationSyncOptions,
52
- signInUrl,
53
- signUpUrl,
54
- acceptsToken: "any"
55
- });
56
- const locationHeader = requestState.headers.get(constants.Headers.Location);
57
- if (locationHeader) {
58
- handleNetlifyCacheInDevInstance({
59
- locationHeader,
60
- requestStateHeaders: requestState.headers,
61
- publishableKey: requestState.publishableKey
62
- });
63
- return new Response(null, { status: 307, headers: requestState.headers });
64
- }
65
- if (requestState.status === AuthStatus.Handshake) {
66
- throw new Error("Clerk: handshake status without redirect");
67
- }
68
- args.context.set(authFnContext, (opts) => requestState.toAuth(opts));
69
- args.context.set(requestStateContext, {
70
- requestState,
71
- additionalState: {
72
- __keylessClaimUrl,
73
- __keylessApiKeysUrl,
74
- signInForceRedirectUrl: loadedOptions.signInForceRedirectUrl,
75
- signUpForceRedirectUrl: loadedOptions.signUpForceRedirectUrl,
76
- signInFallbackRedirectUrl: loadedOptions.signInFallbackRedirectUrl,
77
- signUpFallbackRedirectUrl: loadedOptions.signUpFallbackRedirectUrl
78
- }
79
- });
80
- const response = await next();
81
- if (requestState.headers) {
82
- requestState.headers.forEach((value, key) => {
83
- response.headers.append(key, value);
84
- });
85
- }
86
- return response;
87
- };
88
- };
89
- export {
90
- authFnContext,
91
- clerkMiddleware,
92
- requestStateContext
5
+ import { createContext } from "react-router";
6
+ import { AuthStatus, constants, createClerkRequest } from "@clerk/backend/internal";
7
+ import { handleNetlifyCacheInDevInstance } from "@clerk/shared/netlifyCacheHandler";
8
+
9
+ //#region src/server/clerkMiddleware.ts
10
+ const authFnContext = createContext(null);
11
+ const requestStateContext = createContext(null);
12
+ /**
13
+ * Middleware that integrates Clerk authentication into your React Router application.
14
+ * It checks the request's cookies and headers for a session JWT and, if found,
15
+ * attaches the Auth object to a context.
16
+ *
17
+ * @example
18
+ * // react-router.config.ts
19
+ * export default {
20
+ * future: {
21
+ * v8_middleware: true,
22
+ * },
23
+ * }
24
+ *
25
+ * // root.tsx
26
+ * export const middleware: Route.MiddlewareFunction[] = [clerkMiddleware()]
27
+ */
28
+ const clerkMiddleware = (options) => {
29
+ return async (args, next) => {
30
+ const clerkRequest = createClerkRequest(patchRequest(args.request));
31
+ const loadedOptions = loadOptions(args, options);
32
+ const { publishableKey, secretKey, claimUrl: __keylessClaimUrl, apiKeysUrl: __keylessApiKeysUrl } = await resolveKeysWithKeylessFallback(loadedOptions.publishableKey, loadedOptions.secretKey, args, options);
33
+ if (publishableKey) loadedOptions.publishableKey = publishableKey;
34
+ if (secretKey) loadedOptions.secretKey = secretKey;
35
+ const { apiUrl, jwtKey, proxyUrl, isSatellite, domain, machineSecretKey, audience, authorizedParties, signInUrl, signUpUrl, organizationSyncOptions } = loadedOptions;
36
+ const requestState = await clerkClient(args, options).authenticateRequest(clerkRequest, {
37
+ apiUrl,
38
+ secretKey: loadedOptions.secretKey,
39
+ jwtKey,
40
+ proxyUrl,
41
+ isSatellite,
42
+ domain,
43
+ publishableKey: loadedOptions.publishableKey,
44
+ machineSecretKey,
45
+ audience,
46
+ authorizedParties,
47
+ organizationSyncOptions,
48
+ signInUrl,
49
+ signUpUrl,
50
+ acceptsToken: "any"
51
+ });
52
+ const locationHeader = requestState.headers.get(constants.Headers.Location);
53
+ if (locationHeader) {
54
+ handleNetlifyCacheInDevInstance({
55
+ locationHeader,
56
+ requestStateHeaders: requestState.headers,
57
+ publishableKey: requestState.publishableKey
58
+ });
59
+ return new Response(null, {
60
+ status: 307,
61
+ headers: requestState.headers
62
+ });
63
+ }
64
+ if (requestState.status === AuthStatus.Handshake) throw new Error("Clerk: handshake status without redirect");
65
+ args.context.set(authFnContext, (opts) => requestState.toAuth(opts));
66
+ args.context.set(requestStateContext, {
67
+ requestState,
68
+ additionalState: {
69
+ __keylessClaimUrl,
70
+ __keylessApiKeysUrl,
71
+ signInForceRedirectUrl: loadedOptions.signInForceRedirectUrl,
72
+ signUpForceRedirectUrl: loadedOptions.signUpForceRedirectUrl,
73
+ signInFallbackRedirectUrl: loadedOptions.signInFallbackRedirectUrl,
74
+ signUpFallbackRedirectUrl: loadedOptions.signUpFallbackRedirectUrl
75
+ }
76
+ });
77
+ const response = await next();
78
+ if (requestState.headers) requestState.headers.forEach((value, key) => {
79
+ response.headers.append(key, value);
80
+ });
81
+ return response;
82
+ };
93
83
  };
84
+
85
+ //#endregion
86
+ export { authFnContext, clerkMiddleware, requestStateContext };
94
87
  //# sourceMappingURL=clerkMiddleware.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/server/clerkMiddleware.ts"],"sourcesContent":["import type { AuthObject } from '@clerk/backend';\nimport 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 { MiddlewareFunction } from 'react-router';\nimport { createContext } from 'react-router';\n\nimport { clerkClient } from './clerkClient';\nimport { resolveKeysWithKeylessFallback } from './keyless/utils';\nimport { loadOptions } from './loadOptions';\nimport type { AdditionalStateOptions, ClerkMiddlewareOptions } from './types';\nimport { patchRequest } from './utils';\n\ntype RequestStateContextValue = {\n requestState: RequestState<any>;\n additionalState: AdditionalStateOptions;\n};\n\nexport const authFnContext = createContext<((options?: PendingSessionOptions) => AuthObject) | null>(null);\nexport const requestStateContext = createContext<RequestStateContextValue | null>(null);\n\n/**\n * Middleware that integrates Clerk authentication into your React Router application.\n * It checks the request's cookies and headers for a session JWT and, if found,\n * attaches the Auth object to a context.\n *\n * @example\n * // react-router.config.ts\n * export default {\n * future: {\n * v8_middleware: true,\n * },\n * }\n *\n * // root.tsx\n * export const middleware: Route.MiddlewareFunction[] = [clerkMiddleware()]\n */\nexport const clerkMiddleware = (options?: ClerkMiddlewareOptions): MiddlewareFunction<Response> => {\n return async (args, next) => {\n const clerkRequest = createClerkRequest(patchRequest(args.request));\n const loadedOptions = loadOptions(args, options);\n\n const {\n publishableKey,\n secretKey,\n claimUrl: __keylessClaimUrl,\n apiKeysUrl: __keylessApiKeysUrl,\n } = await resolveKeysWithKeylessFallback(loadedOptions.publishableKey, loadedOptions.secretKey, args, options);\n\n if (publishableKey) {\n loadedOptions.publishableKey = publishableKey;\n }\n if (secretKey) {\n loadedOptions.secretKey = secretKey;\n }\n\n // Pick only the properties needed by authenticateRequest.\n // Used when manually providing options to the middleware.\n const {\n apiUrl,\n jwtKey,\n proxyUrl,\n isSatellite,\n domain,\n machineSecretKey,\n audience,\n authorizedParties,\n signInUrl,\n signUpUrl,\n organizationSyncOptions,\n } = loadedOptions;\n\n const requestState = await clerkClient(args, options).authenticateRequest(clerkRequest, {\n apiUrl,\n secretKey: loadedOptions.secretKey,\n jwtKey,\n proxyUrl,\n isSatellite,\n domain,\n publishableKey: loadedOptions.publishableKey,\n machineSecretKey,\n audience,\n authorizedParties,\n organizationSyncOptions,\n signInUrl,\n signUpUrl,\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 return new Response(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 args.context.set(authFnContext, (opts?: PendingSessionOptions) => requestState.toAuth(opts));\n args.context.set(requestStateContext, {\n requestState,\n additionalState: {\n __keylessClaimUrl,\n __keylessApiKeysUrl,\n signInForceRedirectUrl: loadedOptions.signInForceRedirectUrl,\n signUpForceRedirectUrl: loadedOptions.signUpForceRedirectUrl,\n signInFallbackRedirectUrl: loadedOptions.signInFallbackRedirectUrl,\n signUpFallbackRedirectUrl: loadedOptions.signUpFallbackRedirectUrl,\n },\n });\n\n const response = await next();\n\n if (requestState.headers) {\n requestState.headers.forEach((value, key) => {\n response.headers.append(key, value);\n });\n }\n\n return response;\n };\n};\n"],"mappings":";AAEA,SAAS,YAAY,WAAW,0BAA0B;AAC1D,SAAS,uCAAuC;AAGhD,SAAS,qBAAqB;AAE9B,SAAS,mBAAmB;AAC5B,SAAS,sCAAsC;AAC/C,SAAS,mBAAmB;AAE5B,SAAS,oBAAoB;AAOtB,IAAM,gBAAgB,cAAwE,IAAI;AAClG,IAAM,sBAAsB,cAA+C,IAAI;AAkB/E,IAAM,kBAAkB,CAAC,YAAmE;AACjG,SAAO,OAAO,MAAM,SAAS;AAC3B,UAAM,eAAe,mBAAmB,aAAa,KAAK,OAAO,CAAC;AAClE,UAAM,gBAAgB,YAAY,MAAM,OAAO;AAE/C,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA,UAAU;AAAA,MACV,YAAY;AAAA,IACd,IAAI,MAAM,+BAA+B,cAAc,gBAAgB,cAAc,WAAW,MAAM,OAAO;AAE7G,QAAI,gBAAgB;AAClB,oBAAc,iBAAiB;AAAA,IACjC;AACA,QAAI,WAAW;AACb,oBAAc,YAAY;AAAA,IAC5B;AAIA,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,IAAI;AAEJ,UAAM,eAAe,MAAM,YAAY,MAAM,OAAO,EAAE,oBAAoB,cAAc;AAAA,MACtF;AAAA,MACA,WAAW,cAAc;AAAA,MACzB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,gBAAgB,cAAc;AAAA,MAC9B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,cAAc;AAAA,IAChB,CAAC;AAED,UAAM,iBAAiB,aAAa,QAAQ,IAAI,UAAU,QAAQ,QAAQ;AAC1E,QAAI,gBAAgB;AAClB,sCAAgC;AAAA,QAC9B;AAAA,QACA,qBAAqB,aAAa;AAAA,QAClC,gBAAgB,aAAa;AAAA,MAC/B,CAAC;AAED,aAAO,IAAI,SAAS,MAAM,EAAE,QAAQ,KAAK,SAAS,aAAa,QAAQ,CAAC;AAAA,IAC1E;AAEA,QAAI,aAAa,WAAW,WAAW,WAAW;AAChD,YAAM,IAAI,MAAM,0CAA0C;AAAA,IAC5D;AAEA,SAAK,QAAQ,IAAI,eAAe,CAAC,SAAiC,aAAa,OAAO,IAAI,CAAC;AAC3F,SAAK,QAAQ,IAAI,qBAAqB;AAAA,MACpC;AAAA,MACA,iBAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA,wBAAwB,cAAc;AAAA,QACtC,wBAAwB,cAAc;AAAA,QACtC,2BAA2B,cAAc;AAAA,QACzC,2BAA2B,cAAc;AAAA,MAC3C;AAAA,IACF,CAAC;AAED,UAAM,WAAW,MAAM,KAAK;AAE5B,QAAI,aAAa,SAAS;AACxB,mBAAa,QAAQ,QAAQ,CAAC,OAAO,QAAQ;AAC3C,iBAAS,QAAQ,OAAO,KAAK,KAAK;AAAA,MACpC,CAAC;AAAA,IACH;AAEA,WAAO;AAAA,EACT;AACF;","names":[]}
1
+ {"version":3,"file":"clerkMiddleware.js","names":[],"sources":["../../src/server/clerkMiddleware.ts"],"sourcesContent":["import type { AuthObject } from '@clerk/backend';\nimport 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 { MiddlewareFunction } from 'react-router';\nimport { createContext } from 'react-router';\n\nimport { clerkClient } from './clerkClient';\nimport { resolveKeysWithKeylessFallback } from './keyless/utils';\nimport { loadOptions } from './loadOptions';\nimport type { AdditionalStateOptions, ClerkMiddlewareOptions } from './types';\nimport { patchRequest } from './utils';\n\ntype RequestStateContextValue = {\n requestState: RequestState<any>;\n additionalState: AdditionalStateOptions;\n};\n\nexport const authFnContext = createContext<((options?: PendingSessionOptions) => AuthObject) | null>(null);\nexport const requestStateContext = createContext<RequestStateContextValue | null>(null);\n\n/**\n * Middleware that integrates Clerk authentication into your React Router application.\n * It checks the request's cookies and headers for a session JWT and, if found,\n * attaches the Auth object to a context.\n *\n * @example\n * // react-router.config.ts\n * export default {\n * future: {\n * v8_middleware: true,\n * },\n * }\n *\n * // root.tsx\n * export const middleware: Route.MiddlewareFunction[] = [clerkMiddleware()]\n */\nexport const clerkMiddleware = (options?: ClerkMiddlewareOptions): MiddlewareFunction<Response> => {\n return async (args, next) => {\n const clerkRequest = createClerkRequest(patchRequest(args.request));\n const loadedOptions = loadOptions(args, options);\n\n const {\n publishableKey,\n secretKey,\n claimUrl: __keylessClaimUrl,\n apiKeysUrl: __keylessApiKeysUrl,\n } = await resolveKeysWithKeylessFallback(loadedOptions.publishableKey, loadedOptions.secretKey, args, options);\n\n if (publishableKey) {\n loadedOptions.publishableKey = publishableKey;\n }\n if (secretKey) {\n loadedOptions.secretKey = secretKey;\n }\n\n // Pick only the properties needed by authenticateRequest.\n // Used when manually providing options to the middleware.\n const {\n apiUrl,\n jwtKey,\n proxyUrl,\n isSatellite,\n domain,\n machineSecretKey,\n audience,\n authorizedParties,\n signInUrl,\n signUpUrl,\n organizationSyncOptions,\n } = loadedOptions;\n\n const requestState = await clerkClient(args, options).authenticateRequest(clerkRequest, {\n apiUrl,\n secretKey: loadedOptions.secretKey,\n jwtKey,\n proxyUrl,\n isSatellite,\n domain,\n publishableKey: loadedOptions.publishableKey,\n machineSecretKey,\n audience,\n authorizedParties,\n organizationSyncOptions,\n signInUrl,\n signUpUrl,\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 return new Response(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 args.context.set(authFnContext, (opts?: PendingSessionOptions) => requestState.toAuth(opts));\n args.context.set(requestStateContext, {\n requestState,\n additionalState: {\n __keylessClaimUrl,\n __keylessApiKeysUrl,\n signInForceRedirectUrl: loadedOptions.signInForceRedirectUrl,\n signUpForceRedirectUrl: loadedOptions.signUpForceRedirectUrl,\n signInFallbackRedirectUrl: loadedOptions.signInFallbackRedirectUrl,\n signUpFallbackRedirectUrl: loadedOptions.signUpFallbackRedirectUrl,\n },\n });\n\n const response = await next();\n\n if (requestState.headers) {\n requestState.headers.forEach((value, key) => {\n response.headers.append(key, value);\n });\n }\n\n return response;\n };\n};\n"],"mappings":";;;;;;;;;AAmBA,MAAa,gBAAgB,cAAwE,IAAI;AACzG,MAAa,sBAAsB,cAA+C,IAAI;;;;;;;;;;;;;;;;;AAkBtF,MAAa,mBAAmB,YAAmE;CACjG,OAAO,OAAO,MAAM,SAAS;EAC3B,MAAM,eAAe,mBAAmB,aAAa,KAAK,OAAO,CAAC;EAClE,MAAM,gBAAgB,YAAY,MAAM,OAAO;EAE/C,MAAM,EACJ,gBACA,WACA,UAAU,mBACV,YAAY,wBACV,MAAM,+BAA+B,cAAc,gBAAgB,cAAc,WAAW,MAAM,OAAO;EAE7G,IAAI,gBACF,cAAc,iBAAiB;EAEjC,IAAI,WACF,cAAc,YAAY;EAK5B,MAAM,EACJ,QACA,QACA,UACA,aACA,QACA,kBACA,UACA,mBACA,WACA,WACA,4BACE;EAEJ,MAAM,eAAe,MAAM,YAAY,MAAM,OAAO,CAAC,CAAC,oBAAoB,cAAc;GACtF;GACA,WAAW,cAAc;GACzB;GACA;GACA;GACA;GACA,gBAAgB,cAAc;GAC9B;GACA;GACA;GACA;GACA;GACA;GACA,cAAc;EAChB,CAAC;EAED,MAAM,iBAAiB,aAAa,QAAQ,IAAI,UAAU,QAAQ,QAAQ;EAC1E,IAAI,gBAAgB;GAClB,gCAAgC;IAC9B;IACA,qBAAqB,aAAa;IAClC,gBAAgB,aAAa;GAC/B,CAAC;GAED,OAAO,IAAI,SAAS,MAAM;IAAE,QAAQ;IAAK,SAAS,aAAa;GAAQ,CAAC;EAC1E;EAEA,IAAI,aAAa,WAAW,WAAW,WACrC,MAAM,IAAI,MAAM,0CAA0C;EAG5D,KAAK,QAAQ,IAAI,gBAAgB,SAAiC,aAAa,OAAO,IAAI,CAAC;EAC3F,KAAK,QAAQ,IAAI,qBAAqB;GACpC;GACA,iBAAiB;IACf;IACA;IACA,wBAAwB,cAAc;IACtC,wBAAwB,cAAc;IACtC,2BAA2B,cAAc;IACzC,2BAA2B,cAAc;GAC3C;EACF,CAAC;EAED,MAAM,WAAW,MAAM,KAAK;EAE5B,IAAI,aAAa,SACf,aAAa,QAAQ,SAAS,OAAO,QAAQ;GAC3C,SAAS,QAAQ,OAAO,KAAK,KAAK;EACpC,CAAC;EAGH,OAAO;CACT;AACF"}
@@ -1,6 +1,8 @@
1
- import { GetAuthFn } from '@clerk/backend/internal';
2
- import { LoaderFunctionArgs } from 'react-router';
1
+ import { LoaderFunctionArgs } from "react-router";
2
+ import { GetAuthFn } from "@clerk/backend/internal";
3
3
 
4
+ //#region src/server/getAuth.d.ts
4
5
  declare const getAuth: GetAuthFn<LoaderFunctionArgs, true>;
5
-
6
+ //#endregion
6
7
  export { getAuth };
8
+ //# sourceMappingURL=getAuth.d.ts.map