@rpcbase/env 0.92.0 → 0.94.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.
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { t as loadProcessEnv } from "./loadProcessEnv-0oXpLo3h.js";
1
+ import { t as loadProcessEnv } from "./loadProcessEnv-Cy2oC_xy.js";
2
2
  import { i as hasWindow, n as cloneEnv, r as hasRbEnv, t as ensureDefaultEnvFlags } from "./ensureDefaultEnvFlags-BprtoiWZ.js";
3
3
  //#region src/index.ts
4
4
  var resolveModeHint = () => {
@@ -0,0 +1,16 @@
1
+ import dotenv from "dotenv";
2
+ import { expand } from "dotenv-expand";
3
+ //#region src/loadProcessEnv.ts
4
+ var hasLoaded = false;
5
+ var loadProcessEnv = () => {
6
+ if (typeof process === "undefined") return;
7
+ if (!hasLoaded) {
8
+ expand(dotenv.config({ quiet: true }));
9
+ hasLoaded = true;
10
+ }
11
+ return process.env;
12
+ };
13
+ //#endregion
14
+ export { loadProcessEnv as t };
15
+
16
+ //# sourceMappingURL=loadProcessEnv-Cy2oC_xy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadProcessEnv-Cy2oC_xy.js","names":[],"sources":["../src/loadProcessEnv.ts"],"sourcesContent":["import dotenv from \"dotenv\"\nimport { expand } from \"dotenv-expand\"\n\n\nlet hasLoaded = false\n\nexport const loadProcessEnv = () => {\n if (typeof process === \"undefined\") {\n return undefined\n }\n\n if (!hasLoaded) {\n const result = dotenv.config({ quiet: true })\n expand(result)\n hasLoaded = true\n }\n\n return process.env\n}\n"],"mappings":";;;AAIA,IAAI,YAAY;AAEhB,IAAa,uBAAuB;AAClC,KAAI,OAAO,YAAY,YACrB;AAGF,KAAI,CAAC,WAAW;AAEd,SADe,OAAO,OAAO,EAAE,OAAO,MAAM,CAAC,CAC/B;AACd,cAAY;;AAGd,QAAO,QAAQ"}
@@ -1,4 +1,4 @@
1
- import { t as loadProcessEnv } from "./loadProcessEnv-0oXpLo3h.js";
1
+ import { t as loadProcessEnv } from "./loadProcessEnv-Cy2oC_xy.js";
2
2
  import { n as cloneEnv, r as hasRbEnv, t as ensureDefaultEnvFlags } from "./ensureDefaultEnvFlags-BprtoiWZ.js";
3
3
  //#region src/polyfill.node.ts
4
4
  var resolveModeHint = () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rpcbase/env",
3
- "version": "0.92.0",
3
+ "version": "0.94.0",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"
@@ -69,9 +69,7 @@
69
69
  }
70
70
  },
71
71
  "dependencies": {
72
- "dotenv": "17.2.3"
73
- },
74
- "devDependencies": {
72
+ "dotenv": "17.3.1",
75
73
  "dotenv-expand": "12.0.3"
76
74
  }
77
75
  }
@@ -1,72 +0,0 @@
1
- import dotenv from "dotenv";
2
- //#region \0rolldown/runtime.js
3
- var __commonJSMin = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
4
- //#endregion
5
- //#region src/loadProcessEnv.ts
6
- var import_main = (/* @__PURE__ */ __commonJSMin(((exports, module) => {
7
- function _resolveEscapeSequences(value) {
8
- return value.replace(/\\\$/g, "$");
9
- }
10
- function expandValue(value, processEnv, runningParsed) {
11
- const env = {
12
- ...runningParsed,
13
- ...processEnv
14
- };
15
- const regex = /(?<!\\)\${([^{}]+)}|(?<!\\)\$([A-Za-z_][A-Za-z0-9_]*)/g;
16
- let result = value;
17
- let match;
18
- const seen = /* @__PURE__ */ new Set();
19
- while ((match = regex.exec(result)) !== null) {
20
- seen.add(result);
21
- const [template, bracedExpression, unbracedExpression] = match;
22
- const expression = bracedExpression || unbracedExpression;
23
- const opMatch = expression.match(/(:\+|\+|:-|-)/);
24
- const splitter = opMatch ? opMatch[0] : null;
25
- const r = expression.split(splitter);
26
- let defaultValue;
27
- let value;
28
- const key = r.shift();
29
- if ([":+", "+"].includes(splitter)) {
30
- defaultValue = env[key] ? r.join(splitter) : "";
31
- value = null;
32
- } else {
33
- defaultValue = r.join(splitter);
34
- value = env[key];
35
- }
36
- if (value) if (seen.has(value)) result = result.replace(template, defaultValue);
37
- else result = result.replace(template, value);
38
- else result = result.replace(template, defaultValue);
39
- if (result === runningParsed[key]) break;
40
- regex.lastIndex = 0;
41
- }
42
- return result;
43
- }
44
- function expand(options) {
45
- const runningParsed = {};
46
- let processEnv = process.env;
47
- if (options && options.processEnv != null) processEnv = options.processEnv;
48
- for (const key in options.parsed) {
49
- let value = options.parsed[key];
50
- if (processEnv[key] && processEnv[key] !== value) value = processEnv[key];
51
- else value = expandValue(value, processEnv, runningParsed);
52
- options.parsed[key] = _resolveEscapeSequences(value);
53
- runningParsed[key] = _resolveEscapeSequences(value);
54
- }
55
- for (const processKey in options.parsed) processEnv[processKey] = options.parsed[processKey];
56
- return options;
57
- }
58
- module.exports.expand = expand;
59
- })))();
60
- var hasLoaded = false;
61
- var loadProcessEnv = () => {
62
- if (typeof process === "undefined") return;
63
- if (!hasLoaded) {
64
- (0, import_main.expand)(dotenv.config({ quiet: true }));
65
- hasLoaded = true;
66
- }
67
- return process.env;
68
- };
69
- //#endregion
70
- export { loadProcessEnv as t };
71
-
72
- //# sourceMappingURL=loadProcessEnv-0oXpLo3h.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loadProcessEnv-0oXpLo3h.js","names":[],"sources":["../../../node_modules/dotenv-expand/lib/main.js","../src/loadProcessEnv.ts"],"sourcesContent":["'use strict'\n\nfunction _resolveEscapeSequences (value) {\n return value.replace(/\\\\\\$/g, '$')\n}\n\nfunction expandValue (value, processEnv, runningParsed) {\n const env = { ...runningParsed, ...processEnv } // process.env wins\n\n const regex = /(?<!\\\\)\\${([^{}]+)}|(?<!\\\\)\\$([A-Za-z_][A-Za-z0-9_]*)/g\n\n let result = value\n let match\n const seen = new Set() // self-referential checker\n\n while ((match = regex.exec(result)) !== null) {\n seen.add(result)\n\n const [template, bracedExpression, unbracedExpression] = match\n const expression = bracedExpression || unbracedExpression\n\n // match the operators `:+`, `+`, `:-`, and `-`\n const opRegex = /(:\\+|\\+|:-|-)/\n // find first match\n const opMatch = expression.match(opRegex)\n const splitter = opMatch ? opMatch[0] : null\n\n const r = expression.split(splitter)\n\n let defaultValue\n let value\n\n const key = r.shift()\n\n if ([':+', '+'].includes(splitter)) {\n defaultValue = env[key] ? r.join(splitter) : ''\n value = null\n } else {\n defaultValue = r.join(splitter)\n value = env[key]\n }\n\n if (value) {\n // self-referential check\n if (seen.has(value)) {\n result = result.replace(template, defaultValue)\n } else {\n result = result.replace(template, value)\n }\n } else {\n result = result.replace(template, defaultValue)\n }\n\n // if the result equaled what was in process.env and runningParsed then stop expanding\n if (result === runningParsed[key]) {\n break\n }\n\n regex.lastIndex = 0 // reset regex search position to re-evaluate after each replacement\n }\n\n return result\n}\n\nfunction expand (options) {\n // for use with progressive expansion\n const runningParsed = {}\n\n let processEnv = process.env\n if (options && options.processEnv != null) {\n processEnv = options.processEnv\n }\n\n // dotenv.config() ran before this so the assumption is process.env has already been set\n for (const key in options.parsed) {\n let value = options.parsed[key]\n\n // short-circuit scenario: process.env was already set prior to the file value\n if (processEnv[key] && processEnv[key] !== value) {\n value = processEnv[key]\n } else {\n value = expandValue(value, processEnv, runningParsed)\n }\n\n options.parsed[key] = _resolveEscapeSequences(value)\n\n // for use with progressive expansion\n runningParsed[key] = _resolveEscapeSequences(value)\n }\n\n for (const processKey in options.parsed) {\n processEnv[processKey] = options.parsed[processKey]\n }\n\n return options\n}\n\nmodule.exports.expand = expand\n","import dotenv from \"dotenv\"\nimport { expand } from \"dotenv-expand\"\n\n\nlet hasLoaded = false\n\nexport const loadProcessEnv = () => {\n if (typeof process === \"undefined\") {\n return undefined\n }\n\n if (!hasLoaded) {\n const result = dotenv.config({ quiet: true })\n expand(result)\n hasLoaded = true\n }\n\n return process.env\n}\n"],"x_google_ignoreList":[0],"mappings":";;;;;;CAEA,SAAS,wBAAyB,OAAO;AACvC,SAAO,MAAM,QAAQ,SAAS,IAAI;;CAGpC,SAAS,YAAa,OAAO,YAAY,eAAe;EACtD,MAAM,MAAM;GAAE,GAAG;GAAe,GAAG;GAAY;EAE/C,MAAM,QAAQ;EAEd,IAAI,SAAS;EACb,IAAI;EACJ,MAAM,uBAAO,IAAI,KAAK;AAEtB,UAAQ,QAAQ,MAAM,KAAK,OAAO,MAAM,MAAM;AAC5C,QAAK,IAAI,OAAO;GAEhB,MAAM,CAAC,UAAU,kBAAkB,sBAAsB;GACzD,MAAM,aAAa,oBAAoB;GAKvC,MAAM,UAAU,WAAW,MAFX,gBAEyB;GACzC,MAAM,WAAW,UAAU,QAAQ,KAAK;GAExC,MAAM,IAAI,WAAW,MAAM,SAAS;GAEpC,IAAI;GACJ,IAAI;GAEJ,MAAM,MAAM,EAAE,OAAO;AAErB,OAAI,CAAC,MAAM,IAAI,CAAC,SAAS,SAAS,EAAE;AAClC,mBAAe,IAAI,OAAO,EAAE,KAAK,SAAS,GAAG;AAC7C,YAAQ;UACH;AACL,mBAAe,EAAE,KAAK,SAAS;AAC/B,YAAQ,IAAI;;AAGd,OAAI,MAEF,KAAI,KAAK,IAAI,MAAM,CACjB,UAAS,OAAO,QAAQ,UAAU,aAAa;OAE/C,UAAS,OAAO,QAAQ,UAAU,MAAM;OAG1C,UAAS,OAAO,QAAQ,UAAU,aAAa;AAIjD,OAAI,WAAW,cAAc,KAC3B;AAGF,SAAM,YAAY;;AAGpB,SAAO;;CAGT,SAAS,OAAQ,SAAS;EAExB,MAAM,gBAAgB,EAAE;EAExB,IAAI,aAAa,QAAQ;AACzB,MAAI,WAAW,QAAQ,cAAc,KACnC,cAAa,QAAQ;AAIvB,OAAK,MAAM,OAAO,QAAQ,QAAQ;GAChC,IAAI,QAAQ,QAAQ,OAAO;AAG3B,OAAI,WAAW,QAAQ,WAAW,SAAS,MACzC,SAAQ,WAAW;OAEnB,SAAQ,YAAY,OAAO,YAAY,cAAc;AAGvD,WAAQ,OAAO,OAAO,wBAAwB,MAAM;AAGpD,iBAAc,OAAO,wBAAwB,MAAM;;AAGrD,OAAK,MAAM,cAAc,QAAQ,OAC/B,YAAW,cAAc,QAAQ,OAAO;AAG1C,SAAO;;AAGT,QAAO,QAAQ,SAAS;;AC7FxB,IAAI,YAAY;AAEhB,IAAa,uBAAuB;AAClC,KAAI,OAAO,YAAY,YACrB;AAGF,KAAI,CAAC,WAAW;AAEd,GAAA,GAAA,YAAA,QADe,OAAO,OAAO,EAAE,OAAO,MAAM,CAAC,CAC/B;AACd,cAAY;;AAGd,QAAO,QAAQ"}