Merge pull request #84 from kitpdr/fix/wrangler-nodejs-compat-main
fix(deploy): enable nodejs compat for Pages
3 files · +10 -6
M src/lib/db/convex.server.ts +4 -4
| @@ -1,9 +1,9 @@ | |||
| 1 | - | import { env } from '$env/dynamic/private'; | |
| 2 | - | import { PUBLIC_CONVEX_URL } from '$env/static/public'; | |
| 1 | + | import { env as privateEnv } from '$env/dynamic/private'; | |
| 2 | + | import { env as publicEnv } from '$env/dynamic/public'; | |
| 3 | 3 | ||
| 4 | 4 | // Convert .cloud URL to .site URL for HTTP actions | |
| 5 | 5 | function getHttpUrl(): string { | |
| 6 | - | return PUBLIC_CONVEX_URL.replace('.convex.cloud', '.convex.site'); | |
| 6 | + | return publicEnv.PUBLIC_CONVEX_URL.replace('.convex.cloud', '.convex.site'); | |
| 7 | 7 | } | |
| 8 | 8 | ||
| 9 | 9 | // Generic fetch helper for Convex HTTP endpoints (server-side only) | |
| @@ -14,7 +14,7 @@ async function convexFetch<T>(path: string, body: Record<string, unknown> = {}): | |||
| 14 | 14 | method: 'POST', | |
| 15 | 15 | headers: { | |
| 16 | 16 | 'Content-Type': 'application/json', | |
| 17 | - | 'X-Convex-Secret': env.CONVEX_API_SECRET || '' | |
| 17 | + | 'X-Convex-Secret': privateEnv.CONVEX_API_SECRET || '' | |
| 18 | 18 | }, | |
| 19 | 19 | body: JSON.stringify(body) | |
| 20 | 20 | }); | |
| @@ -1,9 +1,9 @@ | |||||
| 1 | - | import { env } from '$env/dynamic/private'; | 1 | + | import { env as privateEnv } from '$env/dynamic/private'; |
| 2 | - | import { PUBLIC_CONVEX_URL } from '$env/static/public'; | 2 | + | import { env as publicEnv } from '$env/dynamic/public'; |
| 3 | 3 | ||||
| 4 | // Convert .cloud URL to .site URL for HTTP actions | 4 | // Convert .cloud URL to .site URL for HTTP actions | ||
| 5 | function getHttpUrl(): string { | 5 | function getHttpUrl(): string { | ||
| 6 | - | return PUBLIC_CONVEX_URL.replace('.convex.cloud', '.convex.site'); | 6 | + | return publicEnv.PUBLIC_CONVEX_URL.replace('.convex.cloud', '.convex.site'); |
| 7 | } | 7 | } | ||
| 8 | 8 | ||||
| 9 | // Generic fetch helper for Convex HTTP endpoints (server-side only) | 9 | // Generic fetch helper for Convex HTTP endpoints (server-side only) | ||
| @@ -14,7 +14,7 @@ async function convexFetch<T>(path: string, body: Record<string, unknown> = {}): | |||||
| 14 | method: 'POST', | 14 | method: 'POST', | ||
| 15 | headers: { | 15 | headers: { | ||
| 16 | 'Content-Type': 'application/json', | 16 | 'Content-Type': 'application/json', | ||
| 17 | - | 'X-Convex-Secret': env.CONVEX_API_SECRET || '' | 17 | + | 'X-Convex-Secret': privateEnv.CONVEX_API_SECRET || '' |
| 18 | }, | 18 | }, | ||
| 19 | body: JSON.stringify(body) | 19 | body: JSON.stringify(body) | ||
| 20 | }); | 20 | }); | ||
M src/routes/+layout.svelte +2 -2
| @@ -1,13 +1,13 @@ | |||
| 1 | 1 | <script lang="ts"> | |
| 2 | 2 | import '../app.css'; | |
| 3 | 3 | import { setupConvex } from 'convex-svelte'; | |
| 4 | - | import { PUBLIC_CONVEX_URL } from '$env/static/public'; | |
| 4 | + | import { env } from '$env/dynamic/public'; | |
| 5 | 5 | import { chatState } from '$lib/states/chat.svelte'; | |
| 6 | 6 | import { onMount } from 'svelte'; | |
| 7 | 7 | import { browser } from '$app/environment'; | |
| 8 | 8 | ||
| 9 | 9 | // Initialize Convex client for real-time subscriptions | |
| 10 | - | setupConvex(PUBLIC_CONVEX_URL); | |
| 10 | + | setupConvex(env.PUBLIC_CONVEX_URL); | |
| 11 | 11 | ||
| 12 | 12 | let { children, data } = $props(); | |
| 13 | 13 | let isVisible = $state(true); | |
| @@ -1,13 +1,13 @@ | |||||
| 1 | <script lang="ts"> | 1 | <script lang="ts"> | ||
| 2 | import '../app.css'; | 2 | import '../app.css'; | ||
| 3 | import { setupConvex } from 'convex-svelte'; | 3 | import { setupConvex } from 'convex-svelte'; | ||
| 4 | - | import { PUBLIC_CONVEX_URL } from '$env/static/public'; | 4 | + | import { env } from '$env/dynamic/public'; |
| 5 | import { chatState } from '$lib/states/chat.svelte'; | 5 | import { chatState } from '$lib/states/chat.svelte'; | ||
| 6 | import { onMount } from 'svelte'; | 6 | import { onMount } from 'svelte'; | ||
| 7 | import { browser } from '$app/environment'; | 7 | import { browser } from '$app/environment'; | ||
| 8 | 8 | ||||
| 9 | // Initialize Convex client for real-time subscriptions | 9 | // Initialize Convex client for real-time subscriptions | ||
| 10 | - | setupConvex(PUBLIC_CONVEX_URL); | 10 | + | setupConvex(env.PUBLIC_CONVEX_URL); |
| 11 | 11 | ||||
| 12 | let { children, data } = $props(); | 12 | let { children, data } = $props(); | ||
| 13 | let isVisible = $state(true); | 13 | let isVisible = $state(true); | ||
A wrangler.toml +4 -0
| @@ -0,0 +1,4 @@ | |||
| 1 | + | name = "pdraim" | |
| 2 | + | pages_build_output_dir = ".svelte-kit/cloudflare" | |
| 3 | + | compatibility_date = "2026-01-24" | |
| 4 | + | compatibility_flags = ["nodejs_compat"] | |
| @@ -0,0 +1,4 @@ | |||||
| 1 | + | name = "pdraim" | |||
| 2 | + | pages_build_output_dir = ".svelte-kit/cloudflare" | |||
| 3 | + | compatibility_date = "2026-01-24" | |||
| 4 | + | compatibility_flags = ["nodejs_compat"] | |||