@rpcbase/env 0.22.0 → 0.23.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,41 @@
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 isServer ? "production" : "development";
14
+ };
15
+ const ensureDefaultEnvFlags = (env, hints) => {
16
+ if (!env) {
17
+ return;
18
+ }
19
+ const target = env;
20
+ if (typeof target.SSR !== "boolean") {
21
+ target.SSR = hints.isServer;
22
+ }
23
+ if (typeof target.MODE !== "string" || target.MODE.length === 0) {
24
+ target.MODE = pickMode(hints.modeHint, hints.isServer);
25
+ }
26
+ if (typeof target.DEV !== "boolean") {
27
+ target.DEV = target.MODE === "development";
28
+ }
29
+ if (typeof target.PROD !== "boolean") {
30
+ target.PROD = !target.DEV;
31
+ }
32
+ if (typeof target.BASE_URL !== "string" || target.BASE_URL.length === 0) {
33
+ target.BASE_URL = "/";
34
+ }
35
+ };
36
+ export {
37
+ hasWindow as a,
38
+ cloneEnv as c,
39
+ ensureDefaultEnvFlags as e,
40
+ hasRbEnv as h
41
+ };
@@ -0,0 +1,8 @@
1
+ type EnvRecord = Record<string, unknown> | undefined;
2
+ type FlagHints = {
3
+ isServer: boolean;
4
+ modeHint?: string;
5
+ };
6
+ export declare const ensureDefaultEnvFlags: (env: EnvRecord, hints: FlagHints) => void;
7
+ export default ensureDefaultEnvFlags;
8
+ //# sourceMappingURL=ensureDefaultEnvFlags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensureDefaultEnvFlags.d.ts","sourceRoot":"","sources":["../src/ensureDefaultEnvFlags.ts"],"names":[],"mappings":"AAAA,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;AAUpD,KAAK,SAAS,GAAG;IACf,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAcD,eAAO,MAAM,qBAAqB,GAAI,KAAK,SAAS,EAAE,OAAO,SAAS,SA0BrE,CAAA;AAED,eAAe,qBAAqB,CAAA"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
- declare let env: any;
1
+ type EnvRecord = Record<string, string | boolean | undefined>;
2
+ declare let env: EnvRecord;
2
3
  export default env;
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,QAAA,IAAI,GAAG,KAAA,CAAA;AAaP,eAAe,GAAG,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAA;AAE7D,QAAA,IAAI,GAAG,EAAE,SAAS,CAAA;AAalB,eAAe,GAAG,CAAA"}
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@ if (isServer) {
5
5
  loadProcessEnv();
6
6
  env = process.env;
7
7
  } else {
8
- env = globalThis.__rb_env__;
8
+ env = globalThis.__rb_env__ ?? {};
9
9
  }
10
10
  const env_default = env;
11
11
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"polyfill.d.ts","sourceRoot":"","sources":["../src/polyfill.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,CAAA"}
1
+ {"version":3,"file":"polyfill.d.ts","sourceRoot":"","sources":["../src/polyfill.ts"],"names":[],"mappings":"AA6DA,OAAO,EAAE,CAAA"}
package/dist/polyfill.js CHANGED
@@ -1,10 +1,40 @@
1
- import { h as hasRbEnv, a as hasWindow, c as cloneEnv } from "./polyfillShared-Cr5QEVF7.js";
1
+ import { h as hasRbEnv, e as ensureDefaultEnvFlags, c as cloneEnv, a as hasWindow } from "./ensureDefaultEnvFlags-BK0agrd6.js";
2
2
  const __vite_import_meta_env__ = { "BASE_URL": "/", "DEV": false, "MODE": "production", "PROD": true, "SSR": false };
3
+ const resolveViteEnv = () => {
4
+ if (typeof __vite_env__ === "undefined") {
5
+ return void 0;
6
+ }
7
+ return __vite_env__;
8
+ };
9
+ const resolveImportMetaEnv = () => typeof import.meta === "undefined" ? void 0 : __vite_import_meta_env__;
10
+ const resolveModeHint = () => {
11
+ const metaEnv = resolveImportMetaEnv();
12
+ const metaMode = metaEnv?.MODE;
13
+ if (typeof metaMode === "string" && metaMode.length > 0) {
14
+ return metaMode;
15
+ }
16
+ if (typeof process !== "undefined" && typeof process.env?.NODE_ENV === "string") {
17
+ return process.env.NODE_ENV;
18
+ }
19
+ return void 0;
20
+ };
3
21
  const ensureRbEnv = () => {
22
+ const modeHint = resolveModeHint();
23
+ const importMetaEnv = resolveImportMetaEnv();
24
+ const isServer = !hasWindow();
4
25
  if (hasRbEnv()) {
26
+ ensureDefaultEnvFlags(globalThis.__rb_env__, {
27
+ isServer,
28
+ modeHint
29
+ });
5
30
  return;
6
31
  }
7
- const sourceEnv = hasWindow() ? cloneEnv(typeof import.meta === "undefined" ? void 0 : __vite_import_meta_env__) : cloneEnv(typeof process === "undefined" ? void 0 : process.env);
32
+ const viteDefinedEnv = resolveViteEnv();
33
+ const sourceEnv = viteDefinedEnv ? cloneEnv(viteDefinedEnv) : hasWindow() ? cloneEnv(importMetaEnv) : cloneEnv(typeof process === "undefined" ? void 0 : process.env);
34
+ ensureDefaultEnvFlags(sourceEnv, {
35
+ isServer,
36
+ modeHint
37
+ });
8
38
  globalThis.__rb_env__ = sourceEnv;
9
39
  };
10
40
  ensureRbEnv();
@@ -1 +1 @@
1
- {"version":3,"file":"polyfill.node.d.ts","sourceRoot":"","sources":["../src/polyfill.node.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,CAAA"}
1
+ {"version":3,"file":"polyfill.node.d.ts","sourceRoot":"","sources":["../src/polyfill.node.ts"],"names":[],"mappings":"AAsCA,OAAO,EAAE,CAAA"}
@@ -1,10 +1,26 @@
1
1
  import { l as loadProcessEnv } from "./loadProcessEnv-C2ldVaD0.js";
2
- import { h as hasRbEnv, c as cloneEnv } from "./polyfillShared-Cr5QEVF7.js";
2
+ import { h as hasRbEnv, e as ensureDefaultEnvFlags, c as cloneEnv } from "./ensureDefaultEnvFlags-BK0agrd6.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;
9
+ };
3
10
  const ensureServerEnv = () => {
11
+ const modeHint = resolveModeHint();
4
12
  if (hasRbEnv()) {
13
+ ensureDefaultEnvFlags(globalThis.__rb_env__, {
14
+ isServer: true,
15
+ modeHint
16
+ });
5
17
  return;
6
18
  }
7
19
  loadProcessEnv();
8
20
  globalThis.__rb_env__ = cloneEnv(typeof process === "undefined" ? void 0 : process.env);
21
+ ensureDefaultEnvFlags(globalThis.__rb_env__, {
22
+ isServer: true,
23
+ modeHint
24
+ });
9
25
  };
10
26
  ensureServerEnv();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rpcbase/env",
3
- "version": "0.22.0",
3
+ "version": "0.23.0",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"
@@ -1,10 +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
- export {
7
- hasWindow as a,
8
- cloneEnv as c,
9
- hasRbEnv as h
10
- };