@rpcbase/env 0.91.0 → 0.93.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,24 @@
1
+ //#region src/polyfillShared.ts
2
+ var cloneEnv = (source) => ({ ...source ?? {} });
3
+ var hasWindow = () => typeof globalThis === "object" && "window" in globalThis;
4
+ var hasRbEnv = () => typeof globalThis.__rb_env__ !== "undefined" && globalThis.__rb_env__ !== null;
5
+ //#endregion
6
+ //#region src/ensureDefaultEnvFlags.ts
7
+ var pickMode = (modeHint, isServer) => {
8
+ if (typeof modeHint === "string" && modeHint.length > 0) return modeHint;
9
+ if (typeof process !== "undefined" && typeof process.env.NODE_ENV === "string") return process.env.NODE_ENV;
10
+ return "development";
11
+ };
12
+ var ensureDefaultEnvFlags = (env, hints) => {
13
+ if (!env) return;
14
+ const target = env;
15
+ target.SSR = hints.isServer;
16
+ if (typeof target.MODE !== "string" || target.MODE.length === 0) target.MODE = pickMode(hints.modeHint, hints.isServer);
17
+ if (typeof target.DEV !== "boolean") target.DEV = target.MODE === "development";
18
+ if (typeof target.PROD !== "boolean") target.PROD = !target.DEV;
19
+ if (typeof target.BASE_URL !== "string" || target.BASE_URL.length === 0) target.BASE_URL = "/";
20
+ };
21
+ //#endregion
22
+ export { hasWindow as i, cloneEnv as n, hasRbEnv as r, ensureDefaultEnvFlags as t };
23
+
24
+ //# sourceMappingURL=ensureDefaultEnvFlags-BprtoiWZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensureDefaultEnvFlags-BprtoiWZ.js","names":["global","__rb_env__","Record","cloneEnv","source","T","hasWindow","globalThis","hasRbEnv","EnvRecord","Record","MutableEnv","SSR","DEV","PROD","MODE","BASE_URL","FlagHints","isServer","modeHint","pickMode","length","process","env","NODE_ENV","ensureDefaultEnvFlags","hints","target"],"sources":["../src/polyfillShared.ts","../src/ensureDefaultEnvFlags.ts"],"sourcesContent":["declare global {\n var __rb_env__: Record<string, unknown> | undefined\n}\n\nexport const cloneEnv = <T extends Record<string, unknown> | undefined>(source: T) => ({\n ...(source ?? {}),\n})\n\nexport const hasWindow = () => typeof globalThis === \"object\" && \"window\" in globalThis\n\nexport const hasRbEnv = () => typeof globalThis.__rb_env__ !== \"undefined\" && globalThis.__rb_env__ !== null\n\nexport {}\n","type EnvRecord = Record<string, unknown> | undefined\n\ntype MutableEnv = Record<string, unknown> & {\n SSR?: unknown\n DEV?: unknown\n PROD?: unknown\n MODE?: unknown\n BASE_URL?: unknown\n}\n\ntype FlagHints = {\n isServer: boolean\n modeHint?: string\n}\n\nconst pickMode = (modeHint: string | undefined, isServer: boolean) => {\n if (typeof modeHint === \"string\" && modeHint.length > 0) {\n return modeHint\n }\n\n if (typeof process !== \"undefined\" && typeof process.env?.NODE_ENV === \"string\") {\n return process.env.NODE_ENV\n }\n\n // Default to development when no hints are available to avoid accidentally\n // treating local/SSR dev runs as production just because NODE_ENV is unset.\n return \"development\"\n}\n\nexport const ensureDefaultEnvFlags = (env: EnvRecord, hints: FlagHints) => {\n if (!env) {\n return\n }\n\n const target = env as MutableEnv\n\n // Always reflect the current runtime; SSR flag can differ between server render\n // and client hydration, so overwrite instead of only setting once.\n target.SSR = hints.isServer\n\n if (typeof target.MODE !== \"string\" || target.MODE.length === 0) {\n target.MODE = pickMode(hints.modeHint, hints.isServer)\n }\n\n if (typeof target.DEV !== \"boolean\") {\n target.DEV = target.MODE === \"development\"\n }\n\n if (typeof target.PROD !== \"boolean\") {\n target.PROD = !target.DEV\n }\n\n if (typeof target.BASE_URL !== \"string\" || target.BASE_URL.length === 0) {\n target.BASE_URL = \"/\"\n }\n}\n\nexport default ensureDefaultEnvFlags\n"],"mappings":";AAIA,IAAaG,YAA2DC,YAAe,EACrF,GAAIA,UAAU,EAAE,EACjB;AAED,IAAaE,kBAAkB,OAAOC,eAAe,YAAY,YAAYA;AAE7E,IAAaC,iBAAiB,OAAOD,WAAWN,eAAe,eAAeM,WAAWN,eAAe;;;ACKxG,IAAMmB,YAAYD,UAA8BD,aAAsB;AACpE,KAAI,OAAOC,aAAa,YAAYA,SAASE,SAAS,EACpD,QAAOF;AAGT,KAAI,OAAOG,YAAY,eAAe,OAAA,QAAA,IAAA,aAAiC,SACrE,QAAA,QAAA,IAAA;AAKF,QAAO;;AAGT,IAAaG,yBAAyBF,KAAgBG,UAAqB;AACzE,KAAI,CAACH,IACH;CAGF,MAAMI,SAASJ;AAIfI,QAAOf,MAAMc,MAAMR;AAEnB,KAAI,OAAOS,OAAOZ,SAAS,YAAYY,OAAOZ,KAAKM,WAAW,EAC5DM,QAAOZ,OAAOK,SAASM,MAAMP,UAAUO,MAAMR,SAAS;AAGxD,KAAI,OAAOS,OAAOd,QAAQ,UACxBc,QAAOd,MAAMc,OAAOZ,SAAS;AAG/B,KAAI,OAAOY,OAAOb,SAAS,UACzBa,QAAOb,OAAO,CAACa,OAAOd;AAGxB,KAAI,OAAOc,OAAOX,aAAa,YAAYW,OAAOX,SAASK,WAAW,EACpEM,QAAOX,WAAW"}
package/dist/index.js CHANGED
@@ -1,41 +1,40 @@
1
- import { l as loadProcessEnv } from "./loadProcessEnv-DmxdiiLU.js";
2
- import { h as hasRbEnv, e as ensureDefaultEnvFlags, c as cloneEnv, a as hasWindow } from "./ensureDefaultEnvFlags-C1vDaR9V.js";
3
- const __vite_import_meta_env__ = { "BASE_URL": "/", "DEV": false, "MODE": "production", "PROD": true, "SSR": false };
4
- const resolveModeHint = () => {
5
- if (typeof import.meta !== "undefined") {
6
- const mode = "production";
7
- if (mode.length > 0) {
8
- return mode;
9
- }
10
- }
11
- if (typeof process !== "undefined" && typeof process.env?.NODE_ENV === "string") {
12
- return process.env.NODE_ENV;
13
- }
14
- return void 0;
1
+ import { t as loadProcessEnv } from "./loadProcessEnv-Cy2oC_xy.js";
2
+ import { i as hasWindow, n as cloneEnv, r as hasRbEnv, t as ensureDefaultEnvFlags } from "./ensureDefaultEnvFlags-BprtoiWZ.js";
3
+ //#region src/index.ts
4
+ var resolveModeHint = () => {
5
+ if (typeof import.meta !== "undefined") {
6
+ const mode = "production";
7
+ if (typeof mode === "string" && true) return mode;
8
+ }
9
+ if (typeof process !== "undefined" && typeof process.env.NODE_ENV === "string") return process.env.NODE_ENV;
15
10
  };
16
- const ensureRbEnv = () => {
17
- const isServer = !hasWindow();
18
- const modeHint = resolveModeHint();
19
- if (hasRbEnv()) {
20
- ensureDefaultEnvFlags(globalThis.__rb_env__, {
21
- isServer,
22
- modeHint
23
- });
24
- return globalThis.__rb_env__;
25
- }
26
- if (isServer) {
27
- loadProcessEnv();
28
- }
29
- const sourceEnv = isServer ? cloneEnv(typeof process === "undefined" ? void 0 : process.env) : cloneEnv(typeof import.meta === "undefined" ? void 0 : __vite_import_meta_env__);
30
- ensureDefaultEnvFlags(sourceEnv, {
31
- isServer,
32
- modeHint
33
- });
34
- globalThis.__rb_env__ = sourceEnv;
35
- return globalThis.__rb_env__;
11
+ var ensureRbEnv = () => {
12
+ const isServer = !hasWindow();
13
+ const modeHint = resolveModeHint();
14
+ if (hasRbEnv()) {
15
+ ensureDefaultEnvFlags(globalThis.__rb_env__, {
16
+ isServer,
17
+ modeHint
18
+ });
19
+ return globalThis.__rb_env__;
20
+ }
21
+ if (isServer) loadProcessEnv();
22
+ const sourceEnv = isServer ? cloneEnv(typeof process === "undefined" ? void 0 : process.env) : cloneEnv(typeof import.meta === "undefined" ? void 0 : {
23
+ "BASE_URL": "/",
24
+ "DEV": false,
25
+ "MODE": "production",
26
+ "PROD": true,
27
+ "SSR": false
28
+ });
29
+ ensureDefaultEnvFlags(sourceEnv, {
30
+ isServer,
31
+ modeHint
32
+ });
33
+ globalThis.__rb_env__ = sourceEnv;
34
+ return globalThis.__rb_env__;
36
35
  };
37
- const env = ensureRbEnv();
38
- export {
39
- env as default
40
- };
41
- //# sourceMappingURL=index.js.map
36
+ var env = ensureRbEnv();
37
+ //#endregion
38
+ export { env as default };
39
+
40
+ //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import { loadProcessEnv } from \"./loadProcessEnv\"\nimport { cloneEnv, hasRbEnv, hasWindow } from \"./polyfillShared\"\nimport { ensureDefaultEnvFlags } from \"./ensureDefaultEnvFlags\"\n\n\ntype EnvRuntimeFlags = {\n SSR: boolean\n DEV: boolean\n PROD: boolean\n MODE: string\n BASE_URL: string\n}\n\ntype EnvRecord = EnvRuntimeFlags & Record<string, string | undefined>\n\nconst resolveModeHint = () => {\n // When built with Vite the plugin rewrites import.meta.env to globalThis.__rb_env__,\n // so keep the optional chains to avoid blowing up when the bag is still undefined.\n if (typeof import.meta !== \"undefined\") {\n const mode = (import.meta as any)?.env?.MODE\n if (typeof mode === \"string\" && mode.length > 0) {\n return mode\n }\n }\n\n if (typeof process !== \"undefined\" && typeof process.env?.NODE_ENV === \"string\") {\n return process.env.NODE_ENV\n }\n\n return undefined\n}\n\nconst ensureRbEnv = () => {\n const isServer = !hasWindow()\n const modeHint = resolveModeHint()\n\n if (hasRbEnv()) {\n ensureDefaultEnvFlags(globalThis.__rb_env__, {\n isServer,\n modeHint,\n })\n return globalThis.__rb_env__\n }\n\n if (isServer) {\n loadProcessEnv()\n }\n\n const sourceEnv = isServer\n ? cloneEnv(typeof process === \"undefined\" ? undefined : process.env)\n : cloneEnv(typeof import.meta === \"undefined\" ? undefined : (import.meta as any)?.env)\n\n ensureDefaultEnvFlags(sourceEnv, {\n isServer,\n modeHint,\n })\n\n globalThis.__rb_env__ = sourceEnv\n\n return globalThis.__rb_env__\n}\n\nconst env = ensureRbEnv() as EnvRecord\n\nexport default env\n"],"names":["resolveModeHint","import","mode","length","process","env","NODE_ENV","undefined","ensureRbEnv","isServer","hasWindow","modeHint","hasRbEnv","ensureDefaultEnvFlags","globalThis","__rb_env__","loadProcessEnv","sourceEnv","cloneEnv"],"mappings":";;;AAeA,MAAMA,kBAAkBA,MAAM;AAG5B,MAAI,OAAOC,gBAAgB,aAAa;AACtC,UAAMC,OAAQD;AACd,QAAgCC,KAAKC,SAAS,GAAG;AAC/C,aAAOD;AAAAA,IACT;AAAA,EACF;AAEA,MAAI,OAAOE,YAAY,eAAe,OAAOA,QAAQC,KAAKC,aAAa,UAAU;AAC/E,WAAOF,QAAQC,IAAIC;AAAAA,EACrB;AAEA,SAAOC;AACT;AAEA,MAAMC,cAAcA,MAAM;AACxB,QAAMC,WAAW,CAACC,UAAAA;AAClB,QAAMC,WAAWX,gBAAAA;AAEjB,MAAIY,YAAY;AACdC,0BAAsBC,WAAWC,YAAY;AAAA,MAC3CN;AAAAA,MACAE;AAAAA,IAAAA,CACD;AACD,WAAOG,WAAWC;AAAAA,EACpB;AAEA,MAAIN,UAAU;AACZO,mBAAAA;AAAAA,EACF;AAEA,QAAMC,YAAYR,WACdS,SAAS,OAAOd,YAAY,cAAcG,SAAYH,QAAQC,GAAG,IACjEa,SAAS,OAAOjB,gBAAgB,cAAcM,SAAaN,wBAAwB;AAEvFY,wBAAsBI,WAAW;AAAA,IAC/BR;AAAAA,IACAE;AAAAA,EAAAA,CACD;AAEDG,aAAWC,aAAaE;AAExB,SAAOH,WAAWC;AACpB;AAEA,MAAMV,MAAMG,YAAAA;"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["import { loadProcessEnv } from \"./loadProcessEnv\"\nimport { cloneEnv, hasRbEnv, hasWindow } from \"./polyfillShared\"\nimport { ensureDefaultEnvFlags } from \"./ensureDefaultEnvFlags\"\n\n\ntype EnvRuntimeFlags = {\n SSR: boolean\n DEV: boolean\n PROD: boolean\n MODE: string\n BASE_URL: string\n}\n\ntype EnvRecord = EnvRuntimeFlags & Record<string, string | undefined>\n\nconst resolveModeHint = () => {\n // When built with Vite the plugin rewrites import.meta.env to globalThis.__rb_env__,\n // so keep the optional chains to avoid blowing up when the bag is still undefined.\n if (typeof import.meta !== \"undefined\") {\n const mode = (import.meta as any)?.env?.MODE\n if (typeof mode === \"string\" && mode.length > 0) {\n return mode\n }\n }\n\n if (typeof process !== \"undefined\" && typeof process.env?.NODE_ENV === \"string\") {\n return process.env.NODE_ENV\n }\n\n return undefined\n}\n\nconst ensureRbEnv = () => {\n const isServer = !hasWindow()\n const modeHint = resolveModeHint()\n\n if (hasRbEnv()) {\n ensureDefaultEnvFlags(globalThis.__rb_env__, {\n isServer,\n modeHint,\n })\n return globalThis.__rb_env__\n }\n\n if (isServer) {\n loadProcessEnv()\n }\n\n const sourceEnv = isServer\n ? cloneEnv(typeof process === \"undefined\" ? undefined : process.env)\n : cloneEnv(typeof import.meta === \"undefined\" ? undefined : (import.meta as any)?.env)\n\n ensureDefaultEnvFlags(sourceEnv, {\n isServer,\n modeHint,\n })\n\n globalThis.__rb_env__ = sourceEnv\n\n return globalThis.__rb_env__\n}\n\nconst env = ensureRbEnv() as EnvRecord\n\nexport default env\n"],"mappings":";;;AAeA,IAAM,wBAAwB;AAG5B,KAAI,OAAO,OAAO,SAAS,aAAa;EACtC,MAAM,OAAA;AACN,MAAI,OAAO,SAAS,YAAY,KAC9B,QAAO;;AAIX,KAAI,OAAO,YAAY,eAAe,OAAA,QAAA,IAAA,aAAiC,SACrE,QAAA,QAAA,IAAA;;AAMJ,IAAM,oBAAoB;CACxB,MAAM,WAAW,CAAC,WAAU;CAC5B,MAAM,WAAW,iBAAgB;AAEjC,KAAI,UAAU,EAAE;AACd,wBAAsB,WAAW,YAAY;GAC3C;GACA;GACD,CAAA;AACD,SAAO,WAAW;;AAGpB,KAAI,SACF,iBAAe;CAGjB,MAAM,YAAY,WACd,SAAS,OAAO,YAAY,cAAc,KAAA,IAAY,QAAQ,IAAG,GACjE,SAAS,OAAO,OAAO,SAAS,cAAc,KAAA,IAAA;;;;;;GAAqC;AAEvF,uBAAsB,WAAW;EAC/B;EACA;EACD,CAAA;AAED,YAAW,aAAa;AAExB,QAAO,WAAW;;AAGpB,IAAM,MAAM,aAAa"}
@@ -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"}
package/dist/polyfill.js CHANGED
@@ -1,40 +1,35 @@
1
- import { h as hasRbEnv, e as ensureDefaultEnvFlags, c as cloneEnv, a as hasWindow } from "./ensureDefaultEnvFlags-C1vDaR9V.js";
2
- const resolveViteEnv = () => {
3
- if (typeof __vite_env__ === "undefined") {
4
- return void 0;
5
- }
6
- return __vite_env__;
1
+ import { i as hasWindow, n as cloneEnv, r as hasRbEnv, t as ensureDefaultEnvFlags } from "./ensureDefaultEnvFlags-BprtoiWZ.js";
2
+ //#region src/polyfill.ts
3
+ var resolveViteEnv = () => {
4
+ if (typeof __vite_env__ === "undefined") return;
5
+ return __vite_env__;
7
6
  };
8
- const resolveImportMetaEnv = () => typeof import.meta === "undefined" ? void 0 : globalThis.__rb_env__;
9
- const resolveModeHint = () => {
10
- const metaEnv = resolveImportMetaEnv();
11
- const metaMode = metaEnv?.MODE;
12
- if (typeof metaMode === "string" && metaMode.length > 0) {
13
- return metaMode;
14
- }
15
- if (typeof process !== "undefined" && typeof process.env?.NODE_ENV === "string") {
16
- return process.env.NODE_ENV;
17
- }
18
- return void 0;
7
+ var resolveImportMetaEnv = () => typeof import.meta === "undefined" ? void 0 : globalThis.__rb_env__;
8
+ var resolveModeHint = () => {
9
+ const metaMode = resolveImportMetaEnv()?.MODE;
10
+ if (typeof metaMode === "string" && metaMode.length > 0) return metaMode;
11
+ if (typeof process !== "undefined" && typeof process.env.NODE_ENV === "string") return process.env.NODE_ENV;
19
12
  };
20
- const ensureRbEnv = () => {
21
- const modeHint = resolveModeHint();
22
- const importMetaEnv = resolveImportMetaEnv();
23
- const isServer = !hasWindow();
24
- if (hasRbEnv()) {
25
- ensureDefaultEnvFlags(globalThis.__rb_env__, {
26
- isServer,
27
- modeHint
28
- });
29
- return;
30
- }
31
- const viteDefinedEnv = resolveViteEnv();
32
- const sourceEnv = viteDefinedEnv ? cloneEnv(viteDefinedEnv) : hasWindow() ? cloneEnv(importMetaEnv) : cloneEnv(typeof process === "undefined" ? void 0 : process.env);
33
- ensureDefaultEnvFlags(sourceEnv, {
34
- isServer,
35
- modeHint
36
- });
37
- globalThis.__rb_env__ = sourceEnv;
13
+ var ensureRbEnv = () => {
14
+ const modeHint = resolveModeHint();
15
+ const importMetaEnv = resolveImportMetaEnv();
16
+ const isServer = !hasWindow();
17
+ if (hasRbEnv()) {
18
+ ensureDefaultEnvFlags(globalThis.__rb_env__, {
19
+ isServer,
20
+ modeHint
21
+ });
22
+ return;
23
+ }
24
+ const viteDefinedEnv = resolveViteEnv();
25
+ const sourceEnv = viteDefinedEnv ? cloneEnv(viteDefinedEnv) : hasWindow() ? cloneEnv(importMetaEnv) : cloneEnv(typeof process === "undefined" ? void 0 : process.env);
26
+ ensureDefaultEnvFlags(sourceEnv, {
27
+ isServer,
28
+ modeHint
29
+ });
30
+ globalThis.__rb_env__ = sourceEnv;
38
31
  };
39
32
  ensureRbEnv();
40
- //# sourceMappingURL=polyfill.js.map
33
+ //#endregion
34
+
35
+ //# sourceMappingURL=polyfill.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"polyfill.js","sources":["../src/polyfill.ts"],"sourcesContent":["import { cloneEnv, hasRbEnv, hasWindow } from \"./polyfillShared\"\nimport { ensureDefaultEnvFlags } from \"./ensureDefaultEnvFlags\"\n\n\nconst resolveViteEnv = () => {\n if (typeof __vite_env__ === \"undefined\") {\n return undefined\n }\n\n return __vite_env__\n}\n\nconst resolveImportMetaEnv = () =>\n typeof import.meta === \"undefined\" ? undefined : import.meta.env\n\nconst resolveModeHint = () => {\n const metaEnv = resolveImportMetaEnv()\n const metaMode = metaEnv?.MODE\n\n if (typeof metaMode === \"string\" && metaMode.length > 0) {\n return metaMode\n }\n\n if (typeof process !== \"undefined\" && typeof process.env?.NODE_ENV === \"string\") {\n return process.env.NODE_ENV\n }\n\n return undefined\n}\n\nconst ensureRbEnv = () => {\n const modeHint = resolveModeHint()\n const importMetaEnv = resolveImportMetaEnv()\n const isServer = !hasWindow()\n\n if (hasRbEnv()) {\n ensureDefaultEnvFlags(globalThis.__rb_env__, {\n isServer,\n modeHint,\n })\n return\n }\n\n const viteDefinedEnv = resolveViteEnv()\n\n const sourceEnv = viteDefinedEnv\n ? cloneEnv(viteDefinedEnv)\n : hasWindow()\n ? cloneEnv(importMetaEnv)\n : cloneEnv(typeof process === \"undefined\" ? undefined : process.env)\n\n ensureDefaultEnvFlags(sourceEnv, {\n isServer,\n modeHint,\n })\n\n globalThis.__rb_env__ = sourceEnv\n}\n\nensureRbEnv()\n\nexport {}\n"],"names":["resolveViteEnv","__vite_env__","undefined","resolveImportMetaEnv","import","globalThis","__rb_env__","resolveModeHint","metaEnv","metaMode","MODE","length","process","env","NODE_ENV","ensureRbEnv","modeHint","importMetaEnv","isServer","hasWindow","hasRbEnv","ensureDefaultEnvFlags","viteDefinedEnv","sourceEnv","cloneEnv"],"mappings":";AAIA,MAAMA,iBAAiBA,MAAM;AAC3B,MAAI,OAAOC,iBAAiB,aAAa;AACvC,WAAOC;AAAAA,EACT;AAEA,SAAOD;AACT;AAEA,MAAME,uBAAuBA,MAC3B,OAAOC,gBAAgB,cAAcF,SAAYG,WAAWC;AAE9D,MAAMC,kBAAkBA,MAAM;AAC5B,QAAMC,UAAUL,qBAAAA;AAChB,QAAMM,WAAWD,SAASE;AAE1B,MAAI,OAAOD,aAAa,YAAYA,SAASE,SAAS,GAAG;AACvD,WAAOF;AAAAA,EACT;AAEA,MAAI,OAAOG,YAAY,eAAe,OAAOA,QAAQC,KAAKC,aAAa,UAAU;AAC/E,WAAOF,QAAQC,IAAIC;AAAAA,EACrB;AAEA,SAAOZ;AACT;AAEA,MAAMa,cAAcA,MAAM;AACxB,QAAMC,WAAWT,gBAAAA;AACjB,QAAMU,gBAAgBd,qBAAAA;AACtB,QAAMe,WAAW,CAACC,UAAAA;AAElB,MAAIC,YAAY;AACdC,0BAAsBhB,WAAWC,YAAY;AAAA,MAC3CY;AAAAA,MACAF;AAAAA,IAAAA,CACD;AACD;AAAA,EACF;AAEA,QAAMM,iBAAiBtB,eAAAA;AAEvB,QAAMuB,YAAYD,iBACdE,SAASF,cAAc,IACvBH,cACEK,SAASP,aAAa,IACtBO,SAAS,OAAOZ,YAAY,cAAcV,SAAYU,QAAQC,GAAG;AAEvEQ,wBAAsBE,WAAW;AAAA,IAC/BL;AAAAA,IACAF;AAAAA,EAAAA,CACD;AAEDX,aAAWC,aAAaiB;AAC1B;AAEAR,YAAAA;"}
1
+ {"version":3,"file":"polyfill.js","names":[],"sources":["../src/polyfill.ts"],"sourcesContent":["import { cloneEnv, hasRbEnv, hasWindow } from \"./polyfillShared\"\nimport { ensureDefaultEnvFlags } from \"./ensureDefaultEnvFlags\"\n\n\nconst resolveViteEnv = () => {\n if (typeof __vite_env__ === \"undefined\") {\n return undefined\n }\n\n return __vite_env__\n}\n\nconst resolveImportMetaEnv = () =>\n typeof import.meta === \"undefined\" ? undefined : import.meta.env\n\nconst resolveModeHint = () => {\n const metaEnv = resolveImportMetaEnv()\n const metaMode = metaEnv?.MODE\n\n if (typeof metaMode === \"string\" && metaMode.length > 0) {\n return metaMode\n }\n\n if (typeof process !== \"undefined\" && typeof process.env?.NODE_ENV === \"string\") {\n return process.env.NODE_ENV\n }\n\n return undefined\n}\n\nconst ensureRbEnv = () => {\n const modeHint = resolveModeHint()\n const importMetaEnv = resolveImportMetaEnv()\n const isServer = !hasWindow()\n\n if (hasRbEnv()) {\n ensureDefaultEnvFlags(globalThis.__rb_env__, {\n isServer,\n modeHint,\n })\n return\n }\n\n const viteDefinedEnv = resolveViteEnv()\n\n const sourceEnv = viteDefinedEnv\n ? cloneEnv(viteDefinedEnv)\n : hasWindow()\n ? cloneEnv(importMetaEnv)\n : cloneEnv(typeof process === \"undefined\" ? undefined : process.env)\n\n ensureDefaultEnvFlags(sourceEnv, {\n isServer,\n modeHint,\n })\n\n globalThis.__rb_env__ = sourceEnv\n}\n\nensureRbEnv()\n\nexport {}\n"],"mappings":";;AAIA,IAAM,uBAAuB;AAC3B,KAAI,OAAO,iBAAiB,YAC1B;AAGF,QAAO;;AAGT,IAAM,6BACJ,OAAO,OAAO,SAAS,cAAc,KAAA,IAAY,WAAW;IAExD,wBAAwB;CAE5B,MAAM,WADU,sBAAqB,EACX;AAE1B,KAAI,OAAO,aAAa,YAAY,SAAS,SAAS,EACpD,QAAO;AAGT,KAAI,OAAO,YAAY,eAAe,OAAA,QAAA,IAAA,aAAiC,SACrE,QAAA,QAAA,IAAA;;AAMJ,IAAM,oBAAoB;CACxB,MAAM,WAAW,iBAAgB;CACjC,MAAM,gBAAgB,sBAAqB;CAC3C,MAAM,WAAW,CAAC,WAAU;AAE5B,KAAI,UAAU,EAAE;AACd,wBAAsB,WAAW,YAAY;GAC3C;GACA;GACD,CAAA;AACD;;CAGF,MAAM,iBAAiB,gBAAe;CAEtC,MAAM,YAAY,iBACd,SAAS,eAAc,GACvB,WAAU,GACR,SAAS,cAAa,GACtB,SAAS,OAAO,YAAY,cAAc,KAAA,IAAY,QAAQ,IAAG;AAEvE,uBAAsB,WAAW;EAC/B;EACA;EACD,CAAA;AAED,YAAW,aAAa;;AAG1B,aAAY"}
@@ -1,27 +1,28 @@
1
- import { l as loadProcessEnv } from "./loadProcessEnv-DmxdiiLU.js";
2
- import { h as hasRbEnv, e as ensureDefaultEnvFlags, c as cloneEnv } from "./ensureDefaultEnvFlags-C1vDaR9V.js";
3
- const resolveModeHint = () => {
4
- if (typeof process === "undefined") {
5
- return void 0;
6
- }
7
- const mode = process.env?.NODE_ENV;
8
- return typeof mode === "string" && mode.length > 0 ? mode : void 0;
1
+ import { t as loadProcessEnv } from "./loadProcessEnv-Cy2oC_xy.js";
2
+ import { n as cloneEnv, r as hasRbEnv, t as ensureDefaultEnvFlags } from "./ensureDefaultEnvFlags-BprtoiWZ.js";
3
+ //#region src/polyfill.node.ts
4
+ var resolveModeHint = () => {
5
+ if (typeof process === "undefined") return;
6
+ const mode = process.env.NODE_ENV;
7
+ return typeof mode === "string" && mode.length > 0 ? mode : void 0;
9
8
  };
10
- const ensureServerEnv = () => {
11
- const modeHint = resolveModeHint();
12
- if (hasRbEnv()) {
13
- ensureDefaultEnvFlags(globalThis.__rb_env__, {
14
- isServer: true,
15
- modeHint
16
- });
17
- return;
18
- }
19
- loadProcessEnv();
20
- globalThis.__rb_env__ = cloneEnv(typeof process === "undefined" ? void 0 : process.env);
21
- ensureDefaultEnvFlags(globalThis.__rb_env__, {
22
- isServer: true,
23
- modeHint
24
- });
9
+ var ensureServerEnv = () => {
10
+ const modeHint = resolveModeHint();
11
+ if (hasRbEnv()) {
12
+ ensureDefaultEnvFlags(globalThis.__rb_env__, {
13
+ isServer: true,
14
+ modeHint
15
+ });
16
+ return;
17
+ }
18
+ loadProcessEnv();
19
+ globalThis.__rb_env__ = cloneEnv(typeof process === "undefined" ? void 0 : process.env);
20
+ ensureDefaultEnvFlags(globalThis.__rb_env__, {
21
+ isServer: true,
22
+ modeHint
23
+ });
25
24
  };
26
25
  ensureServerEnv();
27
- //# sourceMappingURL=polyfill.node.js.map
26
+ //#endregion
27
+
28
+ //# sourceMappingURL=polyfill.node.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"polyfill.node.js","sources":["../src/polyfill.node.ts"],"sourcesContent":["import { loadProcessEnv } from \"./loadProcessEnv\"\nimport { cloneEnv, hasRbEnv } from \"./polyfillShared\"\nimport { ensureDefaultEnvFlags } from \"./ensureDefaultEnvFlags\"\n\n\nconst resolveModeHint = () => {\n if (typeof process === \"undefined\") {\n return undefined\n }\n\n const mode = process.env?.NODE_ENV\n\n return typeof mode === \"string\" && mode.length > 0 ? mode : undefined\n}\n\nconst ensureServerEnv = () => {\n const modeHint = resolveModeHint()\n\n if (hasRbEnv()) {\n ensureDefaultEnvFlags(globalThis.__rb_env__, {\n isServer: true,\n modeHint,\n })\n return\n }\n\n loadProcessEnv()\n\n globalThis.__rb_env__ = cloneEnv(typeof process === \"undefined\" ? undefined : process.env)\n\n ensureDefaultEnvFlags(globalThis.__rb_env__, {\n isServer: true,\n modeHint,\n })\n}\n\nensureServerEnv()\n\nexport {}\n"],"names":["resolveModeHint","process","undefined","mode","env","NODE_ENV","length","ensureServerEnv","modeHint","hasRbEnv","ensureDefaultEnvFlags","globalThis","__rb_env__","isServer","loadProcessEnv","cloneEnv"],"mappings":";;AAKA,MAAMA,kBAAkBA,MAAM;AAC5B,MAAI,OAAOC,YAAY,aAAa;AAClC,WAAOC;AAAAA,EACT;AAEA,QAAMC,OAAOF,QAAQG,KAAKC;AAE1B,SAAO,OAAOF,SAAS,YAAYA,KAAKG,SAAS,IAAIH,OAAOD;AAC9D;AAEA,MAAMK,kBAAkBA,MAAM;AAC5B,QAAMC,WAAWR,gBAAAA;AAEjB,MAAIS,YAAY;AACdC,0BAAsBC,WAAWC,YAAY;AAAA,MAC3CC,UAAU;AAAA,MACVL;AAAAA,IAAAA,CACD;AACD;AAAA,EACF;AAEAM,iBAAAA;AAEAH,aAAWC,aAAaG,SAAS,OAAOd,YAAY,cAAcC,SAAYD,QAAQG,GAAG;AAEzFM,wBAAsBC,WAAWC,YAAY;AAAA,IAC3CC,UAAU;AAAA,IACVL;AAAAA,EAAAA,CACD;AACH;AAEAD,gBAAAA;"}
1
+ {"version":3,"file":"polyfill.node.js","names":["loadProcessEnv","cloneEnv","hasRbEnv","ensureDefaultEnvFlags","resolveModeHint","process","undefined","mode","env","NODE_ENV","length","ensureServerEnv","modeHint","globalThis","__rb_env__","isServer"],"sources":["../src/polyfill.node.ts"],"sourcesContent":["import { loadProcessEnv } from \"./loadProcessEnv\"\nimport { cloneEnv, hasRbEnv } from \"./polyfillShared\"\nimport { ensureDefaultEnvFlags } from \"./ensureDefaultEnvFlags\"\n\n\nconst resolveModeHint = () => {\n if (typeof process === \"undefined\") {\n return undefined\n }\n\n const mode = process.env?.NODE_ENV\n\n return typeof mode === \"string\" && mode.length > 0 ? mode : undefined\n}\n\nconst ensureServerEnv = () => {\n const modeHint = resolveModeHint()\n\n if (hasRbEnv()) {\n ensureDefaultEnvFlags(globalThis.__rb_env__, {\n isServer: true,\n modeHint,\n })\n return\n }\n\n loadProcessEnv()\n\n globalThis.__rb_env__ = cloneEnv(typeof process === \"undefined\" ? undefined : process.env)\n\n ensureDefaultEnvFlags(globalThis.__rb_env__, {\n isServer: true,\n modeHint,\n })\n}\n\nensureServerEnv()\n\nexport {}\n"],"mappings":";;;AAKA,IAAMI,wBAAwB;AAC5B,KAAI,OAAOC,YAAY,YACrB;CAGF,MAAME,OAAAA,QAAAA,IAAAA;AAEN,QAAO,OAAOA,SAAS,YAAYA,KAAKG,SAAS,IAAIH,OAAOD,KAAAA;;AAG9D,IAAMK,wBAAwB;CAC5B,MAAMC,WAAWR,iBAAiB;AAElC,KAAIF,UAAU,EAAE;AACdC,wBAAsBU,WAAWC,YAAY;GAC3CC,UAAU;GACVH;GACD,CAAC;AACF;;AAGFZ,iBAAgB;AAEhBa,YAAWC,aAAab,SAAS,OAAOI,YAAY,cAAcC,KAAAA,IAAYD,QAAQG,IAAI;AAE1FL,uBAAsBU,WAAWC,YAAY;EAC3CC,UAAU;EACVH;EACD,CAAC;;AAGJD,iBAAiB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rpcbase/env",
3
- "version": "0.91.0",
3
+ "version": "0.93.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,40 +0,0 @@
1
- const cloneEnv = (source) => ({
2
- ...source ?? {}
3
- });
4
- const hasWindow = () => typeof globalThis === "object" && "window" in globalThis;
5
- const hasRbEnv = () => typeof globalThis.__rb_env__ !== "undefined" && globalThis.__rb_env__ !== null;
6
- const pickMode = (modeHint, isServer) => {
7
- if (typeof modeHint === "string" && modeHint.length > 0) {
8
- return modeHint;
9
- }
10
- if (typeof process !== "undefined" && typeof process.env?.NODE_ENV === "string") {
11
- return process.env.NODE_ENV;
12
- }
13
- return "development";
14
- };
15
- const ensureDefaultEnvFlags = (env, hints) => {
16
- if (!env) {
17
- return;
18
- }
19
- const target = env;
20
- target.SSR = hints.isServer;
21
- if (typeof target.MODE !== "string" || target.MODE.length === 0) {
22
- target.MODE = pickMode(hints.modeHint, hints.isServer);
23
- }
24
- if (typeof target.DEV !== "boolean") {
25
- target.DEV = target.MODE === "development";
26
- }
27
- if (typeof target.PROD !== "boolean") {
28
- target.PROD = !target.DEV;
29
- }
30
- if (typeof target.BASE_URL !== "string" || target.BASE_URL.length === 0) {
31
- target.BASE_URL = "/";
32
- }
33
- };
34
- export {
35
- hasWindow as a,
36
- cloneEnv as c,
37
- ensureDefaultEnvFlags as e,
38
- hasRbEnv as h
39
- };
40
- //# sourceMappingURL=ensureDefaultEnvFlags-C1vDaR9V.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ensureDefaultEnvFlags-C1vDaR9V.js","sources":["../src/polyfillShared.ts","../src/ensureDefaultEnvFlags.ts"],"sourcesContent":["declare global {\n var __rb_env__: Record<string, unknown> | undefined\n}\n\nexport const cloneEnv = <T extends Record<string, unknown> | undefined>(source: T) => ({\n ...(source ?? {}),\n})\n\nexport const hasWindow = () => typeof globalThis === \"object\" && \"window\" in globalThis\n\nexport const hasRbEnv = () => typeof globalThis.__rb_env__ !== \"undefined\" && globalThis.__rb_env__ !== null\n\nexport {}\n","type EnvRecord = Record<string, unknown> | undefined\n\ntype MutableEnv = Record<string, unknown> & {\n SSR?: unknown\n DEV?: unknown\n PROD?: unknown\n MODE?: unknown\n BASE_URL?: unknown\n}\n\ntype FlagHints = {\n isServer: boolean\n modeHint?: string\n}\n\nconst pickMode = (modeHint: string | undefined, isServer: boolean) => {\n if (typeof modeHint === \"string\" && modeHint.length > 0) {\n return modeHint\n }\n\n if (typeof process !== \"undefined\" && typeof process.env?.NODE_ENV === \"string\") {\n return process.env.NODE_ENV\n }\n\n // Default to development when no hints are available to avoid accidentally\n // treating local/SSR dev runs as production just because NODE_ENV is unset.\n return \"development\"\n}\n\nexport const ensureDefaultEnvFlags = (env: EnvRecord, hints: FlagHints) => {\n if (!env) {\n return\n }\n\n const target = env as MutableEnv\n\n // Always reflect the current runtime; SSR flag can differ between server render\n // and client hydration, so overwrite instead of only setting once.\n target.SSR = hints.isServer\n\n if (typeof target.MODE !== \"string\" || target.MODE.length === 0) {\n target.MODE = pickMode(hints.modeHint, hints.isServer)\n }\n\n if (typeof target.DEV !== \"boolean\") {\n target.DEV = target.MODE === \"development\"\n }\n\n if (typeof target.PROD !== \"boolean\") {\n target.PROD = !target.DEV\n }\n\n if (typeof target.BASE_URL !== \"string\" || target.BASE_URL.length === 0) {\n target.BASE_URL = \"/\"\n }\n}\n\nexport default ensureDefaultEnvFlags\n"],"names":["cloneEnv","source","hasWindow","globalThis","hasRbEnv","__rb_env__","pickMode","modeHint","isServer","length","process","env","NODE_ENV","ensureDefaultEnvFlags","hints","target","SSR","MODE","DEV","PROD","BASE_URL"],"mappings":"AAIO,MAAMA,WAAW,CAAgDC,YAAe;AAAA,EACrF,GAAIA,UAAU,CAAA;AAChB;AAEO,MAAMC,YAAYA,MAAM,OAAOC,eAAe,YAAY,YAAYA;AAEtE,MAAMC,WAAWA,MAAM,OAAOD,WAAWE,eAAe,eAAeF,WAAWE,eAAe;ACKxG,MAAMC,WAAWA,CAACC,UAA8BC,aAAsB;AACpE,MAAI,OAAOD,aAAa,YAAYA,SAASE,SAAS,GAAG;AACvD,WAAOF;AAAAA,EACT;AAEA,MAAI,OAAOG,YAAY,eAAe,OAAOA,QAAQC,KAAKC,aAAa,UAAU;AAC/E,WAAOF,QAAQC,IAAIC;AAAAA,EACrB;AAIA,SAAO;AACT;AAEO,MAAMC,wBAAwBA,CAACF,KAAgBG,UAAqB;AACzE,MAAI,CAACH,KAAK;AACR;AAAA,EACF;AAEA,QAAMI,SAASJ;AAIfI,SAAOC,MAAMF,MAAMN;AAEnB,MAAI,OAAOO,OAAOE,SAAS,YAAYF,OAAOE,KAAKR,WAAW,GAAG;AAC/DM,WAAOE,OAAOX,SAASQ,MAAMP,UAAUO,MAAMN,QAAQ;AAAA,EACvD;AAEA,MAAI,OAAOO,OAAOG,QAAQ,WAAW;AACnCH,WAAOG,MAAMH,OAAOE,SAAS;AAAA,EAC/B;AAEA,MAAI,OAAOF,OAAOI,SAAS,WAAW;AACpCJ,WAAOI,OAAO,CAACJ,OAAOG;AAAAA,EACxB;AAEA,MAAI,OAAOH,OAAOK,aAAa,YAAYL,OAAOK,SAASX,WAAW,GAAG;AACvEM,WAAOK,WAAW;AAAA,EACpB;AACF;"}
@@ -1,92 +0,0 @@
1
- import dotenv from "dotenv";
2
- var main = {};
3
- var hasRequiredMain;
4
- function requireMain() {
5
- if (hasRequiredMain) return main;
6
- hasRequiredMain = 1;
7
- function _resolveEscapeSequences(value) {
8
- return value.replace(/\\\$/g, "$");
9
- }
10
- function expandValue(value, processEnv, runningParsed) {
11
- const env = { ...runningParsed, ...processEnv };
12
- const regex = new RegExp("(?<!\\\\)\\${([^{}]+)}|(?<!\\\\)\\$([A-Za-z_][A-Za-z0-9_]*)", "g");
13
- let result = value;
14
- let match;
15
- const seen = /* @__PURE__ */ new Set();
16
- while ((match = regex.exec(result)) !== null) {
17
- seen.add(result);
18
- const [template, bracedExpression, unbracedExpression] = match;
19
- const expression = bracedExpression || unbracedExpression;
20
- const opRegex = /(:\+|\+|:-|-)/;
21
- const opMatch = expression.match(opRegex);
22
- const splitter = opMatch ? opMatch[0] : null;
23
- const r = expression.split(splitter);
24
- let defaultValue;
25
- let value2;
26
- const key = r.shift();
27
- if ([":+", "+"].includes(splitter)) {
28
- defaultValue = env[key] ? r.join(splitter) : "";
29
- value2 = null;
30
- } else {
31
- defaultValue = r.join(splitter);
32
- value2 = env[key];
33
- }
34
- if (value2) {
35
- if (seen.has(value2)) {
36
- result = result.replace(template, defaultValue);
37
- } else {
38
- result = result.replace(template, value2);
39
- }
40
- } else {
41
- result = result.replace(template, defaultValue);
42
- }
43
- if (result === runningParsed[key]) {
44
- break;
45
- }
46
- regex.lastIndex = 0;
47
- }
48
- return result;
49
- }
50
- function expand(options) {
51
- const runningParsed = {};
52
- let processEnv = process.env;
53
- if (options && options.processEnv != null) {
54
- processEnv = options.processEnv;
55
- }
56
- for (const key in options.parsed) {
57
- let value = options.parsed[key];
58
- if (processEnv[key] && processEnv[key] !== value) {
59
- value = processEnv[key];
60
- } else {
61
- value = expandValue(value, processEnv, runningParsed);
62
- }
63
- options.parsed[key] = _resolveEscapeSequences(value);
64
- runningParsed[key] = _resolveEscapeSequences(value);
65
- }
66
- for (const processKey in options.parsed) {
67
- processEnv[processKey] = options.parsed[processKey];
68
- }
69
- return options;
70
- }
71
- main.expand = expand;
72
- return main;
73
- }
74
- var mainExports = requireMain();
75
- let hasLoaded = false;
76
- const loadProcessEnv = () => {
77
- if (typeof process === "undefined") {
78
- return void 0;
79
- }
80
- if (!hasLoaded) {
81
- const result = dotenv.config({
82
- quiet: true
83
- });
84
- mainExports.expand(result);
85
- hasLoaded = true;
86
- }
87
- return process.env;
88
- };
89
- export {
90
- loadProcessEnv as l
91
- };
92
- //# sourceMappingURL=loadProcessEnv-DmxdiiLU.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loadProcessEnv-DmxdiiLU.js","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"],"names":["value","hasLoaded","loadProcessEnv","process","undefined","result","dotenv","config","quiet","expand","env"],"mappings":";;;;;;AAEA,WAAS,wBAAyB,OAAO;AACvC,WAAO,MAAM,QAAQ,SAAS,GAAG;AAAA,EACnC;AAEA,WAAS,YAAa,OAAO,YAAY,eAAe;AACtD,UAAM,MAAM,EAAE,GAAG,eAAe,GAAG,WAAU;AAE7C,UAAM,QAAQ,WAAA,+DAAA,GAAA;AAEd,QAAI,SAAS;AACb,QAAI;AACJ,UAAM,OAAO,oBAAI,IAAG;AAEpB,YAAQ,QAAQ,MAAM,KAAK,MAAM,OAAO,MAAM;AAC5C,WAAK,IAAI,MAAM;AAEf,YAAM,CAAC,UAAU,kBAAkB,kBAAkB,IAAI;AACzD,YAAM,aAAa,oBAAoB;AAGvC,YAAM,UAAU;AAEhB,YAAM,UAAU,WAAW,MAAM,OAAO;AACxC,YAAM,WAAW,UAAU,QAAQ,CAAC,IAAI;AAExC,YAAM,IAAI,WAAW,MAAM,QAAQ;AAEnC,UAAI;AACJ,UAAIA;AAEJ,YAAM,MAAM,EAAE,MAAK;AAEnB,UAAI,CAAC,MAAM,GAAG,EAAE,SAAS,QAAQ,GAAG;AAClC,uBAAe,IAAI,GAAG,IAAI,EAAE,KAAK,QAAQ,IAAI;AAC7C,QAAAA,SAAQ;AAAA,MACd,OAAW;AACL,uBAAe,EAAE,KAAK,QAAQ;AAC9B,QAAAA,SAAQ,IAAI,GAAG;AAAA,MACrB;AAEI,UAAIA,QAAO;AAET,YAAI,KAAK,IAAIA,MAAK,GAAG;AACnB,mBAAS,OAAO,QAAQ,UAAU,YAAY;AAAA,QACtD,OAAa;AACL,mBAAS,OAAO,QAAQ,UAAUA,MAAK;AAAA,QAC/C;AAAA,MACA,OAAW;AACL,iBAAS,OAAO,QAAQ,UAAU,YAAY;AAAA,MACpD;AAGI,UAAI,WAAW,cAAc,GAAG,GAAG;AACjC;AAAA,MACN;AAEI,YAAM,YAAY;AAAA,IACtB;AAEE,WAAO;AAAA,EACT;AAEA,WAAS,OAAQ,SAAS;AAExB,UAAM,gBAAgB,CAAA;AAEtB,QAAI,aAAa,QAAQ;AACzB,QAAI,WAAW,QAAQ,cAAc,MAAM;AACzC,mBAAa,QAAQ;AAAA,IACzB;AAGE,eAAW,OAAO,QAAQ,QAAQ;AAChC,UAAI,QAAQ,QAAQ,OAAO,GAAG;AAG9B,UAAI,WAAW,GAAG,KAAK,WAAW,GAAG,MAAM,OAAO;AAChD,gBAAQ,WAAW,GAAG;AAAA,MAC5B,OAAW;AACL,gBAAQ,YAAY,OAAO,YAAY,aAAa;AAAA,MAC1D;AAEI,cAAQ,OAAO,GAAG,IAAI,wBAAwB,KAAK;AAGnD,oBAAc,GAAG,IAAI,wBAAwB,KAAK;AAAA,IACtD;AAEE,eAAW,cAAc,QAAQ,QAAQ;AACvC,iBAAW,UAAU,IAAI,QAAQ,OAAO,UAAU;AAAA,IACtD;AAEE,WAAO;AAAA,EACT;AAEA,OAAA,SAAwB;;;;AC7FxB,IAAIC,YAAY;AAET,MAAMC,iBAAiBA,MAAM;AAClC,MAAI,OAAOC,YAAY,aAAa;AAClC,WAAOC;AAAAA,EACT;AAEA,MAAI,CAACH,WAAW;AACd,UAAMI,SAASC,OAAOC,OAAO;AAAA,MAAEC,OAAO;AAAA,IAAA,CAAM;AAC5CC,gBAAAA,OAAOJ,MAAM;AACbJ,gBAAY;AAAA,EACd;AAEA,SAAOE,QAAQO;AACjB;","x_google_ignoreList":[0]}