@willbooster/shared-lib-node 2.2.3 → 2.4.0

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.
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("node:path"),t=require("dotenv");exports.loadEnvironmentVariables=function(n,o){let r=(n.env??[]).map((e=>e.toString()));const s=n.cascadeNodeEnv?process.env.NODE_ENV:n.cascadeEnv;"string"==typeof s&&(0===r.length&&r.push(".env"),r=r.flatMap((e=>s?[`${e}.${s}.local`,`${e}.local`,`${e}.${s}`,e]:[`${e}.local`,e]))),n.verbose&&console.info("Loading env files:",r);let a={};for(const n of r)a={...t.config({path:e.join(o,n)}).parsed,...a};return a},exports.removeNpmAndYarnEnvironmentVariables=function(e){for(const t of Object.keys(e)){const n=t.toLowerCase();(n.startsWith("npm_")||n.startsWith("yarn_")||n.startsWith("berry_"))&&delete e[t]}};
2
+ //# sourceMappingURL=env.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.cjs","sources":["../../src/env.ts"],"sourcesContent":["import path from 'node:path';\n\nimport { config } from 'dotenv';\n\ninterface Options {\n env?: (string | number)[];\n cascadeEnv?: string;\n cascadeNodeEnv?: boolean;\n verbose?: boolean;\n}\n\n/**\n * This function loads environment variables from `.env` files.\n * */\nexport function loadEnvironmentVariables(argv: Options, cwd: string): Record<string, string> {\n let envPaths = (argv.env ?? []).map((envPath) => envPath.toString());\n const cascade = argv.cascadeNodeEnv ? process.env.NODE_ENV : argv.cascadeEnv;\n if (typeof cascade === 'string') {\n if (envPaths.length === 0) envPaths.push('.env');\n envPaths = envPaths.flatMap((envPath) =>\n cascade\n ? [`${envPath}.${cascade}.local`, `${envPath}.local`, `${envPath}.${cascade}`, envPath]\n : [`${envPath}.local`, envPath]\n );\n }\n if (argv.verbose) {\n console.info('Loading env files:', envPaths);\n }\n\n let envVars = {};\n for (const envPath of envPaths) {\n envVars = { ...config({ path: path.join(cwd, envPath) }).parsed, ...envVars };\n }\n return envVars;\n}\n\n/**\n * This function removes environment variables related to npm and yarn from the given environment variables.\n * */\nexport function removeNpmAndYarnEnvironmentVariables(envVars: Record<string, unknown>): void {\n // Remove npm & yarn environment variables from process.env\n for (const key of Object.keys(envVars)) {\n const lowerKey = key.toLowerCase();\n if (lowerKey.startsWith('npm_') || lowerKey.startsWith('yarn_') || lowerKey.startsWith('berry_')) {\n delete envVars[key];\n }\n }\n}\n"],"names":["argv","cwd","envPaths","env","map","envPath","toString","cascade","cascadeNodeEnv","process","NODE_ENV","cascadeEnv","length","push","flatMap","verbose","console","info","envVars","config","path","join","parsed","key","Object","keys","lowerKey","toLowerCase","startsWith"],"mappings":"6FAcO,SAAkCA,EAAeC,GACtD,IAAIC,GAAYF,EAAKG,KAAO,IAAIC,KAAKC,GAAYA,EAAQC,aACzD,MAAMC,EAAUP,EAAKQ,eAAiBC,QAAQN,IAAIO,SAAWV,EAAKW,WAC3C,iBAAZJ,IACe,IAApBL,EAASU,QAAcV,EAASW,KAAK,QACzCX,EAAWA,EAASY,SAAST,GAC3BE,EACI,CAAE,GAAEF,KAAWE,UAAkB,GAAEF,UAAkB,GAAEA,KAAWE,IAAWF,GAC7E,CAAE,GAAEA,UAAiBA,MAGzBL,EAAKe,SACPC,QAAQC,KAAK,qBAAsBf,GAGrC,IAAIgB,EAAU,CAAA,EACd,IAAK,MAAMb,KAAWH,EACpBgB,EAAU,IAAKC,SAAO,CAAEC,KAAMA,EAAKC,KAAKpB,EAAKI,KAAYiB,UAAWJ,GAEtE,OAAOA,CACT,+CAKO,SAA8CA,GAEnD,IAAK,MAAMK,KAAOC,OAAOC,KAAKP,GAAU,CACtC,MAAMQ,EAAWH,EAAII,eACjBD,EAASE,WAAW,SAAWF,EAASE,WAAW,UAAYF,EAASE,WAAW,mBAC9EV,EAAQK,EAEnB,CACF"}
@@ -0,0 +1,15 @@
1
+ interface Options {
2
+ env?: (string | number)[];
3
+ cascadeEnv?: string;
4
+ cascadeNodeEnv?: boolean;
5
+ verbose?: boolean;
6
+ }
7
+ /**
8
+ * This function loads environment variables from `.env` files.
9
+ * */
10
+ declare function loadEnvironmentVariables(argv: Options, cwd: string): Record<string, string>;
11
+ /**
12
+ * This function removes environment variables related to npm and yarn from the given environment variables.
13
+ * */
14
+ declare function removeNpmAndYarnEnvironmentVariables(envVars: Record<string, unknown>): void;
15
+ export { loadEnvironmentVariables, removeNpmAndYarnEnvironmentVariables };
@@ -1,2 +1,2 @@
1
- "use strict";var s=require("./exists.cjs"),e=require("./spawn.cjs");exports.existsAsync=s.existsAsync,exports.spawnAsync=e.spawnAsync;
1
+ "use strict";var e=require("./env.cjs"),s=require("./exists.cjs"),n=require("./spawn.cjs");exports.loadEnvironmentVariables=e.loadEnvironmentVariables,exports.removeNpmAndYarnEnvironmentVariables=e.removeNpmAndYarnEnvironmentVariables,exports.existsAsync=s.existsAsync,exports.spawnAsync=n.spawnAsync;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,2 +1,3 @@
1
+ export { loadEnvironmentVariables, removeNpmAndYarnEnvironmentVariables } from "./env.js";
1
2
  export { existsAsync } from "./exists.js";
2
3
  export { spawnAsync } from "./spawn.js";
@@ -1,4 +1,4 @@
1
- /// <reference types="body-parser" />
1
+ /// <reference types="node" />
2
2
  import { SpawnOptions, SpawnOptionsWithoutStdio, SpawnOptionsWithStdioTuple, SpawnSyncReturns, StdioNull, StdioPipe } from 'node:child_process';
3
3
  type SpawnAsyncReturns = Omit<SpawnSyncReturns<string>, 'output' | 'error'>;
4
4
  type SpawnAsyncOptions = (SpawnOptionsWithoutStdio | SpawnOptionsWithStdioTuple<StdioPipe, StdioPipe, StdioPipe> | SpawnOptionsWithStdioTuple<StdioPipe, StdioPipe, StdioNull> | SpawnOptionsWithStdioTuple<StdioPipe, StdioNull, StdioPipe> | SpawnOptionsWithStdioTuple<StdioNull, StdioPipe, StdioPipe> | SpawnOptionsWithStdioTuple<StdioPipe, StdioNull, StdioNull> | SpawnOptionsWithStdioTuple<StdioNull, StdioPipe, StdioNull> | SpawnOptionsWithStdioTuple<StdioNull, StdioNull, StdioPipe> | SpawnOptionsWithStdioTuple<StdioNull, StdioNull, StdioNull> | SpawnOptions) & {
@@ -0,0 +1,15 @@
1
+ interface Options {
2
+ env?: (string | number)[];
3
+ cascadeEnv?: string;
4
+ cascadeNodeEnv?: boolean;
5
+ verbose?: boolean;
6
+ }
7
+ /**
8
+ * This function loads environment variables from `.env` files.
9
+ * */
10
+ declare function loadEnvironmentVariables(argv: Options, cwd: string): Record<string, string>;
11
+ /**
12
+ * This function removes environment variables related to npm and yarn from the given environment variables.
13
+ * */
14
+ declare function removeNpmAndYarnEnvironmentVariables(envVars: Record<string, unknown>): void;
15
+ export { loadEnvironmentVariables, removeNpmAndYarnEnvironmentVariables };
@@ -0,0 +1,2 @@
1
+ import t from"node:path";import{config as o}from"dotenv";function e(e,n){let s=(e.env??[]).map((t=>t.toString()));const r=e.cascadeNodeEnv?process.env.NODE_ENV:e.cascadeEnv;"string"==typeof r&&(0===s.length&&s.push(".env"),s=s.flatMap((t=>r?[`${t}.${r}.local`,`${t}.local`,`${t}.${r}`,t]:[`${t}.local`,t]))),e.verbose&&console.info("Loading env files:",s);let a={};for(const e of s)a={...o({path:t.join(n,e)}).parsed,...a};return a}function n(t){for(const o of Object.keys(t)){const e=o.toLowerCase();(e.startsWith("npm_")||e.startsWith("yarn_")||e.startsWith("berry_"))&&delete t[o]}}export{e as loadEnvironmentVariables,n as removeNpmAndYarnEnvironmentVariables};
2
+ //# sourceMappingURL=env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.js","sources":["../../src/env.ts"],"sourcesContent":["import path from 'node:path';\n\nimport { config } from 'dotenv';\n\ninterface Options {\n env?: (string | number)[];\n cascadeEnv?: string;\n cascadeNodeEnv?: boolean;\n verbose?: boolean;\n}\n\n/**\n * This function loads environment variables from `.env` files.\n * */\nexport function loadEnvironmentVariables(argv: Options, cwd: string): Record<string, string> {\n let envPaths = (argv.env ?? []).map((envPath) => envPath.toString());\n const cascade = argv.cascadeNodeEnv ? process.env.NODE_ENV : argv.cascadeEnv;\n if (typeof cascade === 'string') {\n if (envPaths.length === 0) envPaths.push('.env');\n envPaths = envPaths.flatMap((envPath) =>\n cascade\n ? [`${envPath}.${cascade}.local`, `${envPath}.local`, `${envPath}.${cascade}`, envPath]\n : [`${envPath}.local`, envPath]\n );\n }\n if (argv.verbose) {\n console.info('Loading env files:', envPaths);\n }\n\n let envVars = {};\n for (const envPath of envPaths) {\n envVars = { ...config({ path: path.join(cwd, envPath) }).parsed, ...envVars };\n }\n return envVars;\n}\n\n/**\n * This function removes environment variables related to npm and yarn from the given environment variables.\n * */\nexport function removeNpmAndYarnEnvironmentVariables(envVars: Record<string, unknown>): void {\n // Remove npm & yarn environment variables from process.env\n for (const key of Object.keys(envVars)) {\n const lowerKey = key.toLowerCase();\n if (lowerKey.startsWith('npm_') || lowerKey.startsWith('yarn_') || lowerKey.startsWith('berry_')) {\n delete envVars[key];\n }\n }\n}\n"],"names":["loadEnvironmentVariables","argv","cwd","envPaths","env","map","envPath","toString","cascade","cascadeNodeEnv","process","NODE_ENV","cascadeEnv","length","push","flatMap","verbose","console","info","envVars","config","path","join","parsed","removeNpmAndYarnEnvironmentVariables","key","Object","keys","lowerKey","toLowerCase","startsWith"],"mappings":"yDAcO,SAASA,EAAyBC,EAAeC,GACtD,IAAIC,GAAYF,EAAKG,KAAO,IAAIC,KAAKC,GAAYA,EAAQC,aACzD,MAAMC,EAAUP,EAAKQ,eAAiBC,QAAQN,IAAIO,SAAWV,EAAKW,WAC3C,iBAAZJ,IACe,IAApBL,EAASU,QAAcV,EAASW,KAAK,QACzCX,EAAWA,EAASY,SAAST,GAC3BE,EACI,CAAE,GAAEF,KAAWE,UAAkB,GAAEF,UAAkB,GAAEA,KAAWE,IAAWF,GAC7E,CAAE,GAAEA,UAAiBA,MAGzBL,EAAKe,SACPC,QAAQC,KAAK,qBAAsBf,GAGrC,IAAIgB,EAAU,CAAA,EACd,IAAK,MAAMb,KAAWH,EACpBgB,EAAU,IAAKC,EAAO,CAAEC,KAAMA,EAAKC,KAAKpB,EAAKI,KAAYiB,UAAWJ,GAEtE,OAAOA,CACT,CAKO,SAASK,EAAqCL,GAEnD,IAAK,MAAMM,KAAOC,OAAOC,KAAKR,GAAU,CACtC,MAAMS,EAAWH,EAAII,eACjBD,EAASE,WAAW,SAAWF,EAASE,WAAW,UAAYF,EAASE,WAAW,mBAC9EX,EAAQM,EAEnB,CACF"}
@@ -1,2 +1,3 @@
1
+ export { loadEnvironmentVariables, removeNpmAndYarnEnvironmentVariables } from "./env.js";
1
2
  export { existsAsync } from "./exists.js";
2
3
  export { spawnAsync } from "./spawn.js";
package/dist/esm/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export{existsAsync}from"./exists.js";export{spawnAsync}from"./spawn.js";
1
+ export{loadEnvironmentVariables,removeNpmAndYarnEnvironmentVariables}from"./env.js";export{existsAsync}from"./exists.js";export{spawnAsync}from"./spawn.js";
2
2
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- /// <reference types="body-parser" />
1
+ /// <reference types="node" />
2
2
  import { SpawnOptions, SpawnOptionsWithoutStdio, SpawnOptionsWithStdioTuple, SpawnSyncReturns, StdioNull, StdioPipe } from 'node:child_process';
3
3
  type SpawnAsyncReturns = Omit<SpawnSyncReturns<string>, 'output' | 'error'>;
4
4
  type SpawnAsyncOptions = (SpawnOptionsWithoutStdio | SpawnOptionsWithStdioTuple<StdioPipe, StdioPipe, StdioPipe> | SpawnOptionsWithStdioTuple<StdioPipe, StdioPipe, StdioNull> | SpawnOptionsWithStdioTuple<StdioPipe, StdioNull, StdioPipe> | SpawnOptionsWithStdioTuple<StdioNull, StdioPipe, StdioPipe> | SpawnOptionsWithStdioTuple<StdioPipe, StdioNull, StdioNull> | SpawnOptionsWithStdioTuple<StdioNull, StdioPipe, StdioNull> | SpawnOptionsWithStdioTuple<StdioNull, StdioNull, StdioPipe> | SpawnOptionsWithStdioTuple<StdioNull, StdioNull, StdioNull> | SpawnOptions) & {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@willbooster/shared-lib-node",
3
- "version": "2.2.3",
3
+ "version": "2.4.0",
4
4
  "license": "Apache-2.0",
5
5
  "author": "WillBooster Inc.",
6
6
  "sideEffects": false,
@@ -36,30 +36,31 @@
36
36
  },
37
37
  "prettier": "@willbooster/prettier-config",
38
38
  "dependencies": {
39
+ "dotenv": "16.3.1",
39
40
  "tree-kill": "1.2.2"
40
41
  },
41
42
  "devDependencies": {
42
- "@types/eslint": "8.40.2",
43
+ "@types/eslint": "8.44.0",
43
44
  "@types/micromatch": "4.0.2",
44
45
  "@types/prettier": "2.7.3",
45
- "@typescript-eslint/eslint-plugin": "5.60.0",
46
- "@typescript-eslint/parser": "5.60.0",
47
- "@willbooster/eslint-config-ts": "10.2.0",
46
+ "@typescript-eslint/eslint-plugin": "6.1.0",
47
+ "@typescript-eslint/parser": "6.1.0",
48
+ "@willbooster/eslint-config-ts": "10.4.0",
48
49
  "@willbooster/prettier-config": "9.1.1",
49
- "build-ts": "5.10.4",
50
- "eslint": "8.43.0",
50
+ "build-ts": "7.0.1",
51
+ "eslint": "8.45.0",
51
52
  "eslint-config-prettier": "8.8.0",
52
53
  "eslint-import-resolver-typescript": "3.5.5",
53
54
  "eslint-plugin-import": "2.27.5",
54
55
  "eslint-plugin-sort-class-members": "1.18.0",
55
56
  "eslint-plugin-sort-destructure-keys": "1.5.0",
56
- "eslint-plugin-unicorn": "47.0.0",
57
- "lint-staged": "13.2.2",
57
+ "eslint-plugin-unicorn": "48.0.0",
58
+ "lint-staged": "13.2.3",
58
59
  "micromatch": "4.0.5",
59
- "prettier": "2.8.8",
60
- "sort-package-json": "2.4.1",
61
- "typescript": "5.1.3",
62
- "vitest": "0.32.2"
60
+ "prettier": "3.0.0",
61
+ "sort-package-json": "2.5.1",
62
+ "typescript": "5.1.6",
63
+ "vitest": "0.33.0"
63
64
  },
64
65
  "publishConfig": {
65
66
  "access": "public"