@pgpmjs/env 2.8.1 → 2.8.3

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.
package/env.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { PgpmOptions } from '@pgpmjs/types';
2
+ export declare const parseEnvBoolean: (val?: string) => boolean | undefined;
2
3
  /**
3
4
  * Parse core PGPM environment variables.
4
5
  * GraphQL-related env vars (GRAPHILE_*, FEATURES_*, API_*) are handled by @launchql/env.
package/env.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getNodeEnv = exports.getEnvVars = void 0;
3
+ exports.getNodeEnv = exports.getEnvVars = exports.parseEnvBoolean = void 0;
4
4
  const parseEnvNumber = (val) => {
5
5
  const num = Number(val);
6
6
  return !isNaN(num) ? num : undefined;
@@ -10,12 +10,23 @@ const parseEnvBoolean = (val) => {
10
10
  return undefined;
11
11
  return ['true', '1', 'yes'].includes(val.toLowerCase());
12
12
  };
13
+ exports.parseEnvBoolean = parseEnvBoolean;
14
+ const parseEnvStringArray = (val) => {
15
+ if (!val)
16
+ return undefined;
17
+ return val
18
+ .split(',')
19
+ .map(s => s.trim())
20
+ .filter(Boolean);
21
+ };
13
22
  /**
14
23
  * Parse core PGPM environment variables.
15
24
  * GraphQL-related env vars (GRAPHILE_*, FEATURES_*, API_*) are handled by @launchql/env.
16
25
  */
17
26
  const getEnvVars = () => {
18
- const { PGROOTDATABASE, PGTEMPLATE, DB_PREFIX, DB_EXTENSIONS, DB_CWD, DB_CONNECTION_USER, DB_CONNECTION_PASSWORD, DB_CONNECTION_ROLE, PORT, SERVER_HOST, SERVER_TRUST_PROXY, SERVER_ORIGIN, SERVER_STRICT_AUTH, PGHOST, PGPORT, PGUSER, PGPASSWORD, PGDATABASE, BUCKET_NAME, AWS_REGION, AWS_ACCESS_KEY, AWS_SECRET_KEY, MINIO_ENDPOINT, DEPLOYMENT_USE_TX, DEPLOYMENT_FAST, DEPLOYMENT_USE_PLAN, DEPLOYMENT_CACHE, DEPLOYMENT_TO_CHANGE, MIGRATIONS_CODEGEN_USE_TX, } = process.env;
27
+ const { PGROOTDATABASE, PGTEMPLATE, DB_PREFIX, DB_EXTENSIONS, DB_CWD, DB_CONNECTION_USER, DB_CONNECTION_PASSWORD, DB_CONNECTION_ROLE, PORT, SERVER_HOST, SERVER_TRUST_PROXY, SERVER_ORIGIN, SERVER_STRICT_AUTH, PGHOST, PGPORT, PGUSER, PGPASSWORD, PGDATABASE, BUCKET_NAME, AWS_REGION, AWS_ACCESS_KEY, AWS_SECRET_KEY, MINIO_ENDPOINT, DEPLOYMENT_USE_TX, DEPLOYMENT_FAST, DEPLOYMENT_USE_PLAN, DEPLOYMENT_CACHE, DEPLOYMENT_TO_CHANGE, MIGRATIONS_CODEGEN_USE_TX,
28
+ // Jobs-related env vars
29
+ JOBS_SCHEMA, JOBS_SUPPORT_ANY, JOBS_SUPPORTED, INTERNAL_GATEWAY_URL, INTERNAL_JOBS_CALLBACK_URL, INTERNAL_JOBS_CALLBACK_PORT } = process.env;
19
30
  return {
20
31
  db: {
21
32
  ...(PGROOTDATABASE && { rootDb: PGROOTDATABASE }),
@@ -34,9 +45,9 @@ const getEnvVars = () => {
34
45
  server: {
35
46
  ...(PORT && { port: parseEnvNumber(PORT) }),
36
47
  ...(SERVER_HOST && { host: SERVER_HOST }),
37
- ...(SERVER_TRUST_PROXY && { trustProxy: parseEnvBoolean(SERVER_TRUST_PROXY) }),
48
+ ...(SERVER_TRUST_PROXY && { trustProxy: (0, exports.parseEnvBoolean)(SERVER_TRUST_PROXY) }),
38
49
  ...(SERVER_ORIGIN && { origin: SERVER_ORIGIN }),
39
- ...(SERVER_STRICT_AUTH && { strictAuth: parseEnvBoolean(SERVER_STRICT_AUTH) }),
50
+ ...(SERVER_STRICT_AUTH && { strictAuth: (0, exports.parseEnvBoolean)(SERVER_STRICT_AUTH) }),
40
51
  },
41
52
  pg: {
42
53
  ...(PGHOST && { host: PGHOST }),
@@ -53,18 +64,58 @@ const getEnvVars = () => {
53
64
  ...(MINIO_ENDPOINT && { minioEndpoint: MINIO_ENDPOINT }),
54
65
  },
55
66
  deployment: {
56
- ...(DEPLOYMENT_USE_TX && { useTx: parseEnvBoolean(DEPLOYMENT_USE_TX) }),
57
- ...(DEPLOYMENT_FAST && { fast: parseEnvBoolean(DEPLOYMENT_FAST) }),
58
- ...(DEPLOYMENT_USE_PLAN && { usePlan: parseEnvBoolean(DEPLOYMENT_USE_PLAN) }),
59
- ...(DEPLOYMENT_CACHE && { cache: parseEnvBoolean(DEPLOYMENT_CACHE) }),
67
+ ...(DEPLOYMENT_USE_TX && { useTx: (0, exports.parseEnvBoolean)(DEPLOYMENT_USE_TX) }),
68
+ ...(DEPLOYMENT_FAST && { fast: (0, exports.parseEnvBoolean)(DEPLOYMENT_FAST) }),
69
+ ...(DEPLOYMENT_USE_PLAN && { usePlan: (0, exports.parseEnvBoolean)(DEPLOYMENT_USE_PLAN) }),
70
+ ...(DEPLOYMENT_CACHE && { cache: (0, exports.parseEnvBoolean)(DEPLOYMENT_CACHE) }),
60
71
  ...(DEPLOYMENT_TO_CHANGE && { toChange: DEPLOYMENT_TO_CHANGE }),
61
72
  },
62
73
  migrations: {
63
74
  ...(MIGRATIONS_CODEGEN_USE_TX && {
64
75
  codegen: {
65
- useTx: parseEnvBoolean(MIGRATIONS_CODEGEN_USE_TX)
76
+ useTx: (0, exports.parseEnvBoolean)(MIGRATIONS_CODEGEN_USE_TX)
77
+ }
78
+ }),
79
+ },
80
+ jobs: {
81
+ ...(JOBS_SCHEMA && {
82
+ schema: {
83
+ schema: JOBS_SCHEMA
84
+ }
85
+ }),
86
+ ...((JOBS_SUPPORT_ANY || JOBS_SUPPORTED) && {
87
+ worker: {
88
+ ...(JOBS_SUPPORT_ANY && {
89
+ supportAny: (0, exports.parseEnvBoolean)(JOBS_SUPPORT_ANY)
90
+ }),
91
+ ...(JOBS_SUPPORTED && {
92
+ supported: parseEnvStringArray(JOBS_SUPPORTED)
93
+ })
94
+ },
95
+ scheduler: {
96
+ ...(JOBS_SUPPORT_ANY && {
97
+ supportAny: (0, exports.parseEnvBoolean)(JOBS_SUPPORT_ANY)
98
+ }),
99
+ ...(JOBS_SUPPORTED && {
100
+ supported: parseEnvStringArray(JOBS_SUPPORTED)
101
+ })
66
102
  }
67
103
  }),
104
+ ...((INTERNAL_GATEWAY_URL ||
105
+ INTERNAL_JOBS_CALLBACK_URL ||
106
+ INTERNAL_JOBS_CALLBACK_PORT) && {
107
+ gateway: {
108
+ ...(INTERNAL_GATEWAY_URL && {
109
+ gatewayUrl: INTERNAL_GATEWAY_URL
110
+ }),
111
+ ...(INTERNAL_JOBS_CALLBACK_URL && {
112
+ callbackUrl: INTERNAL_JOBS_CALLBACK_URL
113
+ }),
114
+ ...(INTERNAL_JOBS_CALLBACK_PORT && {
115
+ callbackPort: parseEnvNumber(INTERNAL_JOBS_CALLBACK_PORT)
116
+ })
117
+ }
118
+ })
68
119
  }
69
120
  };
70
121
  };
package/esm/env.js CHANGED
@@ -2,17 +2,27 @@ const parseEnvNumber = (val) => {
2
2
  const num = Number(val);
3
3
  return !isNaN(num) ? num : undefined;
4
4
  };
5
- const parseEnvBoolean = (val) => {
5
+ export const parseEnvBoolean = (val) => {
6
6
  if (val === undefined)
7
7
  return undefined;
8
8
  return ['true', '1', 'yes'].includes(val.toLowerCase());
9
9
  };
10
+ const parseEnvStringArray = (val) => {
11
+ if (!val)
12
+ return undefined;
13
+ return val
14
+ .split(',')
15
+ .map(s => s.trim())
16
+ .filter(Boolean);
17
+ };
10
18
  /**
11
19
  * Parse core PGPM environment variables.
12
20
  * GraphQL-related env vars (GRAPHILE_*, FEATURES_*, API_*) are handled by @launchql/env.
13
21
  */
14
22
  export const getEnvVars = () => {
15
- const { PGROOTDATABASE, PGTEMPLATE, DB_PREFIX, DB_EXTENSIONS, DB_CWD, DB_CONNECTION_USER, DB_CONNECTION_PASSWORD, DB_CONNECTION_ROLE, PORT, SERVER_HOST, SERVER_TRUST_PROXY, SERVER_ORIGIN, SERVER_STRICT_AUTH, PGHOST, PGPORT, PGUSER, PGPASSWORD, PGDATABASE, BUCKET_NAME, AWS_REGION, AWS_ACCESS_KEY, AWS_SECRET_KEY, MINIO_ENDPOINT, DEPLOYMENT_USE_TX, DEPLOYMENT_FAST, DEPLOYMENT_USE_PLAN, DEPLOYMENT_CACHE, DEPLOYMENT_TO_CHANGE, MIGRATIONS_CODEGEN_USE_TX, } = process.env;
23
+ const { PGROOTDATABASE, PGTEMPLATE, DB_PREFIX, DB_EXTENSIONS, DB_CWD, DB_CONNECTION_USER, DB_CONNECTION_PASSWORD, DB_CONNECTION_ROLE, PORT, SERVER_HOST, SERVER_TRUST_PROXY, SERVER_ORIGIN, SERVER_STRICT_AUTH, PGHOST, PGPORT, PGUSER, PGPASSWORD, PGDATABASE, BUCKET_NAME, AWS_REGION, AWS_ACCESS_KEY, AWS_SECRET_KEY, MINIO_ENDPOINT, DEPLOYMENT_USE_TX, DEPLOYMENT_FAST, DEPLOYMENT_USE_PLAN, DEPLOYMENT_CACHE, DEPLOYMENT_TO_CHANGE, MIGRATIONS_CODEGEN_USE_TX,
24
+ // Jobs-related env vars
25
+ JOBS_SCHEMA, JOBS_SUPPORT_ANY, JOBS_SUPPORTED, INTERNAL_GATEWAY_URL, INTERNAL_JOBS_CALLBACK_URL, INTERNAL_JOBS_CALLBACK_PORT } = process.env;
16
26
  return {
17
27
  db: {
18
28
  ...(PGROOTDATABASE && { rootDb: PGROOTDATABASE }),
@@ -62,6 +72,46 @@ export const getEnvVars = () => {
62
72
  useTx: parseEnvBoolean(MIGRATIONS_CODEGEN_USE_TX)
63
73
  }
64
74
  }),
75
+ },
76
+ jobs: {
77
+ ...(JOBS_SCHEMA && {
78
+ schema: {
79
+ schema: JOBS_SCHEMA
80
+ }
81
+ }),
82
+ ...((JOBS_SUPPORT_ANY || JOBS_SUPPORTED) && {
83
+ worker: {
84
+ ...(JOBS_SUPPORT_ANY && {
85
+ supportAny: parseEnvBoolean(JOBS_SUPPORT_ANY)
86
+ }),
87
+ ...(JOBS_SUPPORTED && {
88
+ supported: parseEnvStringArray(JOBS_SUPPORTED)
89
+ })
90
+ },
91
+ scheduler: {
92
+ ...(JOBS_SUPPORT_ANY && {
93
+ supportAny: parseEnvBoolean(JOBS_SUPPORT_ANY)
94
+ }),
95
+ ...(JOBS_SUPPORTED && {
96
+ supported: parseEnvStringArray(JOBS_SUPPORTED)
97
+ })
98
+ }
99
+ }),
100
+ ...((INTERNAL_GATEWAY_URL ||
101
+ INTERNAL_JOBS_CALLBACK_URL ||
102
+ INTERNAL_JOBS_CALLBACK_PORT) && {
103
+ gateway: {
104
+ ...(INTERNAL_GATEWAY_URL && {
105
+ gatewayUrl: INTERNAL_GATEWAY_URL
106
+ }),
107
+ ...(INTERNAL_JOBS_CALLBACK_URL && {
108
+ callbackUrl: INTERNAL_JOBS_CALLBACK_URL
109
+ }),
110
+ ...(INTERNAL_JOBS_CALLBACK_PORT && {
111
+ callbackPort: parseEnvNumber(INTERNAL_JOBS_CALLBACK_PORT)
112
+ })
113
+ }
114
+ })
65
115
  }
66
116
  };
67
117
  };
package/esm/index.js CHANGED
@@ -1,4 +1,4 @@
1
1
  export { getEnvOptions, getConnEnvOptions, getDeploymentEnvOptions } from './merge';
2
2
  export { loadConfigSync, loadConfigSyncFromDir, loadConfigFileSync, resolvePgpmPath } from './config';
3
- export { getEnvVars, getNodeEnv } from './env';
3
+ export { getEnvVars, getNodeEnv, parseEnvBoolean } from './env';
4
4
  export { walkUp } from './utils';
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { getEnvOptions, getConnEnvOptions, getDeploymentEnvOptions } from './merge';
2
2
  export { loadConfigSync, loadConfigSyncFromDir, loadConfigFileSync, resolvePgpmPath } from './config';
3
- export { getEnvVars, getNodeEnv } from './env';
3
+ export { getEnvVars, getNodeEnv, parseEnvBoolean } from './env';
4
4
  export { walkUp } from './utils';
5
5
  export type { PgpmOptions, PgTestConnectionOptions, DeploymentOptions } from '@pgpmjs/types';
package/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.walkUp = exports.getNodeEnv = exports.getEnvVars = exports.resolvePgpmPath = exports.loadConfigFileSync = exports.loadConfigSyncFromDir = exports.loadConfigSync = exports.getDeploymentEnvOptions = exports.getConnEnvOptions = exports.getEnvOptions = void 0;
3
+ exports.walkUp = exports.parseEnvBoolean = exports.getNodeEnv = exports.getEnvVars = exports.resolvePgpmPath = exports.loadConfigFileSync = exports.loadConfigSyncFromDir = exports.loadConfigSync = exports.getDeploymentEnvOptions = exports.getConnEnvOptions = exports.getEnvOptions = void 0;
4
4
  var merge_1 = require("./merge");
5
5
  Object.defineProperty(exports, "getEnvOptions", { enumerable: true, get: function () { return merge_1.getEnvOptions; } });
6
6
  Object.defineProperty(exports, "getConnEnvOptions", { enumerable: true, get: function () { return merge_1.getConnEnvOptions; } });
@@ -13,5 +13,6 @@ Object.defineProperty(exports, "resolvePgpmPath", { enumerable: true, get: funct
13
13
  var env_1 = require("./env");
14
14
  Object.defineProperty(exports, "getEnvVars", { enumerable: true, get: function () { return env_1.getEnvVars; } });
15
15
  Object.defineProperty(exports, "getNodeEnv", { enumerable: true, get: function () { return env_1.getNodeEnv; } });
16
+ Object.defineProperty(exports, "parseEnvBoolean", { enumerable: true, get: function () { return env_1.parseEnvBoolean; } });
16
17
  var utils_1 = require("./utils");
17
18
  Object.defineProperty(exports, "walkUp", { enumerable: true, get: function () { return utils_1.walkUp; } });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pgpmjs/env",
3
- "version": "2.8.1",
3
+ "version": "2.8.3",
4
4
  "author": "Dan Lynch <Dan Lynch>",
5
5
  "description": "PGPM environment management",
6
6
  "main": "index.js",
@@ -29,7 +29,7 @@
29
29
  "test:watch": "jest --watch"
30
30
  },
31
31
  "dependencies": {
32
- "@pgpmjs/types": "^2.12.1",
32
+ "@pgpmjs/types": "^2.12.3",
33
33
  "deepmerge": "^4.3.1"
34
34
  },
35
35
  "keywords": [
@@ -43,5 +43,5 @@
43
43
  "devDependencies": {
44
44
  "makage": "^0.1.8"
45
45
  },
46
- "gitHead": "52828c38b144fdc02b6a9a0c8b0ff795d1752d53"
46
+ "gitHead": "86d74dc4fce9051df0d2b5bcc163607aba42f009"
47
47
  }