tursodatabase / libsql-client-ts

TypeScript/JavaScript client API for libSQL

Home Page:https://docs.turso.tech/sdk/ts/quickstart

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build error when building it for cloudflare edge runtime

nooblyf opened this issue · comments

@libsql/client: 0.4.0-pre.5
drizzle-orm: 0.29.1

Build error occurred
Error: Failed to collect page data for /api/ping
at /Users/nooblyf/github.com/projects/turso-drizzle-starter/node_modules/.pnpm/next@14.0.4_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/build/utils.js:1220:15
at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
type: 'Error'
}
Collecting page data . ELIFECYCLE  Command failed with exit code 1.

This is how i'm creating the client

import { drizzle } from 'drizzle-orm/libsql';
import { createClient } from '@libsql/client';

const client = createClient({
	url: process.env.DATABASE_URL,
	authToken: process.env.DATABASE_AUTH_TOKEN,
});

export const db = drizzle(client);

it works fine in dev but only fails when i'm doing a production build

Minimal reproducible code:
https://github.com/nooblyf/turso-drizzle-starter

Downgrading next worked

I think it's a next.js issue because everything seems fine if you downgrade your next.js version from 14.0.4 to 14.0.3 or any other lower version. This issue is also in the next.js canary builds.

Also, the newer next.js versions cause this error:

SyntaxError: Invalid regular expression: /^((?<username>[^:]*)(:(?<password>.*))?@)?((?<host>[^:\\[\\]]*)|(\\[(?<host_br>[^\\[\\]]*)\\]))(:(?<port>[0-9]*))?$/su: Lone quantifier brackets
    at (node_modules/@libsql/client/lib-esm/uri.js:53:11)

if you do a dynamic import like this:

const libsqlClient = await import('@libsql/client');
const client = createClient({ url: process.env.TURSO_URL!, authToken: process.env.TURSO_AUTH_TOKEN });