FRE-651: CEO coordination notes for founder bio/headshot assets

This commit is contained in:
2026-04-26 07:41:45 -04:00
parent 3d5ff8650c
commit 5f4eb60a98
476 changed files with 67971 additions and 125 deletions

View File

@@ -1,7 +1,7 @@
const require_constants = require('./constants-WYhx_umW.js');
require('./isomorphicAtob-Hkpnx2p8.js');
require('./isomorphicBtoa-_pSA92Q9.js');
const require_keys = require('./keys-BI9hmfja.js');
const require_keys = require('./keys-nhSphkCl.js');
//#region src/apiUrlFromPublishableKey.ts
/**

View File

@@ -1,7 +1,7 @@
import { a as LOCAL_API_URL, c as PROD_API_URL, d as STAGING_ENV_SUFFIXES, i as LEGACY_DEV_INSTANCE_SUFFIXES, o as LOCAL_ENV_SUFFIXES, u as STAGING_API_URL } from "./constants-Bta24VLk.mjs";
import "./isomorphicAtob-CoF80qYz.mjs";
import "./isomorphicBtoa-DWmLcIHi.mjs";
import { u as parsePublishableKey } from "./keys-DuxzP8MU.mjs";
import { u as parsePublishableKey } from "./keys-ChIG_Ewf.mjs";
//#region src/apiUrlFromPublishableKey.ts
/**

View File

@@ -1 +1 @@
{"version":3,"file":"color.d.mts","names":[],"sources":["../../src/color.ts"],"sourcesContent":[],"mappings":";;;;cAUa;cAIA;cAIA;AARA,cAYA,UAVZ,EAAA,CAAA,CAAA,EAU6B,KAV7B,EAAA,GAAA,CAAA,IAU0C,SAV1C;AAEY,cAYA,UAVZ,EAAA,CAAA,CAAA,EAU6B,KAV7B,EAAA,GAAA,CAAA,IAU0C,SAV1C;AAEY,cAYA,aAVZ,EAAA,CAAA,CAAA,EAUgC,KAVhC,EAAA,GAAA,CAAA,IAU6C,gBAV7C;AAEY,cAYA,QAVZ,EAF6B,CAAA,KAAa,EAYX,KAZW,EAAA,GAE1C,OAAA;AAEY,cAeA,iBAf8B,EAAA,CAAA,KAAA,EAE1C,MAAA,EAAA,GAaiD,SAbjD,GAAA,IAAA;AAEY,cA+BA,qBA/BiC,EAAA,CAAA,KAAA,EAAA,MAE7C,EAAA,GA6BqD,KA7BrD;AAEY,cA+CA,qBA/CwB,EAAA,CAAA,KAAA,EA+CQ,KA/CR,EAAA,GAAA,MAAA,GA+CyB,gBA/CzB;AAOxB,cAwDA,oBAxDqC,EAAA,CAAA,GAAS,EAAA,MAAA,EAAA,GAwDR,SAxDQ"}
{"version":3,"file":"color.d.mts","names":[],"sources":["../../src/color.ts"],"sourcesContent":[],"mappings":";;;;cAUa;cAIA;cAIA;AARA,cAYA,UAVZ,EAAA,CAAA,CAAA,EAU6B,KAV7B,EAAA,GAAA,CAAA,IAU0C,SAV1C;AAEY,cAYA,UAVZ,EAAA,CAAA,CAAA,EAU6B,KAV7B,EAAA,GAAA,CAAA,IAU0C,SAV1C;AAEY,cAYA,aAVZ,EAAA,CAAA,CAAA,EAUgC,KAVhC,EAAA,GAAA,CAAA,IAU6C,gBAV7C;AAEY,cAYA,QAZiB,EAAA,CAAA,KAAa,EAYX,KAZW,EAE1C,GAAA,OAAA;AAEY,cAeA,iBAf8B,EAAA,CAAA,KAE1C,EAAA,MAAA,EAAA,GAaiD,SAbjD,GAAA,IAAA;AAEY,cA+BA,qBA/BiC,EAAA,CAAA,KAAA,EAAA,MAE7C,EAAA,GA6BqD,KA7BrD;AAEY,cA+CA,qBA/CwB,EAAA,CAAA,KAAA,EA+CQ,KA/CR,EAAA,GAAA,MAAA,GA+CyB,gBA/CzB;AAOxB,cAwDA,oBAxDqC,EAAA,CAAA,GAAS,EAAA,MAAA,EAAA,GAwDR,SAxDQ"}

View File

@@ -1 +1 @@
{"version":3,"file":"globs.d.mts","names":[],"sources":["../../src/globs.ts"],"sourcesContent":[],"mappings":";cAEa;EAAA,QAUZ,EAAA,CAAA,OAAA,EAT8B,MAAA,EAAM,GAAN,MAAM"}
{"version":3,"file":"globs.d.mts","names":[],"sources":["../../src/globs.ts"],"sourcesContent":[],"mappings":";cAEa;EAAA,QAUZ,EAAA,CAAA,OAAA,EAAA,MAT8B,EAAM,GAAN,MAAM"}

File diff suppressed because one or more lines are too long

View File

@@ -1,10 +1,10 @@
require('../../constants-WYhx_umW.js');
require('../../isomorphicAtob-Hkpnx2p8.js');
require('../../isomorphicBtoa-_pSA92Q9.js');
require('../../keys-BI9hmfja.js');
require('../../netlifyCacheHandler-DFm5qdPh.js');
require('../../keys-nhSphkCl.js');
require('../../netlifyCacheHandler-tf-8MGH1.js');
require('../../constants-BUzkV8jh.js');
const require_queryParams = require('../../queryParams-DSUymAGT.js');
const require_queryParams = require('../../queryParams-BIKo3ou8.js');
//#region src/internal/clerk-js/completeSignUpFlow.ts
const completeSignUpFlow = ({ signUp, verifyEmailPath, verifyPhonePath, continuePath, navigate, handleComplete, redirectUrl = "", redirectUrlComplete = "", oidcPrompt }) => {

View File

@@ -1,10 +1,10 @@
import "../../constants-Bta24VLk.mjs";
import "../../isomorphicAtob-CoF80qYz.mjs";
import "../../isomorphicBtoa-DWmLcIHi.mjs";
import "../../keys-DuxzP8MU.mjs";
import "../../netlifyCacheHandler-Dkdkho_6.mjs";
import "../../keys-ChIG_Ewf.mjs";
import "../../netlifyCacheHandler-BAoRn8m6.mjs";
import "../../constants-BulbbNR9.mjs";
import { t as forwardClerkQueryParams } from "../../queryParams-Dlt0oVDg.mjs";
import { t as forwardClerkQueryParams } from "../../queryParams-DJX7tUZy.mjs";
//#region src/internal/clerk-js/completeSignUpFlow.ts
const completeSignUpFlow = ({ signUp, verifyEmailPath, verifyPhonePath, continuePath, navigate, handleComplete, redirectUrl = "", redirectUrlComplete = "", oidcPrompt }) => {

View File

@@ -1,10 +1,10 @@
require('../../constants-WYhx_umW.js');
require('../../isomorphicAtob-Hkpnx2p8.js');
require('../../isomorphicBtoa-_pSA92Q9.js');
require('../../keys-BI9hmfja.js');
require('../../netlifyCacheHandler-DFm5qdPh.js');
require('../../keys-nhSphkCl.js');
require('../../netlifyCacheHandler-tf-8MGH1.js');
require('../../constants-BUzkV8jh.js');
const require_queryParams = require('../../queryParams-DSUymAGT.js');
const require_queryParams = require('../../queryParams-BIKo3ou8.js');
exports.forwardClerkQueryParams = require_queryParams.forwardClerkQueryParams;
exports.getClerkQueryParam = require_queryParams.getClerkQueryParam;

View File

@@ -1,9 +1,9 @@
import "../../constants-Bta24VLk.mjs";
import "../../isomorphicAtob-CoF80qYz.mjs";
import "../../isomorphicBtoa-DWmLcIHi.mjs";
import "../../keys-DuxzP8MU.mjs";
import "../../netlifyCacheHandler-Dkdkho_6.mjs";
import "../../keys-ChIG_Ewf.mjs";
import "../../netlifyCacheHandler-BAoRn8m6.mjs";
import "../../constants-BulbbNR9.mjs";
import { n as getClerkQueryParam, r as removeClerkQueryParam, t as forwardClerkQueryParams } from "../../queryParams-Dlt0oVDg.mjs";
import { n as getClerkQueryParam, r as removeClerkQueryParam, t as forwardClerkQueryParams } from "../../queryParams-DJX7tUZy.mjs";
export { forwardClerkQueryParams, getClerkQueryParam, removeClerkQueryParam };

View File

@@ -1,10 +1,10 @@
require('../../constants-WYhx_umW.js');
require('../../isomorphicAtob-Hkpnx2p8.js');
require('../../isomorphicBtoa-_pSA92Q9.js');
require('../../keys-BI9hmfja.js');
require('../../netlifyCacheHandler-DFm5qdPh.js');
require('../../keys-nhSphkCl.js');
require('../../netlifyCacheHandler-tf-8MGH1.js');
const require_constants$1 = require('../../constants-BUzkV8jh.js');
const require_queryParams = require('../../queryParams-DSUymAGT.js');
const require_queryParams = require('../../queryParams-BIKo3ou8.js');
const require_encoders = require('../../encoders-C_EA3--l.js');
//#region src/internal/clerk-js/queryStateParams.ts

View File

@@ -1,10 +1,10 @@
import "../../constants-Bta24VLk.mjs";
import "../../isomorphicAtob-CoF80qYz.mjs";
import "../../isomorphicBtoa-DWmLcIHi.mjs";
import "../../keys-DuxzP8MU.mjs";
import "../../netlifyCacheHandler-Dkdkho_6.mjs";
import "../../keys-ChIG_Ewf.mjs";
import "../../netlifyCacheHandler-BAoRn8m6.mjs";
import { r as CLERK_MODAL_STATE } from "../../constants-BulbbNR9.mjs";
import { n as getClerkQueryParam } from "../../queryParams-Dlt0oVDg.mjs";
import { n as getClerkQueryParam } from "../../queryParams-DJX7tUZy.mjs";
import { n as encodeB64 } from "../../encoders-CAjYroSe.mjs";
//#region src/internal/clerk-js/queryStateParams.ts

View File

@@ -1,7 +1,7 @@
require('../../constants-WYhx_umW.js');
require('../../isomorphicAtob-Hkpnx2p8.js');
require('../../isomorphicBtoa-_pSA92Q9.js');
require('../../keys-BI9hmfja.js');
require('../../keys-nhSphkCl.js');
require('../../globs-D0Kpu4g1.js');
require('../../instance-C1LlVxIp.js');
require('../../url-sAcxbiir.js');
@@ -10,7 +10,7 @@ const require_object = require('../../object-DklYlVP-.js');
const require_underscore = require('../../underscore-BX6Ucmg5.js');
require('../../path-ci3QmWY8.js');
require('../../querystring-BFj_iDi0.js');
const require_url$1 = require('../../url-CoXV4i87.js');
const require_url$1 = require('../../url-PlwHs7Rp.js');
//#region src/internal/clerk-js/redirectUrls.ts
var RedirectUrls = class RedirectUrls {

View File

@@ -1,7 +1,7 @@
import "../../constants-Bta24VLk.mjs";
import "../../isomorphicAtob-CoF80qYz.mjs";
import "../../isomorphicBtoa-DWmLcIHi.mjs";
import "../../keys-DuxzP8MU.mjs";
import "../../keys-ChIG_Ewf.mjs";
import "../../globs-u_gXJPLt.mjs";
import "../../instance-BmZr0cdE.mjs";
import "../../url-C6gPMFx5.mjs";
@@ -10,7 +10,7 @@ import { n as filterProps, r as removeUndefined, t as applyFunctionToObj } from
import { t as camelToSnake } from "../../underscore-ClYSgvuy.mjs";
import "../../path-BLD6zl1u.mjs";
import "../../querystring-pXtwII0l.mjs";
import { l as isAllowedRedirect, v as relativeToAbsoluteUrl } from "../../url-DaPDWryr.mjs";
import { l as isAllowedRedirect, v as relativeToAbsoluteUrl } from "../../url-BbdQYzdN.mjs";
//#region src/internal/clerk-js/redirectUrls.ts
var RedirectUrls = class RedirectUrls {

View File

@@ -1,18 +1,18 @@
require('../../constants-WYhx_umW.js');
require('../../isomorphicAtob-Hkpnx2p8.js');
require('../../isomorphicBtoa-_pSA92Q9.js');
require('../../keys-BI9hmfja.js');
require('../../keys-nhSphkCl.js');
require('../../globs-D0Kpu4g1.js');
require('../../instance-C1LlVxIp.js');
require('../../url-sAcxbiir.js');
const require_logger = require('../../logger-BOte4sQb.js');
require('../../netlifyCacheHandler-DFm5qdPh.js');
require('../../netlifyCacheHandler-tf-8MGH1.js');
require('../../underscore-BX6Ucmg5.js');
require('../../constants-BUzkV8jh.js');
const require_queryParams = require('../../queryParams-DSUymAGT.js');
const require_queryParams = require('../../queryParams-BIKo3ou8.js');
require('../../path-ci3QmWY8.js');
require('../../querystring-BFj_iDi0.js');
const require_url$1 = require('../../url-CoXV4i87.js');
const require_url$1 = require('../../url-PlwHs7Rp.js');
//#region src/internal/clerk-js/sessionTasks.ts
/**

View File

@@ -1,18 +1,18 @@
import "../../constants-Bta24VLk.mjs";
import "../../isomorphicAtob-CoF80qYz.mjs";
import "../../isomorphicBtoa-DWmLcIHi.mjs";
import "../../keys-DuxzP8MU.mjs";
import "../../keys-ChIG_Ewf.mjs";
import "../../globs-u_gXJPLt.mjs";
import "../../instance-BmZr0cdE.mjs";
import "../../url-C6gPMFx5.mjs";
import { t as logger } from "../../logger-DISzhF9M.mjs";
import "../../netlifyCacheHandler-Dkdkho_6.mjs";
import "../../netlifyCacheHandler-BAoRn8m6.mjs";
import "../../underscore-ClYSgvuy.mjs";
import "../../constants-BulbbNR9.mjs";
import { t as forwardClerkQueryParams } from "../../queryParams-Dlt0oVDg.mjs";
import { t as forwardClerkQueryParams } from "../../queryParams-DJX7tUZy.mjs";
import "../../path-BLD6zl1u.mjs";
import "../../querystring-pXtwII0l.mjs";
import { t as buildURL } from "../../url-DaPDWryr.mjs";
import { t as buildURL } from "../../url-BbdQYzdN.mjs";
//#region src/internal/clerk-js/sessionTasks.ts
/**

View File

@@ -1,7 +1,7 @@
require('../../constants-WYhx_umW.js');
require('../../isomorphicAtob-Hkpnx2p8.js');
require('../../isomorphicBtoa-_pSA92Q9.js');
require('../../keys-BI9hmfja.js');
require('../../keys-nhSphkCl.js');
require('../../globs-D0Kpu4g1.js');
require('../../instance-C1LlVxIp.js');
require('../../url-sAcxbiir.js');
@@ -9,7 +9,7 @@ require('../../logger-BOte4sQb.js');
require('../../underscore-BX6Ucmg5.js');
require('../../path-ci3QmWY8.js');
require('../../querystring-BFj_iDi0.js');
const require_url$1 = require('../../url-CoXV4i87.js');
const require_url$1 = require('../../url-PlwHs7Rp.js');
exports.buildURL = require_url$1.buildURL;
exports.createAllowedRedirectOrigins = require_url$1.createAllowedRedirectOrigins;

View File

@@ -1,7 +1,7 @@
import "../../constants-Bta24VLk.mjs";
import "../../isomorphicAtob-CoF80qYz.mjs";
import "../../isomorphicBtoa-DWmLcIHi.mjs";
import "../../keys-DuxzP8MU.mjs";
import "../../keys-ChIG_Ewf.mjs";
import "../../globs-u_gXJPLt.mjs";
import "../../instance-BmZr0cdE.mjs";
import "../../url-C6gPMFx5.mjs";
@@ -9,6 +9,6 @@ import "../../logger-DISzhF9M.mjs";
import "../../underscore-ClYSgvuy.mjs";
import "../../path-BLD6zl1u.mjs";
import "../../querystring-pXtwII0l.mjs";
import { C as trimLeadingSlash, S as toURL, _ as pathFromFullPath, a as hasBannedHrefProtocol, b as sanitizeHref, c as hasUrlInFragment, d as isDevAccountPortalOrigin, f as isDevOrStagingUrl, g as mergeFragmentIntoUrl, h as isValidUrl, i as getSearchParameterFromHash, l as isAllowedRedirect, m as isRedirectForFAPIInitiatedFlow, n as createAllowedRedirectOrigins, o as hasBannedProtocol, p as isProblematicUrl, r as getETLDPlusOneFromFrontendApi, s as hasExternalAccountSignUpError, t as buildURL, u as isDataUri, v as relativeToAbsoluteUrl, w as trimTrailingSlash, x as stripOrigin, y as requiresUserInput } from "../../url-DaPDWryr.mjs";
import { C as trimLeadingSlash, S as toURL, _ as pathFromFullPath, a as hasBannedHrefProtocol, b as sanitizeHref, c as hasUrlInFragment, d as isDevAccountPortalOrigin, f as isDevOrStagingUrl, g as mergeFragmentIntoUrl, h as isValidUrl, i as getSearchParameterFromHash, l as isAllowedRedirect, m as isRedirectForFAPIInitiatedFlow, n as createAllowedRedirectOrigins, o as hasBannedProtocol, p as isProblematicUrl, r as getETLDPlusOneFromFrontendApi, s as hasExternalAccountSignUpError, t as buildURL, u as isDataUri, v as relativeToAbsoluteUrl, w as trimTrailingSlash, x as stripOrigin, y as requiresUserInput } from "../../url-BbdQYzdN.mjs";
export { buildURL, createAllowedRedirectOrigins, getETLDPlusOneFromFrontendApi, getSearchParameterFromHash, hasBannedHrefProtocol, hasBannedProtocol, hasExternalAccountSignUpError, hasUrlInFragment, isAllowedRedirect, isDataUri, isDevAccountPortalOrigin, isDevOrStagingUrl, isProblematicUrl, isRedirectForFAPIInitiatedFlow, isValidUrl, mergeFragmentIntoUrl, pathFromFullPath, relativeToAbsoluteUrl, requiresUserInput, sanitizeHref, stripOrigin, toURL, trimLeadingSlash, trimTrailingSlash };

File diff suppressed because one or more lines are too long

View File

@@ -13,13 +13,43 @@ const PUBLISHABLE_KEY_TEST_PREFIX = "pk_test_";
*/
const PUBLISHABLE_FRONTEND_API_DEV_REGEX = /^(([a-z]+)-){2}([0-9]{1,2})\.clerk\.accounts([a-z.]*)(dev|com)$/i;
/**
* Converts a frontend API URL into a base64-encoded publishable key.
* Converts a frontend API URL into an unpadded base64-encoded publishable key.
*
* @param frontendApi - The frontend API URL (e.g., 'clerk.example.com').
* @returns A base64-encoded publishable key with appropriate prefix (pk_live_ or pk_test_).
* @returns An unpadded base64-encoded publishable key with appropriate prefix (pk_live_ or pk_test_).
*/
function buildPublishableKey(frontendApi) {
return `${PUBLISHABLE_FRONTEND_API_DEV_REGEX.test(frontendApi) || frontendApi.startsWith("clerk.") && LEGACY_DEV_INSTANCE_SUFFIXES.some((s) => frontendApi.endsWith(s)) ? PUBLISHABLE_KEY_TEST_PREFIX : PUBLISHABLE_KEY_LIVE_PREFIX}${isomorphicBtoa(`${frontendApi}$`)}`;
return `${PUBLISHABLE_FRONTEND_API_DEV_REGEX.test(frontendApi) || frontendApi.startsWith("clerk.") && LEGACY_DEV_INSTANCE_SUFFIXES.some((s) => frontendApi.endsWith(s)) ? PUBLISHABLE_KEY_TEST_PREFIX : PUBLISHABLE_KEY_LIVE_PREFIX}${isomorphicBtoa(`${frontendApi}$`).replace(/=+$/, "")}`;
}
/**
* Derives a publishable key from the current hostname. Intended for multi-domain
* setups (e.g. custom domains on top of a default domain) where the correct key
* must be resolved per request.
*
* Pass the configured publishable key as `fallbackKey` so that development
* instances (pk_test_) are returned as-is instead of being incorrectly derived
* from the host (e.g. localhost).
*
* @example
* // React (use window.location.hostname, not window.location.host, to avoid including the port)
* <ClerkProvider publishableKey={publishableKeyFromHost(window.location.hostname, import.meta.env.VITE_CLERK_PUBLISHABLE_KEY)}>
*
* @example
* // Express (inside clerkMiddleware callback)
* // Validate req.hostname against a known allowlist before passing it in.
* // When `trust proxy` is enabled, req.hostname reads from X-Forwarded-Host
* // and can be spoofed if your proxy is not properly configured.
* const ALLOWED_HOSTS = ['domain-a.com', 'domain-b.com'];
* clerkMiddleware((req) => {
* if (!ALLOWED_HOSTS.includes(req.hostname)) throw new Error('Unknown host');
* return { publishableKey: publishableKeyFromHost(req.hostname, process.env.CLERK_PUBLISHABLE_KEY) };
* })
*/
function publishableKeyFromHost(host, fallbackKey) {
if (fallbackKey && isDevelopmentFromPublishableKey(fallbackKey)) return fallbackKey;
const hostname = host.toLowerCase().replace(/:\d+$/, "");
if (!hostname) throw new Error("Host must not be empty.");
return buildPublishableKey(`clerk.${hostname}`);
}
/**
* Validates that a decoded publishable key has the correct format.
@@ -177,5 +207,5 @@ const getSuffixedCookieName = (cookieName, cookieSuffix) => {
};
//#endregion
export { isDevelopmentFromPublishableKey as a, isProductionFromSecretKey as c, getSuffixedCookieName as i, isPublishableKey as l, createDevOrStagingUrlCache as n, isDevelopmentFromSecretKey as o, getCookieSuffix as r, isProductionFromPublishableKey as s, buildPublishableKey as t, parsePublishableKey as u };
//# sourceMappingURL=keys-DuxzP8MU.mjs.map
export { isDevelopmentFromPublishableKey as a, isProductionFromSecretKey as c, publishableKeyFromHost as d, getSuffixedCookieName as i, isPublishableKey as l, createDevOrStagingUrlCache as n, isDevelopmentFromSecretKey as o, getCookieSuffix as r, isProductionFromPublishableKey as s, buildPublishableKey as t, parsePublishableKey as u };
//# sourceMappingURL=keys-ChIG_Ewf.mjs.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -13,13 +13,43 @@ const PUBLISHABLE_KEY_TEST_PREFIX = "pk_test_";
*/
const PUBLISHABLE_FRONTEND_API_DEV_REGEX = /^(([a-z]+)-){2}([0-9]{1,2})\.clerk\.accounts([a-z.]*)(dev|com)$/i;
/**
* Converts a frontend API URL into a base64-encoded publishable key.
* Converts a frontend API URL into an unpadded base64-encoded publishable key.
*
* @param frontendApi - The frontend API URL (e.g., 'clerk.example.com').
* @returns A base64-encoded publishable key with appropriate prefix (pk_live_ or pk_test_).
* @returns An unpadded base64-encoded publishable key with appropriate prefix (pk_live_ or pk_test_).
*/
function buildPublishableKey(frontendApi) {
return `${PUBLISHABLE_FRONTEND_API_DEV_REGEX.test(frontendApi) || frontendApi.startsWith("clerk.") && require_constants.LEGACY_DEV_INSTANCE_SUFFIXES.some((s) => frontendApi.endsWith(s)) ? PUBLISHABLE_KEY_TEST_PREFIX : PUBLISHABLE_KEY_LIVE_PREFIX}${require_isomorphicBtoa.isomorphicBtoa(`${frontendApi}$`)}`;
return `${PUBLISHABLE_FRONTEND_API_DEV_REGEX.test(frontendApi) || frontendApi.startsWith("clerk.") && require_constants.LEGACY_DEV_INSTANCE_SUFFIXES.some((s) => frontendApi.endsWith(s)) ? PUBLISHABLE_KEY_TEST_PREFIX : PUBLISHABLE_KEY_LIVE_PREFIX}${require_isomorphicBtoa.isomorphicBtoa(`${frontendApi}$`).replace(/=+$/, "")}`;
}
/**
* Derives a publishable key from the current hostname. Intended for multi-domain
* setups (e.g. custom domains on top of a default domain) where the correct key
* must be resolved per request.
*
* Pass the configured publishable key as `fallbackKey` so that development
* instances (pk_test_) are returned as-is instead of being incorrectly derived
* from the host (e.g. localhost).
*
* @example
* // React (use window.location.hostname, not window.location.host, to avoid including the port)
* <ClerkProvider publishableKey={publishableKeyFromHost(window.location.hostname, import.meta.env.VITE_CLERK_PUBLISHABLE_KEY)}>
*
* @example
* // Express (inside clerkMiddleware callback)
* // Validate req.hostname against a known allowlist before passing it in.
* // When `trust proxy` is enabled, req.hostname reads from X-Forwarded-Host
* // and can be spoofed if your proxy is not properly configured.
* const ALLOWED_HOSTS = ['domain-a.com', 'domain-b.com'];
* clerkMiddleware((req) => {
* if (!ALLOWED_HOSTS.includes(req.hostname)) throw new Error('Unknown host');
* return { publishableKey: publishableKeyFromHost(req.hostname, process.env.CLERK_PUBLISHABLE_KEY) };
* })
*/
function publishableKeyFromHost(host, fallbackKey) {
if (fallbackKey && isDevelopmentFromPublishableKey(fallbackKey)) return fallbackKey;
const hostname = host.toLowerCase().replace(/:\d+$/, "");
if (!hostname) throw new Error("Host must not be empty.");
return buildPublishableKey(`clerk.${hostname}`);
}
/**
* Validates that a decoded publishable key has the correct format.
@@ -237,4 +267,10 @@ Object.defineProperty(exports, 'parsePublishableKey', {
return parsePublishableKey;
}
});
//# sourceMappingURL=keys-BI9hmfja.js.map
Object.defineProperty(exports, 'publishableKeyFromHost', {
enumerable: true,
get: function () {
return publishableKeyFromHost;
}
});
//# sourceMappingURL=keys-nhSphkCl.js.map

File diff suppressed because one or more lines are too long

View File

@@ -16,12 +16,37 @@ type ParsePublishableKeyOptions = {
isSatellite?: boolean;
};
/**
* Converts a frontend API URL into a base64-encoded publishable key.
* Converts a frontend API URL into an unpadded base64-encoded publishable key.
*
* @param frontendApi - The frontend API URL (e.g., 'clerk.example.com').
* @returns A base64-encoded publishable key with appropriate prefix (pk_live_ or pk_test_).
* @returns An unpadded base64-encoded publishable key with appropriate prefix (pk_live_ or pk_test_).
*/
declare function buildPublishableKey(frontendApi: string): string;
/**
* Derives a publishable key from the current hostname. Intended for multi-domain
* setups (e.g. custom domains on top of a default domain) where the correct key
* must be resolved per request.
*
* Pass the configured publishable key as `fallbackKey` so that development
* instances (pk_test_) are returned as-is instead of being incorrectly derived
* from the host (e.g. localhost).
*
* @example
* // React (use window.location.hostname, not window.location.host, to avoid including the port)
* <ClerkProvider publishableKey={publishableKeyFromHost(window.location.hostname, import.meta.env.VITE_CLERK_PUBLISHABLE_KEY)}>
*
* @example
* // Express (inside clerkMiddleware callback)
* // Validate req.hostname against a known allowlist before passing it in.
* // When `trust proxy` is enabled, req.hostname reads from X-Forwarded-Host
* // and can be spoofed if your proxy is not properly configured.
* const ALLOWED_HOSTS = ['domain-a.com', 'domain-b.com'];
* clerkMiddleware((req) => {
* if (!ALLOWED_HOSTS.includes(req.hostname)) throw new Error('Unknown host');
* return { publishableKey: publishableKeyFromHost(req.hostname, process.env.CLERK_PUBLISHABLE_KEY) };
* })
*/
declare function publishableKeyFromHost(host: string, fallbackKey?: string): string;
declare function parsePublishableKey(key: string | undefined, options: ParsePublishableKeyOptions & {
fatal: true;
}): PublishableKey;
@@ -99,5 +124,5 @@ declare function getCookieSuffix(publishableKey: string, subtle?: SubtleCrypto):
*/
declare const getSuffixedCookieName: (cookieName: string, cookieSuffix: string) => string;
//#endregion
export { buildPublishableKey, createDevOrStagingUrlCache, getCookieSuffix, getSuffixedCookieName, isDevelopmentFromPublishableKey, isDevelopmentFromSecretKey, isProductionFromPublishableKey, isProductionFromSecretKey, isPublishableKey, parsePublishableKey };
export { buildPublishableKey, createDevOrStagingUrlCache, getCookieSuffix, getSuffixedCookieName, isDevelopmentFromPublishableKey, isDevelopmentFromSecretKey, isProductionFromPublishableKey, isProductionFromSecretKey, isPublishableKey, parsePublishableKey, publishableKeyFromHost };
//# sourceMappingURL=keys.d.mts.map

View File

@@ -1 +1 @@
{"version":3,"file":"keys.d.mts","names":[],"sources":["../../src/keys.ts"],"sourcesContent":[],"mappings":";;;;;;;AAG8C,KAKzC,0BAAA,GAA0B;EA6Bf;EA4BA,KAAA,CAAA,EAAA,OAAA;EAIA;EA0EA,MAAA,CAAA,EAAA,MAAA;EA+BA;EAiCA,QAAA,CAAA,EAAA,MAAA;EAWA;EAWA,WAAA,CAAA,EAAA,OAAA;AAWhB,CAAA;AAYA;AAmBA;;;;;iBA1OgB,mBAAA;iBA4BA,mBAAA,mCAEL;;IACR;iBACa,mBAAA,oCAEJ,6BACT;;;;;;;iBAuEa,gBAAA;;;;;;;iBA+BA,0BAAA,CAAA;;;;;;;oCAUsB;;;;;;;;;iBAuBtB,+BAAA;;;;;;;;iBAWA,8BAAA;;;;;;;;iBAWA,0BAAA;;;;;;;;iBAWA,yBAAA;;;;;;;;;iBAYM,eAAA,kCAEZ,eACP;;;;;;;;;cAgBU"}
{"version":3,"file":"keys.d.mts","names":[],"sources":["../../src/keys.ts"],"sourcesContent":[],"mappings":";;;;;;;AAG8C,KAKzC,0BAAA,GAA0B;EA6Bf;EAgCA,KAAA,CAAA,EAAA,OAAA;EA+BA;EAIA,MAAA,CAAA,EAAA,MAAA;EA0EA;EA+BA,QAAA,CAAA,EAAA,MAAA;EAiCA;EAWA,WAAA,CAAA,EAAA,OAAA;AAWhB,CAAA;AAWA;AAYA;AAmBA;;;;iBA7QgB,mBAAA;;;;;;;;;;;;;;;;;;;;;;;;;iBAgCA,sBAAA;iBA+BA,mBAAA,mCAEL;;IACR;iBACa,mBAAA,oCAEJ,6BACT;;;;;;;iBAuEa,gBAAA;;;;;;;iBA+BA,0BAAA,CAAA;;;;;;;oCAUsB;;;;;;;;;iBAuBtB,+BAAA;;;;;;;;iBAWA,8BAAA;;;;;;;;iBAWA,0BAAA;;;;;;;;iBAWA,yBAAA;;;;;;;;;iBAYM,eAAA,kCAEZ,eACP;;;;;;;;;cAgBU"}

View File

@@ -16,12 +16,37 @@ type ParsePublishableKeyOptions = {
isSatellite?: boolean;
};
/**
* Converts a frontend API URL into a base64-encoded publishable key.
* Converts a frontend API URL into an unpadded base64-encoded publishable key.
*
* @param frontendApi - The frontend API URL (e.g., 'clerk.example.com').
* @returns A base64-encoded publishable key with appropriate prefix (pk_live_ or pk_test_).
* @returns An unpadded base64-encoded publishable key with appropriate prefix (pk_live_ or pk_test_).
*/
declare function buildPublishableKey(frontendApi: string): string;
/**
* Derives a publishable key from the current hostname. Intended for multi-domain
* setups (e.g. custom domains on top of a default domain) where the correct key
* must be resolved per request.
*
* Pass the configured publishable key as `fallbackKey` so that development
* instances (pk_test_) are returned as-is instead of being incorrectly derived
* from the host (e.g. localhost).
*
* @example
* // React (use window.location.hostname, not window.location.host, to avoid including the port)
* <ClerkProvider publishableKey={publishableKeyFromHost(window.location.hostname, import.meta.env.VITE_CLERK_PUBLISHABLE_KEY)}>
*
* @example
* // Express (inside clerkMiddleware callback)
* // Validate req.hostname against a known allowlist before passing it in.
* // When `trust proxy` is enabled, req.hostname reads from X-Forwarded-Host
* // and can be spoofed if your proxy is not properly configured.
* const ALLOWED_HOSTS = ['domain-a.com', 'domain-b.com'];
* clerkMiddleware((req) => {
* if (!ALLOWED_HOSTS.includes(req.hostname)) throw new Error('Unknown host');
* return { publishableKey: publishableKeyFromHost(req.hostname, process.env.CLERK_PUBLISHABLE_KEY) };
* })
*/
declare function publishableKeyFromHost(host: string, fallbackKey?: string): string;
declare function parsePublishableKey(key: string | undefined, options: ParsePublishableKeyOptions & {
fatal: true;
}): PublishableKey;
@@ -99,5 +124,5 @@ declare function getCookieSuffix(publishableKey: string, subtle?: SubtleCrypto):
*/
declare const getSuffixedCookieName: (cookieName: string, cookieSuffix: string) => string;
//#endregion
export { buildPublishableKey, createDevOrStagingUrlCache, getCookieSuffix, getSuffixedCookieName, isDevelopmentFromPublishableKey, isDevelopmentFromSecretKey, isProductionFromPublishableKey, isProductionFromSecretKey, isPublishableKey, parsePublishableKey };
export { buildPublishableKey, createDevOrStagingUrlCache, getCookieSuffix, getSuffixedCookieName, isDevelopmentFromPublishableKey, isDevelopmentFromSecretKey, isProductionFromPublishableKey, isProductionFromSecretKey, isPublishableKey, parsePublishableKey, publishableKeyFromHost };
//# sourceMappingURL=keys.d.ts.map

View File

@@ -1 +1 @@
{"version":3,"file":"keys.d.ts","names":[],"sources":["../../src/keys.ts"],"sourcesContent":[],"mappings":";;;;;;;AAG8C,KAKzC,0BAAA,GAA0B;EA6Bf;EA4BA,KAAA,CAAA,EAAA,OAAA;EAIA;EA0EA,MAAA,CAAA,EAAA,MAAA;EA+BA;EAiCA,QAAA,CAAA,EAAA,MAAA;EAWA;EAWA,WAAA,CAAA,EAAA,OAAA;AAWhB,CAAA;AAYA;AAmBA;;;;;iBA1OgB,mBAAA;iBA4BA,mBAAA,mCAEL;;IACR;iBACa,mBAAA,oCAEJ,6BACT;;;;;;;iBAuEa,gBAAA;;;;;;;iBA+BA,0BAAA,CAAA;;;;;;;oCAUsB;;;;;;;;;iBAuBtB,+BAAA;;;;;;;;iBAWA,8BAAA;;;;;;;;iBAWA,0BAAA;;;;;;;;iBAWA,yBAAA;;;;;;;;;iBAYM,eAAA,kCAEZ,eACP;;;;;;;;;cAgBU"}
{"version":3,"file":"keys.d.ts","names":[],"sources":["../../src/keys.ts"],"sourcesContent":[],"mappings":";;;;;;;AAG8C,KAKzC,0BAAA,GAA0B;EA6Bf;EAgCA,KAAA,CAAA,EAAA,OAAA;EA+BA;EAIA,MAAA,CAAA,EAAA,MAAA;EA0EA;EA+BA,QAAA,CAAA,EAAA,MAAA;EAiCA;EAWA,WAAA,CAAA,EAAA,OAAA;AAWhB,CAAA;AAWA;AAYA;AAmBA;;;;iBA7QgB,mBAAA;;;;;;;;;;;;;;;;;;;;;;;;;iBAgCA,sBAAA;iBA+BA,mBAAA,mCAEL;;IACR;iBACa,mBAAA,oCAEJ,6BACT;;;;;;;iBAuEa,gBAAA;;;;;;;iBA+BA,0BAAA,CAAA;;;;;;;oCAUsB;;;;;;;;;iBAuBtB,+BAAA;;;;;;;;iBAWA,8BAAA;;;;;;;;iBAWA,0BAAA;;;;;;;;iBAWA,yBAAA;;;;;;;;;iBAYM,eAAA,kCAEZ,eACP;;;;;;;;;cAgBU"}

View File

@@ -1,7 +1,7 @@
require('./constants-WYhx_umW.js');
require('./isomorphicAtob-Hkpnx2p8.js');
require('./isomorphicBtoa-_pSA92Q9.js');
const require_keys = require('./keys-BI9hmfja.js');
const require_keys = require('./keys-nhSphkCl.js');
exports.buildPublishableKey = require_keys.buildPublishableKey;
exports.createDevOrStagingUrlCache = require_keys.createDevOrStagingUrlCache;
@@ -12,4 +12,5 @@ exports.isDevelopmentFromSecretKey = require_keys.isDevelopmentFromSecretKey;
exports.isProductionFromPublishableKey = require_keys.isProductionFromPublishableKey;
exports.isProductionFromSecretKey = require_keys.isProductionFromSecretKey;
exports.isPublishableKey = require_keys.isPublishableKey;
exports.parsePublishableKey = require_keys.parsePublishableKey;
exports.parsePublishableKey = require_keys.parsePublishableKey;
exports.publishableKeyFromHost = require_keys.publishableKeyFromHost;

View File

@@ -1,6 +1,6 @@
import "./constants-Bta24VLk.mjs";
import "./isomorphicAtob-CoF80qYz.mjs";
import "./isomorphicBtoa-DWmLcIHi.mjs";
import { a as isDevelopmentFromPublishableKey, c as isProductionFromSecretKey, i as getSuffixedCookieName, l as isPublishableKey, n as createDevOrStagingUrlCache, o as isDevelopmentFromSecretKey, r as getCookieSuffix, s as isProductionFromPublishableKey, t as buildPublishableKey, u as parsePublishableKey } from "./keys-DuxzP8MU.mjs";
import { a as isDevelopmentFromPublishableKey, c as isProductionFromSecretKey, d as publishableKeyFromHost, i as getSuffixedCookieName, l as isPublishableKey, n as createDevOrStagingUrlCache, o as isDevelopmentFromSecretKey, r as getCookieSuffix, s as isProductionFromPublishableKey, t as buildPublishableKey, u as parsePublishableKey } from "./keys-ChIG_Ewf.mjs";
export { buildPublishableKey, createDevOrStagingUrlCache, getCookieSuffix, getSuffixedCookieName, isDevelopmentFromPublishableKey, isDevelopmentFromSecretKey, isProductionFromPublishableKey, isProductionFromSecretKey, isPublishableKey, parsePublishableKey };
export { buildPublishableKey, createDevOrStagingUrlCache, getCookieSuffix, getSuffixedCookieName, isDevelopmentFromPublishableKey, isDevelopmentFromSecretKey, isProductionFromPublishableKey, isProductionFromSecretKey, isPublishableKey, parsePublishableKey, publishableKeyFromHost };

View File

@@ -1,7 +1,7 @@
require('./constants-WYhx_umW.js');
require('./isomorphicAtob-Hkpnx2p8.js');
require('./isomorphicBtoa-_pSA92Q9.js');
const require_keys = require('./keys-BI9hmfja.js');
const require_keys = require('./keys-nhSphkCl.js');
const require_clerkRuntimeError = require('./clerkRuntimeError-CaS4sM5w.js');
const require_error = require('./error-BkPoOeMv.js');
require('./retry-DGCmqlcR.js');
@@ -9,7 +9,7 @@ const require_loadScript = require('./loadScript-BnB9d_IW.js');
const require_proxy = require('./proxy-DahrnOq8.js');
require('./instance-C1LlVxIp.js');
const require_url = require('./url-sAcxbiir.js');
const require_versionSelector = require('./versionSelector-cJbE4ZNU.js');
const require_versionSelector = require('./versionSelector-BBJZEL29.js');
//#region src/loadClerkJsScript.ts
const { isDevOrStagingUrl } = require_keys.createDevOrStagingUrlCache();
@@ -146,7 +146,7 @@ const clerkUIScriptUrl = (opts) => {
publishableKey,
proxyUrl,
domain
})}/npm/@clerk/ui@${require_versionSelector.versionSelector(__internal_clerkUIVersion, "1.6.4")}/dist/ui.browser.js`;
})}/npm/@clerk/ui@${require_versionSelector.versionSelector(__internal_clerkUIVersion, "1.6.7")}/dist/ui.browser.js`;
};
const buildClerkJSScriptAttributes = (options) => {
const obj = {};

View File

@@ -1,7 +1,7 @@
import "./constants-Bta24VLk.mjs";
import "./isomorphicAtob-CoF80qYz.mjs";
import "./isomorphicBtoa-DWmLcIHi.mjs";
import { n as createDevOrStagingUrlCache, u as parsePublishableKey } from "./keys-DuxzP8MU.mjs";
import { n as createDevOrStagingUrlCache, u as parsePublishableKey } from "./keys-ChIG_Ewf.mjs";
import { t as ClerkRuntimeError } from "./clerkRuntimeError-DqAmLuLY.mjs";
import { y as buildErrorThrower } from "./error-NXMTfCAv.mjs";
import "./retry-DqRIhHV5.mjs";
@@ -9,7 +9,7 @@ import { t as loadScript } from "./loadScript-UG_epen4.mjs";
import { i as proxyUrlToAbsoluteURL, r as isValidProxyUrl } from "./proxy-BcfViKjn.mjs";
import "./instance-BmZr0cdE.mjs";
import { t as addClerkPrefix } from "./url-C6gPMFx5.mjs";
import { n as versionSelector } from "./versionSelector-mE4tPkHj.mjs";
import { n as versionSelector } from "./versionSelector-DRhta7n1.mjs";
//#region src/loadClerkJsScript.ts
const { isDevOrStagingUrl } = createDevOrStagingUrlCache();
@@ -146,7 +146,7 @@ const clerkUIScriptUrl = (opts) => {
publishableKey,
proxyUrl,
domain
})}/npm/@clerk/ui@${versionSelector(__internal_clerkUIVersion, "1.6.4")}/dist/ui.browser.js`;
})}/npm/@clerk/ui@${versionSelector(__internal_clerkUIVersion, "1.6.7")}/dist/ui.browser.js`;
};
const buildClerkJSScriptAttributes = (options) => {
const obj = {};

View File

@@ -1,4 +1,4 @@
import { a as isDevelopmentFromPublishableKey } from "./keys-DuxzP8MU.mjs";
import { a as isDevelopmentFromPublishableKey } from "./keys-ChIG_Ewf.mjs";
//#region src/netlifyCacheHandler.ts
/**
@@ -45,4 +45,4 @@ function handleNetlifyCacheInDevInstance({ locationHeader, requestStateHeaders,
//#endregion
export { handleNetlifyCacheInDevInstance as n, CLERK_NETLIFY_CACHE_BUST_PARAM as t };
//# sourceMappingURL=netlifyCacheHandler-Dkdkho_6.mjs.map
//# sourceMappingURL=netlifyCacheHandler-BAoRn8m6.mjs.map

View File

@@ -1 +1 @@
{"version":3,"file":"netlifyCacheHandler-Dkdkho_6.mjs","names":[],"sources":["../../src/netlifyCacheHandler.ts"],"sourcesContent":["/* eslint-disable turbo/no-undeclared-env-vars */\nimport { isDevelopmentFromPublishableKey } from './keys';\n\n/**\n * Cache busting parameter for Netlify to prevent cached responses\n * during handshake flows with Clerk development instances.\n *\n * Note: This query parameter will be removed in the \"@clerk/clerk-js\" package.\n *\n * @internal\n */\nexport const CLERK_NETLIFY_CACHE_BUST_PARAM = '__clerk_netlify_cache_bust';\n\n/**\n * Returns true if running in a Netlify environment.\n * Checks for Netlify-specific environment variables in process.env.\n * Safe for browser and non-Node environments.\n */\nfunction isNetlifyRuntime(): boolean {\n if (typeof process === 'undefined' || !process.env) {\n return false;\n }\n\n return (\n Boolean(process.env.NETLIFY) ||\n Boolean(process.env.NETLIFY_FUNCTIONS_TOKEN) ||\n (typeof process.env.URL === 'string' && process.env.URL.endsWith('netlify.app'))\n );\n}\n\n/**\n * Prevents infinite redirects in Netlify's functions by adding a cache bust parameter\n * to the original redirect URL. This ensures that Netlify doesn't serve a cached response\n * during the handshake flow.\n *\n * The issue happens only on Clerk development instances running on Netlify. This is\n * a workaround until we find a better solution.\n *\n * See https://answers.netlify.com/t/cache-handling-recommendation-for-authentication-handshake-redirects/143969/1.\n *\n * @internal\n */\nexport function handleNetlifyCacheInDevInstance({\n locationHeader,\n requestStateHeaders,\n publishableKey,\n}: {\n locationHeader: string;\n requestStateHeaders: Headers;\n publishableKey: string;\n}) {\n const isOnNetlify = isNetlifyRuntime();\n const isDevelopmentInstance = isDevelopmentFromPublishableKey(publishableKey);\n\n if (isOnNetlify && isDevelopmentInstance) {\n const hasHandshakeQueryParam = locationHeader.includes('__clerk_handshake');\n // If location header is the original URL before the handshake flow, add cache bust param\n // The param should be removed in clerk-js\n if (!hasHandshakeQueryParam) {\n const url = new URL(locationHeader);\n url.searchParams.append(CLERK_NETLIFY_CACHE_BUST_PARAM, Date.now().toString());\n requestStateHeaders.set('Location', url.toString());\n }\n }\n}\n"],"mappings":";;;;;;;;;;;AAWA,MAAa,iCAAiC;;;;;;AAO9C,SAAS,mBAA4B;AACnC,KAAI,OAAO,YAAY,eAAe,CAAC,QAAQ,IAC7C,QAAO;AAGT,QACE,QAAQ,QAAQ,IAAI,QAAQ,IAC5B,QAAQ,QAAQ,IAAI,wBAAwB,IAC3C,OAAO,QAAQ,IAAI,QAAQ,YAAY,QAAQ,IAAI,IAAI,SAAS,cAAc;;;;;;;;;;;;;;AAgBnF,SAAgB,gCAAgC,EAC9C,gBACA,qBACA,kBAKC;CACD,MAAM,cAAc,kBAAkB;CACtC,MAAM,wBAAwB,gCAAgC,eAAe;AAE7E,KAAI,eAAe,uBAIjB;MAAI,CAH2B,eAAe,SAAS,oBAAoB,EAG9C;GAC3B,MAAM,MAAM,IAAI,IAAI,eAAe;AACnC,OAAI,aAAa,OAAO,gCAAgC,KAAK,KAAK,CAAC,UAAU,CAAC;AAC9E,uBAAoB,IAAI,YAAY,IAAI,UAAU,CAAC"}
{"version":3,"file":"netlifyCacheHandler-BAoRn8m6.mjs","names":[],"sources":["../../src/netlifyCacheHandler.ts"],"sourcesContent":["/* eslint-disable turbo/no-undeclared-env-vars */\nimport { isDevelopmentFromPublishableKey } from './keys';\n\n/**\n * Cache busting parameter for Netlify to prevent cached responses\n * during handshake flows with Clerk development instances.\n *\n * Note: This query parameter will be removed in the \"@clerk/clerk-js\" package.\n *\n * @internal\n */\nexport const CLERK_NETLIFY_CACHE_BUST_PARAM = '__clerk_netlify_cache_bust';\n\n/**\n * Returns true if running in a Netlify environment.\n * Checks for Netlify-specific environment variables in process.env.\n * Safe for browser and non-Node environments.\n */\nfunction isNetlifyRuntime(): boolean {\n if (typeof process === 'undefined' || !process.env) {\n return false;\n }\n\n return (\n Boolean(process.env.NETLIFY) ||\n Boolean(process.env.NETLIFY_FUNCTIONS_TOKEN) ||\n (typeof process.env.URL === 'string' && process.env.URL.endsWith('netlify.app'))\n );\n}\n\n/**\n * Prevents infinite redirects in Netlify's functions by adding a cache bust parameter\n * to the original redirect URL. This ensures that Netlify doesn't serve a cached response\n * during the handshake flow.\n *\n * The issue happens only on Clerk development instances running on Netlify. This is\n * a workaround until we find a better solution.\n *\n * See https://answers.netlify.com/t/cache-handling-recommendation-for-authentication-handshake-redirects/143969/1.\n *\n * @internal\n */\nexport function handleNetlifyCacheInDevInstance({\n locationHeader,\n requestStateHeaders,\n publishableKey,\n}: {\n locationHeader: string;\n requestStateHeaders: Headers;\n publishableKey: string;\n}) {\n const isOnNetlify = isNetlifyRuntime();\n const isDevelopmentInstance = isDevelopmentFromPublishableKey(publishableKey);\n\n if (isOnNetlify && isDevelopmentInstance) {\n const hasHandshakeQueryParam = locationHeader.includes('__clerk_handshake');\n // If location header is the original URL before the handshake flow, add cache bust param\n // The param should be removed in clerk-js\n if (!hasHandshakeQueryParam) {\n const url = new URL(locationHeader);\n url.searchParams.append(CLERK_NETLIFY_CACHE_BUST_PARAM, Date.now().toString());\n requestStateHeaders.set('Location', url.toString());\n }\n }\n}\n"],"mappings":";;;;;;;;;;;AAWA,MAAa,iCAAiC;;;;;;AAO9C,SAAS,mBAA4B;AACnC,KAAI,OAAO,YAAY,eAAe,CAAC,QAAQ,IAC7C,QAAO;AAGT,QACE,QAAQ,QAAQ,IAAI,QAAQ,IAC5B,QAAQ,QAAQ,IAAI,wBAAwB,IAC3C,OAAO,QAAQ,IAAI,QAAQ,YAAY,QAAQ,IAAI,IAAI,SAAS,cAAc;;;;;;;;;;;;;;AAgBnF,SAAgB,gCAAgC,EAC9C,gBACA,qBACA,kBAKC;CACD,MAAM,cAAc,kBAAkB;CACtC,MAAM,wBAAwB,gCAAgC,eAAe;AAE7E,KAAI,eAAe,uBAIjB;MAAI,CAH2B,eAAe,SAAS,oBAAoB,EAG9C;GAC3B,MAAM,MAAM,IAAI,IAAI,eAAe;AACnC,OAAI,aAAa,OAAO,gCAAgC,KAAK,KAAK,CAAC,UAAU,CAAC;AAC9E,uBAAoB,IAAI,YAAY,IAAI,UAAU,CAAC"}

View File

@@ -1,4 +1,4 @@
const require_keys = require('./keys-BI9hmfja.js');
const require_keys = require('./keys-nhSphkCl.js');
//#region src/netlifyCacheHandler.ts
/**
@@ -56,4 +56,4 @@ Object.defineProperty(exports, 'handleNetlifyCacheInDevInstance', {
return handleNetlifyCacheInDevInstance;
}
});
//# sourceMappingURL=netlifyCacheHandler-DFm5qdPh.js.map
//# sourceMappingURL=netlifyCacheHandler-tf-8MGH1.js.map

View File

@@ -1 +1 @@
{"version":3,"file":"netlifyCacheHandler-DFm5qdPh.js","names":["isDevelopmentFromPublishableKey"],"sources":["../../src/netlifyCacheHandler.ts"],"sourcesContent":["/* eslint-disable turbo/no-undeclared-env-vars */\nimport { isDevelopmentFromPublishableKey } from './keys';\n\n/**\n * Cache busting parameter for Netlify to prevent cached responses\n * during handshake flows with Clerk development instances.\n *\n * Note: This query parameter will be removed in the \"@clerk/clerk-js\" package.\n *\n * @internal\n */\nexport const CLERK_NETLIFY_CACHE_BUST_PARAM = '__clerk_netlify_cache_bust';\n\n/**\n * Returns true if running in a Netlify environment.\n * Checks for Netlify-specific environment variables in process.env.\n * Safe for browser and non-Node environments.\n */\nfunction isNetlifyRuntime(): boolean {\n if (typeof process === 'undefined' || !process.env) {\n return false;\n }\n\n return (\n Boolean(process.env.NETLIFY) ||\n Boolean(process.env.NETLIFY_FUNCTIONS_TOKEN) ||\n (typeof process.env.URL === 'string' && process.env.URL.endsWith('netlify.app'))\n );\n}\n\n/**\n * Prevents infinite redirects in Netlify's functions by adding a cache bust parameter\n * to the original redirect URL. This ensures that Netlify doesn't serve a cached response\n * during the handshake flow.\n *\n * The issue happens only on Clerk development instances running on Netlify. This is\n * a workaround until we find a better solution.\n *\n * See https://answers.netlify.com/t/cache-handling-recommendation-for-authentication-handshake-redirects/143969/1.\n *\n * @internal\n */\nexport function handleNetlifyCacheInDevInstance({\n locationHeader,\n requestStateHeaders,\n publishableKey,\n}: {\n locationHeader: string;\n requestStateHeaders: Headers;\n publishableKey: string;\n}) {\n const isOnNetlify = isNetlifyRuntime();\n const isDevelopmentInstance = isDevelopmentFromPublishableKey(publishableKey);\n\n if (isOnNetlify && isDevelopmentInstance) {\n const hasHandshakeQueryParam = locationHeader.includes('__clerk_handshake');\n // If location header is the original URL before the handshake flow, add cache bust param\n // The param should be removed in clerk-js\n if (!hasHandshakeQueryParam) {\n const url = new URL(locationHeader);\n url.searchParams.append(CLERK_NETLIFY_CACHE_BUST_PARAM, Date.now().toString());\n requestStateHeaders.set('Location', url.toString());\n }\n }\n}\n"],"mappings":";;;;;;;;;;;AAWA,MAAa,iCAAiC;;;;;;AAO9C,SAAS,mBAA4B;AACnC,KAAI,OAAO,YAAY,eAAe,CAAC,QAAQ,IAC7C,QAAO;AAGT,QACE,QAAQ,QAAQ,IAAI,QAAQ,IAC5B,QAAQ,QAAQ,IAAI,wBAAwB,IAC3C,OAAO,QAAQ,IAAI,QAAQ,YAAY,QAAQ,IAAI,IAAI,SAAS,cAAc;;;;;;;;;;;;;;AAgBnF,SAAgB,gCAAgC,EAC9C,gBACA,qBACA,kBAKC;CACD,MAAM,cAAc,kBAAkB;CACtC,MAAM,wBAAwBA,6CAAgC,eAAe;AAE7E,KAAI,eAAe,uBAIjB;MAAI,CAH2B,eAAe,SAAS,oBAAoB,EAG9C;GAC3B,MAAM,MAAM,IAAI,IAAI,eAAe;AACnC,OAAI,aAAa,OAAO,gCAAgC,KAAK,KAAK,CAAC,UAAU,CAAC;AAC9E,uBAAoB,IAAI,YAAY,IAAI,UAAU,CAAC"}
{"version":3,"file":"netlifyCacheHandler-tf-8MGH1.js","names":["isDevelopmentFromPublishableKey"],"sources":["../../src/netlifyCacheHandler.ts"],"sourcesContent":["/* eslint-disable turbo/no-undeclared-env-vars */\nimport { isDevelopmentFromPublishableKey } from './keys';\n\n/**\n * Cache busting parameter for Netlify to prevent cached responses\n * during handshake flows with Clerk development instances.\n *\n * Note: This query parameter will be removed in the \"@clerk/clerk-js\" package.\n *\n * @internal\n */\nexport const CLERK_NETLIFY_CACHE_BUST_PARAM = '__clerk_netlify_cache_bust';\n\n/**\n * Returns true if running in a Netlify environment.\n * Checks for Netlify-specific environment variables in process.env.\n * Safe for browser and non-Node environments.\n */\nfunction isNetlifyRuntime(): boolean {\n if (typeof process === 'undefined' || !process.env) {\n return false;\n }\n\n return (\n Boolean(process.env.NETLIFY) ||\n Boolean(process.env.NETLIFY_FUNCTIONS_TOKEN) ||\n (typeof process.env.URL === 'string' && process.env.URL.endsWith('netlify.app'))\n );\n}\n\n/**\n * Prevents infinite redirects in Netlify's functions by adding a cache bust parameter\n * to the original redirect URL. This ensures that Netlify doesn't serve a cached response\n * during the handshake flow.\n *\n * The issue happens only on Clerk development instances running on Netlify. This is\n * a workaround until we find a better solution.\n *\n * See https://answers.netlify.com/t/cache-handling-recommendation-for-authentication-handshake-redirects/143969/1.\n *\n * @internal\n */\nexport function handleNetlifyCacheInDevInstance({\n locationHeader,\n requestStateHeaders,\n publishableKey,\n}: {\n locationHeader: string;\n requestStateHeaders: Headers;\n publishableKey: string;\n}) {\n const isOnNetlify = isNetlifyRuntime();\n const isDevelopmentInstance = isDevelopmentFromPublishableKey(publishableKey);\n\n if (isOnNetlify && isDevelopmentInstance) {\n const hasHandshakeQueryParam = locationHeader.includes('__clerk_handshake');\n // If location header is the original URL before the handshake flow, add cache bust param\n // The param should be removed in clerk-js\n if (!hasHandshakeQueryParam) {\n const url = new URL(locationHeader);\n url.searchParams.append(CLERK_NETLIFY_CACHE_BUST_PARAM, Date.now().toString());\n requestStateHeaders.set('Location', url.toString());\n }\n }\n}\n"],"mappings":";;;;;;;;;;;AAWA,MAAa,iCAAiC;;;;;;AAO9C,SAAS,mBAA4B;AACnC,KAAI,OAAO,YAAY,eAAe,CAAC,QAAQ,IAC7C,QAAO;AAGT,QACE,QAAQ,QAAQ,IAAI,QAAQ,IAC5B,QAAQ,QAAQ,IAAI,wBAAwB,IAC3C,OAAO,QAAQ,IAAI,QAAQ,YAAY,QAAQ,IAAI,IAAI,SAAS,cAAc;;;;;;;;;;;;;;AAgBnF,SAAgB,gCAAgC,EAC9C,gBACA,qBACA,kBAKC;CACD,MAAM,cAAc,kBAAkB;CACtC,MAAM,wBAAwBA,6CAAgC,eAAe;AAE7E,KAAI,eAAe,uBAIjB;MAAI,CAH2B,eAAe,SAAS,oBAAoB,EAG9C;GAC3B,MAAM,MAAM,IAAI,IAAI,eAAe;AACnC,OAAI,aAAa,OAAO,gCAAgC,KAAK,KAAK,CAAC,UAAU,CAAC;AAC9E,uBAAoB,IAAI,YAAY,IAAI,UAAU,CAAC"}

View File

@@ -1,8 +1,8 @@
require('./constants-WYhx_umW.js');
require('./isomorphicAtob-Hkpnx2p8.js');
require('./isomorphicBtoa-_pSA92Q9.js');
require('./keys-BI9hmfja.js');
const require_netlifyCacheHandler = require('./netlifyCacheHandler-DFm5qdPh.js');
require('./keys-nhSphkCl.js');
const require_netlifyCacheHandler = require('./netlifyCacheHandler-tf-8MGH1.js');
exports.CLERK_NETLIFY_CACHE_BUST_PARAM = require_netlifyCacheHandler.CLERK_NETLIFY_CACHE_BUST_PARAM;
exports.handleNetlifyCacheInDevInstance = require_netlifyCacheHandler.handleNetlifyCacheInDevInstance;

View File

@@ -1,7 +1,7 @@
import "./constants-Bta24VLk.mjs";
import "./isomorphicAtob-CoF80qYz.mjs";
import "./isomorphicBtoa-DWmLcIHi.mjs";
import "./keys-DuxzP8MU.mjs";
import { n as handleNetlifyCacheInDevInstance, t as CLERK_NETLIFY_CACHE_BUST_PARAM } from "./netlifyCacheHandler-Dkdkho_6.mjs";
import "./keys-ChIG_Ewf.mjs";
import { n as handleNetlifyCacheInDevInstance, t as CLERK_NETLIFY_CACHE_BUST_PARAM } from "./netlifyCacheHandler-BAoRn8m6.mjs";
export { CLERK_NETLIFY_CACHE_BUST_PARAM, handleNetlifyCacheInDevInstance };

View File

@@ -1,4 +1,4 @@
const require_netlifyCacheHandler = require('./netlifyCacheHandler-DFm5qdPh.js');
const require_netlifyCacheHandler = require('./netlifyCacheHandler-tf-8MGH1.js');
const require_constants = require('./constants-BUzkV8jh.js');
//#region src/internal/clerk-js/queryParams.ts
@@ -69,4 +69,4 @@ Object.defineProperty(exports, 'removeClerkQueryParam', {
return removeClerkQueryParam;
}
});
//# sourceMappingURL=queryParams-DSUymAGT.js.map
//# sourceMappingURL=queryParams-BIKo3ou8.js.map

View File

@@ -1 +1 @@
{"version":3,"file":"queryParams-DSUymAGT.js","names":["CLERK_NETLIFY_CACHE_BUST_PARAM","CLERK_SYNCED","CLERK_SATELLITE_URL","CLERK_SUFFIXED_COOKIES"],"sources":["../../src/internal/clerk-js/queryParams.ts"],"sourcesContent":["import type { EmailLinkErrorCodeStatus } from '../../error';\nimport { CLERK_NETLIFY_CACHE_BUST_PARAM } from '../../netlifyCacheHandler';\nimport { CLERK_SATELLITE_URL, CLERK_SUFFIXED_COOKIES, CLERK_SYNCED } from './constants';\n\nconst _ClerkQueryParams = [\n '__clerk_status',\n '__clerk_created_session',\n '__clerk_invitation_token',\n '__clerk_ticket',\n '__clerk_modal_state',\n '__clerk_handshake',\n '__clerk_handshake_nonce',\n '__clerk_help',\n CLERK_NETLIFY_CACHE_BUST_PARAM,\n CLERK_SYNCED,\n CLERK_SATELLITE_URL,\n CLERK_SUFFIXED_COOKIES,\n] as const;\n\ntype ClerkQueryParam = (typeof _ClerkQueryParams)[number];\n\n/**\n * Used for email link verification\n */\nexport type VerifyTokenStatus = 'verified' | (typeof EmailLinkErrorCodeStatus)[keyof typeof EmailLinkErrorCodeStatus];\n\n/**\n * Used for instance invitations and organization invitations\n */\ntype TicketStatus = 'sign_in' | 'sign_up' | 'complete';\n\ntype ClerkQueryParamsToValuesMap = {\n __clerk_status: TicketStatus | VerifyTokenStatus;\n} & Record<(typeof _ClerkQueryParams)[number], string>;\n\n/**\n *\n */\nexport function getClerkQueryParam<T extends ClerkQueryParam>(param: T): ClerkQueryParamsToValuesMap[T] | null {\n const val = new URL(window.location.href).searchParams.get(param);\n return val ? (val as ClerkQueryParamsToValuesMap[T]) : null;\n}\n\n/**\n *\n */\nexport function removeClerkQueryParam<T extends ClerkQueryParam>(param: T) {\n const url = new URL(window.location.href);\n if (url.searchParams.has(param)) {\n url.searchParams.delete(param);\n window.history.replaceState(window.history.state, '', url);\n }\n return;\n}\n\n/**\n * Extracts and forwards Clerk query parameters from the current URL to a new URLSearchParams object.\n * This is useful when navigating between pages while preserving Clerk-specific query parameters.\n *\n * @param params - Optional URLSearchParams object to add the parameters to. If not provided, a new one will be created.\n * @returns A URLSearchParams object containing the forwarded Clerk parameters\n */\nexport function forwardClerkQueryParams(params?: URLSearchParams): URLSearchParams {\n const currentSearchParams = new URLSearchParams(window.location.search);\n const newParams = params || new URLSearchParams();\n\n for (const param of _ClerkQueryParams) {\n const value = currentSearchParams.get(param);\n if (value) {\n newParams.set(param, value);\n }\n }\n\n return newParams;\n}\n"],"mappings":";;;;AAIA,MAAM,oBAAoB;CACxB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACAA;CACAC;CACAC;CACAC;CACD;;;;AAqBD,SAAgB,mBAA8C,OAAiD;CAC7G,MAAM,MAAM,IAAI,IAAI,OAAO,SAAS,KAAK,CAAC,aAAa,IAAI,MAAM;AACjE,QAAO,MAAO,MAAyC;;;;;AAMzD,SAAgB,sBAAiD,OAAU;CACzE,MAAM,MAAM,IAAI,IAAI,OAAO,SAAS,KAAK;AACzC,KAAI,IAAI,aAAa,IAAI,MAAM,EAAE;AAC/B,MAAI,aAAa,OAAO,MAAM;AAC9B,SAAO,QAAQ,aAAa,OAAO,QAAQ,OAAO,IAAI,IAAI;;;;;;;;;;AAY9D,SAAgB,wBAAwB,QAA2C;CACjF,MAAM,sBAAsB,IAAI,gBAAgB,OAAO,SAAS,OAAO;CACvE,MAAM,YAAY,UAAU,IAAI,iBAAiB;AAEjD,MAAK,MAAM,SAAS,mBAAmB;EACrC,MAAM,QAAQ,oBAAoB,IAAI,MAAM;AAC5C,MAAI,MACF,WAAU,IAAI,OAAO,MAAM;;AAI/B,QAAO"}
{"version":3,"file":"queryParams-BIKo3ou8.js","names":["CLERK_NETLIFY_CACHE_BUST_PARAM","CLERK_SYNCED","CLERK_SATELLITE_URL","CLERK_SUFFIXED_COOKIES"],"sources":["../../src/internal/clerk-js/queryParams.ts"],"sourcesContent":["import type { EmailLinkErrorCodeStatus } from '../../error';\nimport { CLERK_NETLIFY_CACHE_BUST_PARAM } from '../../netlifyCacheHandler';\nimport { CLERK_SATELLITE_URL, CLERK_SUFFIXED_COOKIES, CLERK_SYNCED } from './constants';\n\nconst _ClerkQueryParams = [\n '__clerk_status',\n '__clerk_created_session',\n '__clerk_invitation_token',\n '__clerk_ticket',\n '__clerk_modal_state',\n '__clerk_handshake',\n '__clerk_handshake_nonce',\n '__clerk_help',\n CLERK_NETLIFY_CACHE_BUST_PARAM,\n CLERK_SYNCED,\n CLERK_SATELLITE_URL,\n CLERK_SUFFIXED_COOKIES,\n] as const;\n\ntype ClerkQueryParam = (typeof _ClerkQueryParams)[number];\n\n/**\n * Used for email link verification\n */\nexport type VerifyTokenStatus = 'verified' | (typeof EmailLinkErrorCodeStatus)[keyof typeof EmailLinkErrorCodeStatus];\n\n/**\n * Used for instance invitations and organization invitations\n */\ntype TicketStatus = 'sign_in' | 'sign_up' | 'complete';\n\ntype ClerkQueryParamsToValuesMap = {\n __clerk_status: TicketStatus | VerifyTokenStatus;\n} & Record<(typeof _ClerkQueryParams)[number], string>;\n\n/**\n *\n */\nexport function getClerkQueryParam<T extends ClerkQueryParam>(param: T): ClerkQueryParamsToValuesMap[T] | null {\n const val = new URL(window.location.href).searchParams.get(param);\n return val ? (val as ClerkQueryParamsToValuesMap[T]) : null;\n}\n\n/**\n *\n */\nexport function removeClerkQueryParam<T extends ClerkQueryParam>(param: T) {\n const url = new URL(window.location.href);\n if (url.searchParams.has(param)) {\n url.searchParams.delete(param);\n window.history.replaceState(window.history.state, '', url);\n }\n return;\n}\n\n/**\n * Extracts and forwards Clerk query parameters from the current URL to a new URLSearchParams object.\n * This is useful when navigating between pages while preserving Clerk-specific query parameters.\n *\n * @param params - Optional URLSearchParams object to add the parameters to. If not provided, a new one will be created.\n * @returns A URLSearchParams object containing the forwarded Clerk parameters\n */\nexport function forwardClerkQueryParams(params?: URLSearchParams): URLSearchParams {\n const currentSearchParams = new URLSearchParams(window.location.search);\n const newParams = params || new URLSearchParams();\n\n for (const param of _ClerkQueryParams) {\n const value = currentSearchParams.get(param);\n if (value) {\n newParams.set(param, value);\n }\n }\n\n return newParams;\n}\n"],"mappings":";;;;AAIA,MAAM,oBAAoB;CACxB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACAA;CACAC;CACAC;CACAC;CACD;;;;AAqBD,SAAgB,mBAA8C,OAAiD;CAC7G,MAAM,MAAM,IAAI,IAAI,OAAO,SAAS,KAAK,CAAC,aAAa,IAAI,MAAM;AACjE,QAAO,MAAO,MAAyC;;;;;AAMzD,SAAgB,sBAAiD,OAAU;CACzE,MAAM,MAAM,IAAI,IAAI,OAAO,SAAS,KAAK;AACzC,KAAI,IAAI,aAAa,IAAI,MAAM,EAAE;AAC/B,MAAI,aAAa,OAAO,MAAM;AAC9B,SAAO,QAAQ,aAAa,OAAO,QAAQ,OAAO,IAAI,IAAI;;;;;;;;;;AAY9D,SAAgB,wBAAwB,QAA2C;CACjF,MAAM,sBAAsB,IAAI,gBAAgB,OAAO,SAAS,OAAO;CACvE,MAAM,YAAY,UAAU,IAAI,iBAAiB;AAEjD,MAAK,MAAM,SAAS,mBAAmB;EACrC,MAAM,QAAQ,oBAAoB,IAAI,MAAM;AAC5C,MAAI,MACF,WAAU,IAAI,OAAO,MAAM;;AAI/B,QAAO"}

View File

@@ -1,4 +1,4 @@
import { t as CLERK_NETLIFY_CACHE_BUST_PARAM } from "./netlifyCacheHandler-Dkdkho_6.mjs";
import { t as CLERK_NETLIFY_CACHE_BUST_PARAM } from "./netlifyCacheHandler-BAoRn8m6.mjs";
import { a as CLERK_SUFFIXED_COOKIES, i as CLERK_SATELLITE_URL, o as CLERK_SYNCED } from "./constants-BulbbNR9.mjs";
//#region src/internal/clerk-js/queryParams.ts
@@ -52,4 +52,4 @@ function forwardClerkQueryParams(params) {
//#endregion
export { getClerkQueryParam as n, removeClerkQueryParam as r, forwardClerkQueryParams as t };
//# sourceMappingURL=queryParams-Dlt0oVDg.mjs.map
//# sourceMappingURL=queryParams-DJX7tUZy.mjs.map

View File

@@ -1 +1 @@
{"version":3,"file":"queryParams-Dlt0oVDg.mjs","names":[],"sources":["../../src/internal/clerk-js/queryParams.ts"],"sourcesContent":["import type { EmailLinkErrorCodeStatus } from '../../error';\nimport { CLERK_NETLIFY_CACHE_BUST_PARAM } from '../../netlifyCacheHandler';\nimport { CLERK_SATELLITE_URL, CLERK_SUFFIXED_COOKIES, CLERK_SYNCED } from './constants';\n\nconst _ClerkQueryParams = [\n '__clerk_status',\n '__clerk_created_session',\n '__clerk_invitation_token',\n '__clerk_ticket',\n '__clerk_modal_state',\n '__clerk_handshake',\n '__clerk_handshake_nonce',\n '__clerk_help',\n CLERK_NETLIFY_CACHE_BUST_PARAM,\n CLERK_SYNCED,\n CLERK_SATELLITE_URL,\n CLERK_SUFFIXED_COOKIES,\n] as const;\n\ntype ClerkQueryParam = (typeof _ClerkQueryParams)[number];\n\n/**\n * Used for email link verification\n */\nexport type VerifyTokenStatus = 'verified' | (typeof EmailLinkErrorCodeStatus)[keyof typeof EmailLinkErrorCodeStatus];\n\n/**\n * Used for instance invitations and organization invitations\n */\ntype TicketStatus = 'sign_in' | 'sign_up' | 'complete';\n\ntype ClerkQueryParamsToValuesMap = {\n __clerk_status: TicketStatus | VerifyTokenStatus;\n} & Record<(typeof _ClerkQueryParams)[number], string>;\n\n/**\n *\n */\nexport function getClerkQueryParam<T extends ClerkQueryParam>(param: T): ClerkQueryParamsToValuesMap[T] | null {\n const val = new URL(window.location.href).searchParams.get(param);\n return val ? (val as ClerkQueryParamsToValuesMap[T]) : null;\n}\n\n/**\n *\n */\nexport function removeClerkQueryParam<T extends ClerkQueryParam>(param: T) {\n const url = new URL(window.location.href);\n if (url.searchParams.has(param)) {\n url.searchParams.delete(param);\n window.history.replaceState(window.history.state, '', url);\n }\n return;\n}\n\n/**\n * Extracts and forwards Clerk query parameters from the current URL to a new URLSearchParams object.\n * This is useful when navigating between pages while preserving Clerk-specific query parameters.\n *\n * @param params - Optional URLSearchParams object to add the parameters to. If not provided, a new one will be created.\n * @returns A URLSearchParams object containing the forwarded Clerk parameters\n */\nexport function forwardClerkQueryParams(params?: URLSearchParams): URLSearchParams {\n const currentSearchParams = new URLSearchParams(window.location.search);\n const newParams = params || new URLSearchParams();\n\n for (const param of _ClerkQueryParams) {\n const value = currentSearchParams.get(param);\n if (value) {\n newParams.set(param, value);\n }\n }\n\n return newParams;\n}\n"],"mappings":";;;;AAIA,MAAM,oBAAoB;CACxB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD;;;;AAqBD,SAAgB,mBAA8C,OAAiD;CAC7G,MAAM,MAAM,IAAI,IAAI,OAAO,SAAS,KAAK,CAAC,aAAa,IAAI,MAAM;AACjE,QAAO,MAAO,MAAyC;;;;;AAMzD,SAAgB,sBAAiD,OAAU;CACzE,MAAM,MAAM,IAAI,IAAI,OAAO,SAAS,KAAK;AACzC,KAAI,IAAI,aAAa,IAAI,MAAM,EAAE;AAC/B,MAAI,aAAa,OAAO,MAAM;AAC9B,SAAO,QAAQ,aAAa,OAAO,QAAQ,OAAO,IAAI,IAAI;;;;;;;;;;AAY9D,SAAgB,wBAAwB,QAA2C;CACjF,MAAM,sBAAsB,IAAI,gBAAgB,OAAO,SAAS,OAAO;CACvE,MAAM,YAAY,UAAU,IAAI,iBAAiB;AAEjD,MAAK,MAAM,SAAS,mBAAmB;EACrC,MAAM,QAAQ,oBAAoB,IAAI,MAAM;AAC5C,MAAI,MACF,WAAU,IAAI,OAAO,MAAM;;AAI/B,QAAO"}
{"version":3,"file":"queryParams-DJX7tUZy.mjs","names":[],"sources":["../../src/internal/clerk-js/queryParams.ts"],"sourcesContent":["import type { EmailLinkErrorCodeStatus } from '../../error';\nimport { CLERK_NETLIFY_CACHE_BUST_PARAM } from '../../netlifyCacheHandler';\nimport { CLERK_SATELLITE_URL, CLERK_SUFFIXED_COOKIES, CLERK_SYNCED } from './constants';\n\nconst _ClerkQueryParams = [\n '__clerk_status',\n '__clerk_created_session',\n '__clerk_invitation_token',\n '__clerk_ticket',\n '__clerk_modal_state',\n '__clerk_handshake',\n '__clerk_handshake_nonce',\n '__clerk_help',\n CLERK_NETLIFY_CACHE_BUST_PARAM,\n CLERK_SYNCED,\n CLERK_SATELLITE_URL,\n CLERK_SUFFIXED_COOKIES,\n] as const;\n\ntype ClerkQueryParam = (typeof _ClerkQueryParams)[number];\n\n/**\n * Used for email link verification\n */\nexport type VerifyTokenStatus = 'verified' | (typeof EmailLinkErrorCodeStatus)[keyof typeof EmailLinkErrorCodeStatus];\n\n/**\n * Used for instance invitations and organization invitations\n */\ntype TicketStatus = 'sign_in' | 'sign_up' | 'complete';\n\ntype ClerkQueryParamsToValuesMap = {\n __clerk_status: TicketStatus | VerifyTokenStatus;\n} & Record<(typeof _ClerkQueryParams)[number], string>;\n\n/**\n *\n */\nexport function getClerkQueryParam<T extends ClerkQueryParam>(param: T): ClerkQueryParamsToValuesMap[T] | null {\n const val = new URL(window.location.href).searchParams.get(param);\n return val ? (val as ClerkQueryParamsToValuesMap[T]) : null;\n}\n\n/**\n *\n */\nexport function removeClerkQueryParam<T extends ClerkQueryParam>(param: T) {\n const url = new URL(window.location.href);\n if (url.searchParams.has(param)) {\n url.searchParams.delete(param);\n window.history.replaceState(window.history.state, '', url);\n }\n return;\n}\n\n/**\n * Extracts and forwards Clerk query parameters from the current URL to a new URLSearchParams object.\n * This is useful when navigating between pages while preserving Clerk-specific query parameters.\n *\n * @param params - Optional URLSearchParams object to add the parameters to. If not provided, a new one will be created.\n * @returns A URLSearchParams object containing the forwarded Clerk parameters\n */\nexport function forwardClerkQueryParams(params?: URLSearchParams): URLSearchParams {\n const currentSearchParams = new URLSearchParams(window.location.search);\n const newParams = params || new URLSearchParams();\n\n for (const param of _ClerkQueryParams) {\n const value = currentSearchParams.get(param);\n if (value) {\n newParams.set(param, value);\n }\n }\n\n return newParams;\n}\n"],"mappings":";;;;AAIA,MAAM,oBAAoB;CACxB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD;;;;AAqBD,SAAgB,mBAA8C,OAAiD;CAC7G,MAAM,MAAM,IAAI,IAAI,OAAO,SAAS,KAAK,CAAC,aAAa,IAAI,MAAM;AACjE,QAAO,MAAO,MAAyC;;;;;AAMzD,SAAgB,sBAAiD,OAAU;CACzE,MAAM,MAAM,IAAI,IAAI,OAAO,SAAS,KAAK;AACzC,KAAI,IAAI,aAAa,IAAI,MAAM,EAAE;AAC/B,MAAI,aAAa,OAAO,MAAM;AAC9B,SAAO,QAAQ,aAAa,OAAO,QAAQ,OAAO,IAAI,IAAI;;;;;;;;;;AAY9D,SAAgB,wBAAwB,QAA2C;CACjF,MAAM,sBAAsB,IAAI,gBAAgB,OAAO,SAAS,OAAO;CACvE,MAAM,YAAY,UAAU,IAAI,iBAAiB;AAEjD,MAAK,MAAM,SAAS,mBAAmB;EACrC,MAAM,QAAQ,oBAAoB,IAAI,MAAM;AAC5C,MAAI,MACF,WAAU,IAAI,OAAO,MAAM;;AAI/B,QAAO"}

View File

@@ -2,7 +2,7 @@ const require_chunk = require('../chunk-nOFOJqeH.js');
require('../constants-WYhx_umW.js');
require('../isomorphicAtob-Hkpnx2p8.js');
require('../isomorphicBtoa-_pSA92Q9.js');
require('../keys-BI9hmfja.js');
require('../keys-nhSphkCl.js');
const require_authorization_errors = require('../authorization-errors-B7aH39AU.js');
const require_authorization = require('../authorization-Dj1hHJtO.js');
const require_deriveState = require('../deriveState-zgq99aY1.js');
@@ -11,7 +11,7 @@ const require_error = require('../error-BkPoOeMv.js');
const require_organization = require('../organization-BzM6mhUv.js');
require('../noop-CVg8oVJr.js');
require('../underscore-BX6Ucmg5.js');
const require_telemetry = require('../telemetry--P0a0tSk.js');
const require_telemetry = require('../telemetry-Dnd7il6u.js');
const require_createDeferredPromise = require('../createDeferredPromise-Bq0Rf2GM.js');
const require_errors = require('../errors-FAXDzRsM.js');
let react = require("react");
@@ -280,7 +280,7 @@ function useBaseQuery(options, Observer) {
if (!isQueryClientLoaded) return {
data: void 0,
error: null,
isLoading: false,
isLoading: options.enabled !== false,
isFetching: false,
status: "pending"
};

File diff suppressed because one or more lines are too long

View File

@@ -1,7 +1,7 @@
import "../constants-Bta24VLk.mjs";
import "../isomorphicAtob-CoF80qYz.mjs";
import "../isomorphicBtoa-DWmLcIHi.mjs";
import "../keys-DuxzP8MU.mjs";
import "../keys-ChIG_Ewf.mjs";
import { n as reverificationError, t as isReverificationHint } from "../authorization-errors-CBHAr6Ld.mjs";
import { i as validateReverificationConfig } from "../authorization-Bayl2soX.mjs";
import { n as deriveFromSsrInitialState } from "../deriveState-CQUgOdaO.mjs";
@@ -10,7 +10,7 @@ import { C as isClerkAPIResponseError } from "../error-NXMTfCAv.mjs";
import { t as getCurrentOrganizationMembership } from "../organization-Cy_ag_4B.mjs";
import "../noop-B7RzLU-c.mjs";
import "../underscore-ClYSgvuy.mjs";
import { a as eventMethodCalled } from "../telemetry-DE2JFEBf.mjs";
import { a as eventMethodCalled } from "../telemetry-ZzMitk4y.mjs";
import { t as createDeferredPromise } from "../createDeferredPromise-CYCAgyvC.mjs";
import { n as clerkCoreErrorNoClerkSingleton } from "../errors-oOcNTWU9.mjs";
import * as React$1 from "react";
@@ -279,7 +279,7 @@ function useBaseQuery(options, Observer) {
if (!isQueryClientLoaded) return {
data: void 0,
error: null,
isLoading: false,
isLoading: options.enabled !== false,
isFetching: false,
status: "pending"
};

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"router.d.mts","names":[],"sources":["../../src/router/router.ts","../../src/router/react.tsx"],"sourcesContent":[],"mappings":";;;;;;;;AAQY,KAAA,WAAA,GAAW;EASa,8CAAA,EAAA,CAAA,IAAA,EAAA,MAAA,EAAA,GAAA,MAAA;EASnB;;;EAkBF,QAAA,EAAA,MAAA;EAIH;;;EAqBI,KAAA,EAAA,CAAA,aAAiB,EAAA,MAAA,EAAA,GApDG,WAoDM;;;;EC7D7B,KAAA,EAAA,CAAA,IAAA,CAAA,EAAA,MAAA,EAAA,KAAsB,CAA8C,EAAA,OAA9C,EAAA,GAAA,OAAA;EACtB;AAKb;AAeA;EAagB,SAAM,IAAA,EDhBL,WCgBK;EACpB;;;EAIU,SAAM,IAAA,EAAA,MAAA;EAEP;;;EAQN,IAAA,EDrBG,eCqBO,CAAA,MAAA,CAAA;EAKC;;;EAAwB,OAAA,EDtB7B,eCsB6B,CAAA,SAAA,CAAA;EAAS;;;EAA0C,WAAA,EDlB5E,eCkB4E,CAAA,aAAA,CAAA;;;;YDd/E;;;;gBAII;;;;;;;;;iBAiBA,iBAAA,SAA0B,qCAA0C;;;AA7DxE,cCAC,sBDAU,ECAY,KAAA,CAAA,ODAZ,CCAY,eDAZ,GAAA,IAAA,CAAA;AASa,cCRvB,kBDQuB,ECRL,KAAA,CAAA,ODQK,CCRL,WDQK,GAAA,IAAA,CAAA;;;;AA2BrB,iBC9BC,kBAAA,CAAA,CD8BD,EC9BmB,eD8BnB;;;;AAyBC,iBCxCA,cAAA,CAAA,CDwC0B,ECxCZ,WDwCY;;;;AC7D7B,iBAkCG,MAAA,CAlCiE;EAAA,QAAA;EAA9C,QAAA;EAAA;AAkCnC,CAlCmC,EAAA;EACtB,QAAA,EAsCD,KAAA,CAAM,SAtCuD;EAKzD,QAAA,CAAA,EAAA,MAAA;EAeA,MAAA,CAAA,EAoBL,eApBmB;AAa9B,CAAA,CAAA,EAQC,KAAA,CAAA,GAAA,CAAA,OARqB;KAejB,UAAA,GAdH;EACA,IAAA,CAAA,EAAA,MAAA;EACA,KAAA,CAAA,EAAA,OAAA;CAEU;;;;AAUP,iBAKW,KAAA,CALD;EAAA,IAAA;EAAA,QAAA;EAAA;CAAA,EAKkC,UALlC,GAAA;EAKC,QAAK,EAAqD,KAAA,CAAM,SAA3D;CAAG,CAAA,EAAmE,KAAA,CAAA,SAAnE"}
{"version":3,"file":"router.d.mts","names":[],"sources":["../../src/router/router.ts","../../src/router/react.tsx"],"sourcesContent":[],"mappings":";;;;;;;;AAQY,KAAA,WAAA,GAAW;EASa,8CAAA,EAAA,CAAA,IAAA,EAAA,MAAA,EAAA,GAAA,MAAA;EASnB;;;EAkBF,QAAA,EAAA,MAAA;EAIH;;;EAqBI,KAAA,EAAA,CAAA,aAAiB,EAAA,MAAA,EAAA,GApDG,WAoDM;;;;EC7D7B,KAAA,EAAA,CAAA,IAAA,CAAA,EAAA,MAAA,EAAA,KAAoE,CAAA,EAAA,OAAA,EAA9C,GAAA,OAAA;EACtB;AAKb;AAeA;EAagB,SAAM,IAAA,EDhBL,WCgBK;EACpB;;;EAIU,SAAM,IAAA,EAAA,MAAA;EAEP;;;EAQN,IAAA,EDrBG,eCqBO,CAAA,MAAA,CAAA;EAKC;;;EAAwB,OAAA,EDtB7B,eCsB6B,CAAA,SAAA,CAAA;EAAS;;;EAA0C,WAAA,EDlB5E,eCkB4E,CAAA,aAAA,CAAA;;;;YDd/E;;;;gBAII;;;;;;;;;iBAiBA,iBAAA,SAA0B,qCAA0C;;;AA7DxE,cCAC,sBDAU,ECAY,KAAA,CAAA,ODAZ,CCAY,eDAZ,GAAA,IAAA,CAAA;AASa,cCRvB,kBDQuB,ECRL,KAAA,CAAA,ODQK,CCRL,WDQK,GAAA,IAAA,CAAA;;;;AA2BrB,iBC9BC,kBAAA,CAAA,CD8BD,EC9BmB,eD8BnB;;;;AAyBC,iBCxCA,cAAA,CAAA,CDwC0B,ECxCZ,WDwCY;;;;AC7D7B,iBAkCG,MAAA,CAlCiE;EAAA,QAAA;EAA9C,QAAA;EAAA;AAkCnC,CAlCmC,EAAA;EACtB,QAAA,EAsCD,KAAA,CAAM,SAtCuD;EAKzD,QAAA,CAAA,EAAA,MAAA;EAeA,MAAA,CAAA,EAoBL,eApBmB;AAa9B,CAAA,CAAA,EAQC,KAAA,CAAA,GAAA,CAAA,OARqB;KAejB,UAAA,GAdH;EACA,IAAA,CAAA,EAAA,MAAA;EACA,KAAA,CAAA,EAAA,OAAA;CAEU;;;;AAUP,iBAKW,KAAA,CALD;EAAA,IAAA;EAAA,QAAA;EAAA;CAAA,EAKkC,UALlC,GAAA;EAKC,QAAK,EAAqD,KAAA,CAAM,SAA3D;CAAG,CAAA,EAAmE,KAAA,CAAA,SAAnE"}

View File

@@ -1 +1 @@
{"version":3,"file":"router.d.ts","names":[],"sources":["../../src/router/router.ts","../../src/router/react.tsx"],"sourcesContent":[],"mappings":";;;;;;;;AAQY,KAAA,WAAA,GAAW;EASa,8CAAA,EAAA,CAAA,IAAA,EAAA,MAAA,EAAA,GAAA,MAAA;EASnB;;;EAkBF,QAAA,EAAA,MAAA;EAIH;;;EAqBI,KAAA,EAAA,CAAA,aAAiB,EAAA,MAAA,EAAA,GApDG,WAoDM;;;;EC7D7B,KAAA,EAAA,CAAA,IAAA,CAAA,EAAA,MAAA,EAAA,KAAsB,CAA8C,EAAA,OAA9C,EAAA,GAAA,OAAA;EACtB;AAKb;AAeA;EAagB,SAAM,IAAA,EDhBL,WCgBK;EACpB;;;EAIU,SAAM,IAAA,EAAA,MAAA;EAEP;;;EAQN,IAAA,EDrBG,eCqBO,CAAA,MAAA,CAAA;EAKC;;;EAAwB,OAAA,EDtB7B,eCsB6B,CAAA,SAAA,CAAA;EAAS;;;EAA0C,WAAA,EDlB5E,eCkB4E,CAAA,aAAA,CAAA;;;;YDd/E;;;;gBAII;;;;;;;;;iBAiBA,iBAAA,SAA0B,qCAA0C;;;AA7DxE,cCAC,sBDAU,ECAY,KAAA,CAAA,ODAZ,CCAY,eDAZ,GAAA,IAAA,CAAA;AASa,cCRvB,kBDQuB,ECRL,KAAA,CAAA,ODQK,CCRL,WDQK,GAAA,IAAA,CAAA;;;;AA2BrB,iBC9BC,kBAAA,CAAA,CD8BD,EC9BmB,eD8BnB;;;;AAyBC,iBCxCA,cAAA,CAAA,CDwC0B,ECxCZ,WDwCY;;;;AC7D7B,iBAkCG,MAAA,CAlCiE;EAAA,QAAA;EAA9C,QAAA;EAAA;AAkCnC,CAlCmC,EAAA;EACtB,QAAA,EAsCD,KAAA,CAAM,SAtCuD;EAKzD,QAAA,CAAA,EAAA,MAAA;EAeA,MAAA,CAAA,EAoBL,eApBmB;AAa9B,CAAA,CAAA,EAQC,KAAA,CAAA,GAAA,CAAA,OARqB;KAejB,UAAA,GAdH;EACA,IAAA,CAAA,EAAA,MAAA;EACA,KAAA,CAAA,EAAA,OAAA;CAEU;;;;AAUP,iBAKW,KAAA,CALD;EAAA,IAAA;EAAA,QAAA;EAAA;CAAA,EAKkC,UALlC,GAAA;EAKC,QAAK,EAAqD,KAAA,CAAM,SAA3D;CAAG,CAAA,EAAmE,KAAA,CAAA,SAAnE"}
{"version":3,"file":"router.d.ts","names":[],"sources":["../../src/router/router.ts","../../src/router/react.tsx"],"sourcesContent":[],"mappings":";;;;;;;;AAQY,KAAA,WAAA,GAAW;EASa,8CAAA,EAAA,CAAA,IAAA,EAAA,MAAA,EAAA,GAAA,MAAA;EASnB;;;EAkBF,QAAA,EAAA,MAAA;EAIH;;;EAqBI,KAAA,EAAA,CAAA,aAAiB,EAAA,MAAA,EAAA,GApDG,WAoDM;;;;EC7D7B,KAAA,EAAA,CAAA,IAAA,CAAA,EAAA,MAAA,EAAA,KAAoE,CAAA,EAAA,OAAA,EAA9C,GAAA,OAAA;EACtB;AAKb;AAeA;EAagB,SAAM,IAAA,EDhBL,WCgBK;EACpB;;;EAIU,SAAM,IAAA,EAAA,MAAA;EAEP;;;EAQN,IAAA,EDrBG,eCqBO,CAAA,MAAA,CAAA;EAKC;;;EAAwB,OAAA,EDtB7B,eCsB6B,CAAA,SAAA,CAAA;EAAS;;;EAA0C,WAAA,EDlB5E,eCkB4E,CAAA,aAAA,CAAA;;;;YDd/E;;;;gBAII;;;;;;;;;iBAiBA,iBAAA,SAA0B,qCAA0C;;;AA7DxE,cCAC,sBDAU,ECAY,KAAA,CAAA,ODAZ,CCAY,eDAZ,GAAA,IAAA,CAAA;AASa,cCRvB,kBDQuB,ECRL,KAAA,CAAA,ODQK,CCRL,WDQK,GAAA,IAAA,CAAA;;;;AA2BrB,iBC9BC,kBAAA,CAAA,CD8BD,EC9BmB,eD8BnB;;;;AAyBC,iBCxCA,cAAA,CAAA,CDwC0B,ECxCZ,WDwCY;;;;AC7D7B,iBAkCG,MAAA,CAlCiE;EAAA,QAAA;EAA9C,QAAA;EAAA;AAkCnC,CAlCmC,EAAA;EACtB,QAAA,EAsCD,KAAA,CAAM,SAtCuD;EAKzD,QAAA,CAAA,EAAA,MAAA;EAeA,MAAA,CAAA,EAoBL,eApBmB;AAa9B,CAAA,CAAA,EAQC,KAAA,CAAA,GAAA,CAAA,OARqB;KAejB,UAAA,GAdH;EACA,IAAA,CAAA,EAAA,MAAA;EACA,KAAA,CAAA,EAAA,OAAA;CAEU;;;;AAUP,iBAKW,KAAA,CALD;EAAA,IAAA;EAAA,QAAA;EAAA;CAAA,EAKkC,UALlC,GAAA;EAKC,QAAK,EAAqD,KAAA,CAAM,SAA3D;CAAG,CAAA,EAAmE,KAAA,CAAA,SAAnE"}

View File

@@ -1,4 +1,4 @@
const require_keys = require('./keys-BI9hmfja.js');
const require_keys = require('./keys-nhSphkCl.js');
const require_underscore = require('./underscore-BX6Ucmg5.js');
//#region src/telemetry/throttler.ts
@@ -570,4 +570,4 @@ Object.defineProperty(exports, 'eventThemeUsage', {
return eventThemeUsage;
}
});
//# sourceMappingURL=telemetry--P0a0tSk.js.map
//# sourceMappingURL=telemetry-Dnd7il6u.js.map

View File

@@ -1,4 +1,4 @@
import { u as parsePublishableKey } from "./keys-DuxzP8MU.mjs";
import { u as parsePublishableKey } from "./keys-ChIG_Ewf.mjs";
import { o as isTruthy } from "./underscore-ClYSgvuy.mjs";
//#region src/telemetry/throttler.ts
@@ -517,4 +517,4 @@ function extractThemeName(theme) {
//#endregion
export { eventMethodCalled as a, eventPrebuiltComponentOpened as c, eventFrameworkMetadata as i, TelemetryCollector as l, EVENT_THEME_USAGE as n, eventComponentMounted as o, eventThemeUsage as r, eventPrebuiltComponentMounted as s, EVENT_SAMPLING_RATE as t };
//# sourceMappingURL=telemetry-DE2JFEBf.mjs.map
//# sourceMappingURL=telemetry-ZzMitk4y.mjs.map

View File

@@ -1,9 +1,9 @@
require('./constants-WYhx_umW.js');
require('./isomorphicAtob-Hkpnx2p8.js');
require('./isomorphicBtoa-_pSA92Q9.js');
require('./keys-BI9hmfja.js');
require('./keys-nhSphkCl.js');
require('./underscore-BX6Ucmg5.js');
const require_telemetry = require('./telemetry--P0a0tSk.js');
const require_telemetry = require('./telemetry-Dnd7il6u.js');
exports.EVENT_SAMPLING_RATE = require_telemetry.EVENT_SAMPLING_RATE;
exports.EVENT_THEME_USAGE = require_telemetry.EVENT_THEME_USAGE;

View File

@@ -1,8 +1,8 @@
import "./constants-Bta24VLk.mjs";
import "./isomorphicAtob-CoF80qYz.mjs";
import "./isomorphicBtoa-DWmLcIHi.mjs";
import "./keys-DuxzP8MU.mjs";
import "./keys-ChIG_Ewf.mjs";
import "./underscore-ClYSgvuy.mjs";
import { a as eventMethodCalled, c as eventPrebuiltComponentOpened, i as eventFrameworkMetadata, l as TelemetryCollector, n as EVENT_THEME_USAGE, o as eventComponentMounted, r as eventThemeUsage, s as eventPrebuiltComponentMounted, t as EVENT_SAMPLING_RATE } from "./telemetry-DE2JFEBf.mjs";
import { a as eventMethodCalled, c as eventPrebuiltComponentOpened, i as eventFrameworkMetadata, l as TelemetryCollector, n as EVENT_THEME_USAGE, o as eventComponentMounted, r as eventThemeUsage, s as eventPrebuiltComponentMounted, t as EVENT_SAMPLING_RATE } from "./telemetry-ZzMitk4y.mjs";
export { EVENT_SAMPLING_RATE, EVENT_THEME_USAGE, TelemetryCollector, eventComponentMounted, eventFrameworkMetadata, eventMethodCalled, eventPrebuiltComponentMounted, eventPrebuiltComponentOpened, eventThemeUsage };

View File

@@ -1,4 +1,4 @@
import { n as createDevOrStagingUrlCache } from "./keys-DuxzP8MU.mjs";
import { n as createDevOrStagingUrlCache } from "./keys-ChIG_Ewf.mjs";
import { t as globs } from "./globs-u_gXJPLt.mjs";
import { c as isCurrentDevAccountPortalOrigin, l as isLegacyDevAccountPortalOrigin } from "./url-C6gPMFx5.mjs";
import { t as logger } from "./logger-DISzhF9M.mjs";
@@ -261,4 +261,4 @@ function createAllowedRedirectOrigins(allowedRedirectOrigins, frontendApi, insta
//#endregion
export { trimLeadingSlash as C, toURL as S, pathFromFullPath as _, hasBannedHrefProtocol as a, sanitizeHref as b, hasUrlInFragment as c, isDevAccountPortalOrigin as d, isDevOrStagingUrl as f, mergeFragmentIntoUrl as g, isValidUrl as h, getSearchParameterFromHash as i, isAllowedRedirect as l, isRedirectForFAPIInitiatedFlow as m, createAllowedRedirectOrigins as n, hasBannedProtocol as o, isProblematicUrl as p, getETLDPlusOneFromFrontendApi as r, hasExternalAccountSignUpError as s, buildURL as t, isDataUri as u, relativeToAbsoluteUrl as v, trimTrailingSlash as w, stripOrigin as x, requiresUserInput as y };
//# sourceMappingURL=url-DaPDWryr.mjs.map
//# sourceMappingURL=url-BbdQYzdN.mjs.map

View File

@@ -1,4 +1,4 @@
const require_keys = require('./keys-BI9hmfja.js');
const require_keys = require('./keys-nhSphkCl.js');
const require_globs = require('./globs-D0Kpu4g1.js');
const require_url = require('./url-sAcxbiir.js');
const require_logger = require('./logger-BOte4sQb.js');
@@ -404,4 +404,4 @@ Object.defineProperty(exports, 'trimTrailingSlash', {
return trimTrailingSlash;
}
});
//# sourceMappingURL=url-CoXV4i87.js.map
//# sourceMappingURL=url-PlwHs7Rp.js.map

View File

@@ -11,7 +11,7 @@
* @param packageVersion - The version of `@clerk/clerk-js` that will be used if an explicit version is not provided
* @returns The npm tag, version or major version to use
*/
const versionSelector = (clerkJSVersion, packageVersion = "6.7.5") => {
const versionSelector = (clerkJSVersion, packageVersion = "6.7.7") => {
if (clerkJSVersion) return clerkJSVersion;
const prereleaseTag = getPrereleaseTag(packageVersion);
if (prereleaseTag) {
@@ -36,4 +36,4 @@ Object.defineProperty(exports, 'versionSelector', {
return versionSelector;
}
});
//# sourceMappingURL=versionSelector-cJbE4ZNU.js.map
//# sourceMappingURL=versionSelector-BBJZEL29.js.map

View File

@@ -1 +1 @@
{"version":3,"file":"versionSelector-cJbE4ZNU.js","names":[],"sources":["../../src/versionSelector.ts"],"sourcesContent":["/**\n * This version selector is a bit complicated, so here is the flow:\n * 1. Use the clerkJSVersion prop on the provider\n * 2. Use the exact `@clerk/clerk-js` version if it is a `@snapshot` prerelease\n * 3. Use the prerelease tag of `@clerk/clerk-js` or the packageVersion provided\n * 4. Fallback to the major version of `@clerk/clerk-js` or the packageVersion provided\n *\n * @param clerkJSVersion - The optional clerkJSVersion prop on the provider\n * @param packageVersion - The version of `@clerk/clerk-js` that will be used if an explicit version is not provided\n * @returns The npm tag, version or major version to use\n */\nexport const versionSelector = (clerkJSVersion: string | undefined, packageVersion = JS_PACKAGE_VERSION) => {\n if (clerkJSVersion) {\n return clerkJSVersion;\n }\n\n const prereleaseTag = getPrereleaseTag(packageVersion);\n if (prereleaseTag) {\n if (prereleaseTag === 'snapshot') {\n return packageVersion;\n }\n\n return prereleaseTag;\n }\n\n return getMajorVersion(packageVersion);\n};\n\nconst getPrereleaseTag = (packageVersion: string) =>\n packageVersion\n .trim()\n .replace(/^v/, '')\n .match(/-(.+?)(\\.|$)/)?.[1];\n\nexport const getMajorVersion = (packageVersion: string) => packageVersion.trim().replace(/^v/, '').split('.')[0];\n"],"mappings":";;;;;;;;;;;;;AAWA,MAAa,mBAAmB,gBAAoC,6BAAwC;AAC1G,KAAI,eACF,QAAO;CAGT,MAAM,gBAAgB,iBAAiB,eAAe;AACtD,KAAI,eAAe;AACjB,MAAI,kBAAkB,WACpB,QAAO;AAGT,SAAO;;AAGT,QAAO,gBAAgB,eAAe;;AAGxC,MAAM,oBAAoB,mBACxB,eACG,MAAM,CACN,QAAQ,MAAM,GAAG,CACjB,MAAM,eAAe,GAAG;AAE7B,MAAa,mBAAmB,mBAA2B,eAAe,MAAM,CAAC,QAAQ,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC"}
{"version":3,"file":"versionSelector-BBJZEL29.js","names":[],"sources":["../../src/versionSelector.ts"],"sourcesContent":["/**\n * This version selector is a bit complicated, so here is the flow:\n * 1. Use the clerkJSVersion prop on the provider\n * 2. Use the exact `@clerk/clerk-js` version if it is a `@snapshot` prerelease\n * 3. Use the prerelease tag of `@clerk/clerk-js` or the packageVersion provided\n * 4. Fallback to the major version of `@clerk/clerk-js` or the packageVersion provided\n *\n * @param clerkJSVersion - The optional clerkJSVersion prop on the provider\n * @param packageVersion - The version of `@clerk/clerk-js` that will be used if an explicit version is not provided\n * @returns The npm tag, version or major version to use\n */\nexport const versionSelector = (clerkJSVersion: string | undefined, packageVersion = JS_PACKAGE_VERSION) => {\n if (clerkJSVersion) {\n return clerkJSVersion;\n }\n\n const prereleaseTag = getPrereleaseTag(packageVersion);\n if (prereleaseTag) {\n if (prereleaseTag === 'snapshot') {\n return packageVersion;\n }\n\n return prereleaseTag;\n }\n\n return getMajorVersion(packageVersion);\n};\n\nconst getPrereleaseTag = (packageVersion: string) =>\n packageVersion\n .trim()\n .replace(/^v/, '')\n .match(/-(.+?)(\\.|$)/)?.[1];\n\nexport const getMajorVersion = (packageVersion: string) => packageVersion.trim().replace(/^v/, '').split('.')[0];\n"],"mappings":";;;;;;;;;;;;;AAWA,MAAa,mBAAmB,gBAAoC,6BAAwC;AAC1G,KAAI,eACF,QAAO;CAGT,MAAM,gBAAgB,iBAAiB,eAAe;AACtD,KAAI,eAAe;AACjB,MAAI,kBAAkB,WACpB,QAAO;AAGT,SAAO;;AAGT,QAAO,gBAAgB,eAAe;;AAGxC,MAAM,oBAAoB,mBACxB,eACG,MAAM,CACN,QAAQ,MAAM,GAAG,CACjB,MAAM,eAAe,GAAG;AAE7B,MAAa,mBAAmB,mBAA2B,eAAe,MAAM,CAAC,QAAQ,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC"}

View File

@@ -10,7 +10,7 @@
* @param packageVersion - The version of `@clerk/clerk-js` that will be used if an explicit version is not provided
* @returns The npm tag, version or major version to use
*/
const versionSelector = (clerkJSVersion, packageVersion = "6.7.5") => {
const versionSelector = (clerkJSVersion, packageVersion = "6.7.7") => {
if (clerkJSVersion) return clerkJSVersion;
const prereleaseTag = getPrereleaseTag(packageVersion);
if (prereleaseTag) {
@@ -24,4 +24,4 @@ const getMajorVersion = (packageVersion) => packageVersion.trim().replace(/^v/,
//#endregion
export { versionSelector as n, getMajorVersion as t };
//# sourceMappingURL=versionSelector-mE4tPkHj.mjs.map
//# sourceMappingURL=versionSelector-DRhta7n1.mjs.map

View File

@@ -1 +1 @@
{"version":3,"file":"versionSelector-mE4tPkHj.mjs","names":[],"sources":["../../src/versionSelector.ts"],"sourcesContent":["/**\n * This version selector is a bit complicated, so here is the flow:\n * 1. Use the clerkJSVersion prop on the provider\n * 2. Use the exact `@clerk/clerk-js` version if it is a `@snapshot` prerelease\n * 3. Use the prerelease tag of `@clerk/clerk-js` or the packageVersion provided\n * 4. Fallback to the major version of `@clerk/clerk-js` or the packageVersion provided\n *\n * @param clerkJSVersion - The optional clerkJSVersion prop on the provider\n * @param packageVersion - The version of `@clerk/clerk-js` that will be used if an explicit version is not provided\n * @returns The npm tag, version or major version to use\n */\nexport const versionSelector = (clerkJSVersion: string | undefined, packageVersion = JS_PACKAGE_VERSION) => {\n if (clerkJSVersion) {\n return clerkJSVersion;\n }\n\n const prereleaseTag = getPrereleaseTag(packageVersion);\n if (prereleaseTag) {\n if (prereleaseTag === 'snapshot') {\n return packageVersion;\n }\n\n return prereleaseTag;\n }\n\n return getMajorVersion(packageVersion);\n};\n\nconst getPrereleaseTag = (packageVersion: string) =>\n packageVersion\n .trim()\n .replace(/^v/, '')\n .match(/-(.+?)(\\.|$)/)?.[1];\n\nexport const getMajorVersion = (packageVersion: string) => packageVersion.trim().replace(/^v/, '').split('.')[0];\n"],"mappings":";;;;;;;;;;;;AAWA,MAAa,mBAAmB,gBAAoC,6BAAwC;AAC1G,KAAI,eACF,QAAO;CAGT,MAAM,gBAAgB,iBAAiB,eAAe;AACtD,KAAI,eAAe;AACjB,MAAI,kBAAkB,WACpB,QAAO;AAGT,SAAO;;AAGT,QAAO,gBAAgB,eAAe;;AAGxC,MAAM,oBAAoB,mBACxB,eACG,MAAM,CACN,QAAQ,MAAM,GAAG,CACjB,MAAM,eAAe,GAAG;AAE7B,MAAa,mBAAmB,mBAA2B,eAAe,MAAM,CAAC,QAAQ,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC"}
{"version":3,"file":"versionSelector-DRhta7n1.mjs","names":[],"sources":["../../src/versionSelector.ts"],"sourcesContent":["/**\n * This version selector is a bit complicated, so here is the flow:\n * 1. Use the clerkJSVersion prop on the provider\n * 2. Use the exact `@clerk/clerk-js` version if it is a `@snapshot` prerelease\n * 3. Use the prerelease tag of `@clerk/clerk-js` or the packageVersion provided\n * 4. Fallback to the major version of `@clerk/clerk-js` or the packageVersion provided\n *\n * @param clerkJSVersion - The optional clerkJSVersion prop on the provider\n * @param packageVersion - The version of `@clerk/clerk-js` that will be used if an explicit version is not provided\n * @returns The npm tag, version or major version to use\n */\nexport const versionSelector = (clerkJSVersion: string | undefined, packageVersion = JS_PACKAGE_VERSION) => {\n if (clerkJSVersion) {\n return clerkJSVersion;\n }\n\n const prereleaseTag = getPrereleaseTag(packageVersion);\n if (prereleaseTag) {\n if (prereleaseTag === 'snapshot') {\n return packageVersion;\n }\n\n return prereleaseTag;\n }\n\n return getMajorVersion(packageVersion);\n};\n\nconst getPrereleaseTag = (packageVersion: string) =>\n packageVersion\n .trim()\n .replace(/^v/, '')\n .match(/-(.+?)(\\.|$)/)?.[1];\n\nexport const getMajorVersion = (packageVersion: string) => packageVersion.trim().replace(/^v/, '').split('.')[0];\n"],"mappings":";;;;;;;;;;;;AAWA,MAAa,mBAAmB,gBAAoC,6BAAwC;AAC1G,KAAI,eACF,QAAO;CAGT,MAAM,gBAAgB,iBAAiB,eAAe;AACtD,KAAI,eAAe;AACjB,MAAI,kBAAkB,WACpB,QAAO;AAGT,SAAO;;AAGT,QAAO,gBAAgB,eAAe;;AAGxC,MAAM,oBAAoB,mBACxB,eACG,MAAM,CACN,QAAQ,MAAM,GAAG,CACjB,MAAM,eAAe,GAAG;AAE7B,MAAa,mBAAmB,mBAA2B,eAAe,MAAM,CAAC,QAAQ,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC"}

View File

@@ -1,4 +1,4 @@
const require_versionSelector = require('./versionSelector-cJbE4ZNU.js');
const require_versionSelector = require('./versionSelector-BBJZEL29.js');
exports.getMajorVersion = require_versionSelector.getMajorVersion;
exports.versionSelector = require_versionSelector.versionSelector;

View File

@@ -1,3 +1,3 @@
import { n as versionSelector, t as getMajorVersion } from "./versionSelector-mE4tPkHj.mjs";
import { n as versionSelector, t as getMajorVersion } from "./versionSelector-DRhta7n1.mjs";
export { getMajorVersion, versionSelector };

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,6 +1,6 @@
{
"name": "@clerk/shared",
"version": "4.8.3",
"version": "4.8.5",
"description": "Internal package utils used by the Clerk SDKs",
"repository": {
"type": "git",