@stryke/env 0.8.0 → 0.9.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/ci-checks.cjs +1 -2
- package/dist/ci-checks.mjs +1 -1
- package/dist/get-env-paths.cjs +7 -8
- package/dist/get-env-paths.mjs +1 -1
- package/dist/load-env.cjs +23 -23
- package/dist/load-env.mjs +1 -1
- package/package.json +4 -6
package/dist/ci-checks.cjs
CHANGED
|
@@ -4,8 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.isInteractive = exports.isCI = void 0;
|
|
7
|
-
|
|
8
|
-
const isCI = (I = process.env) => !!(I.STORM_CI || I.CI || I.CONTINUOUS_INTEGRATION || I.BUILD_NUMBER || I.RUN_ID || I.AGOLA_GIT_REF || I.AC_APPCIRCLE || I.APPVEYOR || I.CODEBUILD || I.TF_BUILD || I.bamboo_planKey || I.BITBUCKET_COMMIT || I.BITRISE_IO || I.BUDDY_WORKSPACE_ID || I.BUILDKITE || I.CIRCLECI || I.CIRRUS_CI || I.CF_BUILD_ID || I.CM_BUILD_ID || I.CI_NAME || I.DRONE || I.DSARI || I.EARTHLY_CI || I.EAS_BUILD || I.GERRIT_PROJECT || I.GITEA_ACTIONS || I.GITHUB_ACTIONS || I.GITLAB_CI || I.GOCD || I.BUILDER_OUTPUT || I.HARNESS_BUILD_ID || I.JENKINS_URL || I.BUILD_ID || I.LAYERCI || I.MAGNUM || I.NETLIFY || I.NEVERCODE || I.PROW_JOB_ID || I.RELEASE_BUILD_ID || I.RENDER || I.SAILCI || I.HUDSON || I.JENKINS_URL || I.BUILD_ID || I.SCREWDRIVER || I.SEMAPHORE || I.SOURCEHUT || I.STRIDER || I.TASK_ID || I.RUN_ID || I.TEAMCITY_VERSION || I.TRAVIS || I.VELA || I.NOW_BUILDER || I.APPCENTER_BUILD_ID || I.CI_XCODE_PROJECT || I.XCS || _providers.providerInfo.ci !== !1),
|
|
7
|
+
const isCI = (I = process.env) => !!(I.STORM_CI || I.CI || I.CONTINUOUS_INTEGRATION || I.BUILD_NUMBER || I.RUN_ID || I.AGOLA_GIT_REF || I.AC_APPCIRCLE || I.APPVEYOR || I.CODEBUILD || I.TF_BUILD || I.bamboo_planKey || I.BITBUCKET_COMMIT || I.BITRISE_IO || I.BUDDY_WORKSPACE_ID || I.BUILDKITE || I.CIRCLECI || I.CIRRUS_CI || I.CF_BUILD_ID || I.CM_BUILD_ID || I.CI_NAME || I.DRONE || I.DSARI || I.EARTHLY_CI || I.EAS_BUILD || I.GERRIT_PROJECT || I.GITEA_ACTIONS || I.GITHUB_ACTIONS || I.GITLAB_CI || I.GOCD || I.BUILDER_OUTPUT || I.HARNESS_BUILD_ID || I.JENKINS_URL || I.BUILD_ID || I.LAYERCI || I.MAGNUM || I.NETLIFY || I.NEVERCODE || I.PROW_JOB_ID || I.RELEASE_BUILD_ID || I.RENDER || I.SAILCI || I.HUDSON || I.JENKINS_URL || I.BUILD_ID || I.SCREWDRIVER || I.SEMAPHORE || I.SOURCEHUT || I.STRIDER || I.TASK_ID || I.RUN_ID || I.TEAMCITY_VERSION || I.TRAVIS || I.VELA || I.NOW_BUILDER || I.APPCENTER_BUILD_ID || I.CI_XCODE_PROJECT || I.XCS),
|
|
9
8
|
isInteractive = (I = process.stdin) => !!(I?.isTTY && process.env.TERM !== "dumb");
|
|
10
9
|
exports.isInteractive = isInteractive;
|
|
11
10
|
exports.isCI = isCI;
|
package/dist/ci-checks.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
export const isCI=(I=process.env)=>!!(I.STORM_CI||I.CI||I.CONTINUOUS_INTEGRATION||I.BUILD_NUMBER||I.RUN_ID||I.AGOLA_GIT_REF||I.AC_APPCIRCLE||I.APPVEYOR||I.CODEBUILD||I.TF_BUILD||I.bamboo_planKey||I.BITBUCKET_COMMIT||I.BITRISE_IO||I.BUDDY_WORKSPACE_ID||I.BUILDKITE||I.CIRCLECI||I.CIRRUS_CI||I.CF_BUILD_ID||I.CM_BUILD_ID||I.CI_NAME||I.DRONE||I.DSARI||I.EARTHLY_CI||I.EAS_BUILD||I.GERRIT_PROJECT||I.GITEA_ACTIONS||I.GITHUB_ACTIONS||I.GITLAB_CI||I.GOCD||I.BUILDER_OUTPUT||I.HARNESS_BUILD_ID||I.JENKINS_URL||I.BUILD_ID||I.LAYERCI||I.MAGNUM||I.NETLIFY||I.NEVERCODE||I.PROW_JOB_ID||I.RELEASE_BUILD_ID||I.RENDER||I.SAILCI||I.HUDSON||I.JENKINS_URL||I.BUILD_ID||I.SCREWDRIVER||I.SEMAPHORE||I.SOURCEHUT||I.STRIDER||I.TASK_ID||I.RUN_ID||I.TEAMCITY_VERSION||I.TRAVIS||I.VELA||I.NOW_BUILDER||I.APPCENTER_BUILD_ID||I.CI_XCODE_PROJECT||I.XCS),isInteractive=(I=process.stdin)=>!!(I?.isTTY&&process.env.TERM!=="dumb");
|
package/dist/get-env-paths.cjs
CHANGED
|
@@ -6,13 +6,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.getEnvPaths = getEnvPaths;
|
|
7
7
|
var _joinPaths = require("@stryke/path/join-paths");
|
|
8
8
|
var _titleCase = require("@stryke/string-format/title-case");
|
|
9
|
-
var _isString = require("@stryke/type-checks/is-string");
|
|
10
9
|
var _nodeOs = _interopRequireDefault(require("node:os"));
|
|
11
10
|
var _nodePath = _interopRequireDefault(require("node:path"));
|
|
12
11
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
12
|
const n = _nodeOs.default.homedir(),
|
|
14
13
|
o = _nodeOs.default.tmpdir(),
|
|
15
|
-
|
|
14
|
+
D = e => {
|
|
16
15
|
const a = (0, _joinPaths.joinPaths)(n, "Library");
|
|
17
16
|
return {
|
|
18
17
|
data: (0, _joinPaths.joinPaths)(a, "Application Support", e),
|
|
@@ -22,7 +21,7 @@ const n = _nodeOs.default.homedir(),
|
|
|
22
21
|
temp: (0, _joinPaths.joinPaths)(o, e)
|
|
23
22
|
};
|
|
24
23
|
},
|
|
25
|
-
|
|
24
|
+
l = e => {
|
|
26
25
|
const a = process.env.APPDATA || (0, _joinPaths.joinPaths)(n, "AppData", "Roaming"),
|
|
27
26
|
t = process.env.LOCALAPPDATA || (0, _joinPaths.joinPaths)(n, "AppData", "Local"),
|
|
28
27
|
r = (0, _titleCase.titleCase)(e).trim().replace(/\s+/g, "");
|
|
@@ -34,7 +33,7 @@ const n = _nodeOs.default.homedir(),
|
|
|
34
33
|
temp: (0, _joinPaths.joinPaths)(o, e)
|
|
35
34
|
};
|
|
36
35
|
},
|
|
37
|
-
|
|
36
|
+
E = e => {
|
|
38
37
|
const a = _nodePath.default.basename(n);
|
|
39
38
|
return {
|
|
40
39
|
data: (0, _joinPaths.joinPaths)(process.env.XDG_DATA_HOME || (0, _joinPaths.joinPaths)(n, ".local", "share"), e),
|
|
@@ -47,12 +46,12 @@ const n = _nodeOs.default.homedir(),
|
|
|
47
46
|
function getEnvPaths(e = {}) {
|
|
48
47
|
let a = e.orgId || "storm-software";
|
|
49
48
|
if (!a) throw new Error("You need to provide an orgId to the `getEnvPaths` function");
|
|
50
|
-
e.suffix && (a += `-${
|
|
49
|
+
e.suffix && (a += `-${typeof e.suffix == "string" ? e.suffix : "nodejs"}`);
|
|
51
50
|
let t = {};
|
|
52
|
-
return process.platform === "darwin" ? t =
|
|
51
|
+
return process.platform === "darwin" ? t = D(a) : process.platform === "win32" ? t = l(a) : t = E(a), process.env.STORM_DATA_DIR ? t.data = process.env.STORM_DATA_DIR : process.env.STORM_CONFIG_DIR ? t.config = process.env.STORM_CONFIG_DIR : process.env.STORM_CACHE_DIR ? t.cache = process.env.STORM_CACHE_DIR : process.env.STORM_LOG_DIR ? t.log = process.env.STORM_LOG_DIR : process.env.STORM_TEMP_DIR && (t.temp = process.env.STORM_TEMP_DIR), e.workspaceRoot && (t.cache ??= (0, _joinPaths.joinPaths)(e.workspaceRoot, "node_modules", ".cache", a), t.temp ??= (0, _joinPaths.joinPaths)(e.workspaceRoot, "tmp", a), t.log ??= (0, _joinPaths.joinPaths)(t.temp, "logs"), t.config ??= (0, _joinPaths.joinPaths)(e.workspaceRoot, ".config", a)), Object.keys(t).reduce((r, c) => {
|
|
53
52
|
if (t[c]) {
|
|
54
|
-
const
|
|
55
|
-
r[c] = e.appId && e.appId !== e.orgId && e.appId !== e.nestedDir ? (0, _joinPaths.joinPaths)(
|
|
53
|
+
const p = t[c];
|
|
54
|
+
r[c] = e.appId && e.appId !== e.orgId && e.appId !== e.nestedDir ? (0, _joinPaths.joinPaths)(p, e.appId) : p, e.nestedDir && e.nestedDir !== e.orgId && e.nestedDir !== e.appId && (r[c] = (0, _joinPaths.joinPaths)(r[c], e.nestedDir));
|
|
56
55
|
}
|
|
57
56
|
return r;
|
|
58
57
|
}, {});
|
package/dist/get-env-paths.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{joinPaths as s}from"@stryke/path/join-paths";import{titleCase as f}from"@stryke/string-format/title-case";import
|
|
1
|
+
import{joinPaths as s}from"@stryke/path/join-paths";import{titleCase as f}from"@stryke/string-format/title-case";import i from"node:os";import v from"node:path";const n=i.homedir(),o=i.tmpdir(),D=e=>{const a=s(n,"Library");return{data:s(a,"Application Support",e),config:s(a,"Preferences",e),cache:s(a,"Caches",e),log:s(a,"Logs",e),temp:s(o,e)}},l=e=>{const a=process.env.APPDATA||s(n,"AppData","Roaming"),t=process.env.LOCALAPPDATA||s(n,"AppData","Local"),r=f(e).trim().replace(/\s+/g,"");return{data:s(t,r,"Data"),config:s(a,r,"Config"),cache:s(t,"Cache",e),log:s(t,r,"Log"),temp:s(o,e)}},E=e=>{const a=v.basename(n);return{data:s(process.env.XDG_DATA_HOME||s(n,".local","share"),e),config:s(process.env.XDG_CONFIG_HOME||s(n,".config"),e),cache:s(process.env.XDG_CACHE_HOME||s(n,".cache"),e),log:s(process.env.XDG_STATE_HOME||s(n,".local","state"),e),temp:process.env.DEVENV_RUNTIME||process.env.XDG_RUNTIME_DIR?s(process.env.DEVENV_RUNTIME||process.env.XDG_RUNTIME_DIR,e):s(o,a,e)}};export function getEnvPaths(e={}){let a=e.orgId||"storm-software";if(!a)throw new Error("You need to provide an orgId to the `getEnvPaths` function");e.suffix&&(a+=`-${typeof e.suffix=="string"?e.suffix:"nodejs"}`);let t={};return process.platform==="darwin"?t=D(a):process.platform==="win32"?t=l(a):t=E(a),process.env.STORM_DATA_DIR?t.data=process.env.STORM_DATA_DIR:process.env.STORM_CONFIG_DIR?t.config=process.env.STORM_CONFIG_DIR:process.env.STORM_CACHE_DIR?t.cache=process.env.STORM_CACHE_DIR:process.env.STORM_LOG_DIR?t.log=process.env.STORM_LOG_DIR:process.env.STORM_TEMP_DIR&&(t.temp=process.env.STORM_TEMP_DIR),e.workspaceRoot&&(t.cache??=s(e.workspaceRoot,"node_modules",".cache",a),t.temp??=s(e.workspaceRoot,"tmp",a),t.log??=s(t.temp,"logs"),t.config??=s(e.workspaceRoot,".config",a)),Object.keys(t).reduce((r,c)=>{if(t[c]){const p=t[c];r[c]=e.appId&&e.appId!==e.orgId&&e.appId!==e.nestedDir?s(p,e.appId):p,e.nestedDir&&e.nestedDir!==e.orgId&&e.nestedDir!==e.appId&&(r[c]=s(r[c],e.nestedDir))}return r},{})}
|
package/dist/load-env.cjs
CHANGED
|
@@ -10,46 +10,46 @@ exports.loadEnvFile = loadEnvFile;
|
|
|
10
10
|
exports.loadServerEnv = loadServerEnv;
|
|
11
11
|
var _dotenvx = require("@dotenvx/dotenvx");
|
|
12
12
|
var _readFile = require("@stryke/fs/read-file");
|
|
13
|
-
var
|
|
14
|
-
var
|
|
13
|
+
var _exists = require("@stryke/path/exists");
|
|
14
|
+
var _joinPaths = require("@stryke/path/join-paths");
|
|
15
15
|
var _defu = _interopRequireDefault(require("defu"));
|
|
16
16
|
var _types = require("./types.cjs");
|
|
17
17
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
18
|
-
function getEnvFilesForMode(
|
|
19
|
-
return [".env", ".env.local", `.env.${r}`, `.env.${r}.local`, `.env.local.${r}`].map(s => (0,
|
|
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));
|
|
20
20
|
}
|
|
21
|
-
async function loadEnvFile(
|
|
21
|
+
async function loadEnvFile(n, r = []) {
|
|
22
22
|
const s = Array.isArray(r) ? r : [r];
|
|
23
|
-
return (await Promise.all((r.length > 0 ? s.map(
|
|
24
|
-
if ((0,
|
|
25
|
-
}))).reduce((
|
|
26
|
-
if (!c) return
|
|
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
27
|
const a = (0, _dotenvx.parse)(c, {
|
|
28
28
|
processEnv: {
|
|
29
29
|
...process.env
|
|
30
30
|
},
|
|
31
31
|
privateKey: process.env.DOTENV_PRIVATE_KEY || process.env.STORM_PRIVATE_KEY
|
|
32
32
|
});
|
|
33
|
-
return (0, _defu.default)(a,
|
|
33
|
+
return (0, _defu.default)(a, t);
|
|
34
34
|
}, {});
|
|
35
35
|
}
|
|
36
|
-
async function loadEnv(
|
|
36
|
+
async function loadEnv(n, r, s) {
|
|
37
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
|
|
39
|
-
c = Array.isArray(
|
|
38
|
+
const t = s ? Array.isArray(s) ? s : [s] : [],
|
|
39
|
+
c = Array.isArray(n) ? n : [n],
|
|
40
40
|
a = {},
|
|
41
|
-
|
|
42
|
-
let o = (await Promise.all(
|
|
43
|
-
if (o.NODE_ENV && process.env.VITE_USER_NODE_ENV === void 0 && (process.env.VITE_USER_NODE_ENV =
|
|
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), {});
|
|
43
|
+
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
44
|
...process.env
|
|
45
|
-
}, o),
|
|
46
|
-
for (const [e, i] of Object.entries(o))
|
|
47
|
-
for (const e in 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
48
|
return a;
|
|
49
49
|
}
|
|
50
|
-
async function loadClientEnv(
|
|
51
|
-
return loadEnv(
|
|
50
|
+
async function loadClientEnv(n, r, s = _types.ENV_PREFIXES) {
|
|
51
|
+
return loadEnv(n, r, s);
|
|
52
52
|
}
|
|
53
|
-
async function loadServerEnv(
|
|
54
|
-
return loadEnv(
|
|
53
|
+
async function loadServerEnv(n, r) {
|
|
54
|
+
return loadEnv(n, r);
|
|
55
55
|
}
|
package/dist/load-env.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{parse as
|
|
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)}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stryke/env",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "A package containing utility functions to handle environment specific processes",
|
|
6
6
|
"repository": {
|
|
@@ -11,12 +11,10 @@
|
|
|
11
11
|
"private": false,
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@dotenvx/dotenvx": "1.35.0",
|
|
14
|
-
"
|
|
15
|
-
"@stryke/
|
|
16
|
-
"@stryke/json": "^0.8.2",
|
|
17
|
-
"@stryke/path": "^0.4.14",
|
|
14
|
+
"@stryke/fs": "^0.14.0",
|
|
15
|
+
"@stryke/path": "^0.5.0",
|
|
18
16
|
"@stryke/string-format": "^0.4.9",
|
|
19
|
-
"
|
|
17
|
+
"defu": "^6.1.4"
|
|
20
18
|
},
|
|
21
19
|
"devDependencies": { "@types/node": "^22.14.0" },
|
|
22
20
|
"publishConfig": { "access": "public" },
|