History

fix(relay): use stable Clerk JWT audience

Julius Marminge committed 5 months ago

Commit bb99d261 parent 846b3ed34 files · +155 −60Browse files

Showing the changes to scripts (2 of 34 files). Show all

Unified · Split

2 files
  1. scripts/lib/public-config.test.ts +11 −2
  2. scripts/lib/public-config.ts +14 −0
scripts/lib/public-config.test.ts+11−2
@@ -21,6 +21,9 @@ describe("loadRepoEnv", () => { · 20 unmodified lines
2121 expect(env.T3CODE_CLERK_PUBLISHABLE_KEY).toBeUndefined();
2222 expect(env.VITE_CLERK_PUBLISHABLE_KEY).toBeUndefined();
2323 expect(env.EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY).toBeUndefined();
24+ expect(env.T3CODE_CLERK_JWT_TEMPLATE).toBeUndefined();
25+ expect(env.VITE_CLERK_JWT_TEMPLATE).toBeUndefined();
26+ expect(env.EXPO_PUBLIC_CLERK_JWT_TEMPLATE).toBeUndefined();
2427 expect(env.T3CODE_RELAY_URL).toBeUndefined();
2528 expect(env.VITE_T3CODE_RELAY_URL).toBeUndefined();
2629 });
@@ -29,11 +32,11 @@ describe("loadRepoEnv", () => { · 2 unmodified lines
2932 const repoRoot = makeTemporaryDirectory();
3033 writeFileSync(
3134 join(repoRoot, ".env"),
32− "T3CODE_CLERK_PUBLISHABLE_KEY=pk_root\nT3CODE_RELAY_URL=https://root.example.test\n",
35+ "T3CODE_CLERK_PUBLISHABLE_KEY=pk_root\nT3CODE_CLERK_JWT_TEMPLATE=template_root\nT3CODE_RELAY_URL=https://root.example.test\n",
3336 );
3437 writeFileSync(
3538 join(repoRoot, ".env.local"),
36− "T3CODE_CLERK_PUBLISHABLE_KEY=pk_local\nT3CODE_RELAY_URL=https://local.example.test\n",
39+ "T3CODE_CLERK_PUBLISHABLE_KEY=pk_local\nT3CODE_CLERK_JWT_TEMPLATE=template_local\nT3CODE_RELAY_URL=https://local.example.test\n",
3740 );
3841
3942 expect(loadRepoEnv({ baseEnv: {}, repoRoot }).T3CODE_RELAY_URL).toBe(
@@ -43,6 +46,7 @@ describe("loadRepoEnv", () => { · 3 unmodified lines
4346 loadRepoEnv({
4447 baseEnv: {
4548 T3CODE_CLERK_PUBLISHABLE_KEY: "pk_ci",
49+ T3CODE_CLERK_JWT_TEMPLATE: "template_ci",
4650 T3CODE_RELAY_URL: "https://ci.example.test",
4751 },
4852 repoRoot,
@@ -51,6 +55,9 @@ describe("loadRepoEnv", () => { · 2 unmodified lines
5155 T3CODE_CLERK_PUBLISHABLE_KEY: "pk_ci",
5256 VITE_CLERK_PUBLISHABLE_KEY: "pk_ci",
5357 EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY: "pk_ci",
58+ T3CODE_CLERK_JWT_TEMPLATE: "template_ci",
59+ VITE_CLERK_JWT_TEMPLATE: "template_ci",
60+ EXPO_PUBLIC_CLERK_JWT_TEMPLATE: "template_ci",
5461 T3CODE_RELAY_URL: "https://ci.example.test",
5562 VITE_T3CODE_RELAY_URL: "https://ci.example.test",
5663 });
@@ -60,10 +67,12 @@ describe("loadRepoEnv", () => { · 3 unmodified lines
6067 expect(
6168 resolvePublicConfig({
6269 VITE_CLERK_PUBLISHABLE_KEY: "pk_legacy",
70+ VITE_CLERK_JWT_TEMPLATE: "template_legacy",
6371 VITE_T3CODE_RELAY_URL: "https://legacy.example.test",
6472 }),
6573 ).toEqual({
6674 clerkPublishableKey: "pk_legacy",
75+ clerkJwtTemplate: "template_legacy",
6776 relayUrl: "https://legacy.example.test",
6877 });
6978 });
scripts/lib/public-config.ts+14−0
@@ -6,6 +6,7 @@ import * as NodeUtil from "node:util"; · 5 unmodified lines
66
77 export interface T3CodePublicConfig {
88 readonly clerkPublishableKey: string | undefined;
9+ readonly clerkJwtTemplate: string | undefined;
910 readonly relayUrl: string | undefined;
1011 }
1112
@@ -37,6 +38,13 @@ export function loadRepoEnv({ · 25 unmodified lines
3738 EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY: config.clerkPublishableKey,
3839 }
3940 : {}),
41+ ...(config.clerkJwtTemplate
42+ ? {
43+ T3CODE_CLERK_JWT_TEMPLATE: config.clerkJwtTemplate,
44+ VITE_CLERK_JWT_TEMPLATE: config.clerkJwtTemplate,
45+ EXPO_PUBLIC_CLERK_JWT_TEMPLATE: config.clerkJwtTemplate,
46+ }
47+ : {}),
4048 ...(config.relayUrl
4149 ? {
4250 T3CODE_RELAY_URL: config.relayUrl,
@@ -54,6 +62,12 @@ export function resolvePublicConfig(...sources: readonly Environment[]): T3CodeP · 11 unmodified lines
5462 "VITE_CLERK_PUBLISHABLE_KEY",
5563 "EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY",
5664 ),
65+ clerkJwtTemplate: firstNonEmpty(
66+ sources,
67+ "T3CODE_CLERK_JWT_TEMPLATE",
68+ "VITE_CLERK_JWT_TEMPLATE",
69+ "EXPO_PUBLIC_CLERK_JWT_TEMPLATE",
70+ ),
5771 relayUrl: firstNonEmpty(sources, "T3CODE_RELAY_URL", "VITE_T3CODE_RELAY_URL"),
5872 };
5973 }