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
21 expect(env.T3CODE_CLERK_PUBLISHABLE_KEY).toBeUndefined();21 expect(env.T3CODE_CLERK_PUBLISHABLE_KEY).toBeUndefined();
22 expect(env.VITE_CLERK_PUBLISHABLE_KEY).toBeUndefined();22 expect(env.VITE_CLERK_PUBLISHABLE_KEY).toBeUndefined();
23 expect(env.EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY).toBeUndefined();23 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();
24 expect(env.T3CODE_RELAY_URL).toBeUndefined();27 expect(env.T3CODE_RELAY_URL).toBeUndefined();
25 expect(env.VITE_T3CODE_RELAY_URL).toBeUndefined();28 expect(env.VITE_T3CODE_RELAY_URL).toBeUndefined();
26 });29 });
@@ -29,11 +32,11 @@ describe("loadRepoEnv", () => { · 2 unmodified lines
29 const repoRoot = makeTemporaryDirectory();32 const repoRoot = makeTemporaryDirectory();
30 writeFileSync(33 writeFileSync(
31 join(repoRoot, ".env"),34 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",
33 );36 );
34 writeFileSync(37 writeFileSync(
35 join(repoRoot, ".env.local"),38 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",
37 );40 );
38 41
39 expect(loadRepoEnv({ baseEnv: {}, repoRoot }).T3CODE_RELAY_URL).toBe(42 expect(loadRepoEnv({ baseEnv: {}, repoRoot }).T3CODE_RELAY_URL).toBe(
@@ -43,6 +46,7 @@ describe("loadRepoEnv", () => { · 3 unmodified lines
43 loadRepoEnv({46 loadRepoEnv({
44 baseEnv: {47 baseEnv: {
45 T3CODE_CLERK_PUBLISHABLE_KEY: "pk_ci",48 T3CODE_CLERK_PUBLISHABLE_KEY: "pk_ci",
49 T3CODE_CLERK_JWT_TEMPLATE: "template_ci",
46 T3CODE_RELAY_URL: "https://ci.example.test",50 T3CODE_RELAY_URL: "https://ci.example.test",
47 },51 },
48 repoRoot,52 repoRoot,
@@ -51,6 +55,9 @@ describe("loadRepoEnv", () => { · 2 unmodified lines
51 T3CODE_CLERK_PUBLISHABLE_KEY: "pk_ci",55 T3CODE_CLERK_PUBLISHABLE_KEY: "pk_ci",
52 VITE_CLERK_PUBLISHABLE_KEY: "pk_ci",56 VITE_CLERK_PUBLISHABLE_KEY: "pk_ci",
53 EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY: "pk_ci",57 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",
54 T3CODE_RELAY_URL: "https://ci.example.test",61 T3CODE_RELAY_URL: "https://ci.example.test",
55 VITE_T3CODE_RELAY_URL: "https://ci.example.test",62 VITE_T3CODE_RELAY_URL: "https://ci.example.test",
56 });63 });
@@ -60,10 +67,12 @@ describe("loadRepoEnv", () => { · 3 unmodified lines
60 expect(67 expect(
61 resolvePublicConfig({68 resolvePublicConfig({
62 VITE_CLERK_PUBLISHABLE_KEY: "pk_legacy",69 VITE_CLERK_PUBLISHABLE_KEY: "pk_legacy",
70 VITE_CLERK_JWT_TEMPLATE: "template_legacy",
63 VITE_T3CODE_RELAY_URL: "https://legacy.example.test",71 VITE_T3CODE_RELAY_URL: "https://legacy.example.test",
64 }),72 }),
65 ).toEqual({73 ).toEqual({
66 clerkPublishableKey: "pk_legacy",74 clerkPublishableKey: "pk_legacy",
75 clerkJwtTemplate: "template_legacy",
67 relayUrl: "https://legacy.example.test",76 relayUrl: "https://legacy.example.test",
68 });77 });
69 });78 });
scripts/lib/public-config.ts+14−0
@@ -6,6 +6,7 @@ import * as NodeUtil from "node:util"; · 5 unmodified lines
6 6
7export interface T3CodePublicConfig {7export interface T3CodePublicConfig {
8 readonly clerkPublishableKey: string | undefined;8 readonly clerkPublishableKey: string | undefined;
9 readonly clerkJwtTemplate: string | undefined;
9 readonly relayUrl: string | undefined;10 readonly relayUrl: string | undefined;
10}11}
11 12
@@ -37,6 +38,13 @@ export function loadRepoEnv({ · 25 unmodified lines
37 EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY: config.clerkPublishableKey,38 EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY: config.clerkPublishableKey,
38 }39 }
39 : {}),40 : {}),
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 : {}),
40 ...(config.relayUrl48 ...(config.relayUrl
41 ? {49 ? {
42 T3CODE_RELAY_URL: config.relayUrl,50 T3CODE_RELAY_URL: config.relayUrl,
@@ -54,6 +62,12 @@ export function resolvePublicConfig(...sources: readonly Environment[]): T3CodeP · 11 unmodified lines
54 "VITE_CLERK_PUBLISHABLE_KEY",62 "VITE_CLERK_PUBLISHABLE_KEY",
55 "EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY",63 "EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY",
56 ),64 ),
65 clerkJwtTemplate: firstNonEmpty(
66 sources,
67 "T3CODE_CLERK_JWT_TEMPLATE",
68 "VITE_CLERK_JWT_TEMPLATE",
69 "EXPO_PUBLIC_CLERK_JWT_TEMPLATE",
70 ),
57 relayUrl: firstNonEmpty(sources, "T3CODE_RELAY_URL", "VITE_T3CODE_RELAY_URL"),71 relayUrl: firstNonEmpty(sources, "T3CODE_RELAY_URL", "VITE_T3CODE_RELAY_URL"),
58 };72 };
59}73}