diff --git a/apps/studio/scripts/build-vercel.sh b/apps/studio/scripts/build-vercel.sh index ab516bab6..10a5507f4 100755 --- a/apps/studio/scripts/build-vercel.sh +++ b/apps/studio/scripts/build-vercel.sh @@ -38,6 +38,8 @@ node scripts/bundle-api.mjs # The vercel.json includeFiles pattern references node_modules/ relative to # apps/studio/, so we must copy the actual module files here for Vercel to # include them in the serverless function's deployment package. +# +# Note: @libsql/client is now bundled by esbuild, so we no longer copy it. echo "[build-vercel] Copying external native modules to local node_modules..." for mod in better-sqlite3; do src="../../node_modules/$mod" @@ -50,17 +52,6 @@ for mod in better-sqlite3; do echo "[build-vercel] ⚠ $mod not found at $src (skipped)" fi done -# Copy the @libsql scope (client + its sub-dependencies like core, hrana-client) -if [ -d "../../node_modules/@libsql" ]; then - mkdir -p "node_modules/@libsql" - for pkg in ../../node_modules/@libsql/*/; do - pkgname="$(basename "$pkg")" - cp -rL "$pkg" "node_modules/@libsql/$pkgname" - done - echo "[build-vercel] ✓ Copied @libsql/*" -else - echo "[build-vercel] ⚠ @libsql not found (skipped)" -fi # Copy the @ai-sdk scope (dynamically loaded provider packages) if [ -d "../../node_modules/@ai-sdk" ]; then mkdir -p "node_modules/@ai-sdk" diff --git a/apps/studio/scripts/bundle-api.mjs b/apps/studio/scripts/bundle-api.mjs index 63c5f2b03..9f1d8fc81 100644 --- a/apps/studio/scripts/bundle-api.mjs +++ b/apps/studio/scripts/bundle-api.mjs @@ -16,7 +16,9 @@ import { build } from 'esbuild'; // Packages that cannot be bundled (native bindings / optional drivers) const EXTERNAL = [ - '@libsql/client', + // @libsql/client is now bundled (pure JS, no native bindings) + // Bundling it solves Vercel deployment issues where external packages + // aren't properly included in the serverless function despite includeFiles config 'better-sqlite3', // AI SDK provider packages — dynamically imported based on env vars '@ai-sdk/anthropic', diff --git a/apps/studio/vercel.json b/apps/studio/vercel.json index 20408b0a6..96e8daf72 100644 --- a/apps/studio/vercel.json +++ b/apps/studio/vercel.json @@ -13,7 +13,7 @@ "api/**/*.js": { "memory": 1024, "maxDuration": 300, - "includeFiles": "{node_modules/@libsql,node_modules/better-sqlite3,node_modules/@ai-sdk}/**" + "includeFiles": "node_modules/{better-sqlite3,@ai-sdk}/**" } }, "headers": [