@stryke/env 0.17.6 → 0.18.1

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/load-env.cjs CHANGED
@@ -9,47 +9,48 @@ exports.loadEnv = loadEnv;
9
9
  exports.loadEnvFile = loadEnvFile;
10
10
  exports.loadServerEnv = loadServerEnv;
11
11
  var _dotenvx = require("@dotenvx/dotenvx");
12
+ var _toArray = require("@stryke/convert/to-array");
13
+ var _exists = require("@stryke/fs/exists");
12
14
  var _readFile = require("@stryke/fs/read-file");
13
- var _exists = require("@stryke/path/exists");
14
15
  var _joinPaths = require("@stryke/path/join-paths");
15
16
  var _defu = _interopRequireDefault(require("defu"));
16
17
  var _types = require("./types.cjs");
17
18
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
- function getEnvFilesForMode(n, r = "production") {
19
- return [".env", ".env.local", `.env.${r}`, `.env.${r}.local`, `.env.local.${r}`].map(s => (0, _joinPaths.joinPaths)(n, s));
19
+ function getEnvFilesForMode(r, s = "production") {
20
+ return [".env", ".env.local", `.env.${s}`, `.env.${s}.local`, `.env.local.${s}`].map(i => (0, _joinPaths.joinPaths)(r, i));
20
21
  }
21
- async function loadEnvFile(n, r = []) {
22
- const s = Array.isArray(r) ? r : [r];
23
- return (await Promise.all((r.length > 0 ? s.map(t => (0, _joinPaths.joinPaths)(t, n)) : [n]).map(async t => {
24
- if ((0, _exists.existsSync)(t)) return (0, _readFile.readFile)(t);
25
- }))).reduce((t, c) => {
26
- if (!c) return t;
27
- const a = (0, _dotenvx.parse)(c, {
22
+ async function loadEnvFile(r, s = []) {
23
+ const i = Array.isArray(s) ? s : [s];
24
+ return (await Promise.all((s.length > 0 ? i.map(e => (0, _joinPaths.joinPaths)(e, r)) : [r]).map(async e => {
25
+ if ((0, _exists.existsSync)(e)) return (0, _readFile.readFile)(e);
26
+ }))).reduce((e, a) => {
27
+ if (!a) return e;
28
+ const u = (0, _dotenvx.parse)(a, {
28
29
  processEnv: {
29
30
  ...process.env
30
31
  },
31
32
  privateKey: process.env.DOTENV_PRIVATE_KEY || process.env.STORM_PRIVATE_KEY
32
33
  });
33
- return (0, _defu.default)(a, t);
34
+ return (0, _defu.default)(u, e);
34
35
  }, {});
35
36
  }
36
- async function loadEnv(n, r, s) {
37
- if (r === "local") throw new Error('"local" cannot be used as a mode name because it conflicts with the .local postfix for .env files.');
38
- const t = s ? Array.isArray(s) ? s : [s] : [],
39
- c = Array.isArray(n) ? n : [n],
40
- a = {},
41
- E = c.reduce((e, i) => (e.push(...getEnvFilesForMode(i, r).filter(u => !e.includes(u))), e), []);
42
- let o = (await Promise.all(E.map(async e => loadEnvFile(e)))).reduce((e, i) => (0, _defu.default)(i, e), {});
37
+ async function loadEnv(r, s, i) {
38
+ if (s === "local") throw new Error('"local" cannot be used as a mode name because it conflicts with the .local postfix for .env files.');
39
+ const e = (0, _toArray.toArray)(i).reduce((n, t) => (t && (n.includes(t.endsWith("_") ? t : `${t}_`) || n.push(t.endsWith("_") ? t : `${t}_`), n.includes(`${t.endsWith("_") ? t : `${t}_`}PUBLIC_`) || n.push(`${t.endsWith("_") ? t : `${t}_`}PUBLIC_`)), n), []),
40
+ a = Array.isArray(r) ? r : [r],
41
+ u = {},
42
+ l = a.reduce((n, t) => (n.push(...getEnvFilesForMode(t, s).filter(c => !n.includes(c))), n), []);
43
+ let o = (await Promise.all(l.map(async n => loadEnvFile(n)))).reduce((n, t) => (0, _defu.default)(t, n), {});
43
44
  if (o.NODE_ENV && process.env.VITE_USER_NODE_ENV === void 0 && (process.env.VITE_USER_NODE_ENV = JSON.stringify(o.NODE_ENV)), o.BROWSER && process.env.BROWSER === void 0 && (process.env.BROWSER = JSON.stringify(o.BROWSER)), o.BROWSER_ARGS && process.env.BROWSER_ARGS === void 0 && (process.env.BROWSER_ARGS = JSON.stringify(o.BROWSER_ARGS)), o = (0, _defu.default)({
44
45
  ...process.env
45
- }, o), t.length === 0) return o;
46
- for (const [e, i] of Object.entries(o)) t.some(u => e.startsWith(u)) && (a[e] = String(i));
47
- for (const e in process.env) t.some(i => e.startsWith(i)) && (a[e] = process.env[e]);
48
- return a;
46
+ }, o), e.length === 0) return o;
47
+ for (const [n, t] of Object.entries(o)) e.some(c => n.startsWith(c)) && (u[n] = String(t));
48
+ for (const n in process.env) e.some(t => n.startsWith(t)) && (u[n] = process.env[n]);
49
+ return u;
49
50
  }
50
- async function loadClientEnv(n, r, s = _types.ENV_PREFIXES) {
51
- return loadEnv(n, r, s);
51
+ async function loadClientEnv(r, s, i = _types.ENV_PREFIXES) {
52
+ return loadEnv(r, s, i);
52
53
  }
53
- async function loadServerEnv(n, r) {
54
- return loadEnv(n, r);
54
+ async function loadServerEnv(r, s) {
55
+ return loadEnv(r, s);
55
56
  }
package/dist/load-env.mjs CHANGED
@@ -1 +1 @@
1
- import{parse as v}from"@dotenvx/dotenvx";import{readFile as l}from"@stryke/fs/read-file";import{existsSync as g}from"@stryke/path/exists";import{joinPaths as f}from"@stryke/path/join-paths";import p from"defu";import{ENV_PREFIXES as m}from"./types";export function getEnvFilesForMode(n,r="production"){return[".env",".env.local",`.env.${r}`,`.env.${r}.local`,`.env.local.${r}`].map(s=>f(n,s))}export async function loadEnvFile(n,r=[]){const s=Array.isArray(r)?r:[r];return(await Promise.all((r.length>0?s.map(t=>f(t,n)):[n]).map(async t=>{if(g(t))return l(t)}))).reduce((t,c)=>{if(!c)return t;const a=v(c,{processEnv:{...process.env},privateKey:process.env.DOTENV_PRIVATE_KEY||process.env.STORM_PRIVATE_KEY});return p(a,t)},{})}export async function loadEnv(n,r,s){if(r==="local")throw new Error('"local" cannot be used as a mode name because it conflicts with the .local postfix for .env files.');const t=s?Array.isArray(s)?s:[s]:[],c=Array.isArray(n)?n:[n],a={},E=c.reduce((e,i)=>(e.push(...getEnvFilesForMode(i,r).filter(u=>!e.includes(u))),e),[]);let o=(await Promise.all(E.map(async e=>loadEnvFile(e)))).reduce((e,i)=>p(i,e),{});if(o.NODE_ENV&&process.env.VITE_USER_NODE_ENV===void 0&&(process.env.VITE_USER_NODE_ENV=JSON.stringify(o.NODE_ENV)),o.BROWSER&&process.env.BROWSER===void 0&&(process.env.BROWSER=JSON.stringify(o.BROWSER)),o.BROWSER_ARGS&&process.env.BROWSER_ARGS===void 0&&(process.env.BROWSER_ARGS=JSON.stringify(o.BROWSER_ARGS)),o=p({...process.env},o),t.length===0)return o;for(const[e,i]of Object.entries(o))t.some(u=>e.startsWith(u))&&(a[e]=String(i));for(const e in process.env)t.some(i=>e.startsWith(i))&&(a[e]=process.env[e]);return a}export async function loadClientEnv(n,r,s=m){return loadEnv(n,r,s)}export async function loadServerEnv(n,r){return loadEnv(n,r)}
1
+ import{parse as E}from"@dotenvx/dotenvx";import{toArray as v}from"@stryke/convert/to-array";import{existsSync as d}from"@stryke/fs/exists";import{readFile as m}from"@stryke/fs/read-file";import{joinPaths as p}from"@stryke/path/join-paths";import f from"defu";import{ENV_PREFIXES as g}from"./types";export function getEnvFilesForMode(r,s="production"){return[".env",".env.local",`.env.${s}`,`.env.${s}.local`,`.env.local.${s}`].map(i=>p(r,i))}export async function loadEnvFile(r,s=[]){const i=Array.isArray(s)?s:[s];return(await Promise.all((s.length>0?i.map(e=>p(e,r)):[r]).map(async e=>{if(d(e))return m(e)}))).reduce((e,a)=>{if(!a)return e;const u=E(a,{processEnv:{...process.env},privateKey:process.env.DOTENV_PRIVATE_KEY||process.env.STORM_PRIVATE_KEY});return f(u,e)},{})}export async function loadEnv(r,s,i){if(s==="local")throw new Error('"local" cannot be used as a mode name because it conflicts with the .local postfix for .env files.');const e=v(i).reduce((n,t)=>(t&&(n.includes(t.endsWith("_")?t:`${t}_`)||n.push(t.endsWith("_")?t:`${t}_`),n.includes(`${t.endsWith("_")?t:`${t}_`}PUBLIC_`)||n.push(`${t.endsWith("_")?t:`${t}_`}PUBLIC_`)),n),[]),a=Array.isArray(r)?r:[r],u={},l=a.reduce((n,t)=>(n.push(...getEnvFilesForMode(t,s).filter(c=>!n.includes(c))),n),[]);let o=(await Promise.all(l.map(async n=>loadEnvFile(n)))).reduce((n,t)=>f(t,n),{});if(o.NODE_ENV&&process.env.VITE_USER_NODE_ENV===void 0&&(process.env.VITE_USER_NODE_ENV=JSON.stringify(o.NODE_ENV)),o.BROWSER&&process.env.BROWSER===void 0&&(process.env.BROWSER=JSON.stringify(o.BROWSER)),o.BROWSER_ARGS&&process.env.BROWSER_ARGS===void 0&&(process.env.BROWSER_ARGS=JSON.stringify(o.BROWSER_ARGS)),o=f({...process.env},o),e.length===0)return o;for(const[n,t]of Object.entries(o))e.some(c=>n.startsWith(c))&&(u[n]=String(t));for(const n in process.env)e.some(t=>n.startsWith(t))&&(u[n]=process.env[n]);return u}export async function loadClientEnv(r,s,i=g){return loadEnv(r,s,i)}export async function loadServerEnv(r,s){return loadEnv(r,s)}
package/dist/types.cjs CHANGED
@@ -4,4 +4,4 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.ENV_PREFIXES = void 0;
7
- const ENV_PREFIXES = exports.ENV_PREFIXES = ["VITE_", "ONE_", "STORM_PUBLIC_", "STORM_", "STORM_STACK_PUBLIC_", "STORM_STACK_", "NEXT_PUBLIC_"];
7
+ const ENV_PREFIXES = exports.ENV_PREFIXES = ["VITE_", "ONE_", "STORM_", "STORM_STACK_", "NEXT_", "VERCEL_"];
package/dist/types.mjs CHANGED
@@ -1 +1 @@
1
- export const ENV_PREFIXES=["VITE_","ONE_","STORM_PUBLIC_","STORM_","STORM_STACK_PUBLIC_","STORM_STACK_","NEXT_PUBLIC_"];
1
+ export const ENV_PREFIXES=["VITE_","ONE_","STORM_","STORM_STACK_","NEXT_","VERCEL_"];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stryke/env",
3
- "version": "0.17.6",
3
+ "version": "0.18.1",
4
4
  "type": "module",
5
5
  "description": "A package containing utility functions to handle environment specific processes",
6
6
  "repository": {
@@ -11,8 +11,9 @@
11
11
  "private": false,
12
12
  "dependencies": {
13
13
  "@dotenvx/dotenvx": "1.35.0",
14
- "@stryke/fs": "^0.25.0",
15
- "@stryke/path": "^0.12.5",
14
+ "@stryke/convert": "^0.3.1",
15
+ "@stryke/fs": "^0.26.0",
16
+ "@stryke/path": "^0.13.0",
16
17
  "@stryke/string-format": "^0.10.0",
17
18
  "defu": "^6.1.4"
18
19
  },
@@ -174,5 +175,5 @@
174
175
  "main": "./dist/index.cjs",
175
176
  "module": "./dist/index.mjs",
176
177
  "types": "./dist/index.d.ts",
177
- "gitHead": "a4337f9cb38835e8f5b60e857c08235552b7db77"
178
+ "gitHead": "dc317cbe47e06f3b3f7887b9176087c3de488853"
178
179
  }