File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -39,7 +39,7 @@ node scripts/bundle-api.mjs
3939# apps/studio/, so we must copy the actual module files here for Vercel to
4040# include them in the serverless function's deployment package.
4141#
42- # Note: @libsql/client is now bundled by esbuild, so we no longer copy it .
42+ # Note: @libsql/client has native dependencies that must be copied .
4343echo " [build-vercel] Copying external native modules to local node_modules..."
4444for mod in better-sqlite3; do
4545 src=" ../../node_modules/$mod "
@@ -52,6 +52,17 @@ for mod in better-sqlite3; do
5252 echo " [build-vercel] ⚠ $mod not found at $src (skipped)"
5353 fi
5454done
55+ # Copy the @libsql scope (includes @libsql/client and native binaries like @libsql/linux-x64-gnu)
56+ if [ -d " ../../node_modules/@libsql" ]; then
57+ mkdir -p " node_modules/@libsql"
58+ for pkg in ../../node_modules/@libsql/* /; do
59+ pkgname=" $( basename " $pkg " ) "
60+ cp -rL " $pkg " " node_modules/@libsql/$pkgname "
61+ done
62+ echo " [build-vercel] ✓ Copied @libsql/*"
63+ else
64+ echo " [build-vercel] ⚠ @libsql not found (skipped)"
65+ fi
5566# Copy the @ai-sdk scope (dynamically loaded provider packages)
5667if [ -d " ../../node_modules/@ai-sdk" ]; then
5768 mkdir -p " node_modules/@ai-sdk"
Original file line number Diff line number Diff line change @@ -16,9 +16,9 @@ import { build } from 'esbuild';
1616
1717// Packages that cannot be bundled (native bindings / optional drivers)
1818const EXTERNAL = [
19- // @libsql /client is now bundled (pure JS, no native bindings )
20- // Bundling it solves Vercel deployment issues where external packages
21- // aren't properly included in the serverless function despite includeFiles config
19+ // @libsql /client has native bindings (platform-specific like @libsql/linux-x64-gnu )
20+ // and must be kept external, then copied to node_modules with includeFiles
21+ '@libsql/client' ,
2222 'better-sqlite3' ,
2323 // AI SDK provider packages — dynamically imported based on env vars
2424 '@ai-sdk/anthropic' ,
Original file line number Diff line number Diff line change 1313 "api/**/*.js" : {
1414 "memory" : 1024 ,
1515 "maxDuration" : 300 ,
16- "includeFiles" : " node_modules/{better-sqlite3,@ai-sdk}/**"
16+ "includeFiles" : " node_modules/{better-sqlite3,@libsql,@ ai-sdk}/**"
1717 }
1818 },
1919 "headers" : [
You can’t perform that action at this time.
0 commit comments