joist-utils 2.3.0-next.50 → 2.3.0-next.51

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.
@@ -10,6 +10,8 @@ let pg_connection_string = require("pg-connection-string");
10
10
  * - Multiple `DB_USER`, `DB_PASSWORD`, `DB_DATABASE`, `DB_HOST`, `DB_PORT` variables
11
11
  * The value can be either:
12
12
  *
13
+ * Query pipelining is enabled by default. Set `pipeline: false` on the returned config to opt out.
14
+ *
13
15
  * Note that users using a library for typed / validated environment variables, i.e.
14
16
  * ts-app-env, you can pass in a specific `env` variable.
15
17
  */
@@ -24,7 +26,8 @@ function newPgConnectionConfig(env) {
24
26
  database: database ?? void 0,
25
27
  host: host ?? void 0,
26
28
  port: port ? Number(port) : void 0,
27
- ssl: options.ssl === true
29
+ ssl: options.ssl === true,
30
+ pipeline: true
28
31
  };
29
32
  } else if (process.env.DB_DATABASE || env && "DB_DATABASE" in env) {
30
33
  const e = process.env.DB_DATABASE ? process.env : env;
@@ -34,7 +37,8 @@ function newPgConnectionConfig(env) {
34
37
  database: e.DB_DATABASE,
35
38
  host: e.DB_HOST,
36
39
  port: e.DB_PORT ? Number(e.DB_PORT) : void 0,
37
- ssl: e.DB_SSL === "1" || e.DB_SSL === "true"
40
+ ssl: e.DB_SSL === "1" || e.DB_SSL === "true",
41
+ pipeline: true
38
42
  };
39
43
  } else throw new Error("No DATABASE_URL or DB_DATABASE/etc. environment variable found");
40
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"connection.cjs","names":["parse"],"sources":["../src/connection.ts"],"sourcesContent":["import { parse } from \"pg-connection-string\";\n\ntype DatabaseUrlEnv = { DATABASE_URL: string };\ntype DbSettingsEnv = {\n DB_USER: string;\n DB_PASSWORD: string;\n DB_HOST: string;\n DB_DATABASE: string;\n DB_PORT: string;\n DB_SSL?: string;\n};\n\nexport type ConnectionEnv = DatabaseUrlEnv | DbSettingsEnv;\n\n/**\n * A simple connection config compatible with both `pg.Pool` and knex.\n *\n * We use a plain object type instead of pg's `ConnectionConfig` to avoid\n * pulling in pg-specific fields (like `types`) that are incompatible with knex.\n */\nexport type ConnectionConfig = {\n user?: string;\n password?: string;\n database?: string;\n host?: string;\n port?: number;\n ssl?: boolean;\n};\n\n/**\n * Returns the `ConnectionConfig` that joist will use to connect to pg.\n *\n * This reads environment variables, and can be either:\n *\n * - A single `DATABASE_URL` variable\n * - Multiple `DB_USER`, `DB_PASSWORD`, `DB_DATABASE`, `DB_HOST`, `DB_PORT` variables\n * The value can be either:\n *\n * Note that users using a library for typed / validated environment variables, i.e.\n * ts-app-env, you can pass in a specific `env` variable.\n */\nexport function newPgConnectionConfig(env?: ConnectionEnv): ConnectionConfig {\n if (process.env.DATABASE_URL || (env && \"DATABASE_URL\" in env)) {\n const url = process.env.DATABASE_URL ?? (env as DatabaseUrlEnv).DATABASE_URL;\n // It'd be great if `parse` returned ConnectionConfig directly\n const options = parse(url);\n const { database, port, host, user, password } = options;\n return {\n user: user ?? undefined,\n password: password ?? undefined,\n database: database ?? undefined,\n host: host ?? undefined,\n port: port ? Number(port) : undefined,\n ssl: options.ssl === true,\n };\n } else if (process.env.DB_DATABASE || (env && \"DB_DATABASE\" in env)) {\n const e = process.env.DB_DATABASE ? process.env : (env as DbSettingsEnv);\n return {\n user: e.DB_USER,\n password: e.DB_PASSWORD,\n database: e.DB_DATABASE,\n host: e.DB_HOST,\n port: e.DB_PORT ? Number(e.DB_PORT) : undefined,\n ssl: e.DB_SSL === \"1\" || e.DB_SSL === \"true\",\n };\n } else {\n throw new Error(\"No DATABASE_URL or DB_DATABASE/etc. environment variable found\");\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAyCA,SAAgB,sBAAsB,KAAuC;CAC3E,IAAI,QAAQ,IAAI,gBAAiB,OAAO,kBAAkB,KAAM;EAC9D,MAAM,MAAM,QAAQ,IAAI,gBAAiB,IAAuB;EAEhE,MAAM,WAAA,GAAUA,qBAAAA,MAAAA,CAAM,GAAG;EACzB,MAAM,EAAE,UAAU,MAAM,MAAM,MAAM,aAAa;EACjD,OAAO;GACL,MAAM,QAAQ,KAAA;GACd,UAAU,YAAY,KAAA;GACtB,UAAU,YAAY,KAAA;GACtB,MAAM,QAAQ,KAAA;GACd,MAAM,OAAO,OAAO,IAAI,IAAI,KAAA;GAC5B,KAAK,QAAQ,QAAQ;EACvB;CACF,OAAO,IAAI,QAAQ,IAAI,eAAgB,OAAO,iBAAiB,KAAM;EACnE,MAAM,IAAI,QAAQ,IAAI,cAAc,QAAQ,MAAO;EACnD,OAAO;GACL,MAAM,EAAE;GACR,UAAU,EAAE;GACZ,UAAU,EAAE;GACZ,MAAM,EAAE;GACR,MAAM,EAAE,UAAU,OAAO,EAAE,OAAO,IAAI,KAAA;GACtC,KAAK,EAAE,WAAW,OAAO,EAAE,WAAW;EACxC;CACF,OACE,MAAM,IAAI,MAAM,gEAAgE;AAEpF"}
1
+ {"version":3,"file":"connection.cjs","names":["parse"],"sources":["../src/connection.ts"],"sourcesContent":["import { parse } from \"pg-connection-string\";\n\ntype DatabaseUrlEnv = { DATABASE_URL: string };\ntype DbSettingsEnv = {\n DB_USER: string;\n DB_PASSWORD: string;\n DB_HOST: string;\n DB_DATABASE: string;\n DB_PORT: string;\n DB_SSL?: string;\n};\n\nexport type ConnectionEnv = DatabaseUrlEnv | DbSettingsEnv;\n\n/**\n * A simple connection config compatible with both `pg.Pool` and knex.\n *\n * We use a plain object type instead of pg's `ConnectionConfig` to avoid\n * pulling in pg-specific fields (like `types`) that are incompatible with knex.\n */\nexport type ConnectionConfig = {\n user?: string;\n password?: string;\n database?: string;\n host?: string;\n port?: number;\n ssl?: boolean;\n pipeline?: boolean;\n};\n\n/**\n * Returns the `ConnectionConfig` that joist will use to connect to pg.\n *\n * This reads environment variables, and can be either:\n *\n * - A single `DATABASE_URL` variable\n * - Multiple `DB_USER`, `DB_PASSWORD`, `DB_DATABASE`, `DB_HOST`, `DB_PORT` variables\n * The value can be either:\n *\n * Query pipelining is enabled by default. Set `pipeline: false` on the returned config to opt out.\n *\n * Note that users using a library for typed / validated environment variables, i.e.\n * ts-app-env, you can pass in a specific `env` variable.\n */\nexport function newPgConnectionConfig(env?: ConnectionEnv): ConnectionConfig {\n if (process.env.DATABASE_URL || (env && \"DATABASE_URL\" in env)) {\n const url = process.env.DATABASE_URL ?? (env as DatabaseUrlEnv).DATABASE_URL;\n // It'd be great if `parse` returned ConnectionConfig directly\n const options = parse(url);\n const { database, port, host, user, password } = options;\n return {\n user: user ?? undefined,\n password: password ?? undefined,\n database: database ?? undefined,\n host: host ?? undefined,\n port: port ? Number(port) : undefined,\n ssl: options.ssl === true,\n pipeline: true,\n };\n } else if (process.env.DB_DATABASE || (env && \"DB_DATABASE\" in env)) {\n const e = process.env.DB_DATABASE ? process.env : (env as DbSettingsEnv);\n return {\n user: e.DB_USER,\n password: e.DB_PASSWORD,\n database: e.DB_DATABASE,\n host: e.DB_HOST,\n port: e.DB_PORT ? Number(e.DB_PORT) : undefined,\n ssl: e.DB_SSL === \"1\" || e.DB_SSL === \"true\",\n pipeline: true,\n };\n } else {\n throw new Error(\"No DATABASE_URL or DB_DATABASE/etc. environment variable found\");\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AA4CA,SAAgB,sBAAsB,KAAuC;CAC3E,IAAI,QAAQ,IAAI,gBAAiB,OAAO,kBAAkB,KAAM;EAC9D,MAAM,MAAM,QAAQ,IAAI,gBAAiB,IAAuB;EAEhE,MAAM,WAAA,GAAUA,qBAAAA,MAAAA,CAAM,GAAG;EACzB,MAAM,EAAE,UAAU,MAAM,MAAM,MAAM,aAAa;EACjD,OAAO;GACL,MAAM,QAAQ,KAAA;GACd,UAAU,YAAY,KAAA;GACtB,UAAU,YAAY,KAAA;GACtB,MAAM,QAAQ,KAAA;GACd,MAAM,OAAO,OAAO,IAAI,IAAI,KAAA;GAC5B,KAAK,QAAQ,QAAQ;GACrB,UAAU;EACZ;CACF,OAAO,IAAI,QAAQ,IAAI,eAAgB,OAAO,iBAAiB,KAAM;EACnE,MAAM,IAAI,QAAQ,IAAI,cAAc,QAAQ,MAAO;EACnD,OAAO;GACL,MAAM,EAAE;GACR,UAAU,EAAE;GACZ,UAAU,EAAE;GACZ,MAAM,EAAE;GACR,MAAM,EAAE,UAAU,OAAO,EAAE,OAAO,IAAI,KAAA;GACtC,KAAK,EAAE,WAAW,OAAO,EAAE,WAAW;GACtC,UAAU;EACZ;CACF,OACE,MAAM,IAAI,MAAM,gEAAgE;AAEpF"}
@@ -24,6 +24,7 @@ type ConnectionConfig = {
24
24
  host?: string;
25
25
  port?: number;
26
26
  ssl?: boolean;
27
+ pipeline?: boolean;
27
28
  };
28
29
  /**
29
30
  * Returns the `ConnectionConfig` that joist will use to connect to pg.
@@ -34,6 +35,8 @@ type ConnectionConfig = {
34
35
  * - Multiple `DB_USER`, `DB_PASSWORD`, `DB_DATABASE`, `DB_HOST`, `DB_PORT` variables
35
36
  * The value can be either:
36
37
  *
38
+ * Query pipelining is enabled by default. Set `pipeline: false` on the returned config to opt out.
39
+ *
37
40
  * Note that users using a library for typed / validated environment variables, i.e.
38
41
  * ts-app-env, you can pass in a specific `env` variable.
39
42
  */
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.cts","names":[],"sources":["../src/connection.ts"],"mappings":";KAEK;EAAmB;;KACnB;EACH;EACA;EACA;EACA;EACA;EACA;;KAGU,gBAAgB,iBAAiB;;;;;;;KAQjC;EACV;EACA;EACA;EACA;EACA;EACA;;;;;;;;;;;;;;iBAec,sBAAsB,MAAM,gBAAgB"}
1
+ {"version":3,"file":"connection.d.cts","names":[],"sources":["../src/connection.ts"],"mappings":";KAEK;EAAmB;;KACnB;EACH;EACA;EACA;EACA;EACA;EACA;;KAGU,gBAAgB,iBAAiB;;;;;;;KAQjC;EACV;EACA;EACA;EACA;EACA;EACA;EACA;;;;;;;;;;;;;;;;iBAiBc,sBAAsB,MAAM,gBAAgB"}
@@ -24,6 +24,7 @@ type ConnectionConfig = {
24
24
  host?: string;
25
25
  port?: number;
26
26
  ssl?: boolean;
27
+ pipeline?: boolean;
27
28
  };
28
29
  /**
29
30
  * Returns the `ConnectionConfig` that joist will use to connect to pg.
@@ -34,6 +35,8 @@ type ConnectionConfig = {
34
35
  * - Multiple `DB_USER`, `DB_PASSWORD`, `DB_DATABASE`, `DB_HOST`, `DB_PORT` variables
35
36
  * The value can be either:
36
37
  *
38
+ * Query pipelining is enabled by default. Set `pipeline: false` on the returned config to opt out.
39
+ *
37
40
  * Note that users using a library for typed / validated environment variables, i.e.
38
41
  * ts-app-env, you can pass in a specific `env` variable.
39
42
  */
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.mts","names":[],"sources":["../src/connection.ts"],"mappings":";KAEK;EAAmB;;KACnB;EACH;EACA;EACA;EACA;EACA;EACA;;KAGU,gBAAgB,iBAAiB;;;;;;;KAQjC;EACV;EACA;EACA;EACA;EACA;EACA;;;;;;;;;;;;;;iBAec,sBAAsB,MAAM,gBAAgB"}
1
+ {"version":3,"file":"connection.d.mts","names":[],"sources":["../src/connection.ts"],"mappings":";KAEK;EAAmB;;KACnB;EACH;EACA;EACA;EACA;EACA;EACA;;KAGU,gBAAgB,iBAAiB;;;;;;;KAQjC;EACV;EACA;EACA;EACA;EACA;EACA;EACA;;;;;;;;;;;;;;;;iBAiBc,sBAAsB,MAAM,gBAAgB"}
@@ -9,6 +9,8 @@ import { parse } from "pg-connection-string";
9
9
  * - Multiple `DB_USER`, `DB_PASSWORD`, `DB_DATABASE`, `DB_HOST`, `DB_PORT` variables
10
10
  * The value can be either:
11
11
  *
12
+ * Query pipelining is enabled by default. Set `pipeline: false` on the returned config to opt out.
13
+ *
12
14
  * Note that users using a library for typed / validated environment variables, i.e.
13
15
  * ts-app-env, you can pass in a specific `env` variable.
14
16
  */
@@ -23,7 +25,8 @@ function newPgConnectionConfig(env) {
23
25
  database: database ?? void 0,
24
26
  host: host ?? void 0,
25
27
  port: port ? Number(port) : void 0,
26
- ssl: options.ssl === true
28
+ ssl: options.ssl === true,
29
+ pipeline: true
27
30
  };
28
31
  } else if (process.env.DB_DATABASE || env && "DB_DATABASE" in env) {
29
32
  const e = process.env.DB_DATABASE ? process.env : env;
@@ -33,7 +36,8 @@ function newPgConnectionConfig(env) {
33
36
  database: e.DB_DATABASE,
34
37
  host: e.DB_HOST,
35
38
  port: e.DB_PORT ? Number(e.DB_PORT) : void 0,
36
- ssl: e.DB_SSL === "1" || e.DB_SSL === "true"
39
+ ssl: e.DB_SSL === "1" || e.DB_SSL === "true",
40
+ pipeline: true
37
41
  };
38
42
  } else throw new Error("No DATABASE_URL or DB_DATABASE/etc. environment variable found");
39
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","names":[],"sources":["../src/connection.ts"],"sourcesContent":["import { parse } from \"pg-connection-string\";\n\ntype DatabaseUrlEnv = { DATABASE_URL: string };\ntype DbSettingsEnv = {\n DB_USER: string;\n DB_PASSWORD: string;\n DB_HOST: string;\n DB_DATABASE: string;\n DB_PORT: string;\n DB_SSL?: string;\n};\n\nexport type ConnectionEnv = DatabaseUrlEnv | DbSettingsEnv;\n\n/**\n * A simple connection config compatible with both `pg.Pool` and knex.\n *\n * We use a plain object type instead of pg's `ConnectionConfig` to avoid\n * pulling in pg-specific fields (like `types`) that are incompatible with knex.\n */\nexport type ConnectionConfig = {\n user?: string;\n password?: string;\n database?: string;\n host?: string;\n port?: number;\n ssl?: boolean;\n};\n\n/**\n * Returns the `ConnectionConfig` that joist will use to connect to pg.\n *\n * This reads environment variables, and can be either:\n *\n * - A single `DATABASE_URL` variable\n * - Multiple `DB_USER`, `DB_PASSWORD`, `DB_DATABASE`, `DB_HOST`, `DB_PORT` variables\n * The value can be either:\n *\n * Note that users using a library for typed / validated environment variables, i.e.\n * ts-app-env, you can pass in a specific `env` variable.\n */\nexport function newPgConnectionConfig(env?: ConnectionEnv): ConnectionConfig {\n if (process.env.DATABASE_URL || (env && \"DATABASE_URL\" in env)) {\n const url = process.env.DATABASE_URL ?? (env as DatabaseUrlEnv).DATABASE_URL;\n // It'd be great if `parse` returned ConnectionConfig directly\n const options = parse(url);\n const { database, port, host, user, password } = options;\n return {\n user: user ?? undefined,\n password: password ?? undefined,\n database: database ?? undefined,\n host: host ?? undefined,\n port: port ? Number(port) : undefined,\n ssl: options.ssl === true,\n };\n } else if (process.env.DB_DATABASE || (env && \"DB_DATABASE\" in env)) {\n const e = process.env.DB_DATABASE ? process.env : (env as DbSettingsEnv);\n return {\n user: e.DB_USER,\n password: e.DB_PASSWORD,\n database: e.DB_DATABASE,\n host: e.DB_HOST,\n port: e.DB_PORT ? Number(e.DB_PORT) : undefined,\n ssl: e.DB_SSL === \"1\" || e.DB_SSL === \"true\",\n };\n } else {\n throw new Error(\"No DATABASE_URL or DB_DATABASE/etc. environment variable found\");\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AAyCA,SAAgB,sBAAsB,KAAuC;CAC3E,IAAI,QAAQ,IAAI,gBAAiB,OAAO,kBAAkB,KAAM;EAC9D,MAAM,MAAM,QAAQ,IAAI,gBAAiB,IAAuB;EAEhE,MAAM,UAAU,MAAM,GAAG;EACzB,MAAM,EAAE,UAAU,MAAM,MAAM,MAAM,aAAa;EACjD,OAAO;GACL,MAAM,QAAQ,KAAA;GACd,UAAU,YAAY,KAAA;GACtB,UAAU,YAAY,KAAA;GACtB,MAAM,QAAQ,KAAA;GACd,MAAM,OAAO,OAAO,IAAI,IAAI,KAAA;GAC5B,KAAK,QAAQ,QAAQ;EACvB;CACF,OAAO,IAAI,QAAQ,IAAI,eAAgB,OAAO,iBAAiB,KAAM;EACnE,MAAM,IAAI,QAAQ,IAAI,cAAc,QAAQ,MAAO;EACnD,OAAO;GACL,MAAM,EAAE;GACR,UAAU,EAAE;GACZ,UAAU,EAAE;GACZ,MAAM,EAAE;GACR,MAAM,EAAE,UAAU,OAAO,EAAE,OAAO,IAAI,KAAA;GACtC,KAAK,EAAE,WAAW,OAAO,EAAE,WAAW;EACxC;CACF,OACE,MAAM,IAAI,MAAM,gEAAgE;AAEpF"}
1
+ {"version":3,"file":"connection.js","names":[],"sources":["../src/connection.ts"],"sourcesContent":["import { parse } from \"pg-connection-string\";\n\ntype DatabaseUrlEnv = { DATABASE_URL: string };\ntype DbSettingsEnv = {\n DB_USER: string;\n DB_PASSWORD: string;\n DB_HOST: string;\n DB_DATABASE: string;\n DB_PORT: string;\n DB_SSL?: string;\n};\n\nexport type ConnectionEnv = DatabaseUrlEnv | DbSettingsEnv;\n\n/**\n * A simple connection config compatible with both `pg.Pool` and knex.\n *\n * We use a plain object type instead of pg's `ConnectionConfig` to avoid\n * pulling in pg-specific fields (like `types`) that are incompatible with knex.\n */\nexport type ConnectionConfig = {\n user?: string;\n password?: string;\n database?: string;\n host?: string;\n port?: number;\n ssl?: boolean;\n pipeline?: boolean;\n};\n\n/**\n * Returns the `ConnectionConfig` that joist will use to connect to pg.\n *\n * This reads environment variables, and can be either:\n *\n * - A single `DATABASE_URL` variable\n * - Multiple `DB_USER`, `DB_PASSWORD`, `DB_DATABASE`, `DB_HOST`, `DB_PORT` variables\n * The value can be either:\n *\n * Query pipelining is enabled by default. Set `pipeline: false` on the returned config to opt out.\n *\n * Note that users using a library for typed / validated environment variables, i.e.\n * ts-app-env, you can pass in a specific `env` variable.\n */\nexport function newPgConnectionConfig(env?: ConnectionEnv): ConnectionConfig {\n if (process.env.DATABASE_URL || (env && \"DATABASE_URL\" in env)) {\n const url = process.env.DATABASE_URL ?? (env as DatabaseUrlEnv).DATABASE_URL;\n // It'd be great if `parse` returned ConnectionConfig directly\n const options = parse(url);\n const { database, port, host, user, password } = options;\n return {\n user: user ?? undefined,\n password: password ?? undefined,\n database: database ?? undefined,\n host: host ?? undefined,\n port: port ? Number(port) : undefined,\n ssl: options.ssl === true,\n pipeline: true,\n };\n } else if (process.env.DB_DATABASE || (env && \"DB_DATABASE\" in env)) {\n const e = process.env.DB_DATABASE ? process.env : (env as DbSettingsEnv);\n return {\n user: e.DB_USER,\n password: e.DB_PASSWORD,\n database: e.DB_DATABASE,\n host: e.DB_HOST,\n port: e.DB_PORT ? Number(e.DB_PORT) : undefined,\n ssl: e.DB_SSL === \"1\" || e.DB_SSL === \"true\",\n pipeline: true,\n };\n } else {\n throw new Error(\"No DATABASE_URL or DB_DATABASE/etc. environment variable found\");\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AA4CA,SAAgB,sBAAsB,KAAuC;CAC3E,IAAI,QAAQ,IAAI,gBAAiB,OAAO,kBAAkB,KAAM;EAC9D,MAAM,MAAM,QAAQ,IAAI,gBAAiB,IAAuB;EAEhE,MAAM,UAAU,MAAM,GAAG;EACzB,MAAM,EAAE,UAAU,MAAM,MAAM,MAAM,aAAa;EACjD,OAAO;GACL,MAAM,QAAQ,KAAA;GACd,UAAU,YAAY,KAAA;GACtB,UAAU,YAAY,KAAA;GACtB,MAAM,QAAQ,KAAA;GACd,MAAM,OAAO,OAAO,IAAI,IAAI,KAAA;GAC5B,KAAK,QAAQ,QAAQ;GACrB,UAAU;EACZ;CACF,OAAO,IAAI,QAAQ,IAAI,eAAgB,OAAO,iBAAiB,KAAM;EACnE,MAAM,IAAI,QAAQ,IAAI,cAAc,QAAQ,MAAO;EACnD,OAAO;GACL,MAAM,EAAE;GACR,UAAU,EAAE;GACZ,UAAU,EAAE;GACZ,MAAM,EAAE;GACR,MAAM,EAAE,UAAU,OAAO,EAAE,OAAO,IAAI,KAAA;GACtC,KAAK,EAAE,WAAW,OAAO,EAAE,WAAW;GACtC,UAAU;EACZ;CACF,OACE,MAAM,IAAI,MAAM,gEAAgE;AAEpF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "joist-utils",
3
- "version": "2.3.0-next.50",
3
+ "version": "2.3.0-next.51",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "repository": {