vxrn 1.1.414 → 1.1.415
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/exports/loadEnv.js +45 -1
- package/dist/exports/loadEnv.js.map +1 -1
- package/dist/exports/loadEnv.mjs +43 -5
- package/dist/exports/loadEnv.mjs.map +1 -1
- package/dist/exports/loadEnv.native.js +54 -4
- package/dist/exports/loadEnv.native.js.map +2 -2
- package/package.json +11 -11
- package/src/exports/loadEnv.ts +95 -4
- package/types/exports/loadEnv.d.ts +9 -3
- package/types/exports/loadEnv.d.ts.map +1 -1
package/dist/exports/loadEnv.js
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
|
+
import { statSync } from "node:fs";
|
|
2
|
+
import { readFile } from "node:fs/promises";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
import { normalizePath } from "vite";
|
|
1
5
|
async function loadEnv(mode, root = process.cwd()) {
|
|
2
|
-
const
|
|
6
|
+
const serverEnv = await loadJustEnvFiles(mode), clientEnv = Object.fromEntries(
|
|
7
|
+
Object.entries(serverEnv).flatMap(([key, value]) => /^(ONE|VITE)_/.test(key) ? [[key, value]] : [])
|
|
8
|
+
);
|
|
3
9
|
for (const key in serverEnv)
|
|
4
10
|
typeof process.env[key] > "u" && (process.env[key] = serverEnv[key]);
|
|
5
11
|
return {
|
|
@@ -16,6 +22,44 @@ async function loadEnv(mode, root = process.cwd()) {
|
|
|
16
22
|
)
|
|
17
23
|
};
|
|
18
24
|
}
|
|
25
|
+
function getEnvFilesForMode(mode) {
|
|
26
|
+
return [".env", ".env.local", `.env.${mode}`, `.env.${mode}.local`].map(
|
|
27
|
+
(file) => normalizePath(join(".", file))
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
async function loadJustEnvFiles(mode) {
|
|
31
|
+
const envFiles = getEnvFilesForMode(mode), loadedEnvs = (await Promise.all(
|
|
32
|
+
envFiles.map(async (filePath) => {
|
|
33
|
+
if (!tryStatSync(filePath)?.isFile()) return [];
|
|
34
|
+
const contents = await readFile(filePath, "utf-8"), parsed = parse(contents);
|
|
35
|
+
return Object.entries(parsed);
|
|
36
|
+
})
|
|
37
|
+
)).flat();
|
|
38
|
+
return Object.fromEntries(loadedEnvs);
|
|
39
|
+
}
|
|
40
|
+
function tryStatSync(file) {
|
|
41
|
+
try {
|
|
42
|
+
return statSync(file, { throwIfNoEntry: !1 });
|
|
43
|
+
} catch {
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
const LINE = /(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;
|
|
47
|
+
function parse(src) {
|
|
48
|
+
const obj = {};
|
|
49
|
+
let lines = src.toString();
|
|
50
|
+
lines = lines.replace(/\r\n?/gm, `
|
|
51
|
+
`);
|
|
52
|
+
let match;
|
|
53
|
+
for (; (match = LINE.exec(lines)) != null; ) {
|
|
54
|
+
const key = match[1];
|
|
55
|
+
let value = match[2] || "";
|
|
56
|
+
value = value.trim();
|
|
57
|
+
const maybeQuote = value[0];
|
|
58
|
+
value = value.replace(/^(['"`])([\s\S]*)\1$/gm, "$2"), maybeQuote === '"' && (value = value.replace(/\\n/g, `
|
|
59
|
+
`), value = value.replace(/\\r/g, "\r")), obj[key] = value;
|
|
60
|
+
}
|
|
61
|
+
return obj;
|
|
62
|
+
}
|
|
19
63
|
export {
|
|
20
64
|
loadEnv
|
|
21
65
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/exports/loadEnv.ts"],
|
|
4
|
-
"mappings": "AAAA,eAAsB,QAAQ,
|
|
4
|
+
"mappings": "AAAA,SAAS,gBAAgB;AACzB,SAAS,gBAAgB;AACzB,SAAS,YAAY;AACrB,SAAS,qBAAqB;AAI9B,eAAsB,QAAQ,MAAY,OAAO,QAAQ,IAAI,GAAG;AAC9D,QAAM,YAAY,MAAM,iBAAiB,IAAI,GACvC,YAAY,OAAO;AAAA,IACvB,OAAO,QAAQ,SAAS,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MACxC,eAAe,KAAK,GAAG,IAClB,CAAC,CAAC,KAAK,KAAK,CAAC,IAEf,CAAC,CACT;AAAA,EACH;AAGA,aAAW,OAAO;AAChB,IAAI,OAAO,QAAQ,IAAI,GAAG,IAAM,QAC9B,QAAQ,IAAI,GAAG,IAAI,UAAU,GAAG;AAIpC,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,iBAAiB,OAAO;AAAA,MACtB,OAAO,QAAQ,SAAS,EAAE,QAAQ,CAAC,CAAC,KAAK,GAAG,MAAM;AAChD,cAAM,cAAc,KAAK,UAAU,GAAG;AACtC,eAAO;AAAA,UACL,CAAC,eAAe,GAAG,IAAI,WAAW;AAAA,UAClC,CAAC,mBAAmB,GAAG,IAAI,WAAW;AAAA,QACxC;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;AAWA,SAAS,mBAAmB,MAAY;AACtC,SAAO,CAAC,QAAQ,cAAc,QAAQ,IAAI,IAAI,QAAQ,IAAI,QAAQ,EAAE;AAAA,IAAI,CAAC,SACvE,cAAc,KAAK,KAAK,IAAI,CAAC;AAAA,EAC/B;AACF;AAEA,eAAe,iBAAiB,MAAY;AAC1C,QAAM,WAAW,mBAAmB,IAAI,GAClC,cACJ,MAAM,QAAQ;AAAA,IACZ,SAAS,IAAI,OAAO,aAAa;AAC/B,UAAI,CAAC,YAAY,QAAQ,GAAG,OAAO,EAAG,QAAO,CAAC;AAC9C,YAAM,WAAW,MAAM,SAAS,UAAU,OAAO,GAC3C,SAAS,MAAM,QAAQ;AAC7B,aAAO,OAAO,QAAQ,MAAM;AAAA,IAC9B,CAAC;AAAA,EACH,GACA,KAAK;AACP,SAAO,OAAO,YAAY,UAAU;AACtC;AAEA,SAAS,YAAY,MAAc;AACjC,MAAI;AACF,WAAO,SAAS,MAAM,EAAE,gBAAgB,GAAM,CAAC;AAAA,EACjD,QAAQ;AAAA,EAAC;AACX;AAGA,MAAM,OACJ;AAEF,SAAS,MAAM,KAAa;AAC1B,QAAM,MAA8B,CAAC;AAGrC,MAAI,QAAQ,IAAI,SAAS;AAGzB,UAAQ,MAAM,QAAQ,WAAW;AAAA,CAAI;AAErC,MAAI;AACJ,UAAQ,QAAQ,KAAK,KAAK,KAAK,MAAM,QAAM;AACzC,UAAM,MAAM,MAAM,CAAC;AAGnB,QAAI,QAAQ,MAAM,CAAC,KAAK;AAGxB,YAAQ,MAAM,KAAK;AAGnB,UAAM,aAAa,MAAM,CAAC;AAG1B,YAAQ,MAAM,QAAQ,0BAA0B,IAAI,GAGhD,eAAe,QACjB,QAAQ,MAAM,QAAQ,QAAQ;AAAA,CAAI,GAClC,QAAQ,MAAM,QAAQ,QAAQ,IAAI,IAIpC,IAAI,GAAG,IAAI;AAAA,EACb;AAEA,SAAO;AACT;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/exports/loadEnv.mjs
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { statSync } from "node:fs";
|
|
2
|
+
import { readFile } from "node:fs/promises";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
import { normalizePath } from "vite";
|
|
1
5
|
async function loadEnv(mode, root = process.cwd()) {
|
|
2
|
-
const
|
|
3
|
-
|
|
4
|
-
} = await import("vite"),
|
|
5
|
-
serverEnv = loadEnvVite(mode, root, ""),
|
|
6
|
-
clientEnv = loadEnvVite(mode, root, ["VITE", "ONE_PUBLIC"]);
|
|
6
|
+
const serverEnv = await loadJustEnvFiles(mode),
|
|
7
|
+
clientEnv = Object.fromEntries(Object.entries(serverEnv).flatMap(([key, value]) => /^(ONE|VITE)_/.test(key) ? [[key, value]] : []));
|
|
7
8
|
for (const key in serverEnv) typeof process.env[key] > "u" && (process.env[key] = serverEnv[key]);
|
|
8
9
|
return {
|
|
9
10
|
serverEnv,
|
|
@@ -14,5 +15,42 @@ async function loadEnv(mode, root = process.cwd()) {
|
|
|
14
15
|
}))
|
|
15
16
|
};
|
|
16
17
|
}
|
|
18
|
+
function getEnvFilesForMode(mode) {
|
|
19
|
+
return [".env", ".env.local", `.env.${mode}`, `.env.${mode}.local`].map(file => normalizePath(join(".", file)));
|
|
20
|
+
}
|
|
21
|
+
async function loadJustEnvFiles(mode) {
|
|
22
|
+
const envFiles = getEnvFilesForMode(mode),
|
|
23
|
+
loadedEnvs = (await Promise.all(envFiles.map(async filePath => {
|
|
24
|
+
if (!tryStatSync(filePath)?.isFile()) return [];
|
|
25
|
+
const contents = await readFile(filePath, "utf-8"),
|
|
26
|
+
parsed = parse(contents);
|
|
27
|
+
return Object.entries(parsed);
|
|
28
|
+
}))).flat();
|
|
29
|
+
return Object.fromEntries(loadedEnvs);
|
|
30
|
+
}
|
|
31
|
+
function tryStatSync(file) {
|
|
32
|
+
try {
|
|
33
|
+
return statSync(file, {
|
|
34
|
+
throwIfNoEntry: !1
|
|
35
|
+
});
|
|
36
|
+
} catch {}
|
|
37
|
+
}
|
|
38
|
+
const LINE = /(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;
|
|
39
|
+
function parse(src) {
|
|
40
|
+
const obj = {};
|
|
41
|
+
let lines = src.toString();
|
|
42
|
+
lines = lines.replace(/\r\n?/gm, `
|
|
43
|
+
`);
|
|
44
|
+
let match;
|
|
45
|
+
for (; (match = LINE.exec(lines)) != null;) {
|
|
46
|
+
const key = match[1];
|
|
47
|
+
let value = match[2] || "";
|
|
48
|
+
value = value.trim();
|
|
49
|
+
const maybeQuote = value[0];
|
|
50
|
+
value = value.replace(/^(['"`])([\s\S]*)\1$/gm, "$2"), maybeQuote === '"' && (value = value.replace(/\\n/g, `
|
|
51
|
+
`), value = value.replace(/\\r/g, "\r")), obj[key] = value;
|
|
52
|
+
}
|
|
53
|
+
return obj;
|
|
54
|
+
}
|
|
17
55
|
export { loadEnv };
|
|
18
56
|
//# sourceMappingURL=loadEnv.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["loadEnv","mode","root","process","cwd","
|
|
1
|
+
{"version":3,"names":["statSync","readFile","join","normalizePath","loadEnv","mode","root","process","cwd","serverEnv","loadJustEnvFiles","clientEnv","Object","fromEntries","entries","flatMap","key","value","test","env","clientEnvDefine","val","stringified","JSON","stringify","getEnvFilesForMode","map","file","envFiles","loadedEnvs","Promise","all","filePath","tryStatSync","isFile","contents","parsed","parse","flat","throwIfNoEntry","LINE","src","obj","lines","toString","replace","match","exec","trim","maybeQuote"],"sources":["../../src/exports/loadEnv.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,8 +1,17 @@
|
|
|
1
|
+
import { statSync } from "node:fs";
|
|
2
|
+
import { readFile } from "node:fs/promises";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
import { normalizePath } from "vite";
|
|
1
5
|
async function loadEnv(mode) {
|
|
2
|
-
var root = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : process.cwd(),
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
+
var root = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : process.cwd(), serverEnv = await loadJustEnvFiles(mode), clientEnv = Object.fromEntries(Object.entries(serverEnv).flatMap(function(param) {
|
|
7
|
+
var [key2, value] = param;
|
|
8
|
+
return /^(ONE|VITE)_/.test(key2) ? [
|
|
9
|
+
[
|
|
10
|
+
key2,
|
|
11
|
+
value
|
|
12
|
+
]
|
|
13
|
+
] : [];
|
|
14
|
+
}));
|
|
6
15
|
for (var key in serverEnv)
|
|
7
16
|
typeof process.env[key] > "u" && (process.env[key] = serverEnv[key]);
|
|
8
17
|
return {
|
|
@@ -23,6 +32,47 @@ async function loadEnv(mode) {
|
|
|
23
32
|
}))
|
|
24
33
|
};
|
|
25
34
|
}
|
|
35
|
+
function getEnvFilesForMode(mode) {
|
|
36
|
+
return [
|
|
37
|
+
".env",
|
|
38
|
+
".env.local",
|
|
39
|
+
`.env.${mode}`,
|
|
40
|
+
`.env.${mode}.local`
|
|
41
|
+
].map(function(file) {
|
|
42
|
+
return normalizePath(join(".", file));
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
async function loadJustEnvFiles(mode) {
|
|
46
|
+
var envFiles = getEnvFilesForMode(mode), loadedEnvs = (await Promise.all(envFiles.map(async function(filePath) {
|
|
47
|
+
var _tryStatSync;
|
|
48
|
+
if (!(!((_tryStatSync = tryStatSync(filePath)) === null || _tryStatSync === void 0) && _tryStatSync.isFile())) return [];
|
|
49
|
+
var contents = await readFile(filePath, "utf-8"), parsed = parse(contents);
|
|
50
|
+
return Object.entries(parsed);
|
|
51
|
+
}))).flat();
|
|
52
|
+
return Object.fromEntries(loadedEnvs);
|
|
53
|
+
}
|
|
54
|
+
function tryStatSync(file) {
|
|
55
|
+
try {
|
|
56
|
+
return statSync(file, {
|
|
57
|
+
throwIfNoEntry: !1
|
|
58
|
+
});
|
|
59
|
+
} catch {
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
var LINE = /(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;
|
|
63
|
+
function parse(src) {
|
|
64
|
+
var obj = {}, lines = src.toString();
|
|
65
|
+
lines = lines.replace(/\r\n?/gm, `
|
|
66
|
+
`);
|
|
67
|
+
for (var match; (match = LINE.exec(lines)) != null; ) {
|
|
68
|
+
var key = match[1], value = match[2] || "";
|
|
69
|
+
value = value.trim();
|
|
70
|
+
var maybeQuote = value[0];
|
|
71
|
+
value = value.replace(/^(['"`])([\s\S]*)\1$/gm, "$2"), maybeQuote === '"' && (value = value.replace(/\\n/g, `
|
|
72
|
+
`), value = value.replace(/\\r/g, "\r")), obj[key] = value;
|
|
73
|
+
}
|
|
74
|
+
return obj;
|
|
75
|
+
}
|
|
26
76
|
export {
|
|
27
77
|
loadEnv
|
|
28
78
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/exports/Users/n8/one/packages/vxrn/src/exports/loadEnv.ts"],
|
|
4
|
-
"mappings": "AAAA,
|
|
5
|
-
"names": ["loadEnv", "mode", "root", "process", "cwd", "
|
|
4
|
+
"mappings": "AAAA,SAASA,gBAAgB;AACzB,SAASC,gBAAgB;AACzB,SAASC,YAAY;AACrB,SAASC,qBAAqB;AAI9B,eAAsBC,QAAQC,MAAU;MAAEC,OAAAA,UAAAA,SAAAA,KAAAA,UAAAA,CAAAA,MAAAA,SAAAA,UAAAA,CAAAA,IAAOC,QAAQC,IAAG,GACpDC,YAAY,MAAMC,iBAAiBL,IAAAA,GACnCM,YAAYC,OAAOC,YACvBD,OAAOE,QAAQL,SAAAA,EAAWM,QAAQ,SAAA,OAAA;QAAC,CAACC,MAAKC,KAAAA,IAAM;AAC7C,WAAI,eAAeC,KAAKF,IAAAA,IACf;MAAC;QAACA;QAAKC;;QAET,CAAA;EACT,CAAA,CAAA;AAIF,WAAWD,OAAOP;AAChB,IAAI,OAAOF,QAAQY,IAAIH,GAAAA,IAAS,QAC9BT,QAAQY,IAAIH,GAAAA,IAAOP,UAAUO,GAAAA;AAIjC,SAAO;IACLP;IACAE;IACAS,iBAAiBR,OAAOC,YACtBD,OAAOE,QAAQH,SAAAA,EAAWI,QAAQ,SAAA,OAAA;UAAC,CAACC,MAAKK,GAAAA,IAAI,OACrCC,cAAcC,KAAKC,UAAUH,GAAAA;AACnC,aAAO;QACL;UAAC,eAAeL,IAAAA;UAAOM;;QACvB;UAAC,mBAAmBN,IAAAA;UAAOM;;;IAE/B,CAAA,CAAA;EAEJ;AACF;AAWA,SAASG,mBAAmBpB,MAAU;AACpC,SAAO;IAAC;IAAQ;IAAc,QAAQA,IAAAA;IAAQ,QAAQA,IAAAA;IAAcqB,IAAI,SAACC,MAAAA;WACvExB,cAAcD,KAAK,KAAKyB,IAAAA,CAAAA;;AAE5B;AAEA,eAAejB,iBAAiBL,MAAU;AACxC,MAAMuB,WAAWH,mBAAmBpB,IAAAA,GAC9BwB,cACJ,MAAMC,QAAQC,IACZH,SAASF,IAAI,eAAOM,UAAAA;QACbC;AAAL,QAAI,EAACA,kBAAAA,YAAYD,QAAAA,OAAAA,QAAZC,iBAAAA,WAAAA,aAAuBC,OAAM,GAAI,QAAO,CAAA;AAC7C,QAAMC,WAAW,MAAMlC,SAAS+B,UAAU,OAAA,GACpCI,SAASC,MAAMF,QAAAA;AACrB,WAAOvB,OAAOE,QAAQsB,MAAAA;EACxB,CAAA,CAAA,GAEFE,KAAI;AACN,SAAO1B,OAAOC,YAAYgB,UAAAA;AAC5B;AAEA,SAASI,YAAYN,MAAY;AAC/B,MAAI;AACF,WAAO3B,SAAS2B,MAAM;MAAEY,gBAAgB;IAAM,CAAA;EAChD,QAAQ;EAAC;AACX;AAGA,IAAMC,OACJ;AAEF,SAASH,MAAMI,KAAW;AACxB,MAAMC,MAA8B,CAAC,GAGjCC,QAAQF,IAAIG,SAAQ;AAGxBD,UAAQA,MAAME,QAAQ,WAAW;CAAA;AAGjC,WADIC,QACIA,QAAQN,KAAKO,KAAKJ,KAAAA,MAAW,QAAM;AACzC,QAAM3B,MAAM8B,MAAM,CAAA,GAGd7B,QAAQ6B,MAAM,CAAA,KAAM;AAGxB7B,YAAQA,MAAM+B,KAAI;AAGlB,QAAMC,aAAahC,MAAM,CAAA;AAGzBA,YAAQA,MAAM4B,QAAQ,0BAA0B,IAAA,GAG5CI,eAAe,QACjBhC,QAAQA,MAAM4B,QAAQ,QAAQ;CAAA,GAC9B5B,QAAQA,MAAM4B,QAAQ,QAAQ,IAAA,IAIhCH,IAAI1B,GAAAA,IAAOC;EACb;AAEA,SAAOyB;AACT;",
|
|
5
|
+
"names": ["statSync", "readFile", "join", "normalizePath", "loadEnv", "mode", "root", "process", "cwd", "serverEnv", "loadJustEnvFiles", "clientEnv", "Object", "fromEntries", "entries", "flatMap", "key", "value", "test", "env", "clientEnvDefine", "val", "stringified", "JSON", "stringify", "getEnvFilesForMode", "map", "file", "envFiles", "loadedEnvs", "Promise", "all", "filePath", "tryStatSync", "isFile", "contents", "parsed", "parse", "flat", "throwIfNoEntry", "LINE", "src", "obj", "lines", "toString", "replace", "match", "exec", "trim", "maybeQuote"]
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vxrn",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.415",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -61,16 +61,16 @@
|
|
|
61
61
|
"@react-native/dev-middleware": "^0.76.5",
|
|
62
62
|
"@rollup/plugin-node-resolve": "^15.2.3",
|
|
63
63
|
"@tamagui/react-native-svg": "^1.123.2",
|
|
64
|
-
"@vxrn/compiler": "1.1.
|
|
65
|
-
"@vxrn/debug": "1.1.
|
|
66
|
-
"@vxrn/query-string": "1.1.
|
|
67
|
-
"@vxrn/react-native-prebuilt": "1.1.
|
|
68
|
-
"@vxrn/resolve": "1.1.
|
|
69
|
-
"@vxrn/safe-area": "1.1.
|
|
70
|
-
"@vxrn/url-parse": "1.1.
|
|
71
|
-
"@vxrn/utils": "1.1.
|
|
72
|
-
"@vxrn/vendor": "1.1.
|
|
73
|
-
"@vxrn/vite-flow": "1.1.
|
|
64
|
+
"@vxrn/compiler": "1.1.415",
|
|
65
|
+
"@vxrn/debug": "1.1.415",
|
|
66
|
+
"@vxrn/query-string": "1.1.415",
|
|
67
|
+
"@vxrn/react-native-prebuilt": "1.1.415",
|
|
68
|
+
"@vxrn/resolve": "1.1.415",
|
|
69
|
+
"@vxrn/safe-area": "1.1.415",
|
|
70
|
+
"@vxrn/url-parse": "1.1.415",
|
|
71
|
+
"@vxrn/utils": "1.1.415",
|
|
72
|
+
"@vxrn/vendor": "1.1.415",
|
|
73
|
+
"@vxrn/vite-flow": "1.1.415",
|
|
74
74
|
"citty": "^0.1.6",
|
|
75
75
|
"env-editor": "^1.1.0",
|
|
76
76
|
"es-module-lexer": "^1.3.0",
|
package/src/exports/loadEnv.ts
CHANGED
|
@@ -1,7 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { statSync } from 'node:fs'
|
|
2
|
+
import { readFile } from 'node:fs/promises'
|
|
3
|
+
import { join } from 'node:path'
|
|
4
|
+
import { normalizePath } from 'vite'
|
|
5
|
+
|
|
6
|
+
type Mode = 'development' | 'production'
|
|
7
|
+
|
|
8
|
+
export async function loadEnv(mode: Mode, root = process.cwd()) {
|
|
9
|
+
const serverEnv = await loadJustEnvFiles(mode)
|
|
10
|
+
const clientEnv = Object.fromEntries(
|
|
11
|
+
Object.entries(serverEnv).flatMap(([key, value]) => {
|
|
12
|
+
if (/^(ONE|VITE)_/.test(key)) {
|
|
13
|
+
return [[key, value]]
|
|
14
|
+
}
|
|
15
|
+
return []
|
|
16
|
+
})
|
|
17
|
+
)
|
|
5
18
|
|
|
6
19
|
// define into process.env
|
|
7
20
|
for (const key in serverEnv) {
|
|
@@ -24,3 +37,81 @@ export async function loadEnv(mode: 'production' | 'development', root = process
|
|
|
24
37
|
),
|
|
25
38
|
}
|
|
26
39
|
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
*
|
|
43
|
+
* partially copied from vite but avoids the process.env stuff so we just get env file contents:
|
|
44
|
+
*
|
|
45
|
+
* Vite core license: Vite is released under the MIT license: MIT License
|
|
46
|
+
* Copyright (c) 2019-present, VoidZero Inc. and Vite contributors
|
|
47
|
+
*
|
|
48
|
+
*/
|
|
49
|
+
|
|
50
|
+
function getEnvFilesForMode(mode: Mode) {
|
|
51
|
+
return [`.env`, `.env.local`, `.env.${mode}`, `.env.${mode}.local`].map((file) =>
|
|
52
|
+
normalizePath(join('.', file))
|
|
53
|
+
)
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
async function loadJustEnvFiles(mode: Mode) {
|
|
57
|
+
const envFiles = getEnvFilesForMode(mode)
|
|
58
|
+
const loadedEnvs = (
|
|
59
|
+
await Promise.all(
|
|
60
|
+
envFiles.map(async (filePath) => {
|
|
61
|
+
if (!tryStatSync(filePath)?.isFile()) return []
|
|
62
|
+
const contents = await readFile(filePath, 'utf-8')
|
|
63
|
+
const parsed = parse(contents)
|
|
64
|
+
return Object.entries(parsed)
|
|
65
|
+
})
|
|
66
|
+
)
|
|
67
|
+
).flat()
|
|
68
|
+
return Object.fromEntries(loadedEnvs)
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
function tryStatSync(file: string) {
|
|
72
|
+
try {
|
|
73
|
+
return statSync(file, { throwIfNoEntry: false })
|
|
74
|
+
} catch {}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// Parse src into an Object
|
|
78
|
+
const LINE =
|
|
79
|
+
/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm
|
|
80
|
+
|
|
81
|
+
function parse(src: string) {
|
|
82
|
+
const obj: Record<string, string> = {}
|
|
83
|
+
|
|
84
|
+
// Convert buffer to string
|
|
85
|
+
let lines = src.toString()
|
|
86
|
+
|
|
87
|
+
// Convert line breaks to same format
|
|
88
|
+
lines = lines.replace(/\r\n?/gm, '\n')
|
|
89
|
+
|
|
90
|
+
let match
|
|
91
|
+
while ((match = LINE.exec(lines)) != null) {
|
|
92
|
+
const key = match[1]
|
|
93
|
+
|
|
94
|
+
// Default undefined or null to empty string
|
|
95
|
+
let value = match[2] || ''
|
|
96
|
+
|
|
97
|
+
// Remove whitespace
|
|
98
|
+
value = value.trim()
|
|
99
|
+
|
|
100
|
+
// Check if double quoted
|
|
101
|
+
const maybeQuote = value[0]
|
|
102
|
+
|
|
103
|
+
// Remove surrounding quotes
|
|
104
|
+
value = value.replace(/^(['"`])([\s\S]*)\1$/gm, '$2')
|
|
105
|
+
|
|
106
|
+
// Expand newlines if double quoted
|
|
107
|
+
if (maybeQuote === '"') {
|
|
108
|
+
value = value.replace(/\\n/g, '\n')
|
|
109
|
+
value = value.replace(/\\r/g, '\r')
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
// Add to object
|
|
113
|
+
obj[key] = value
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
return obj
|
|
117
|
+
}
|
|
@@ -1,8 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
type Mode = 'development' | 'production';
|
|
2
|
+
export declare function loadEnv(mode: Mode, root?: string): Promise<{
|
|
3
|
+
serverEnv: {
|
|
4
|
+
[k: string]: string;
|
|
5
|
+
};
|
|
6
|
+
clientEnv: {
|
|
7
|
+
[k: string]: string;
|
|
8
|
+
};
|
|
4
9
|
clientEnvDefine: {
|
|
5
10
|
[k: string]: string;
|
|
6
11
|
};
|
|
7
12
|
}>;
|
|
13
|
+
export {};
|
|
8
14
|
//# sourceMappingURL=loadEnv.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadEnv.d.ts","sourceRoot":"","sources":["../../src/exports/loadEnv.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"loadEnv.d.ts","sourceRoot":"","sources":["../../src/exports/loadEnv.ts"],"names":[],"mappings":"AAKA,KAAK,IAAI,GAAG,aAAa,GAAG,YAAY,CAAA;AAExC,wBAAsB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,SAAgB;;;;;;;;;;GA+B7D"}
|