Jimin Huang commited on
Commit
2578d0f
·
1 Parent(s): f962cf4

Change settings

Browse files
Dockerfile CHANGED
@@ -10,10 +10,8 @@ WORKDIR /app
10
  COPY --from=deps /app/node_modules ./node_modules
11
  COPY . .
12
 
13
- # Expose the port used by `vite preview`
14
- EXPOSE 4173
15
-
16
- # IMPORTANT: build at container start (runtime), so VITE_* from Space Variables are available
17
- # No env.js generation needed
18
- CMD sh -lc 'echo "ENV CHECK:"; env | sort | grep -E "^VITE_" || true; \
19
  npm run build && npx vite preview --host 0.0.0.0 --port 4173'
 
 
 
10
  COPY --from=deps /app/node_modules ./node_modules
11
  COPY . .
12
 
13
+ CMD sh -lc 'mkdir -p public && \
14
+ printf "window.__RUNTIME_CONFIG__={VITE_SUPABASE_URL:%q,VITE_SUPABASE_ANON_KEY:%q};" "$VITE_SUPABASE_URL" "$VITE_SUPABASE_ANON_KEY" > public/env.js && \
 
 
 
 
15
  npm run build && npx vite preview --host 0.0.0.0 --port 4173'
16
+
17
+ EXPOSE 4173
index.html CHANGED
@@ -4,6 +4,7 @@
4
  <meta charset="UTF-8" />
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
  <title>Paper Trading Agents</title>
 
7
  </head>
8
  <body>
9
  <div id="app"></div>
 
4
  <meta charset="UTF-8" />
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
  <title>Paper Trading Agents</title>
7
+ <script src="/env.js" defer></script>
8
  </head>
9
  <body>
10
  <div id="app"></div>
src/lib/{runtimeEnv.ts → runtimeEnv.js} RENAMED
@@ -1,7 +1,4 @@
1
- // src/lib/runtimeEnv.ts
2
- declare global {
3
- interface Window { __RUNTIME_CONFIG__?: Record<string, string>; }
4
- }
5
  const cfg = (typeof window !== 'undefined' && window.__RUNTIME_CONFIG__) || {};
6
  export const SUPABASE_URL = cfg.VITE_SUPABASE_URL || import.meta.env.VITE_SUPABASE_URL;
7
  export const SUPABASE_ANON_KEY = cfg.VITE_SUPABASE_ANON_KEY || import.meta.env.VITE_SUPABASE_ANON_KEY;
 
1
+ // src/lib/runtimeEnv.js
 
 
 
2
  const cfg = (typeof window !== 'undefined' && window.__RUNTIME_CONFIG__) || {};
3
  export const SUPABASE_URL = cfg.VITE_SUPABASE_URL || import.meta.env.VITE_SUPABASE_URL;
4
  export const SUPABASE_ANON_KEY = cfg.VITE_SUPABASE_ANON_KEY || import.meta.env.VITE_SUPABASE_ANON_KEY;
src/lib/supabase.js CHANGED
@@ -1,14 +1,9 @@
1
  import { createClient } from '@supabase/supabase-js'
2
 
3
- const url = import.meta.env.VITE_SUPABASE_URL;
4
- const anon = import.meta.env.VITE_SUPABASE_ANON_KEY;
5
-
6
- if (!url || !anon) {
7
- // Fail loudly so blank pages don't hide the problem
8
- throw new Error('Missing VITE_SUPABASE_URL or VITE_SUPABASE_ANON_KEY');
9
- }
10
-
11
- export const supabase = createClient(url, anon);
12
 
13
  // Helper to run GraphQL queries for features not available in REST
14
  export async function graphql(query, variables) {
 
1
  import { createClient } from '@supabase/supabase-js'
2
 
3
+ // src/lib/runtimeEnv.js
4
+ import { SUPABASE_URL, SUPABASE_ANON_KEY } from './runtimeEnv';
5
+ if (!SUPABASE_URL || !SUPABASE_ANON_KEY) throw new Error('Missing Supabase env');
6
+ export const supabase = createClient(SUPABASE_URL, SUPABASE_ANON_KEY);
 
 
 
 
 
7
 
8
  // Helper to run GraphQL queries for features not available in REST
9
  export async function graphql(query, variables) {