fix: exclude libsql packages from webpack bundling

@libsql/client and libsql contain native bindings and non-JS assets
(README.md, LICENSE) that webpack cannot parse. Mark them as server
external packages so Next.js requires them at runtime instead.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-13 00:01:06 -05:00
parent a692b99d31
commit aeee0fb598

View File

@@ -1,12 +1,12 @@
/** @type {import("next").NextConfig} */ /** @type {import("next").NextConfig} */
const nextConfig = { const nextConfig = {
output: "standalone", output: "standalone",
serverExternalPackages: ["@prisma/client", "prisma"], serverExternalPackages: ["@prisma/client", "prisma", "@prisma/adapter-libsql", "@libsql/client", "libsql"],
webpack: (config, { isServer }) => { webpack: (config, { isServer }) => {
if (isServer) { if (isServer) {
// Ensure Prisma is never bundled by webpack // Ensure Prisma and libsql are never bundled by webpack
const existingExternals = Array.isArray(config.externals) ? config.externals : []; const existingExternals = Array.isArray(config.externals) ? config.externals : [];
config.externals = [...existingExternals, '@prisma/client', 'prisma']; config.externals = [...existingExternals, '@prisma/client', 'prisma', '@prisma/adapter-libsql', '@libsql/client', 'libsql'];
} }
return config; return config;
}, },