@prisma-next/driver-postgres 0.16.0-dev.4 → 0.16.0-dev.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"control.d.mts","names":[],"sources":["../src/exports/control.ts"],"mappings":";;;;cAUa,iCAAiC;mBAIf;WAHpB;WACA;cAEoB,QAAQ;EAE/B,MAAM,MAAM,yBAChB,aACA,8BACC;aAAmB,MAAM;;EAStB,SAAS;;;;;cAQX,0BAA0B,2CAA2C"}
1
+ {"version":3,"file":"control.d.mts","names":[],"sources":["../src/exports/control.ts"],"mappings":";;;;cAUa,iCAAiC;mBAIf;WAHpB;WACA;cAEoB,QAAQ;EAE/B,MAAM,MAAM,yBAChB,aACA,8BACC;aAAmB,MAAM;;EAStB,SAAS;;;;;cAUX,0BAA0B,2CAA2C"}
package/dist/control.mjs CHANGED
@@ -20,7 +20,7 @@ var PostgresControlDriver = class {
20
20
  }
21
21
  }
22
22
  async close() {
23
- await this.client.end();
23
+ await this.client.end().catch(() => {});
24
24
  }
25
25
  };
26
26
  /**
@@ -30,6 +30,7 @@ const postgresDriverDescriptor = {
30
30
  ...postgresDriverDescriptorMeta,
31
31
  async create(url) {
32
32
  const client = new Client({ connectionString: url });
33
+ client.on("error", () => {});
33
34
  try {
34
35
  await client.connect();
35
36
  return new PostgresControlDriver(client);
@@ -1 +1 @@
1
- {"version":3,"file":"control.mjs","names":[],"sources":["../src/exports/control.ts"],"sourcesContent":["import { errorRuntime } from '@prisma-next/errors/execution';\nimport type { ControlDriverDescriptor } from '@prisma-next/framework-components/control';\nimport type { SqlControlDriverInstance } from '@prisma-next/sql-contract/types';\nimport { SqlQueryError } from '@prisma-next/sql-errors';\nimport { ifDefined } from '@prisma-next/utils/defined';\nimport { redactDatabaseUrl } from '@prisma-next/utils/redact-db-url';\nimport { Client } from 'pg';\nimport { postgresDriverDescriptorMeta } from '../core/descriptor-meta';\nimport { normalizePgError } from '../normalize-error';\n\nexport class PostgresControlDriver implements SqlControlDriverInstance<'postgres'> {\n readonly familyId = 'sql' as const;\n readonly targetId = 'postgres' as const;\n\n constructor(private readonly client: Client) {}\n\n async query<Row = Record<string, unknown>>(\n sql: string,\n params?: readonly unknown[],\n ): Promise<{ readonly rows: Row[] }> {\n try {\n const result = await this.client.query(sql, params as unknown[] | undefined);\n return { rows: result.rows as Row[] };\n } catch (error) {\n throw normalizePgError(error);\n }\n }\n\n async close(): Promise<void> {\n await this.client.end();\n }\n}\n\n/**\n * Postgres driver descriptor for CLI config.\n */\nconst postgresDriverDescriptor: ControlDriverDescriptor<'sql', 'postgres', PostgresControlDriver> =\n {\n ...postgresDriverDescriptorMeta,\n async create(url: string): Promise<PostgresControlDriver> {\n const client = new Client({ connectionString: url });\n try {\n await client.connect();\n return new PostgresControlDriver(client);\n } catch (error) {\n const normalized = normalizePgError(error);\n const redacted = redactDatabaseUrl(url);\n try {\n await client.end();\n } catch {\n // ignore\n }\n\n const codeFromSqlState = SqlQueryError.is(normalized) ? normalized.sqlState : undefined;\n const causeCode =\n 'cause' in normalized && normalized.cause\n ? (normalized.cause as { code?: unknown }).code\n : undefined;\n const code = codeFromSqlState ?? causeCode;\n\n throw errorRuntime('Database connection failed', {\n why: normalized.message,\n fix: 'Verify the database URL, ensure the database is reachable, and confirm credentials/permissions',\n meta: {\n ...ifDefined('code', code),\n ...redacted,\n },\n });\n }\n },\n };\n\nexport default postgresDriverDescriptor;\n"],"mappings":";;;;;;;AAUA,IAAa,wBAAb,MAAmF;CAIpD;CAH7B,WAAoB;CACpB,WAAoB;CAEpB,YAAY,QAAiC;EAAhB,KAAA,SAAA;CAAiB;CAE9C,MAAM,MACJ,KACA,QACmC;EACnC,IAAI;GAEF,OAAO,EAAE,OAAM,MADM,KAAK,OAAO,MAAM,KAAK,MAA+B,EAAA,CACrD,KAAc;EACtC,SAAS,OAAO;GACd,MAAM,iBAAiB,KAAK;EAC9B;CACF;CAEA,MAAM,QAAuB;EAC3B,MAAM,KAAK,OAAO,IAAI;CACxB;AACF;;;;AAKA,MAAM,2BACJ;CACE,GAAG;CACH,MAAM,OAAO,KAA6C;EACxD,MAAM,SAAS,IAAI,OAAO,EAAE,kBAAkB,IAAI,CAAC;EACnD,IAAI;GACF,MAAM,OAAO,QAAQ;GACrB,OAAO,IAAI,sBAAsB,MAAM;EACzC,SAAS,OAAO;GACd,MAAM,aAAa,iBAAiB,KAAK;GACzC,MAAM,WAAW,kBAAkB,GAAG;GACtC,IAAI;IACF,MAAM,OAAO,IAAI;GACnB,QAAQ,CAER;GAEA,MAAM,mBAAmB,cAAc,GAAG,UAAU,IAAI,WAAW,WAAW,KAAA;GAC9E,MAAM,YACJ,WAAW,cAAc,WAAW,QAC/B,WAAW,MAA6B,OACzC,KAAA;GACN,MAAM,OAAO,oBAAoB;GAEjC,MAAM,aAAa,8BAA8B;IAC/C,KAAK,WAAW;IAChB,KAAK;IACL,MAAM;KACJ,GAAG,UAAU,QAAQ,IAAI;KACzB,GAAG;IACL;GACF,CAAC;EACH;CACF;AACF"}
1
+ {"version":3,"file":"control.mjs","names":[],"sources":["../src/exports/control.ts"],"sourcesContent":["import { errorRuntime } from '@prisma-next/errors/execution';\nimport type { ControlDriverDescriptor } from '@prisma-next/framework-components/control';\nimport type { SqlControlDriverInstance } from '@prisma-next/sql-contract/types';\nimport { SqlQueryError } from '@prisma-next/sql-errors';\nimport { ifDefined } from '@prisma-next/utils/defined';\nimport { redactDatabaseUrl } from '@prisma-next/utils/redact-db-url';\nimport { Client } from 'pg';\nimport { postgresDriverDescriptorMeta } from '../core/descriptor-meta';\nimport { normalizePgError } from '../normalize-error';\n\nexport class PostgresControlDriver implements SqlControlDriverInstance<'postgres'> {\n readonly familyId = 'sql' as const;\n readonly targetId = 'postgres' as const;\n\n constructor(private readonly client: Client) {}\n\n async query<Row = Record<string, unknown>>(\n sql: string,\n params?: readonly unknown[],\n ): Promise<{ readonly rows: Row[] }> {\n try {\n const result = await this.client.query(sql, params as unknown[] | undefined);\n return { rows: result.rows as Row[] };\n } catch (error) {\n throw normalizePgError(error);\n }\n }\n\n async close(): Promise<void> {\n // On a dropped connection end() itself can reject; the caller already has\n // the real failure.\n await this.client.end().catch(() => {});\n }\n}\n\n/**\n * Postgres driver descriptor for CLI config.\n */\nconst postgresDriverDescriptor: ControlDriverDescriptor<'sql', 'postgres', PostgresControlDriver> =\n {\n ...postgresDriverDescriptorMeta,\n async create(url: string): Promise<PostgresControlDriver> {\n const client = new Client({ connectionString: url });\n // Connection-level events become unhandled errors with no listener;\n // query/connect failures still reject their own promises, so nothing\n // real is masked.\n client.on('error', () => {});\n try {\n await client.connect();\n return new PostgresControlDriver(client);\n } catch (error) {\n const normalized = normalizePgError(error);\n const redacted = redactDatabaseUrl(url);\n try {\n await client.end();\n } catch {\n // ignore\n }\n\n const codeFromSqlState = SqlQueryError.is(normalized) ? normalized.sqlState : undefined;\n const causeCode =\n 'cause' in normalized && normalized.cause\n ? (normalized.cause as { code?: unknown }).code\n : undefined;\n const code = codeFromSqlState ?? causeCode;\n\n throw errorRuntime('Database connection failed', {\n why: normalized.message,\n fix: 'Verify the database URL, ensure the database is reachable, and confirm credentials/permissions',\n meta: {\n ...ifDefined('code', code),\n ...redacted,\n },\n });\n }\n },\n };\n\nexport default postgresDriverDescriptor;\n"],"mappings":";;;;;;;AAUA,IAAa,wBAAb,MAAmF;CAIpD;CAH7B,WAAoB;CACpB,WAAoB;CAEpB,YAAY,QAAiC;EAAhB,KAAA,SAAA;CAAiB;CAE9C,MAAM,MACJ,KACA,QACmC;EACnC,IAAI;GAEF,OAAO,EAAE,OAAM,MADM,KAAK,OAAO,MAAM,KAAK,MAA+B,EAAA,CACrD,KAAc;EACtC,SAAS,OAAO;GACd,MAAM,iBAAiB,KAAK;EAC9B;CACF;CAEA,MAAM,QAAuB;EAG3B,MAAM,KAAK,OAAO,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC;CACxC;AACF;;;;AAKA,MAAM,2BACJ;CACE,GAAG;CACH,MAAM,OAAO,KAA6C;EACxD,MAAM,SAAS,IAAI,OAAO,EAAE,kBAAkB,IAAI,CAAC;EAInD,OAAO,GAAG,eAAe,CAAC,CAAC;EAC3B,IAAI;GACF,MAAM,OAAO,QAAQ;GACrB,OAAO,IAAI,sBAAsB,MAAM;EACzC,SAAS,OAAO;GACd,MAAM,aAAa,iBAAiB,KAAK;GACzC,MAAM,WAAW,kBAAkB,GAAG;GACtC,IAAI;IACF,MAAM,OAAO,IAAI;GACnB,QAAQ,CAER;GAEA,MAAM,mBAAmB,cAAc,GAAG,UAAU,IAAI,WAAW,WAAW,KAAA;GAC9E,MAAM,YACJ,WAAW,cAAc,WAAW,QAC/B,WAAW,MAA6B,OACzC,KAAA;GACN,MAAM,OAAO,oBAAoB;GAEjC,MAAM,aAAa,8BAA8B;IAC/C,KAAK,WAAW;IAChB,KAAK;IACL,MAAM;KACJ,GAAG,UAAU,QAAQ,IAAI;KACzB,GAAG;IACL;GACF,CAAC;EACH;CACF;AACF"}
package/package.json CHANGED
@@ -1,29 +1,29 @@
1
1
  {
2
2
  "name": "@prisma-next/driver-postgres",
3
- "version": "0.16.0-dev.4",
3
+ "version": "0.16.0-dev.5",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "sideEffects": false,
7
7
  "dependencies": {
8
- "@prisma-next/contract": "0.16.0-dev.4",
9
- "@prisma-next/errors": "0.16.0-dev.4",
10
- "@prisma-next/framework-components": "0.16.0-dev.4",
11
- "@prisma-next/sql-contract": "0.16.0-dev.4",
12
- "@prisma-next/sql-errors": "0.16.0-dev.4",
13
- "@prisma-next/sql-operations": "0.16.0-dev.4",
14
- "@prisma-next/sql-relational-core": "0.16.0-dev.4",
15
- "@prisma-next/utils": "0.16.0-dev.4",
8
+ "@prisma-next/contract": "0.16.0-dev.5",
9
+ "@prisma-next/errors": "0.16.0-dev.5",
10
+ "@prisma-next/framework-components": "0.16.0-dev.5",
11
+ "@prisma-next/sql-contract": "0.16.0-dev.5",
12
+ "@prisma-next/sql-errors": "0.16.0-dev.5",
13
+ "@prisma-next/sql-operations": "0.16.0-dev.5",
14
+ "@prisma-next/sql-relational-core": "0.16.0-dev.5",
15
+ "@prisma-next/utils": "0.16.0-dev.5",
16
16
  "arktype": "^2.2.2",
17
17
  "pg": "8.22.0",
18
18
  "pg-cursor": "^2.21.0"
19
19
  },
20
20
  "devDependencies": {
21
- "@prisma-next/test-utils": "0.16.0-dev.4",
22
- "@prisma-next/tsconfig": "0.16.0-dev.4",
21
+ "@prisma-next/test-utils": "0.16.0-dev.5",
22
+ "@prisma-next/tsconfig": "0.16.0-dev.5",
23
23
  "@types/pg": "8.20.0",
24
24
  "@types/pg-cursor": "^2.4.6",
25
25
  "pg-mem": "^3.0.5",
26
- "@prisma-next/tsdown": "0.16.0-dev.4",
26
+ "@prisma-next/tsdown": "0.16.0-dev.5",
27
27
  "tsdown": "0.22.8",
28
28
  "typescript": "5.9.3",
29
29
  "vitest": "4.1.10"
@@ -27,7 +27,9 @@ export class PostgresControlDriver implements SqlControlDriverInstance<'postgres
27
27
  }
28
28
 
29
29
  async close(): Promise<void> {
30
- await this.client.end();
30
+ // On a dropped connection end() itself can reject; the caller already has
31
+ // the real failure.
32
+ await this.client.end().catch(() => {});
31
33
  }
32
34
  }
33
35
 
@@ -39,6 +41,10 @@ const postgresDriverDescriptor: ControlDriverDescriptor<'sql', 'postgres', Postg
39
41
  ...postgresDriverDescriptorMeta,
40
42
  async create(url: string): Promise<PostgresControlDriver> {
41
43
  const client = new Client({ connectionString: url });
44
+ // Connection-level events become unhandled errors with no listener;
45
+ // query/connect failures still reject their own promises, so nothing
46
+ // real is masked.
47
+ client.on('error', () => {});
42
48
  try {
43
49
  await client.connect();
44
50
  return new PostgresControlDriver(client);