@pgpmjs/env
Advanced tools
+1
-3
@@ -18,5 +18,3 @@ "use strict"; | ||
| { path: 'cdn.publicUrlPrefix', severity: 'host', envHint: 'CDN_PUBLIC_URL_PREFIX' }, | ||
| { path: 'cdn.bucketName', severity: 'host', envHint: 'BUCKET_NAME' }, | ||
| { path: 'jobs.gateway.gatewayUrl', severity: 'host', envHint: 'INTERNAL_GATEWAY_URL' }, | ||
| { path: 'jobs.gateway.callbackUrl', severity: 'host', envHint: 'INTERNAL_JOBS_CALLBACK_URL' } | ||
| { path: 'cdn.bucketName', severity: 'host', envHint: 'BUCKET_NAME' } | ||
| ]; | ||
@@ -23,0 +21,0 @@ const getPath = (obj, path) => path.split('.').reduce((acc, key) => acc && typeof acc === 'object' ? acc[key] : undefined, obj); |
+2
-43
@@ -15,7 +15,5 @@ "use strict"; | ||
| const getEnvVars = (env = process.env) => { | ||
| const { PGROOTDATABASE, PGTEMPLATE, DB_PREFIX, DB_EXTENSIONS, DB_CWD, DB_CONNECTION_USER, DB_CONNECTION_PASSWORD, DB_CONNECTION_ROLE, | ||
| const { PGROOTDATABASE, PGTEMPLATE, DB_PREFIX, DB_EXTENSIONS, DB_CWD, PGPM_EXTENSIONS_DIR, DB_CONNECTION_USER, DB_CONNECTION_PASSWORD, DB_CONNECTION_ROLE, | ||
| // New connections.app and connections.admin env vars | ||
| DB_CONNECTIONS_APP_USER, DB_CONNECTIONS_APP_PASSWORD, DB_CONNECTIONS_ADMIN_USER, DB_CONNECTIONS_ADMIN_PASSWORD, PORT, SERVER_HOST, SERVER_TRUST_PROXY, SERVER_ORIGIN, SERVER_STRICT_AUTH, PGHOST, PGPORT, PGUSER, PGPASSWORD, PGDATABASE, BUCKET_PROVIDER, BUCKET_NAME, AWS_REGION, AWS_ACCESS_KEY, AWS_ACCESS_KEY_ID, AWS_SECRET_KEY, AWS_SECRET_ACCESS_KEY, CDN_ENDPOINT, CDN_PUBLIC_URL_PREFIX, DEPLOYMENT_USE_TX, DEPLOYMENT_FAST, DEPLOYMENT_USE_PLAN, DEPLOYMENT_CACHE, DEPLOYMENT_TO_CHANGE, MIGRATIONS_CODEGEN_USE_TX, | ||
| // Jobs-related env vars | ||
| JOBS_SCHEMA, JOBS_SUPPORT_ANY, JOBS_SUPPORTED, INTERNAL_GATEWAY_URL, INTERNAL_JOBS_CALLBACK_URL, INTERNAL_JOBS_CALLBACK_PORT, | ||
| // Error output formatting env vars | ||
@@ -26,2 +24,3 @@ PGPM_ERROR_QUERY_HISTORY_LIMIT, PGPM_ERROR_MAX_LENGTH, PGPM_ERROR_VERBOSE, | ||
| return { | ||
| ...(PGPM_EXTENSIONS_DIR && { extensionsDir: PGPM_EXTENSIONS_DIR }), | ||
| db: { | ||
@@ -94,42 +93,2 @@ ...(PGROOTDATABASE && { rootDb: PGROOTDATABASE }), | ||
| }, | ||
| jobs: { | ||
| ...(JOBS_SCHEMA && { | ||
| schema: { | ||
| schema: JOBS_SCHEMA | ||
| } | ||
| }), | ||
| ...((JOBS_SUPPORT_ANY || JOBS_SUPPORTED) && { | ||
| worker: { | ||
| ...(JOBS_SUPPORT_ANY && { | ||
| supportAny: (0, _12factor_env_1.parseEnvBoolean)(JOBS_SUPPORT_ANY) | ||
| }), | ||
| ...(JOBS_SUPPORTED && { | ||
| supported: (0, _12factor_env_1.parseEnvList)(JOBS_SUPPORTED) | ||
| }) | ||
| }, | ||
| scheduler: { | ||
| ...(JOBS_SUPPORT_ANY && { | ||
| supportAny: (0, _12factor_env_1.parseEnvBoolean)(JOBS_SUPPORT_ANY) | ||
| }), | ||
| ...(JOBS_SUPPORTED && { | ||
| supported: (0, _12factor_env_1.parseEnvList)(JOBS_SUPPORTED) | ||
| }) | ||
| } | ||
| }), | ||
| ...((INTERNAL_GATEWAY_URL || | ||
| INTERNAL_JOBS_CALLBACK_URL || | ||
| INTERNAL_JOBS_CALLBACK_PORT) && { | ||
| gateway: { | ||
| ...(INTERNAL_GATEWAY_URL && { | ||
| gatewayUrl: INTERNAL_GATEWAY_URL | ||
| }), | ||
| ...(INTERNAL_JOBS_CALLBACK_URL && { | ||
| callbackUrl: INTERNAL_JOBS_CALLBACK_URL | ||
| }), | ||
| ...(INTERNAL_JOBS_CALLBACK_PORT && { | ||
| callbackPort: (0, _12factor_env_1.parseEnvNumber)(INTERNAL_JOBS_CALLBACK_PORT) | ||
| }) | ||
| } | ||
| }) | ||
| }, | ||
| errorOutput: { | ||
@@ -136,0 +95,0 @@ ...(PGPM_ERROR_QUERY_HISTORY_LIMIT && { queryHistoryLimit: (0, _12factor_env_1.parseEnvNumber)(PGPM_ERROR_QUERY_HISTORY_LIMIT) }), |
+1
-3
@@ -15,5 +15,3 @@ import { pgpmDefaults } from '@pgpmjs/types'; | ||
| { path: 'cdn.publicUrlPrefix', severity: 'host', envHint: 'CDN_PUBLIC_URL_PREFIX' }, | ||
| { path: 'cdn.bucketName', severity: 'host', envHint: 'BUCKET_NAME' }, | ||
| { path: 'jobs.gateway.gatewayUrl', severity: 'host', envHint: 'INTERNAL_GATEWAY_URL' }, | ||
| { path: 'jobs.gateway.callbackUrl', severity: 'host', envHint: 'INTERNAL_JOBS_CALLBACK_URL' } | ||
| { path: 'cdn.bucketName', severity: 'host', envHint: 'BUCKET_NAME' } | ||
| ]; | ||
@@ -20,0 +18,0 @@ const getPath = (obj, path) => path.split('.').reduce((acc, key) => acc && typeof acc === 'object' ? acc[key] : undefined, obj); |
+2
-43
@@ -10,7 +10,5 @@ import { parseEnvBoolean, parseEnvList, parseEnvNumber } from '12factor-env'; | ||
| export const getEnvVars = (env = process.env) => { | ||
| const { PGROOTDATABASE, PGTEMPLATE, DB_PREFIX, DB_EXTENSIONS, DB_CWD, DB_CONNECTION_USER, DB_CONNECTION_PASSWORD, DB_CONNECTION_ROLE, | ||
| const { PGROOTDATABASE, PGTEMPLATE, DB_PREFIX, DB_EXTENSIONS, DB_CWD, PGPM_EXTENSIONS_DIR, DB_CONNECTION_USER, DB_CONNECTION_PASSWORD, DB_CONNECTION_ROLE, | ||
| // New connections.app and connections.admin env vars | ||
| DB_CONNECTIONS_APP_USER, DB_CONNECTIONS_APP_PASSWORD, DB_CONNECTIONS_ADMIN_USER, DB_CONNECTIONS_ADMIN_PASSWORD, PORT, SERVER_HOST, SERVER_TRUST_PROXY, SERVER_ORIGIN, SERVER_STRICT_AUTH, PGHOST, PGPORT, PGUSER, PGPASSWORD, PGDATABASE, BUCKET_PROVIDER, BUCKET_NAME, AWS_REGION, AWS_ACCESS_KEY, AWS_ACCESS_KEY_ID, AWS_SECRET_KEY, AWS_SECRET_ACCESS_KEY, CDN_ENDPOINT, CDN_PUBLIC_URL_PREFIX, DEPLOYMENT_USE_TX, DEPLOYMENT_FAST, DEPLOYMENT_USE_PLAN, DEPLOYMENT_CACHE, DEPLOYMENT_TO_CHANGE, MIGRATIONS_CODEGEN_USE_TX, | ||
| // Jobs-related env vars | ||
| JOBS_SCHEMA, JOBS_SUPPORT_ANY, JOBS_SUPPORTED, INTERNAL_GATEWAY_URL, INTERNAL_JOBS_CALLBACK_URL, INTERNAL_JOBS_CALLBACK_PORT, | ||
| // Error output formatting env vars | ||
@@ -21,2 +19,3 @@ PGPM_ERROR_QUERY_HISTORY_LIMIT, PGPM_ERROR_MAX_LENGTH, PGPM_ERROR_VERBOSE, | ||
| return { | ||
| ...(PGPM_EXTENSIONS_DIR && { extensionsDir: PGPM_EXTENSIONS_DIR }), | ||
| db: { | ||
@@ -89,42 +88,2 @@ ...(PGROOTDATABASE && { rootDb: PGROOTDATABASE }), | ||
| }, | ||
| jobs: { | ||
| ...(JOBS_SCHEMA && { | ||
| schema: { | ||
| schema: JOBS_SCHEMA | ||
| } | ||
| }), | ||
| ...((JOBS_SUPPORT_ANY || JOBS_SUPPORTED) && { | ||
| worker: { | ||
| ...(JOBS_SUPPORT_ANY && { | ||
| supportAny: parseEnvBoolean(JOBS_SUPPORT_ANY) | ||
| }), | ||
| ...(JOBS_SUPPORTED && { | ||
| supported: parseEnvList(JOBS_SUPPORTED) | ||
| }) | ||
| }, | ||
| scheduler: { | ||
| ...(JOBS_SUPPORT_ANY && { | ||
| supportAny: parseEnvBoolean(JOBS_SUPPORT_ANY) | ||
| }), | ||
| ...(JOBS_SUPPORTED && { | ||
| supported: parseEnvList(JOBS_SUPPORTED) | ||
| }) | ||
| } | ||
| }), | ||
| ...((INTERNAL_GATEWAY_URL || | ||
| INTERNAL_JOBS_CALLBACK_URL || | ||
| INTERNAL_JOBS_CALLBACK_PORT) && { | ||
| gateway: { | ||
| ...(INTERNAL_GATEWAY_URL && { | ||
| gatewayUrl: INTERNAL_GATEWAY_URL | ||
| }), | ||
| ...(INTERNAL_JOBS_CALLBACK_URL && { | ||
| callbackUrl: INTERNAL_JOBS_CALLBACK_URL | ||
| }), | ||
| ...(INTERNAL_JOBS_CALLBACK_PORT && { | ||
| callbackPort: parseEnvNumber(INTERNAL_JOBS_CALLBACK_PORT) | ||
| }) | ||
| } | ||
| }) | ||
| }, | ||
| errorOutput: { | ||
@@ -131,0 +90,0 @@ ...(PGPM_ERROR_QUERY_HISTORY_LIMIT && { queryHistoryLimit: parseEnvNumber(PGPM_ERROR_QUERY_HISTORY_LIMIT) }), |
+1
-1
| export { assertProductionEnvOptions, findUnsafeProductionDefaults } from './assert'; | ||
| export { loadConfigFileSync, loadConfigSync, loadConfigSyncFromDir, resolveLernaWorkspace, resolveNpmWorkspace, resolvePgpmPath, resolvePnpmWorkspace, resolveWorkspaceByType } from './config'; | ||
| export { getEnvVars, getNodeEnv, parseEnvBoolean, parseEnvList, parseEnvNumber } from './env'; | ||
| export { getConnEnvOptions, getDeploymentEnvOptions, getEnvOptions } from './merge'; | ||
| export { getConnEnvOptions, getDeploymentEnvOptions, getEnvOptions, getExtensionsDir } from './merge'; | ||
| export { replaceArrays, walkUp } from './utils'; |
+13
-1
@@ -1,2 +0,2 @@ | ||
| import { pgpmDefaults } from '@pgpmjs/types'; | ||
| import { DEFAULT_EXTENSIONS_DIR, pgpmDefaults } from '@pgpmjs/types'; | ||
| import deepmerge from 'deepmerge'; | ||
@@ -57,2 +57,14 @@ import { assertProductionEnvOptions } from './assert'; | ||
| }; | ||
| /** | ||
| * Resolve the workspace directory where pgpm modules are installed. | ||
| * | ||
| * Precedence: explicit override -> `PGPM_EXTENSIONS_DIR` env var -> | ||
| * `extensionsDir` in the pgpm config file (pgpm.json / pgpm.config.js) -> | ||
| * the `extensions` default. | ||
| */ | ||
| export const getExtensionsDir = (override, cwd = process.cwd(), env = process.env) => { | ||
| if (override) | ||
| return override; | ||
| return getEnvOptions({}, cwd, env).extensionsDir ?? DEFAULT_EXTENSIONS_DIR; | ||
| }; | ||
| export const getDeploymentEnvOptions = (overrides = {}, cwd = process.cwd()) => { | ||
@@ -59,0 +71,0 @@ const opts = getEnvOptions({ |
+1
-1
@@ -5,4 +5,4 @@ export { assertProductionEnvOptions, findUnsafeProductionDefaults } from './assert'; | ||
| export { getEnvVars, getNodeEnv, parseEnvBoolean, parseEnvList, parseEnvNumber } from './env'; | ||
| export { getConnEnvOptions, getDeploymentEnvOptions, getEnvOptions } from './merge'; | ||
| export { getConnEnvOptions, getDeploymentEnvOptions, getEnvOptions, getExtensionsDir } from './merge'; | ||
| export { replaceArrays, walkUp } from './utils'; | ||
| export type { DeploymentOptions, PgpmOptions, PgTestConnectionOptions } from '@pgpmjs/types'; |
+2
-1
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.walkUp = exports.replaceArrays = exports.getEnvOptions = exports.getDeploymentEnvOptions = exports.getConnEnvOptions = exports.parseEnvNumber = exports.parseEnvList = exports.parseEnvBoolean = exports.getNodeEnv = exports.getEnvVars = exports.resolveWorkspaceByType = exports.resolvePnpmWorkspace = exports.resolvePgpmPath = exports.resolveNpmWorkspace = exports.resolveLernaWorkspace = exports.loadConfigSyncFromDir = exports.loadConfigSync = exports.loadConfigFileSync = exports.findUnsafeProductionDefaults = exports.assertProductionEnvOptions = void 0; | ||
| exports.walkUp = exports.replaceArrays = exports.getExtensionsDir = exports.getEnvOptions = exports.getDeploymentEnvOptions = exports.getConnEnvOptions = exports.parseEnvNumber = exports.parseEnvList = exports.parseEnvBoolean = exports.getNodeEnv = exports.getEnvVars = exports.resolveWorkspaceByType = exports.resolvePnpmWorkspace = exports.resolvePgpmPath = exports.resolveNpmWorkspace = exports.resolveLernaWorkspace = exports.loadConfigSyncFromDir = exports.loadConfigSync = exports.loadConfigFileSync = exports.findUnsafeProductionDefaults = exports.assertProductionEnvOptions = void 0; | ||
| var assert_1 = require("./assert"); | ||
@@ -26,4 +26,5 @@ Object.defineProperty(exports, "assertProductionEnvOptions", { enumerable: true, get: function () { return assert_1.assertProductionEnvOptions; } }); | ||
| Object.defineProperty(exports, "getEnvOptions", { enumerable: true, get: function () { return merge_1.getEnvOptions; } }); | ||
| Object.defineProperty(exports, "getExtensionsDir", { enumerable: true, get: function () { return merge_1.getExtensionsDir; } }); | ||
| var utils_1 = require("./utils"); | ||
| Object.defineProperty(exports, "replaceArrays", { enumerable: true, get: function () { return utils_1.replaceArrays; } }); | ||
| Object.defineProperty(exports, "walkUp", { enumerable: true, get: function () { return utils_1.walkUp; } }); |
+8
-0
@@ -17,2 +17,10 @@ import { DeploymentOptions, PgpmOptions, PgTestConnectionOptions } from '@pgpmjs/types'; | ||
| export declare const getConnEnvOptions: (overrides?: Partial<PgTestConnectionOptions>, cwd?: string) => PgTestConnectionOptions; | ||
| /** | ||
| * Resolve the workspace directory where pgpm modules are installed. | ||
| * | ||
| * Precedence: explicit override -> `PGPM_EXTENSIONS_DIR` env var -> | ||
| * `extensionsDir` in the pgpm config file (pgpm.json / pgpm.config.js) -> | ||
| * the `extensions` default. | ||
| */ | ||
| export declare const getExtensionsDir: (override?: string, cwd?: string, env?: NodeJS.ProcessEnv) => string; | ||
| export declare const getDeploymentEnvOptions: (overrides?: Partial<DeploymentOptions>, cwd?: string) => DeploymentOptions; |
+14
-1
@@ -6,3 +6,3 @@ "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.getDeploymentEnvOptions = exports.getConnEnvOptions = exports.getEnvOptions = void 0; | ||
| exports.getDeploymentEnvOptions = exports.getExtensionsDir = exports.getConnEnvOptions = exports.getEnvOptions = void 0; | ||
| const types_1 = require("@pgpmjs/types"); | ||
@@ -66,2 +66,15 @@ const deepmerge_1 = __importDefault(require("deepmerge")); | ||
| exports.getConnEnvOptions = getConnEnvOptions; | ||
| /** | ||
| * Resolve the workspace directory where pgpm modules are installed. | ||
| * | ||
| * Precedence: explicit override -> `PGPM_EXTENSIONS_DIR` env var -> | ||
| * `extensionsDir` in the pgpm config file (pgpm.json / pgpm.config.js) -> | ||
| * the `extensions` default. | ||
| */ | ||
| const getExtensionsDir = (override, cwd = process.cwd(), env = process.env) => { | ||
| if (override) | ||
| return override; | ||
| return (0, exports.getEnvOptions)({}, cwd, env).extensionsDir ?? types_1.DEFAULT_EXTENSIONS_DIR; | ||
| }; | ||
| exports.getExtensionsDir = getExtensionsDir; | ||
| const getDeploymentEnvOptions = (overrides = {}, cwd = process.cwd()) => { | ||
@@ -68,0 +81,0 @@ const opts = (0, exports.getEnvOptions)({ |
+3
-3
| { | ||
| "name": "@pgpmjs/env", | ||
| "version": "2.28.2", | ||
| "version": "2.29.0", | ||
| "author": "Dan Lynch <Dan Lynch>", | ||
@@ -33,3 +33,3 @@ "description": "PGPM environment management", | ||
| "12factor-env": "^1.17.1", | ||
| "@pgpmjs/types": "^2.35.1", | ||
| "@pgpmjs/types": "^2.36.0", | ||
| "deepmerge": "^4.3.1" | ||
@@ -48,3 +48,3 @@ }, | ||
| }, | ||
| "gitHead": "e53a570a4a70987e82dc074bd73501971fd82828" | ||
| "gitHead": "39db6d576bce7bc1de8123849f237b1695779d88" | ||
| } |
57834
-3.37%1032
-4.8%17
13.33%- Removed
Updated