From 0f438b0c4c75362e7c7f64ed41ff532246d18c34 Mon Sep 17 00:00:00 2001 From: usagizmo Date: Sat, 27 Apr 2024 06:35:06 +0900 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=84=20[web]=20Adjust=20the=20method=20?= =?UTF-8?q?for=20outputting=20type=20information=20in=20Supabase?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.example | 4 ++++ .github/workflows/main.yml | 1 + apps/web/commands/supabase-types.js | 8 ++++++++ apps/web/commands/supabase-types.sh | 3 --- apps/web/package.json | 3 ++- pnpm-lock.yaml | 9 +++++++++ 6 files changed, 24 insertions(+), 4 deletions(-) create mode 100755 apps/web/commands/supabase-types.js delete mode 100755 apps/web/commands/supabase-types.sh diff --git a/.env.example b/.env.example index 7b2fc5f9b..3f576f728 100644 --- a/.env.example +++ b/.env.example @@ -1,3 +1,7 @@ +# Supabase (`apps/backend`) + +SUPABASE_DIRECT_URL=postgresql://postgres:postgres@127.0.0.1:54322/postgres + # SvelteKit (`apps/web`) PUBLIC_GOOGLE_ANALYTICS_ID= diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a70be8c11..1aa7646ad 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -57,6 +57,7 @@ jobs: - name: Run build 🐣 run: pnpm build env: + SUPABASE_DIRECT_URL: ${{ secrets.SUPABASE_DIRECT_URL }} PUBLIC_GOOGLE_ANALYTICS_ID: ${{ secrets.PUBLIC_GOOGLE_ANALYTICS_ID }} PUBLIC_SUPABASE_URL: ${{ secrets.PUBLIC_SUPABASE_URL }} PUBLIC_SUPABASE_ANON_KEY: ${{ secrets.PUBLIC_SUPABASE_ANON_KEY }} diff --git a/apps/web/commands/supabase-types.js b/apps/web/commands/supabase-types.js new file mode 100755 index 000000000..9d502c38a --- /dev/null +++ b/apps/web/commands/supabase-types.js @@ -0,0 +1,8 @@ +import { config } from 'dotenv'; +import { execSync } from 'node:child_process'; + +config(); + +execSync( + `supabase gen types typescript --db-url ${process.env.SUPABASE_DIRECT_URL} > ./src/lib/\\$generated/supabase-types.ts`, +); diff --git a/apps/web/commands/supabase-types.sh b/apps/web/commands/supabase-types.sh deleted file mode 100755 index 98f8a838b..000000000 --- a/apps/web/commands/supabase-types.sh +++ /dev/null @@ -1,3 +0,0 @@ -cd "$(dirname $0)/../../backend" - -supabase gen types typescript --local > ../web/src/lib/\$generated/supabase-types.ts diff --git a/apps/web/package.json b/apps/web/package.json index 18bb8ce2d..985a81a12 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -4,7 +4,7 @@ "type": "module", "scripts": { "generate:svelte": "svelte-kit sync", - "generate:supabase-types": "./commands/supabase-types.sh", + "generate:supabase-types": "node ./commands/supabase-types.js", "generate": "concurrently pnpm:generate:*", "dev": "vite dev --open", "build": "pnpm generate && vite build", @@ -32,6 +32,7 @@ "@sveltejs/kit": "^2.5.5", "@sveltejs/vite-plugin-svelte": "^3.0.2", "@tailwindcss/postcss": "4.0.0-alpha.14", + "dotenv": "^16.4.5", "supabase": "^1.162.4", "svelte": "5.0.0-next.90", "svelte-check": "^3.6.9", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ca9d30999..b590aa688 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -96,6 +96,9 @@ importers: '@tailwindcss/postcss': specifier: 4.0.0-alpha.14 version: 4.0.0-alpha.14(postcss@8.4.38) + dotenv: + specifier: ^16.4.5 + version: 16.4.5 supabase: specifier: ^1.162.4 version: 1.162.4 @@ -1558,6 +1561,10 @@ packages: resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} engines: {node: '>=10'} + dotenv@16.4.5: + resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} + engines: {node: '>=12'} + eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} @@ -5065,6 +5072,8 @@ snapshots: dependencies: is-obj: 2.0.0 + dotenv@16.4.5: {} + eastasianwidth@0.2.0: {} easy-extender@2.3.4: