Spaces:
Running
Running
Jimin Huang
commited on
Commit
·
2578d0f
1
Parent(s):
f962cf4
Change settings
Browse files- Dockerfile +4 -6
- index.html +1 -0
- src/lib/{runtimeEnv.ts → runtimeEnv.js} +1 -4
- src/lib/supabase.js +4 -9
Dockerfile
CHANGED
|
@@ -10,10 +10,8 @@ WORKDIR /app
|
|
| 10 |
COPY --from=deps /app/node_modules ./node_modules
|
| 11 |
COPY . .
|
| 12 |
|
| 13 |
-
|
| 14 |
-
|
| 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.
|
| 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 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 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) {
|