drizzle-orm 1.0.0-beta.23 → 1.0.0-beta.23-32414b2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,7 +9,6 @@ let __logger_ts = require("../logger.cjs");
9
9
  let __pg_core_async_db_ts = require("../pg-core/async/db.cjs");
10
10
  let __pg_core_dialect_ts = require("../pg-core/dialect.cjs");
11
11
  let _neondatabase_serverless = require("@neondatabase/serverless");
12
- let _netlify_db = require("@netlify/db");
13
12
  let __node_postgres_driver_ts = require("../node-postgres/driver.cjs");
14
13
 
15
14
  //#region src/netlify-db/driver.ts
@@ -76,12 +75,13 @@ function construct(httpClient, pool, config = {}) {
76
75
  function drizzle(...params) {
77
76
  if (params.length === 0 || params.length === 1 && (0, __utils_ts.isConfig)(params[0]) && !("connection" in params[0]) && !("client" in params[0])) {
78
77
  const drizzleConfig = params[0] ?? {};
79
- const connection = (0, _netlify_db.getDatabase)();
80
- if (connection.driver === "server") return (0, __node_postgres_driver_ts.drizzle)({
81
- client: connection.pool,
78
+ const connectionString = process.env["NETLIFY_DB_URL"];
79
+ if (!connectionString) throw new Error("NETLIFY_DB_URL environment variable is not set. Provide a connection string or client to drizzle().");
80
+ if (process.env["NETLIFY_DB_DRIVER"] === "server") return (0, __node_postgres_driver_ts.drizzle)({
81
+ connection: connectionString,
82
82
  ...drizzleConfig
83
83
  });
84
- return construct(connection.httpClient, connection.pool, drizzleConfig);
84
+ return construct((0, _neondatabase_serverless.neon)(connectionString), new _neondatabase_serverless.Pool({ connectionString }), drizzleConfig);
85
85
  }
86
86
  if (typeof params[0] === "string") {
87
87
  const connectionString = params[0];
@@ -1 +1 @@
1
- {"version":3,"file":"driver.cjs","names":["entityKind","NetlifyDbSession","types","PgAsyncDatabase","PgDialect","DefaultLogger","V1","Pool"],"sources":["../../src/netlify-db/driver.ts"],"sourcesContent":["import { neon, Pool, types } from '@neondatabase/serverless';\nimport { getDatabase } from '@netlify/db';\nimport * as V1 from '~/_relations.ts';\nimport type { BatchItem, BatchResponse } from '~/batch.ts';\nimport type { Cache } from '~/cache/core/cache.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport type { NeonHttpClient, NeonHttpQueryResultHKT } from '~/neon-http/session.ts';\nimport { drizzle as drizzleNodePg, type NodePgDatabase } from '~/node-postgres/driver.ts';\nimport type { NodePgClient } from '~/node-postgres/session.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { type DrizzleConfig, isConfig } from '~/utils.ts';\nimport { type NetlifyDbClient, NetlifyDbSession } from './session.ts';\n\nexport interface ServerlessDrizzleClient {\n\tdriver: 'serverless';\n\thttpClient: NeonHttpClient;\n\tpool: Pool;\n\tconnectionString: string;\n}\n\nexport interface ServerDrizzleClient {\n\tdriver: 'server';\n\tpool: NodePgClient;\n\tconnectionString: string;\n}\n\nexport type DrizzleClient = ServerlessDrizzleClient | ServerDrizzleClient;\n\nexport interface NetlifyDbDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class NetlifyDbDriver {\n\tstatic readonly [entityKind]: string = 'NetlifyDbDriver';\n\n\tconstructor(\n\t\tprivate httpClient: NeonHttpClient,\n\t\tprivate pool: Pool,\n\t\tprivate dialect: PgDialect,\n\t\tprivate options: NetlifyDbDriverOptions = {},\n\t) {\n\t\tthis.initMappers();\n\t}\n\n\tcreateSession(\n\t\trelations: AnyRelations | undefined,\n\t\tschema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined,\n\t): NetlifyDbSession<Record<string, unknown>, EmptyRelations, V1.TablesRelationalConfig> {\n\t\treturn new NetlifyDbSession(this.httpClient, this.pool, this.dialect, relations ?? {}, schema, {\n\t\t\tlogger: this.options.logger,\n\t\t\tcache: this.options.cache,\n\t\t});\n\t}\n\n\tinitMappers() {\n\t\ttypes.setTypeParser(types.builtins.TIMESTAMPTZ, (val) => val);\n\t\ttypes.setTypeParser(types.builtins.TIMESTAMP, (val) => val);\n\t\ttypes.setTypeParser(types.builtins.DATE, (val) => val);\n\t\ttypes.setTypeParser(types.builtins.INTERVAL, (val) => val);\n\t\ttypes.setTypeParser(1231, (val) => val);\n\t\ttypes.setTypeParser(1115, (val) => val);\n\t\ttypes.setTypeParser(1185, (val) => val);\n\t\ttypes.setTypeParser(1187, (val) => val);\n\t\ttypes.setTypeParser(1182, (val) => val);\n\t}\n}\n\nexport class NetlifyDbDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends PgAsyncDatabase<NeonHttpQueryResultHKT, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'NetlifyDbDatabase';\n\n\tasync batch<U extends BatchItem<'pg'>, T extends Readonly<[U, ...U[]]>>(\n\t\tbatch: T,\n\t): Promise<BatchResponse<T>> {\n\t\treturn (<NetlifyDbSession<TSchema, TRelations, V1.ExtractTablesWithRelations<TSchema>>> this.session).batch(\n\t\t\tbatch,\n\t\t) as Promise<BatchResponse<T>>;\n\t}\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\thttpClient: NeonHttpClient,\n\tpool: Pool,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): NetlifyDbDatabase<TSchema, TRelations> & {\n\t$client: NetlifyDbClient;\n} {\n\tconst dialect = new PgDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst relations = config.relations ?? {} as TRelations;\n\n\tconst driver = new NetlifyDbDriver(httpClient, pool, dialect, { logger, cache: config.cache });\n\tconst session = driver.createSession(relations, schema);\n\n\tconst db = new NetlifyDbDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<V1.ExtractTablesWithRelations<TSchema>> | undefined,\n\t);\n\t(<any> db).$client = { http: httpClient, pool } satisfies NetlifyDbClient;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>():\n\t| (NetlifyDbDatabase<TSchema, TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TSchema, TRelations> & { $client: NodePgClient });\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleConfig<TSchema, TRelations>,\n):\n\t| (NetlifyDbDatabase<TSchema, TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TSchema, TRelations> & { $client: NodePgClient });\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleConfig<TSchema, TRelations> & { client: ServerlessDrizzleClient },\n): NetlifyDbDatabase<TSchema, TRelations> & { $client: NetlifyDbClient };\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleConfig<TSchema, TRelations> & { client: ServerDrizzleClient },\n): NodePgDatabase<TSchema, TRelations> & { $client: NodePgClient };\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleConfig<TSchema, TRelations> & { client: DrizzleClient },\n):\n\t| (NetlifyDbDatabase<TSchema, TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TSchema, TRelations> & { $client: NodePgClient });\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | { connectionString: string };\n\t\t\t} | {\n\t\t\t\tclient: NetlifyDbClient | DrizzleClient;\n\t\t\t})\n\t\t),\n\t]\n): NetlifyDbDatabase<TSchema, TRelations> & { $client: NetlifyDbClient };\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\t...params: [] | [\n\t\tDrizzleConfig<TSchema>,\n\t] | [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | { connectionString: string };\n\t\t\t} | {\n\t\t\t\tclient: NetlifyDbClient | DrizzleClient;\n\t\t\t})\n\t\t),\n\t]\n):\n\t| (NetlifyDbDatabase<TSchema, TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TSchema, TRelations> & { $client: NodePgClient })\n{\n\t// Zero-config: read env vars\n\tif (\n\t\tparams.length === 0\n\t\t|| (params.length === 1 && isConfig(params[0]) && !('connection' in (params[0] as any))\n\t\t\t&& !('client' in (params[0] as any)))\n\t) {\n\t\tconst drizzleConfig = (params[0] ?? {}) as DrizzleConfig<TSchema, TRelations>;\n\t\tconst connection = getDatabase();\n\n\t\tif (connection.driver === 'server') {\n\t\t\treturn drizzleNodePg({ client: connection.pool, ...drizzleConfig }) as any;\n\t\t}\n\n\t\treturn construct(connection.httpClient, connection.pool, drizzleConfig) as any;\n\t}\n\n\tif (typeof params[0] === 'string') {\n\t\tconst connectionString = params[0];\n\t\tconst httpClient = neon(connectionString);\n\t\tconst pool = new Pool({ connectionString });\n\t\treturn construct(httpClient, pool, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as {\n\t\t\tconnection?: { connectionString: string } | string;\n\t\t\tclient?: NetlifyDbClient | DrizzleClient;\n\t\t} & DrizzleConfig<TSchema, TRelations>;\n\n\t\tif (client) {\n\t\t\tif ('driver' in client) {\n\t\t\t\tif (client.driver === 'serverless') {\n\t\t\t\t\treturn construct(client.httpClient, client.pool, drizzleConfig);\n\t\t\t\t}\n\t\t\t\treturn drizzleNodePg({ client: client.pool, ...drizzleConfig }) as any;\n\t\t\t}\n\t\t\treturn construct(client.http, client.pool, drizzleConfig);\n\t\t}\n\n\t\tconst connectionString = typeof connection === 'string' ? connection : connection!.connectionString;\n\t\tconst httpClient = neon(connectionString);\n\t\tconst pool = new Pool({ connectionString });\n\n\t\treturn construct(httpClient, pool, drizzleConfig) as any;\n\t}\n\n\tthrow new Error('Invalid arguments. Expected a connection string or a config object.');\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzleConfig<TSchema, TRelations>,\n\t): NetlifyDbDatabase<TSchema, TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, {} as any, config) as any;\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"driver.cjs","names":["entityKind","NetlifyDbSession","types","PgAsyncDatabase","PgDialect","DefaultLogger","V1","Pool"],"sources":["../../src/netlify-db/driver.ts"],"sourcesContent":["import { neon, Pool, types } from '@neondatabase/serverless';\nimport * as V1 from '~/_relations.ts';\nimport type { BatchItem, BatchResponse } from '~/batch.ts';\nimport type { Cache } from '~/cache/core/cache.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport type { NeonHttpClient, NeonHttpQueryResultHKT } from '~/neon-http/session.ts';\nimport { drizzle as drizzleNodePg, type NodePgDatabase } from '~/node-postgres/driver.ts';\nimport type { NodePgClient } from '~/node-postgres/session.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { type DrizzleConfig, isConfig } from '~/utils.ts';\nimport { type NetlifyDbClient, NetlifyDbSession } from './session.ts';\n\nexport interface ServerlessDrizzleClient {\n\tdriver: 'serverless';\n\thttpClient: NeonHttpClient;\n\tpool: Pool;\n\tconnectionString: string;\n}\n\nexport interface ServerDrizzleClient {\n\tdriver: 'server';\n\tpool: NodePgClient;\n\tconnectionString: string;\n}\n\nexport type DrizzleClient = ServerlessDrizzleClient | ServerDrizzleClient;\n\nexport interface NetlifyDbDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class NetlifyDbDriver {\n\tstatic readonly [entityKind]: string = 'NetlifyDbDriver';\n\n\tconstructor(\n\t\tprivate httpClient: NeonHttpClient,\n\t\tprivate pool: Pool,\n\t\tprivate dialect: PgDialect,\n\t\tprivate options: NetlifyDbDriverOptions = {},\n\t) {\n\t\tthis.initMappers();\n\t}\n\n\tcreateSession(\n\t\trelations: AnyRelations | undefined,\n\t\tschema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined,\n\t): NetlifyDbSession<Record<string, unknown>, EmptyRelations, V1.TablesRelationalConfig> {\n\t\treturn new NetlifyDbSession(this.httpClient, this.pool, this.dialect, relations ?? {}, schema, {\n\t\t\tlogger: this.options.logger,\n\t\t\tcache: this.options.cache,\n\t\t});\n\t}\n\n\tinitMappers() {\n\t\ttypes.setTypeParser(types.builtins.TIMESTAMPTZ, (val) => val);\n\t\ttypes.setTypeParser(types.builtins.TIMESTAMP, (val) => val);\n\t\ttypes.setTypeParser(types.builtins.DATE, (val) => val);\n\t\ttypes.setTypeParser(types.builtins.INTERVAL, (val) => val);\n\t\ttypes.setTypeParser(1231, (val) => val);\n\t\ttypes.setTypeParser(1115, (val) => val);\n\t\ttypes.setTypeParser(1185, (val) => val);\n\t\ttypes.setTypeParser(1187, (val) => val);\n\t\ttypes.setTypeParser(1182, (val) => val);\n\t}\n}\n\nexport class NetlifyDbDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends PgAsyncDatabase<NeonHttpQueryResultHKT, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'NetlifyDbDatabase';\n\n\tasync batch<U extends BatchItem<'pg'>, T extends Readonly<[U, ...U[]]>>(\n\t\tbatch: T,\n\t): Promise<BatchResponse<T>> {\n\t\treturn (<NetlifyDbSession<TSchema, TRelations, V1.ExtractTablesWithRelations<TSchema>>> this.session).batch(\n\t\t\tbatch,\n\t\t) as Promise<BatchResponse<T>>;\n\t}\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\thttpClient: NeonHttpClient,\n\tpool: Pool,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): NetlifyDbDatabase<TSchema, TRelations> & {\n\t$client: NetlifyDbClient;\n} {\n\tconst dialect = new PgDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst relations = config.relations ?? {} as TRelations;\n\n\tconst driver = new NetlifyDbDriver(httpClient, pool, dialect, { logger, cache: config.cache });\n\tconst session = driver.createSession(relations, schema);\n\n\tconst db = new NetlifyDbDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<V1.ExtractTablesWithRelations<TSchema>> | undefined,\n\t);\n\t(<any> db).$client = { http: httpClient, pool } satisfies NetlifyDbClient;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>():\n\t| (NetlifyDbDatabase<TSchema, TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TSchema, TRelations> & { $client: NodePgClient });\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleConfig<TSchema, TRelations>,\n):\n\t| (NetlifyDbDatabase<TSchema, TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TSchema, TRelations> & { $client: NodePgClient });\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleConfig<TSchema, TRelations> & { client: ServerlessDrizzleClient },\n): NetlifyDbDatabase<TSchema, TRelations> & { $client: NetlifyDbClient };\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleConfig<TSchema, TRelations> & { client: ServerDrizzleClient },\n): NodePgDatabase<TSchema, TRelations> & { $client: NodePgClient };\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleConfig<TSchema, TRelations> & { client: DrizzleClient },\n):\n\t| (NetlifyDbDatabase<TSchema, TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TSchema, TRelations> & { $client: NodePgClient });\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | { connectionString: string };\n\t\t\t} | {\n\t\t\t\tclient: NetlifyDbClient | DrizzleClient;\n\t\t\t})\n\t\t),\n\t]\n): NetlifyDbDatabase<TSchema, TRelations> & { $client: NetlifyDbClient };\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\t...params: [] | [\n\t\tDrizzleConfig<TSchema>,\n\t] | [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | { connectionString: string };\n\t\t\t} | {\n\t\t\t\tclient: NetlifyDbClient | DrizzleClient;\n\t\t\t})\n\t\t),\n\t]\n):\n\t| (NetlifyDbDatabase<TSchema, TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TSchema, TRelations> & { $client: NodePgClient })\n{\n\t// Zero-config: read env vars\n\tif (\n\t\tparams.length === 0\n\t\t|| (params.length === 1 && isConfig(params[0]) && !('connection' in (params[0] as any))\n\t\t\t&& !('client' in (params[0] as any)))\n\t) {\n\t\tconst drizzleConfig = (params[0] ?? {}) as DrizzleConfig<TSchema>;\n\t\tconst connectionString = process.env['NETLIFY_DB_URL'];\n\n\t\tif (!connectionString) {\n\t\t\tthrow new Error(\n\t\t\t\t'NETLIFY_DB_URL environment variable is not set. '\n\t\t\t\t\t+ 'Provide a connection string or client to drizzle().',\n\t\t\t);\n\t\t}\n\n\t\tconst driver = process.env['NETLIFY_DB_DRIVER'];\n\n\t\tif (driver === 'server') {\n\t\t\treturn drizzleNodePg({ connection: connectionString, ...drizzleConfig }) as any;\n\t\t}\n\n\t\tconst httpClient = neon(connectionString);\n\t\tconst pool = new Pool({ connectionString });\n\t\treturn construct(httpClient, pool, drizzleConfig) as any;\n\t}\n\n\tif (typeof params[0] === 'string') {\n\t\tconst connectionString = params[0];\n\t\tconst httpClient = neon(connectionString);\n\t\tconst pool = new Pool({ connectionString });\n\t\treturn construct(httpClient, pool, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as {\n\t\t\tconnection?: { connectionString: string } | string;\n\t\t\tclient?: NetlifyDbClient | DrizzleClient;\n\t\t} & DrizzleConfig<TSchema, TRelations>;\n\n\t\tif (client) {\n\t\t\tif ('driver' in client) {\n\t\t\t\tif (client.driver === 'serverless') {\n\t\t\t\t\treturn construct(client.httpClient, client.pool, drizzleConfig);\n\t\t\t\t}\n\t\t\t\treturn drizzleNodePg({ client: client.pool, ...drizzleConfig }) as any;\n\t\t\t}\n\t\t\treturn construct(client.http, client.pool, drizzleConfig);\n\t\t}\n\n\t\tconst connectionString = typeof connection === 'string' ? connection : connection!.connectionString;\n\t\tconst httpClient = neon(connectionString);\n\t\tconst pool = new Pool({ connectionString });\n\n\t\treturn construct(httpClient, pool, drizzleConfig) as any;\n\t}\n\n\tthrow new Error('Invalid arguments. Expected a connection string or a config object.');\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzleConfig<TSchema, TRelations>,\n\t): NetlifyDbDatabase<TSchema, TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, {} as any, config) as any;\n\t}\n}\n"],"mappings":"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"}
@@ -6,7 +6,6 @@ import { DefaultLogger } from "../logger.js";
6
6
  import { PgAsyncDatabase } from "../pg-core/async/db.js";
7
7
  import { PgDialect } from "../pg-core/dialect.js";
8
8
  import { Pool, neon, types } from "@neondatabase/serverless";
9
- import { getDatabase } from "@netlify/db";
10
9
  import { drizzle as drizzle$1 } from "../node-postgres/driver.js";
11
10
 
12
11
  //#region src/netlify-db/driver.ts
@@ -73,12 +72,13 @@ function construct(httpClient, pool, config = {}) {
73
72
  function drizzle(...params) {
74
73
  if (params.length === 0 || params.length === 1 && isConfig(params[0]) && !("connection" in params[0]) && !("client" in params[0])) {
75
74
  const drizzleConfig = params[0] ?? {};
76
- const connection = getDatabase();
77
- if (connection.driver === "server") return drizzle$1({
78
- client: connection.pool,
75
+ const connectionString = process.env["NETLIFY_DB_URL"];
76
+ if (!connectionString) throw new Error("NETLIFY_DB_URL environment variable is not set. Provide a connection string or client to drizzle().");
77
+ if (process.env["NETLIFY_DB_DRIVER"] === "server") return drizzle$1({
78
+ connection: connectionString,
79
79
  ...drizzleConfig
80
80
  });
81
- return construct(connection.httpClient, connection.pool, drizzleConfig);
81
+ return construct(neon(connectionString), new Pool({ connectionString }), drizzleConfig);
82
82
  }
83
83
  if (typeof params[0] === "string") {
84
84
  const connectionString = params[0];
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","names":["drizzleNodePg"],"sources":["../../src/netlify-db/driver.ts"],"sourcesContent":["import { neon, Pool, types } from '@neondatabase/serverless';\nimport { getDatabase } from '@netlify/db';\nimport * as V1 from '~/_relations.ts';\nimport type { BatchItem, BatchResponse } from '~/batch.ts';\nimport type { Cache } from '~/cache/core/cache.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport type { NeonHttpClient, NeonHttpQueryResultHKT } from '~/neon-http/session.ts';\nimport { drizzle as drizzleNodePg, type NodePgDatabase } from '~/node-postgres/driver.ts';\nimport type { NodePgClient } from '~/node-postgres/session.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { type DrizzleConfig, isConfig } from '~/utils.ts';\nimport { type NetlifyDbClient, NetlifyDbSession } from './session.ts';\n\nexport interface ServerlessDrizzleClient {\n\tdriver: 'serverless';\n\thttpClient: NeonHttpClient;\n\tpool: Pool;\n\tconnectionString: string;\n}\n\nexport interface ServerDrizzleClient {\n\tdriver: 'server';\n\tpool: NodePgClient;\n\tconnectionString: string;\n}\n\nexport type DrizzleClient = ServerlessDrizzleClient | ServerDrizzleClient;\n\nexport interface NetlifyDbDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class NetlifyDbDriver {\n\tstatic readonly [entityKind]: string = 'NetlifyDbDriver';\n\n\tconstructor(\n\t\tprivate httpClient: NeonHttpClient,\n\t\tprivate pool: Pool,\n\t\tprivate dialect: PgDialect,\n\t\tprivate options: NetlifyDbDriverOptions = {},\n\t) {\n\t\tthis.initMappers();\n\t}\n\n\tcreateSession(\n\t\trelations: AnyRelations | undefined,\n\t\tschema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined,\n\t): NetlifyDbSession<Record<string, unknown>, EmptyRelations, V1.TablesRelationalConfig> {\n\t\treturn new NetlifyDbSession(this.httpClient, this.pool, this.dialect, relations ?? {}, schema, {\n\t\t\tlogger: this.options.logger,\n\t\t\tcache: this.options.cache,\n\t\t});\n\t}\n\n\tinitMappers() {\n\t\ttypes.setTypeParser(types.builtins.TIMESTAMPTZ, (val) => val);\n\t\ttypes.setTypeParser(types.builtins.TIMESTAMP, (val) => val);\n\t\ttypes.setTypeParser(types.builtins.DATE, (val) => val);\n\t\ttypes.setTypeParser(types.builtins.INTERVAL, (val) => val);\n\t\ttypes.setTypeParser(1231, (val) => val);\n\t\ttypes.setTypeParser(1115, (val) => val);\n\t\ttypes.setTypeParser(1185, (val) => val);\n\t\ttypes.setTypeParser(1187, (val) => val);\n\t\ttypes.setTypeParser(1182, (val) => val);\n\t}\n}\n\nexport class NetlifyDbDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends PgAsyncDatabase<NeonHttpQueryResultHKT, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'NetlifyDbDatabase';\n\n\tasync batch<U extends BatchItem<'pg'>, T extends Readonly<[U, ...U[]]>>(\n\t\tbatch: T,\n\t): Promise<BatchResponse<T>> {\n\t\treturn (<NetlifyDbSession<TSchema, TRelations, V1.ExtractTablesWithRelations<TSchema>>> this.session).batch(\n\t\t\tbatch,\n\t\t) as Promise<BatchResponse<T>>;\n\t}\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\thttpClient: NeonHttpClient,\n\tpool: Pool,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): NetlifyDbDatabase<TSchema, TRelations> & {\n\t$client: NetlifyDbClient;\n} {\n\tconst dialect = new PgDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst relations = config.relations ?? {} as TRelations;\n\n\tconst driver = new NetlifyDbDriver(httpClient, pool, dialect, { logger, cache: config.cache });\n\tconst session = driver.createSession(relations, schema);\n\n\tconst db = new NetlifyDbDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<V1.ExtractTablesWithRelations<TSchema>> | undefined,\n\t);\n\t(<any> db).$client = { http: httpClient, pool } satisfies NetlifyDbClient;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>():\n\t| (NetlifyDbDatabase<TSchema, TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TSchema, TRelations> & { $client: NodePgClient });\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleConfig<TSchema, TRelations>,\n):\n\t| (NetlifyDbDatabase<TSchema, TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TSchema, TRelations> & { $client: NodePgClient });\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleConfig<TSchema, TRelations> & { client: ServerlessDrizzleClient },\n): NetlifyDbDatabase<TSchema, TRelations> & { $client: NetlifyDbClient };\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleConfig<TSchema, TRelations> & { client: ServerDrizzleClient },\n): NodePgDatabase<TSchema, TRelations> & { $client: NodePgClient };\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleConfig<TSchema, TRelations> & { client: DrizzleClient },\n):\n\t| (NetlifyDbDatabase<TSchema, TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TSchema, TRelations> & { $client: NodePgClient });\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | { connectionString: string };\n\t\t\t} | {\n\t\t\t\tclient: NetlifyDbClient | DrizzleClient;\n\t\t\t})\n\t\t),\n\t]\n): NetlifyDbDatabase<TSchema, TRelations> & { $client: NetlifyDbClient };\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\t...params: [] | [\n\t\tDrizzleConfig<TSchema>,\n\t] | [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | { connectionString: string };\n\t\t\t} | {\n\t\t\t\tclient: NetlifyDbClient | DrizzleClient;\n\t\t\t})\n\t\t),\n\t]\n):\n\t| (NetlifyDbDatabase<TSchema, TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TSchema, TRelations> & { $client: NodePgClient })\n{\n\t// Zero-config: read env vars\n\tif (\n\t\tparams.length === 0\n\t\t|| (params.length === 1 && isConfig(params[0]) && !('connection' in (params[0] as any))\n\t\t\t&& !('client' in (params[0] as any)))\n\t) {\n\t\tconst drizzleConfig = (params[0] ?? {}) as DrizzleConfig<TSchema, TRelations>;\n\t\tconst connection = getDatabase();\n\n\t\tif (connection.driver === 'server') {\n\t\t\treturn drizzleNodePg({ client: connection.pool, ...drizzleConfig }) as any;\n\t\t}\n\n\t\treturn construct(connection.httpClient, connection.pool, drizzleConfig) as any;\n\t}\n\n\tif (typeof params[0] === 'string') {\n\t\tconst connectionString = params[0];\n\t\tconst httpClient = neon(connectionString);\n\t\tconst pool = new Pool({ connectionString });\n\t\treturn construct(httpClient, pool, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as {\n\t\t\tconnection?: { connectionString: string } | string;\n\t\t\tclient?: NetlifyDbClient | DrizzleClient;\n\t\t} & DrizzleConfig<TSchema, TRelations>;\n\n\t\tif (client) {\n\t\t\tif ('driver' in client) {\n\t\t\t\tif (client.driver === 'serverless') {\n\t\t\t\t\treturn construct(client.httpClient, client.pool, drizzleConfig);\n\t\t\t\t}\n\t\t\t\treturn drizzleNodePg({ client: client.pool, ...drizzleConfig }) as any;\n\t\t\t}\n\t\t\treturn construct(client.http, client.pool, drizzleConfig);\n\t\t}\n\n\t\tconst connectionString = typeof connection === 'string' ? connection : connection!.connectionString;\n\t\tconst httpClient = neon(connectionString);\n\t\tconst pool = new Pool({ connectionString });\n\n\t\treturn construct(httpClient, pool, drizzleConfig) as any;\n\t}\n\n\tthrow new Error('Invalid arguments. Expected a connection string or a config object.');\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzleConfig<TSchema, TRelations>,\n\t): NetlifyDbDatabase<TSchema, TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, {} as any, config) as any;\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"driver.js","names":["drizzleNodePg"],"sources":["../../src/netlify-db/driver.ts"],"sourcesContent":["import { neon, Pool, types } from '@neondatabase/serverless';\nimport * as V1 from '~/_relations.ts';\nimport type { BatchItem, BatchResponse } from '~/batch.ts';\nimport type { Cache } from '~/cache/core/cache.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport type { NeonHttpClient, NeonHttpQueryResultHKT } from '~/neon-http/session.ts';\nimport { drizzle as drizzleNodePg, type NodePgDatabase } from '~/node-postgres/driver.ts';\nimport type { NodePgClient } from '~/node-postgres/session.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { type DrizzleConfig, isConfig } from '~/utils.ts';\nimport { type NetlifyDbClient, NetlifyDbSession } from './session.ts';\n\nexport interface ServerlessDrizzleClient {\n\tdriver: 'serverless';\n\thttpClient: NeonHttpClient;\n\tpool: Pool;\n\tconnectionString: string;\n}\n\nexport interface ServerDrizzleClient {\n\tdriver: 'server';\n\tpool: NodePgClient;\n\tconnectionString: string;\n}\n\nexport type DrizzleClient = ServerlessDrizzleClient | ServerDrizzleClient;\n\nexport interface NetlifyDbDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class NetlifyDbDriver {\n\tstatic readonly [entityKind]: string = 'NetlifyDbDriver';\n\n\tconstructor(\n\t\tprivate httpClient: NeonHttpClient,\n\t\tprivate pool: Pool,\n\t\tprivate dialect: PgDialect,\n\t\tprivate options: NetlifyDbDriverOptions = {},\n\t) {\n\t\tthis.initMappers();\n\t}\n\n\tcreateSession(\n\t\trelations: AnyRelations | undefined,\n\t\tschema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined,\n\t): NetlifyDbSession<Record<string, unknown>, EmptyRelations, V1.TablesRelationalConfig> {\n\t\treturn new NetlifyDbSession(this.httpClient, this.pool, this.dialect, relations ?? {}, schema, {\n\t\t\tlogger: this.options.logger,\n\t\t\tcache: this.options.cache,\n\t\t});\n\t}\n\n\tinitMappers() {\n\t\ttypes.setTypeParser(types.builtins.TIMESTAMPTZ, (val) => val);\n\t\ttypes.setTypeParser(types.builtins.TIMESTAMP, (val) => val);\n\t\ttypes.setTypeParser(types.builtins.DATE, (val) => val);\n\t\ttypes.setTypeParser(types.builtins.INTERVAL, (val) => val);\n\t\ttypes.setTypeParser(1231, (val) => val);\n\t\ttypes.setTypeParser(1115, (val) => val);\n\t\ttypes.setTypeParser(1185, (val) => val);\n\t\ttypes.setTypeParser(1187, (val) => val);\n\t\ttypes.setTypeParser(1182, (val) => val);\n\t}\n}\n\nexport class NetlifyDbDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends PgAsyncDatabase<NeonHttpQueryResultHKT, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'NetlifyDbDatabase';\n\n\tasync batch<U extends BatchItem<'pg'>, T extends Readonly<[U, ...U[]]>>(\n\t\tbatch: T,\n\t): Promise<BatchResponse<T>> {\n\t\treturn (<NetlifyDbSession<TSchema, TRelations, V1.ExtractTablesWithRelations<TSchema>>> this.session).batch(\n\t\t\tbatch,\n\t\t) as Promise<BatchResponse<T>>;\n\t}\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\thttpClient: NeonHttpClient,\n\tpool: Pool,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): NetlifyDbDatabase<TSchema, TRelations> & {\n\t$client: NetlifyDbClient;\n} {\n\tconst dialect = new PgDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst relations = config.relations ?? {} as TRelations;\n\n\tconst driver = new NetlifyDbDriver(httpClient, pool, dialect, { logger, cache: config.cache });\n\tconst session = driver.createSession(relations, schema);\n\n\tconst db = new NetlifyDbDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<V1.ExtractTablesWithRelations<TSchema>> | undefined,\n\t);\n\t(<any> db).$client = { http: httpClient, pool } satisfies NetlifyDbClient;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>():\n\t| (NetlifyDbDatabase<TSchema, TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TSchema, TRelations> & { $client: NodePgClient });\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleConfig<TSchema, TRelations>,\n):\n\t| (NetlifyDbDatabase<TSchema, TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TSchema, TRelations> & { $client: NodePgClient });\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleConfig<TSchema, TRelations> & { client: ServerlessDrizzleClient },\n): NetlifyDbDatabase<TSchema, TRelations> & { $client: NetlifyDbClient };\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleConfig<TSchema, TRelations> & { client: ServerDrizzleClient },\n): NodePgDatabase<TSchema, TRelations> & { $client: NodePgClient };\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleConfig<TSchema, TRelations> & { client: DrizzleClient },\n):\n\t| (NetlifyDbDatabase<TSchema, TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TSchema, TRelations> & { $client: NodePgClient });\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | { connectionString: string };\n\t\t\t} | {\n\t\t\t\tclient: NetlifyDbClient | DrizzleClient;\n\t\t\t})\n\t\t),\n\t]\n): NetlifyDbDatabase<TSchema, TRelations> & { $client: NetlifyDbClient };\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\t...params: [] | [\n\t\tDrizzleConfig<TSchema>,\n\t] | [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | { connectionString: string };\n\t\t\t} | {\n\t\t\t\tclient: NetlifyDbClient | DrizzleClient;\n\t\t\t})\n\t\t),\n\t]\n):\n\t| (NetlifyDbDatabase<TSchema, TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TSchema, TRelations> & { $client: NodePgClient })\n{\n\t// Zero-config: read env vars\n\tif (\n\t\tparams.length === 0\n\t\t|| (params.length === 1 && isConfig(params[0]) && !('connection' in (params[0] as any))\n\t\t\t&& !('client' in (params[0] as any)))\n\t) {\n\t\tconst drizzleConfig = (params[0] ?? {}) as DrizzleConfig<TSchema>;\n\t\tconst connectionString = process.env['NETLIFY_DB_URL'];\n\n\t\tif (!connectionString) {\n\t\t\tthrow new Error(\n\t\t\t\t'NETLIFY_DB_URL environment variable is not set. '\n\t\t\t\t\t+ 'Provide a connection string or client to drizzle().',\n\t\t\t);\n\t\t}\n\n\t\tconst driver = process.env['NETLIFY_DB_DRIVER'];\n\n\t\tif (driver === 'server') {\n\t\t\treturn drizzleNodePg({ connection: connectionString, ...drizzleConfig }) as any;\n\t\t}\n\n\t\tconst httpClient = neon(connectionString);\n\t\tconst pool = new Pool({ connectionString });\n\t\treturn construct(httpClient, pool, drizzleConfig) as any;\n\t}\n\n\tif (typeof params[0] === 'string') {\n\t\tconst connectionString = params[0];\n\t\tconst httpClient = neon(connectionString);\n\t\tconst pool = new Pool({ connectionString });\n\t\treturn construct(httpClient, pool, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as {\n\t\t\tconnection?: { connectionString: string } | string;\n\t\t\tclient?: NetlifyDbClient | DrizzleClient;\n\t\t} & DrizzleConfig<TSchema, TRelations>;\n\n\t\tif (client) {\n\t\t\tif ('driver' in client) {\n\t\t\t\tif (client.driver === 'serverless') {\n\t\t\t\t\treturn construct(client.httpClient, client.pool, drizzleConfig);\n\t\t\t\t}\n\t\t\t\treturn drizzleNodePg({ client: client.pool, ...drizzleConfig }) as any;\n\t\t\t}\n\t\t\treturn construct(client.http, client.pool, drizzleConfig);\n\t\t}\n\n\t\tconst connectionString = typeof connection === 'string' ? connection : connection!.connectionString;\n\t\tconst httpClient = neon(connectionString);\n\t\tconst pool = new Pool({ connectionString });\n\n\t\treturn construct(httpClient, pool, drizzleConfig) as any;\n\t}\n\n\tthrow new Error('Invalid arguments. Expected a connection string or a config object.');\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzleConfig<TSchema, TRelations>,\n\t): NetlifyDbDatabase<TSchema, TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, {} as any, config) as any;\n\t}\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "drizzle-orm",
3
- "version": "1.0.0-beta.23",
3
+ "version": "1.0.0-beta.23-32414b2",
4
4
  "description": "Drizzle ORM package for SQL databases",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -55,7 +55,6 @@
55
55
  "@libsql/client": ">=0.10.0",
56
56
  "@libsql/client-wasm": ">=0.10.0",
57
57
  "@neondatabase/serverless": ">=0.10.0",
58
- "@netlify/db": ">=0.4.0",
59
58
  "@op-engineering/op-sqlite": ">=2",
60
59
  "@opentelemetry/api": "^1.4.1",
61
60
  "@planetscale/database": ">=1.13",
@@ -136,9 +135,6 @@
136
135
  "@neondatabase/serverless": {
137
136
  "optional": true
138
137
  },
139
- "@netlify/db": {
140
- "optional": true
141
- },
142
138
  "bun-types": {
143
139
  "optional": true
144
140
  },
@@ -218,7 +214,6 @@
218
214
  "@libsql/client-wasm": "^0.10.0",
219
215
  "@miniflare/d1": "^2.14.4",
220
216
  "@neondatabase/serverless": "^0.10.0",
221
- "@netlify/db": "^0.4.0",
222
217
  "@op-engineering/op-sqlite": "^2.0.16",
223
218
  "@opentelemetry/api": "^1.4.1",
224
219
  "@originjs/vite-plugin-commonjs": "^1.0.3",