Skip to content

Commit f7e9f93

Browse files
committed
feat(astro,nuxt,react-router,tanstack-react-start,shared): Add env-var shortcut for unsafe_disableDevelopmentModeConsoleWarning
1 parent 2f48ea8 commit f7e9f93

10 files changed

Lines changed: 45 additions & 1 deletion

File tree

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
---
2+
'@clerk/astro': minor
3+
'@clerk/nuxt': minor
4+
'@clerk/react-router': minor
5+
'@clerk/tanstack-react-start': minor
6+
'@clerk/shared': patch
7+
---
8+
9+
Add an env-var shortcut for `unsafe_disableDevelopmentModeConsoleWarning` across the Astro, Nuxt, React Router, and TanStack Start integrations so the development-keys console warning can be suppressed without threading the option through `<ClerkProvider>` manually:
10+
11+
- Astro: `PUBLIC_CLERK_UNSAFE_DISABLE_DEVELOPMENT_MODE_CONSOLE_WARNING`
12+
- Nuxt: `NUXT_PUBLIC_CLERK_UNSAFE_DISABLE_DEVELOPMENT_MODE_CONSOLE_WARNING`
13+
- React Router: `VITE_CLERK_UNSAFE_DISABLE_DEVELOPMENT_MODE_CONSOLE_WARNING` (or `CLERK_UNSAFE_DISABLE_DEVELOPMENT_MODE_CONSOLE_WARNING`)
14+
- TanStack Start: `VITE_CLERK_UNSAFE_DISABLE_DEVELOPMENT_MODE_CONSOLE_WARNING` (or `CLERK_UNSAFE_DISABLE_DEVELOPMENT_MODE_CONSOLE_WARNING`)
15+
16+
The Next.js equivalent (`NEXT_PUBLIC_CLERK_UNSAFE_DISABLE_DEVELOPMENT_MODE_CONSOLE_WARNING`) already existed; the JSDoc on `unsafe_disableDevelopmentModeConsoleWarning` now lists every framework's env-var shortcut and clarifies that suppressing the warning at source also keeps it from being mirrored to the dev-server terminal (e.g. Next.js with `experimental.browserDebugInfoInTerminal`).

packages/astro/src/internal/merge-env-vars-with-params.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ const mergeEnvVarsWithParams = (
4242
__internal_clerkUIUrl: paramClerkUIUrl,
4343
__internal_clerkUIVersion: paramClerkUIVersion,
4444
prefetchUI: paramPrefetchUI,
45+
unsafe_disableDevelopmentModeConsoleWarning: paramUnsafeDisableDevelopmentModeConsoleWarning,
4546
...rest
4647
} = params || {};
4748

@@ -65,6 +66,9 @@ const mergeEnvVarsWithParams = (
6566
disabled: isTruthy(import.meta.env.PUBLIC_CLERK_TELEMETRY_DISABLED),
6667
debug: isTruthy(import.meta.env.PUBLIC_CLERK_TELEMETRY_DEBUG),
6768
},
69+
unsafe_disableDevelopmentModeConsoleWarning:
70+
paramUnsafeDisableDevelopmentModeConsoleWarning ||
71+
isTruthy(import.meta.env.PUBLIC_CLERK_UNSAFE_DISABLE_DEVELOPMENT_MODE_CONSOLE_WARNING),
6872
// Read from params (server-injected via __CLERK_ASTRO_SAFE_VARS__)
6973
// These are dynamically resolved by middleware, not from env vars
7074
__internal_keylessClaimUrl: internalOptions?.keylessClaimUrl,

packages/nuxt/src/module.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,8 @@ export default defineNuxtModule<ModuleOptions>({
7171
// prefetchUI config: can be false or undefined
7272
prefetchUI: options.prefetchUI,
7373
isSatellite: options.isSatellite,
74+
// Listed explicitly so it can be overridden via NUXT_PUBLIC_CLERK_UNSAFE_DISABLE_DEVELOPMENT_MODE_CONSOLE_WARNING.
75+
unsafe_disableDevelopmentModeConsoleWarning: options.unsafe_disableDevelopmentModeConsoleWarning,
7476
// Backend specific variables that are safe to share.
7577
// We want them to be overridable like the other public keys (e.g NUXT_PUBLIC_CLERK_PROXY_URL)
7678
proxyUrl: options.proxyUrl,

packages/react-router/src/client/ReactRouterClerkProvider.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ function ClerkProviderBase<TUi extends Ui = Ui>({ children, ...rest }: ClerkProv
6767
__prefetchUI,
6868
__telemetryDisabled,
6969
__telemetryDebug,
70+
__unsafeDisableDevelopmentModeConsoleWarning,
7071
__keylessClaimUrl,
7172
__keylessApiKeysUrl,
7273
} = clerkState?.__internal_clerk_state || {};
@@ -101,6 +102,7 @@ function ClerkProviderBase<TUi extends Ui = Ui>({ children, ...rest }: ClerkProv
101102
disabled: __telemetryDisabled,
102103
debug: __telemetryDebug,
103104
},
105+
unsafe_disableDevelopmentModeConsoleWarning: __unsafeDisableDevelopmentModeConsoleWarning,
104106
};
105107

106108
const keylessProps = __keylessClaimUrl

packages/react-router/src/client/types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ export type ClerkState = {
2525
__prefetchUI: boolean | undefined;
2626
__telemetryDisabled: boolean | undefined;
2727
__telemetryDebug: boolean | undefined;
28+
__unsafeDisableDevelopmentModeConsoleWarning: boolean | undefined;
2829
__keylessClaimUrl?: string;
2930
__keylessApiKeysUrl?: string;
3031
};

packages/react-router/src/server/utils.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ export function getResponseClerkState(requestState: RequestStateWithRedirectUrls
102102
__prefetchUI: envVars.prefetchUI,
103103
__telemetryDisabled: envVars.telemetryDisabled,
104104
__telemetryDebug: envVars.telemetryDebug,
105+
__unsafeDisableDevelopmentModeConsoleWarning: envVars.unsafeDisableDevelopmentModeConsoleWarning,
105106
};
106107

107108
if (canUseKeyless && __keylessClaimUrl) {

packages/react-router/src/utils/env.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ export const getPublicEnvVariables = (context: AppLoadContext | undefined) => {
2121
prefetchUI: getValue('CLERK_PREFETCH_UI') === 'false' ? false : undefined,
2222
telemetryDisabled: isTruthy(getValue('CLERK_TELEMETRY_DISABLED')),
2323
telemetryDebug: isTruthy(getValue('CLERK_TELEMETRY_DEBUG')),
24+
unsafeDisableDevelopmentModeConsoleWarning: isTruthy(
25+
getValue('CLERK_UNSAFE_DISABLE_DEVELOPMENT_MODE_CONSOLE_WARNING'),
26+
),
2427
signInForceRedirectUrl: getValue('CLERK_SIGN_IN_FORCE_REDIRECT_URL'),
2528
signUpForceRedirectUrl: getValue('CLERK_SIGN_UP_FORCE_REDIRECT_URL'),
2629
signInFallbackRedirectUrl: getValue('CLERK_SIGN_IN_FALLBACK_REDIRECT_URL'),

packages/shared/src/types/clerk.ts

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1123,7 +1123,17 @@ type ClerkOptionsNavigation =
11231123

11241124
type ClerkUnsafeOptions = {
11251125
/**
1126-
* Disables the console warning that is logged when Clerk is initialized with development keys.
1126+
* Disables the `Clerk has been loaded with development keys` console warning that is logged when Clerk is
1127+
* initialized with development keys. The warning is emitted by `clerk-js` to the browser console; in dev servers
1128+
* that mirror browser logs to the terminal (e.g. Next.js with `experimental.browserDebugInfoInTerminal`), setting
1129+
* this option also stops it from showing up there.
1130+
*
1131+
* Each framework integration also exposes an env-var shortcut so you don't need to thread the option through
1132+
* `<ClerkProvider>` manually:
1133+
* - Next.js: `NEXT_PUBLIC_CLERK_UNSAFE_DISABLE_DEVELOPMENT_MODE_CONSOLE_WARNING`
1134+
* - Astro: `PUBLIC_CLERK_UNSAFE_DISABLE_DEVELOPMENT_MODE_CONSOLE_WARNING`
1135+
* - TanStack Start / React Router: `VITE_CLERK_UNSAFE_DISABLE_DEVELOPMENT_MODE_CONSOLE_WARNING`
1136+
* - Nuxt: `NUXT_PUBLIC_CLERK_UNSAFE_DISABLE_DEVELOPMENT_MODE_CONSOLE_WARNING`
11271137
*
11281138
* [WARNING] The development mode warning is intended to ensure that you don't go to production with a non-production
11291139
* Clerk instance. If you're disabling it, please make sure you don't ship with a non-production Clerk instance!

packages/tanstack-react-start/src/client/utils.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,8 @@ export const mergeWithPublicEnvs = (restInitState: any) => {
7777
__internal_clerkUIVersion: restInitState.__internal_clerkUIVersion || envVars.clerkUIVersion,
7878
signInForceRedirectUrl: restInitState.signInForceRedirectUrl,
7979
prefetchUI: restInitState.prefetchUI ?? envVars.prefetchUI,
80+
unsafe_disableDevelopmentModeConsoleWarning:
81+
restInitState.unsafe_disableDevelopmentModeConsoleWarning || envVars.unsafeDisableDevelopmentModeConsoleWarning,
8082
};
8183
};
8284

packages/tanstack-react-start/src/utils/env.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ export const getPublicEnvVariables = () => {
2020
prefetchUI: getValue('CLERK_PREFETCH_UI') === 'false' ? false : undefined,
2121
telemetryDisabled: isTruthy(getValue('CLERK_TELEMETRY_DISABLED')),
2222
telemetryDebug: isTruthy(getValue('CLERK_TELEMETRY_DEBUG')),
23+
unsafeDisableDevelopmentModeConsoleWarning: isTruthy(
24+
getValue('CLERK_UNSAFE_DISABLE_DEVELOPMENT_MODE_CONSOLE_WARNING'),
25+
),
2326
afterSignInUrl: getValue('CLERK_AFTER_SIGN_IN_URL'),
2427
afterSignUpUrl: getValue('CLERK_AFTER_SIGN_UP_URL'),
2528
newSubscriptionRedirectUrl: getValue('CLERK_CHECKOUT_CONTINUE_URL'),

0 commit comments

Comments
 (0)