Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .changeset/soft-dragons-thank.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"@clerk/astro": patch
---

Change prefix for public env variables to `PUBLIC_`. The previous prefix was `PUBLIC_ASTRO_APP_`.
- After this change the publishable key from should be set as `PUBLIC_CLERK_PUBLISHABLE_KEY=xxxxx`
2 changes: 1 addition & 1 deletion integration/presets/astro.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ const clerkLocalizationLocal = `file:${process.cwd()}/packages/localizations`;
const astroNode = applicationConfig()
.setName('astro-node')
.useTemplate(templates['astro-node'])
.setEnvFormatter('public', key => `PUBLIC_ASTRO_APP_${key}`)
.setEnvFormatter('public', key => `PUBLIC_${key}`)
.addScript('setup', 'npm i')
.addScript('dev', 'npm run dev')
.addScript('build', 'npm run build')
Expand Down
20 changes: 10 additions & 10 deletions packages/astro/src/env.d.ts
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
/// <reference types="astro/client" />

interface InternalEnv {
readonly PUBLIC_ASTRO_APP_CLERK_FRONTEND_API?: string;
readonly PUBLIC_ASTRO_APP_CLERK_PUBLISHABLE_KEY?: string;
readonly PUBLIC_ASTRO_APP_CLERK_JS_URL?: string;
readonly PUBLIC_ASTRO_APP_CLERK_JS_VARIANT?: 'headless' | '';
readonly PUBLIC_ASTRO_APP_CLERK_JS_VERSION?: string;
readonly PUBLIC_CLERK_FRONTEND_API?: string;
readonly PUBLIC_CLERK_PUBLISHABLE_KEY?: string;
readonly PUBLIC_CLERK_JS_URL?: string;
readonly PUBLIC_CLERK_JS_VARIANT?: 'headless' | '';
readonly PUBLIC_CLERK_JS_VERSION?: string;
readonly CLERK_API_KEY?: string;
readonly CLERK_API_URL?: string;
readonly CLERK_API_VERSION?: string;
readonly CLERK_JWT_KEY?: string;
readonly CLERK_SECRET_KEY?: string;
readonly PUBLIC_ASTRO_APP_CLERK_DOMAIN?: string;
readonly PUBLIC_ASTRO_APP_CLERK_IS_SATELLITE?: string;
readonly PUBLIC_ASTRO_APP_CLERK_PROXY_URL?: string;
readonly PUBLIC_ASTRO_APP_CLERK_SIGN_IN_URL?: string;
readonly PUBLIC_ASTRO_APP_CLERK_SIGN_UP_URL?: string;
readonly PUBLIC_CLERK_DOMAIN?: string;
readonly PUBLIC_CLERK_IS_SATELLITE?: string;
readonly PUBLIC_CLERK_PROXY_URL?: string;
readonly PUBLIC_CLERK_SIGN_IN_URL?: string;
readonly PUBLIC_CLERK_SIGN_UP_URL?: string;
}

interface ImportMeta {
Expand Down
22 changes: 11 additions & 11 deletions packages/astro/src/integration/create-integration.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import type { AstroIntegration } from 'astro';
import { name as packageName, version as packageVersion } from '../../package.json';
import type { AstroClerkIntegrationParams } from '../types';

const buildEnvVarFromOption = (valueToBeStored: unknown, envName: string) => {
const buildEnvVarFromOption = (valueToBeStored: unknown, envName: keyof InternalEnv) => {
return valueToBeStored ? { [`import.meta.env.${envName}`]: JSON.stringify(valueToBeStored) } : {};
};

Expand Down Expand Up @@ -63,16 +63,16 @@ function createIntegration<P extends { mode: 'hotload' | 'bundled' }>({ mode }:
/**
* Convert the integration params to environment variable in order for be readable from the server
*/
...buildEnvVarFromOption(signInUrl, 'PUBLIC_ASTRO_APP_CLERK_SIGN_IN_URL'),
...buildEnvVarFromOption(signUpUrl, 'PUBLIC_ASTRO_APP_CLERK_SIGN_UP_URL'),
...buildEnvVarFromOption(isSatellite, 'PUBLIC_ASTRO_APP_CLERK_IS_SATELLITE'),
...buildEnvVarFromOption(proxyUrl, 'PUBLIC_ASTRO_APP_CLERK_PROXY_URL'),
...buildEnvVarFromOption(domain, 'PUBLIC_ASTRO_APP_CLERK_DOMAIN'),
...buildEnvVarFromOption(domain, 'PUBLIC_ASTRO_APP_CLERK_DOMAIN'),
...buildEnvVarFromOption(domain, 'PUBLIC_ASTRO_APP_CLERK_DOMAIN'),
...buildEnvVarFromOption(clerkJSUrl, 'PUBLIC_ASTRO_APP_CLERK_JS_URL'),
...buildEnvVarFromOption(clerkJSVariant, 'PUBLIC_ASTRO_APP_CLERK_JS_VARIANT'),
...buildEnvVarFromOption(clerkJSVersion, 'PUBLIC_ASTRO_APP_CLERK_JS_VERSION'),
...buildEnvVarFromOption(signInUrl, 'PUBLIC_CLERK_SIGN_IN_URL'),
...buildEnvVarFromOption(signUpUrl, 'PUBLIC_CLERK_SIGN_UP_URL'),
...buildEnvVarFromOption(isSatellite, 'PUBLIC_CLERK_IS_SATELLITE'),
...buildEnvVarFromOption(proxyUrl, 'PUBLIC_CLERK_PROXY_URL'),
...buildEnvVarFromOption(domain, 'PUBLIC_CLERK_DOMAIN'),
...buildEnvVarFromOption(domain, 'PUBLIC_CLERK_DOMAIN'),
...buildEnvVarFromOption(domain, 'PUBLIC_CLERK_DOMAIN'),
...buildEnvVarFromOption(clerkJSUrl, 'PUBLIC_CLERK_JS_URL'),
...buildEnvVarFromOption(clerkJSVariant, 'PUBLIC_CLERK_JS_VARIANT'),
...buildEnvVarFromOption(clerkJSVersion, 'PUBLIC_CLERK_JS_VERSION'),
__HOTLOAD__: mode === 'hotload',
},

Expand Down
28 changes: 14 additions & 14 deletions packages/astro/src/server/get-safe-env.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,16 @@ function getContextEnvVar(envVarName: keyof InternalEnv, contextOrLocals: Contex
*/
function getSafeEnv(context: ContextOrLocals) {
return {
domain: getContextEnvVar('PUBLIC_ASTRO_APP_CLERK_DOMAIN', context),
isSatellite: getContextEnvVar('PUBLIC_ASTRO_APP_CLERK_IS_SATELLITE', context) === 'true',
proxyUrl: getContextEnvVar('PUBLIC_ASTRO_APP_CLERK_PROXY_URL', context),
pk: getContextEnvVar('PUBLIC_ASTRO_APP_CLERK_PUBLISHABLE_KEY', context),
domain: getContextEnvVar('PUBLIC_CLERK_DOMAIN', context),
isSatellite: getContextEnvVar('PUBLIC_CLERK_IS_SATELLITE', context) === 'true',
proxyUrl: getContextEnvVar('PUBLIC_CLERK_PROXY_URL', context),
pk: getContextEnvVar('PUBLIC_CLERK_PUBLISHABLE_KEY', context),
sk: getContextEnvVar('CLERK_SECRET_KEY', context),
signInUrl: getContextEnvVar('PUBLIC_ASTRO_APP_CLERK_SIGN_IN_URL', context),
signUpUrl: getContextEnvVar('PUBLIC_ASTRO_APP_CLERK_SIGN_UP_URL', context),
clerkJsUrl: getContextEnvVar('PUBLIC_ASTRO_APP_CLERK_JS_URL', context),
clerkJsVariant: getContextEnvVar('PUBLIC_ASTRO_APP_CLERK_JS_VARIANT', context) as 'headless' | '' | undefined,
clerkJsVersion: getContextEnvVar('PUBLIC_ASTRO_APP_CLERK_JS_VERSION', context),
signInUrl: getContextEnvVar('PUBLIC_CLERK_SIGN_IN_URL', context),
signUpUrl: getContextEnvVar('PUBLIC_CLERK_SIGN_UP_URL', context),
clerkJsUrl: getContextEnvVar('PUBLIC_CLERK_JS_URL', context),
clerkJsVariant: getContextEnvVar('PUBLIC_CLERK_JS_VARIANT', context) as 'headless' | '' | undefined,
clerkJsVersion: getContextEnvVar('PUBLIC_CLERK_JS_VERSION', context),
apiVersion: getContextEnvVar('CLERK_API_VERSION', context),
apiUrl: getContextEnvVar('CLERK_API_URL', context),
};
Expand All @@ -45,11 +45,11 @@ function getSafeEnv(context: ContextOrLocals) {
*/
function getClientSafeEnv(context: ContextOrLocals) {
return {
domain: getContextEnvVar('PUBLIC_ASTRO_APP_CLERK_DOMAIN', context),
isSatellite: getContextEnvVar('PUBLIC_ASTRO_APP_CLERK_IS_SATELLITE', context) === 'true',
proxyUrl: getContextEnvVar('PUBLIC_ASTRO_APP_CLERK_PROXY_URL', context),
signInUrl: getContextEnvVar('PUBLIC_ASTRO_APP_CLERK_SIGN_IN_URL', context),
signUpUrl: getContextEnvVar('PUBLIC_ASTRO_APP_CLERK_SIGN_UP_URL', context),
domain: getContextEnvVar('PUBLIC_CLERK_DOMAIN', context),
isSatellite: getContextEnvVar('PUBLIC_CLERK_IS_SATELLITE', context) === 'true',
proxyUrl: getContextEnvVar('PUBLIC_CLERK_PROXY_URL', context),
signInUrl: getContextEnvVar('PUBLIC_CLERK_SIGN_IN_URL', context),
signUpUrl: getContextEnvVar('PUBLIC_CLERK_SIGN_UP_URL', context),
};
}

Expand Down