vxrn 1.1.522 → 1.1.524
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 +12 -25
- package/dist/exports/loadEnv.js.map +1 -1
- package/dist/exports/loadEnv.mjs +13 -23
- package/dist/exports/loadEnv.mjs.map +1 -1
- package/dist/exports/loadEnv.native.js +13 -22
- package/dist/exports/loadEnv.native.js.map +1 -1
- package/package.json +15 -13
- package/src/exports/loadEnv.ts +15 -49
- package/types/exports/loadEnv.d.ts.map +1 -1
package/dist/exports/loadEnv.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { statSync } from "node:fs";
|
|
2
2
|
import { readFile } from "node:fs/promises";
|
|
3
3
|
import { join } from "node:path";
|
|
4
|
+
import { parse } from "dotenv";
|
|
5
|
+
import { expand } from "dotenv-expand";
|
|
4
6
|
import { normalizePath } from "vite";
|
|
5
7
|
const DEFAULT_PREFIX = /^(ONE|VITE|TAMAGUI)_/;
|
|
6
8
|
async function loadEnv(mode, root = process.cwd(), userPrefix) {
|
|
@@ -35,14 +37,16 @@ function getEnvFilesForMode(mode) {
|
|
|
35
37
|
);
|
|
36
38
|
}
|
|
37
39
|
async function loadJustEnvFiles(mode) {
|
|
38
|
-
const envFiles = getEnvFilesForMode(mode),
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
40
|
+
const envFiles = getEnvFilesForMode(mode), parsed = Object.fromEntries(
|
|
41
|
+
(await Promise.all(
|
|
42
|
+
envFiles.map(async (filePath) => {
|
|
43
|
+
if (!tryStatSync(filePath)?.isFile()) return [];
|
|
44
|
+
const contents = await readFile(filePath, "utf-8");
|
|
45
|
+
return Object.entries(parse(contents));
|
|
46
|
+
})
|
|
47
|
+
)).flat()
|
|
48
|
+
), processEnv = { ...process.env };
|
|
49
|
+
return expand({ parsed, processEnv }), parsed;
|
|
46
50
|
}
|
|
47
51
|
function tryStatSync(file) {
|
|
48
52
|
try {
|
|
@@ -50,23 +54,6 @@ function tryStatSync(file) {
|
|
|
50
54
|
} catch {
|
|
51
55
|
}
|
|
52
56
|
}
|
|
53
|
-
const LINE = /(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;
|
|
54
|
-
function parse(src) {
|
|
55
|
-
const obj = {};
|
|
56
|
-
let lines = src.toString();
|
|
57
|
-
lines = lines.replace(/\r\n?/gm, `
|
|
58
|
-
`);
|
|
59
|
-
let match;
|
|
60
|
-
for (; (match = LINE.exec(lines)) != null; ) {
|
|
61
|
-
const key = match[1];
|
|
62
|
-
let value = match[2] || "";
|
|
63
|
-
value = value.trim();
|
|
64
|
-
const maybeQuote = value[0];
|
|
65
|
-
value = value.replace(/^(['"`])([\s\S]*)\1$/gm, "$2"), maybeQuote === '"' && (value = value.replace(/\\n/g, `
|
|
66
|
-
`), value = value.replace(/\\r/g, "\r")), obj[key] = value;
|
|
67
|
-
}
|
|
68
|
-
return obj;
|
|
69
|
-
}
|
|
70
57
|
export {
|
|
71
58
|
loadEnv
|
|
72
59
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/exports/loadEnv.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,gBAAgB;AACzB,SAAS,gBAAgB;AACzB,SAAS,YAAY;AACrB,SAAS,qBAAqB;AAI9B,MAAM,iBAAiB;AAEvB,eAAsB,QAAQ,MAAY,OAAO,QAAQ,IAAI,GAAG,YAAgC;AAC9F,QAAM,YAAY,MAAM,iBAAiB,IAAI,GACvC,SAAS,aAAc,MAAM,QAAQ,UAAU,IAAI,aAAa,CAAC,UAAU,IAAK,CAAC,GACjF,cAAc,CAAC,QACZ,OAAO,KAAK,CAAC,MAAM,IAAI,WAAW,CAAC,CAAC,KAAK,eAAe,KAAK,GAAG,GAGnE,SAA6C,CAAC;AAGpD,aAAW,OAAO,WAAW;AAC3B,UAAM,MAAM,QAAQ,IAAI,GAAG,KAAK,UAAU,GAAG;AAC7C,WAAO,GAAG,IAAI,KACd,QAAQ,IAAI,GAAG,IAAI;AAAA,EACrB;AAEA,QAAM,YAAY,OAAO;AAAA,IACvB,OAAO,QAAQ;AAAA,MACb,GAAG,QAAQ;AAAA,MACX,GAAG;AAAA,IACL,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MACjB,YAAY,GAAG,IACV,CAAC,CAAC,KAAK,KAAK,CAAC,IAEf,CAAC,CACT;AAAA,EACH;AAEA,SAAO;AAAA,IACL,WAAW;AAAA,IACX;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,
|
|
4
|
+
"mappings": "AAAA,SAAS,gBAAgB;AACzB,SAAS,gBAAgB;AACzB,SAAS,YAAY;AACrB,SAAS,aAAa;AACtB,SAAmC,cAAc;AACjD,SAAS,qBAAqB;AAI9B,MAAM,iBAAiB;AAEvB,eAAsB,QAAQ,MAAY,OAAO,QAAQ,IAAI,GAAG,YAAgC;AAC9F,QAAM,YAAY,MAAM,iBAAiB,IAAI,GACvC,SAAS,aAAc,MAAM,QAAQ,UAAU,IAAI,aAAa,CAAC,UAAU,IAAK,CAAC,GACjF,cAAc,CAAC,QACZ,OAAO,KAAK,CAAC,MAAM,IAAI,WAAW,CAAC,CAAC,KAAK,eAAe,KAAK,GAAG,GAGnE,SAA6C,CAAC;AAGpD,aAAW,OAAO,WAAW;AAC3B,UAAM,MAAM,QAAQ,IAAI,GAAG,KAAK,UAAU,GAAG;AAC7C,WAAO,GAAG,IAAI,KACd,QAAQ,IAAI,GAAG,IAAI;AAAA,EACrB;AAEA,QAAM,YAAY,OAAO;AAAA,IACvB,OAAO,QAAQ;AAAA,MACb,GAAG,QAAQ;AAAA,MACX,GAAG;AAAA,IACL,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MACjB,YAAY,GAAG,IACV,CAAC,CAAC,KAAK,KAAK,CAAC,IAEf,CAAC,CACT;AAAA,EACH;AAEA,SAAO;AAAA,IACL,WAAW;AAAA,IACX;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,GAGlC,SAAS,OAAO;AAAA,KACnB,MAAM,QAAQ;AAAA,MACb,SAAS,IAAI,OAAO,aAAa;AAC/B,YAAI,CAAC,YAAY,QAAQ,GAAG,OAAO,EAAG,QAAO,CAAC;AAC9C,cAAM,WAAW,MAAM,SAAS,UAAU,OAAO;AACjD,eAAO,OAAO,QAAQ,MAAM,QAAQ,CAAC;AAAA,MACvC,CAAC;AAAA,IACH,GAAG,KAAK;AAAA,EACV,GAGM,aAAa,EAAE,GAAG,QAAQ,IAAI;AACpC,gBAAO,EAAE,QAAQ,WAAW,CAAC,GAEtB;AACT;AAEA,SAAS,YAAY,MAAc;AACjC,MAAI;AACF,WAAO,SAAS,MAAM,EAAE,gBAAgB,GAAM,CAAC;AAAA,EACjD,QAAQ;AAAA,EAAC;AACX;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/exports/loadEnv.mjs
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { statSync } from "node:fs";
|
|
2
2
|
import { readFile } from "node:fs/promises";
|
|
3
3
|
import { join } from "node:path";
|
|
4
|
+
import { parse } from "dotenv";
|
|
5
|
+
import { expand } from "dotenv-expand";
|
|
4
6
|
import { normalizePath } from "vite";
|
|
5
7
|
const DEFAULT_PREFIX = /^(ONE|VITE|TAMAGUI)_/;
|
|
6
8
|
async function loadEnv(mode, root = process.cwd(), userPrefix) {
|
|
@@ -30,13 +32,18 @@ function getEnvFilesForMode(mode) {
|
|
|
30
32
|
}
|
|
31
33
|
async function loadJustEnvFiles(mode) {
|
|
32
34
|
const envFiles = getEnvFilesForMode(mode),
|
|
33
|
-
|
|
35
|
+
parsed = Object.fromEntries((await Promise.all(envFiles.map(async filePath => {
|
|
34
36
|
if (!tryStatSync(filePath)?.isFile()) return [];
|
|
35
|
-
const contents = await readFile(filePath, "utf-8")
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
const contents = await readFile(filePath, "utf-8");
|
|
38
|
+
return Object.entries(parse(contents));
|
|
39
|
+
}))).flat()),
|
|
40
|
+
processEnv = {
|
|
41
|
+
...process.env
|
|
42
|
+
};
|
|
43
|
+
return expand({
|
|
44
|
+
parsed,
|
|
45
|
+
processEnv
|
|
46
|
+
}), parsed;
|
|
40
47
|
}
|
|
41
48
|
function tryStatSync(file) {
|
|
42
49
|
try {
|
|
@@ -45,22 +52,5 @@ function tryStatSync(file) {
|
|
|
45
52
|
});
|
|
46
53
|
} catch {}
|
|
47
54
|
}
|
|
48
|
-
const LINE = /(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;
|
|
49
|
-
function parse(src) {
|
|
50
|
-
const obj = {};
|
|
51
|
-
let lines = src.toString();
|
|
52
|
-
lines = lines.replace(/\r\n?/gm, `
|
|
53
|
-
`);
|
|
54
|
-
let match;
|
|
55
|
-
for (; (match = LINE.exec(lines)) != null;) {
|
|
56
|
-
const key = match[1];
|
|
57
|
-
let value = match[2] || "";
|
|
58
|
-
value = value.trim();
|
|
59
|
-
const maybeQuote = value[0];
|
|
60
|
-
value = value.replace(/^(['"`])([\s\S]*)\1$/gm, "$2"), maybeQuote === '"' && (value = value.replace(/\\n/g, `
|
|
61
|
-
`), value = value.replace(/\\r/g, "\r")), obj[key] = value;
|
|
62
|
-
}
|
|
63
|
-
return obj;
|
|
64
|
-
}
|
|
65
55
|
export { loadEnv };
|
|
66
56
|
//# sourceMappingURL=loadEnv.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["statSync","readFile","join","normalizePath","DEFAULT_PREFIX","loadEnv","mode","root","process","cwd","userPrefix","loadedEnv","loadJustEnvFiles","prefix","Array","isArray","isPublicKey","key","some","p","startsWith","test","loaded","val","env","clientEnv","Object","fromEntries","entries","flatMap","value","serverEnv","clientEnvDefine","stringified","JSON","stringify","getEnvFilesForMode","map","file","envFiles","
|
|
1
|
+
{"version":3,"names":["statSync","readFile","join","parse","expand","normalizePath","DEFAULT_PREFIX","loadEnv","mode","root","process","cwd","userPrefix","loadedEnv","loadJustEnvFiles","prefix","Array","isArray","isPublicKey","key","some","p","startsWith","test","loaded","val","env","clientEnv","Object","fromEntries","entries","flatMap","value","serverEnv","clientEnvDefine","stringified","JSON","stringify","getEnvFilesForMode","map","file","envFiles","parsed","Promise","all","filePath","tryStatSync","isFile","contents","flat","processEnv","throwIfNoEntry"],"sources":["../../src/exports/loadEnv.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { statSync } from "node:fs";
|
|
2
2
|
import { readFile } from "node:fs/promises";
|
|
3
3
|
import { join } from "node:path";
|
|
4
|
+
import { parse } from "dotenv";
|
|
5
|
+
import { expand } from "dotenv-expand";
|
|
4
6
|
import { normalizePath } from "vite";
|
|
5
7
|
var DEFAULT_PREFIX = /^(ONE|VITE|TAMAGUI)_/;
|
|
6
8
|
async function loadEnv(mode) {
|
|
@@ -42,14 +44,19 @@ function getEnvFilesForMode(mode) {
|
|
|
42
44
|
}
|
|
43
45
|
async function loadJustEnvFiles(mode) {
|
|
44
46
|
var envFiles = getEnvFilesForMode(mode),
|
|
45
|
-
|
|
47
|
+
parsed = Object.fromEntries((await Promise.all(envFiles.map(async function (filePath) {
|
|
46
48
|
var _tryStatSync;
|
|
47
49
|
if (!(!((_tryStatSync = tryStatSync(filePath)) === null || _tryStatSync === void 0) && _tryStatSync.isFile())) return [];
|
|
48
|
-
var contents = await readFile(filePath, "utf-8")
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
50
|
+
var contents = await readFile(filePath, "utf-8");
|
|
51
|
+
return Object.entries(parse(contents));
|
|
52
|
+
}))).flat()),
|
|
53
|
+
processEnv = {
|
|
54
|
+
...process.env
|
|
55
|
+
};
|
|
56
|
+
return expand({
|
|
57
|
+
parsed,
|
|
58
|
+
processEnv
|
|
59
|
+
}), parsed;
|
|
53
60
|
}
|
|
54
61
|
function tryStatSync(file) {
|
|
55
62
|
try {
|
|
@@ -58,21 +65,5 @@ function tryStatSync(file) {
|
|
|
58
65
|
});
|
|
59
66
|
} catch {}
|
|
60
67
|
}
|
|
61
|
-
var LINE = /(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;
|
|
62
|
-
function parse(src) {
|
|
63
|
-
var obj = {},
|
|
64
|
-
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],
|
|
69
|
-
value = match[2] || "";
|
|
70
|
-
value = value.trim();
|
|
71
|
-
var maybeQuote = value[0];
|
|
72
|
-
value = value.replace(/^(['"`])([\s\S]*)\1$/gm, "$2"), maybeQuote === '"' && (value = value.replace(/\\n/g, `
|
|
73
|
-
`), value = value.replace(/\\r/g, "\r")), obj[key] = value;
|
|
74
|
-
}
|
|
75
|
-
return obj;
|
|
76
|
-
}
|
|
77
68
|
export { loadEnv };
|
|
78
69
|
//# sourceMappingURL=loadEnv.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["statSync","readFile","join","normalizePath","DEFAULT_PREFIX","loadEnv","mode","root","arguments","length","process","cwd","userPrefix","loadedEnv","loadJustEnvFiles","prefix","Array","isArray","isPublicKey","key2","some","p","startsWith","test","loaded","key","val","env","clientEnv","Object","fromEntries","entries","flatMap","param","value","serverEnv","clientEnvDefine","val2","stringified","JSON","stringify","getEnvFilesForMode","map","file"
|
|
1
|
+
{"version":3,"names":["statSync","readFile","join","parse","expand","normalizePath","DEFAULT_PREFIX","loadEnv","mode","root","arguments","length","process","cwd","userPrefix","loadedEnv","loadJustEnvFiles","prefix","Array","isArray","isPublicKey","key2","some","p","startsWith","test","loaded","key","val","env","clientEnv","Object","fromEntries","entries","flatMap","param","value","serverEnv","clientEnvDefine","val2","stringified","JSON","stringify","getEnvFilesForMode","map","file"],"sources":["../../src/exports/loadEnv.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,QAAgB;AACzB,SAASC,QAAA,QAAgB;AACzB,SAASC,IAAA,QAAY;AACrB,SAASC,KAAA,QAAa;AACtB,SAAmCC,MAAA,QAAc;AACjD,SAASC,aAAA,QAAqB;AAI9B,IAAAC,cAAM,yBAAiB;AAEvB,eAAsBC,QAAQC,IAAA,EAAY;EACxC,IAAAC,IAAM,GAAAC,SAAY,CAAAC,MAAM,QAAAD,SAAiB,CAAI,OACvC,KAAS,IAAAA,SAAc,MAAME,OAAA,CAAQC,GAAA;IAAAC,UAAc,GAAAJ,SAAc,CAAAC,MAAA,GAAU,IAAMD,SACjF,WAAe;IAAAK,SACZ,GAAO,MAAMC,gBAAU,CAAAR,IAAa;IAAAS,MAAK,GAAAH,UAAe,GAAKI,KAAG,CAGnEC,OAAA,CAAAL,UAA8C,IAAAA,UAAA,IAGpDA,UAAW,CACT;IAAMM,WAAM,GAAQ,SAAAA,CAAOC,IAAK;MAChC,OAAOJ,MAAG,CAAIK,IAAA,CACd,UAAQC,CAAA,EAAI;QACd,OAAAF,IAAA,CAAAG,UAAA,CAAAD,CAAA;MAEA,MAAMjB,cAAY,CAAAmB,IAAO,CAAAJ,IAAA;IAAA;IACvBK,MAAO;EAAQ,KACb,IAAGC,GAAA,IAAQZ,SAAA;IAAA,IACXa,GAAG,GAAAhB,OAAA,CAAAiB,GAAA,CAAAF,GAAA,KAAAZ,SAAA,CAAAY,GAAA;IACLD,MAAG,CAAAC,GAAA,CAAQ,GAAEC,GAAA,EAAKhB,OAAK,CAAAiB,GACjB,CAAAF,GAAA,IAAAC,GAAY;EAKpB;EAEA,IAAAE,SAAO,GAAAC,MAAA,CAAAC,WAAA,CAAAD,MAAA,CAAAE,OAAA;IACL,GAAArB,OAAA,CAAWiB,GAAA;IACX,GAAAH;EAAA,EACA,CAAAQ,OAAA,WAAiBC,KAAA,EAAO;IAAA,IACtB,CAAAd,IAAO,EAAAe,KAAA,CAAQ,GAAAD,KAAA;IACb,OAAAf,WAAM,CAAAC,IAAA,CAAc,IACpB,CAAOA,IACJ,EAAiCe,KACjC,CAAqC,CACxC,GACD;EAAA,EACH;EACF;IACFC,SAAA,EAAAtB,SAAA;IAWAe,SAAS;IACPQ,eAAgB,EAAAP,MAAA,CAAAC,WAAc,CAAQD,MAAI,CAAAE,OAAI,CAAAH,SAAY,EAAAI,OAAU,WAAAC,KAAA;MAAK,KAAAd,IACvE,EAAAkB,IAAA,IAAAJ,KAAc;QAAAK,WAAe,GAAAC,IAAA,CAAAC,SAAA,CAAAH,IAAA;MAC/B,QACF,CAEA,eAAelB,IAAA,IACPmB,WAAW,CAId,EACC,CACE,mBAAiBnB,IAAQ,IACzBmB,WAAM,CACN,CACD;IACH;EACF;AAIA;AAGF,SAAAG,mBAAAnC,IAAA;EAEA,OAAS,CACP,MAAI,EACF,YAAO,EACT,QAAQA,IAAA,IAAC,QAAAA,IAAA,SACX,CAAAoC,GAAA,WAAAC,IAAA","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vxrn",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.524",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -65,25 +65,27 @@
|
|
|
65
65
|
"@hono/node-server": "^1.13.7",
|
|
66
66
|
"@react-native/dev-middleware": "^0.76.5",
|
|
67
67
|
"@rollup/plugin-node-resolve": "^15.2.3",
|
|
68
|
-
"@vxrn/compiler": "1.1.
|
|
69
|
-
"@vxrn/debug": "1.1.
|
|
70
|
-
"@vxrn/query-string": "1.1.
|
|
71
|
-
"@vxrn/react-native-prebuilt": "1.1.
|
|
72
|
-
"@vxrn/resolve": "1.1.
|
|
73
|
-
"@vxrn/safe-area": "1.1.
|
|
74
|
-
"@vxrn/url-parse": "1.1.
|
|
75
|
-
"@vxrn/utils": "1.1.
|
|
76
|
-
"@vxrn/vendor": "1.1.
|
|
77
|
-
"@vxrn/vite-flow": "1.1.
|
|
78
|
-
"@vxrn/vite-plugin-metro": "1.1.
|
|
68
|
+
"@vxrn/compiler": "1.1.524",
|
|
69
|
+
"@vxrn/debug": "1.1.524",
|
|
70
|
+
"@vxrn/query-string": "1.1.524",
|
|
71
|
+
"@vxrn/react-native-prebuilt": "1.1.524",
|
|
72
|
+
"@vxrn/resolve": "1.1.524",
|
|
73
|
+
"@vxrn/safe-area": "1.1.524",
|
|
74
|
+
"@vxrn/url-parse": "1.1.524",
|
|
75
|
+
"@vxrn/utils": "1.1.524",
|
|
76
|
+
"@vxrn/vendor": "1.1.524",
|
|
77
|
+
"@vxrn/vite-flow": "1.1.524",
|
|
78
|
+
"@vxrn/vite-plugin-metro": "1.1.524",
|
|
79
79
|
"citty": "^0.1.6",
|
|
80
|
+
"dotenv": "^17.2.1",
|
|
81
|
+
"dotenv-expand": "^12.0.2",
|
|
80
82
|
"env-editor": "^1.1.0",
|
|
81
83
|
"es-module-lexer": "^1.3.0",
|
|
82
84
|
"fast-glob": "^3.3.3",
|
|
83
85
|
"find-node-modules": "^2.1.3",
|
|
84
86
|
"fs-extra": "^11.2.0",
|
|
85
87
|
"get-port-please": "^3.1.2",
|
|
86
|
-
"hono": "^4.
|
|
88
|
+
"hono": "^4.9.2",
|
|
87
89
|
"ip": "^2.0.1",
|
|
88
90
|
"lightningcss": "^1.30.1",
|
|
89
91
|
"metro-react-native-babel-preset": "^0.77.0",
|
package/src/exports/loadEnv.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { statSync } from 'node:fs'
|
|
2
2
|
import { readFile } from 'node:fs/promises'
|
|
3
3
|
import { join } from 'node:path'
|
|
4
|
+
import { parse } from 'dotenv'
|
|
5
|
+
import { type DotenvPopulateInput, expand } from 'dotenv-expand'
|
|
4
6
|
import { normalizePath } from 'vite'
|
|
5
7
|
|
|
6
8
|
type Mode = 'development' | 'production' | string
|
|
@@ -67,17 +69,23 @@ function getEnvFilesForMode(mode: Mode) {
|
|
|
67
69
|
|
|
68
70
|
async function loadJustEnvFiles(mode: Mode) {
|
|
69
71
|
const envFiles = getEnvFilesForMode(mode)
|
|
70
|
-
|
|
71
|
-
|
|
72
|
+
|
|
73
|
+
// load all env files and merge them
|
|
74
|
+
const parsed = Object.fromEntries(
|
|
75
|
+
(await Promise.all(
|
|
72
76
|
envFiles.map(async (filePath) => {
|
|
73
77
|
if (!tryStatSync(filePath)?.isFile()) return []
|
|
74
78
|
const contents = await readFile(filePath, 'utf-8')
|
|
75
|
-
|
|
76
|
-
return Object.entries(parsed)
|
|
79
|
+
return Object.entries(parse(contents))
|
|
77
80
|
})
|
|
78
|
-
)
|
|
79
|
-
)
|
|
80
|
-
|
|
81
|
+
)).flat()
|
|
82
|
+
)
|
|
83
|
+
|
|
84
|
+
// support dotenv-expand for variable expansion
|
|
85
|
+
const processEnv = { ...process.env } as DotenvPopulateInput
|
|
86
|
+
expand({ parsed, processEnv })
|
|
87
|
+
|
|
88
|
+
return parsed
|
|
81
89
|
}
|
|
82
90
|
|
|
83
91
|
function tryStatSync(file: string) {
|
|
@@ -85,45 +93,3 @@ function tryStatSync(file: string) {
|
|
|
85
93
|
return statSync(file, { throwIfNoEntry: false })
|
|
86
94
|
} catch {}
|
|
87
95
|
}
|
|
88
|
-
|
|
89
|
-
// Parse src into an Object
|
|
90
|
-
const LINE =
|
|
91
|
-
/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm
|
|
92
|
-
|
|
93
|
-
function parse(src: string) {
|
|
94
|
-
const obj: Record<string, string> = {}
|
|
95
|
-
|
|
96
|
-
// Convert buffer to string
|
|
97
|
-
let lines = src.toString()
|
|
98
|
-
|
|
99
|
-
// Convert line breaks to same format
|
|
100
|
-
lines = lines.replace(/\r\n?/gm, '\n')
|
|
101
|
-
|
|
102
|
-
let match
|
|
103
|
-
while ((match = LINE.exec(lines)) != null) {
|
|
104
|
-
const key = match[1]
|
|
105
|
-
|
|
106
|
-
// Default undefined or null to empty string
|
|
107
|
-
let value = match[2] || ''
|
|
108
|
-
|
|
109
|
-
// Remove whitespace
|
|
110
|
-
value = value.trim()
|
|
111
|
-
|
|
112
|
-
// Check if double quoted
|
|
113
|
-
const maybeQuote = value[0]
|
|
114
|
-
|
|
115
|
-
// Remove surrounding quotes
|
|
116
|
-
value = value.replace(/^(['"`])([\s\S]*)\1$/gm, '$2')
|
|
117
|
-
|
|
118
|
-
// Expand newlines if double quoted
|
|
119
|
-
if (maybeQuote === '"') {
|
|
120
|
-
value = value.replace(/\\n/g, '\n')
|
|
121
|
-
value = value.replace(/\\r/g, '\r')
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
// Add to object
|
|
125
|
-
obj[key] = value
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
return obj
|
|
129
|
-
}
|
|
@@ -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":"AAOA,KAAK,IAAI,GAAG,aAAa,GAAG,YAAY,GAAG,MAAM,CAAA;AAIjD,wBAAsB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,SAAgB,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;;;;;;;;;;GAyC7F"}
|