fix(pro): bake Clerk publishable key into /pro static bundle (#2800)

* fix(pro): bake Clerk publishable key into /pro static bundle

The pro-test Vite app builds to public/pro/ as committed static files.
VITE_CLERK_PUBLISHABLE_KEY was set in Vercel but never available during
the local Vite build, so the JS bundle shipped without it, causing
"VITE_CLERK_PUBLISHABLE_KEY not set" at runtime on Get Started click.

Added .env.production with the publishable key and rebuilt the bundle.

* fix(pro): track .env.production so build is reproducible, drop unrelated api.d.ts

Un-ignore pro-test/.env.production (publishable key is public by design)
so a clean checkout + npm run build:pro produces a working bundle.
Reverted unrelated convex/_generated/api.d.ts churn from the first commit.
This commit is contained in:
Elie Habib
2026-04-07 22:28:29 +04:00
committed by GitHub
parent 023e2e60e7
commit 8b44bd2d1c
5 changed files with 77 additions and 59 deletions

View File

@@ -8,13 +8,19 @@
* @module
*/
import type * as alertRules from "../alertRules.js";
import type * as config_productCatalog from "../config/productCatalog.js";
import type * as constants from "../constants.js";
import type * as contactMessages from "../contactMessages.js";
import type * as crons from "../crons.js";
import type * as entitlements from "../entitlements.js";
import type * as http from "../http.js";
import type * as lib_auth from "../lib/auth.js";
import type * as lib_dodo from "../lib/dodo.js";
import type * as lib_entitlements from "../lib/entitlements.js";
import type * as lib_env from "../lib/env.js";
import type * as lib_identitySigning from "../lib/identitySigning.js";
import type * as notificationChannels from "../notificationChannels.js";
import type * as payments_billing from "../payments/billing.js";
import type * as payments_cacheActions from "../payments/cacheActions.js";
import type * as payments_checkout from "../payments/checkout.js";
@@ -23,6 +29,8 @@ import type * as payments_subscriptionHelpers from "../payments/subscriptionHelp
import type * as payments_webhookHandlers from "../payments/webhookHandlers.js";
import type * as payments_webhookMutations from "../payments/webhookMutations.js";
import type * as registerInterest from "../registerInterest.js";
import type * as telegramPairingTokens from "../telegramPairingTokens.js";
import type * as userPreferences from "../userPreferences.js";
import type {
ApiFromModules,
@@ -31,13 +39,19 @@ import type {
} from "convex/server";
declare const fullApi: ApiFromModules<{
alertRules: typeof alertRules;
"config/productCatalog": typeof config_productCatalog;
constants: typeof constants;
contactMessages: typeof contactMessages;
crons: typeof crons;
entitlements: typeof entitlements;
http: typeof http;
"lib/auth": typeof lib_auth;
"lib/dodo": typeof lib_dodo;
"lib/entitlements": typeof lib_entitlements;
"lib/env": typeof lib_env;
"lib/identitySigning": typeof lib_identitySigning;
notificationChannels: typeof notificationChannels;
"payments/billing": typeof payments_billing;
"payments/cacheActions": typeof payments_cacheActions;
"payments/checkout": typeof payments_checkout;
@@ -46,6 +60,8 @@ declare const fullApi: ApiFromModules<{
"payments/webhookHandlers": typeof payments_webhookHandlers;
"payments/webhookMutations": typeof payments_webhookMutations;
registerInterest: typeof registerInterest;
telegramPairingTokens: typeof telegramPairingTokens;
userPreferences: typeof userPreferences;
}>;
/**

1
pro-test/.env.production Normal file
View File

@@ -0,0 +1 @@
VITE_CLERK_PUBLISHABLE_KEY=pk_live_Y2xlcmsud29ybGRtb25pdG9yLmFwcCQ

1
pro-test/.gitignore vendored
View File

@@ -6,3 +6,4 @@ coverage/
*.log
.env*
!.env.example
!.env.production

File diff suppressed because one or more lines are too long

View File

@@ -118,7 +118,7 @@
}
</script>
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit" async defer></script>
<script type="module" crossorigin src="/pro/assets/index-tPsb4iBC.js"></script>
<script type="module" crossorigin src="/pro/assets/index-c_645qQx.js"></script>
<link rel="stylesheet" crossorigin href="/pro/assets/index-BGcnYE-e.css">
</head>
<body>