vxrn 2.0.0-beta.51.1 → 2.0.0-beta.53.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.
@@ -4,8 +4,9 @@ import { join } from "node:path";
4
4
  import { parse } from "dotenv";
5
5
  import { expand } from "dotenv-expand";
6
6
  import { normalizePath } from "vite";
7
+ import { withExpoPublicEnvAliases } from "@vxrn/utils/publicEnv";
7
8
 
8
- const DEFAULT_PREFIX = /^(ONE|VITE|TAMAGUI)_/;
9
+ const DEFAULT_PREFIX = /^(ONE|VITE|TAMAGUI)_|^EXPO_PUBLIC_/;
9
10
  async function loadEnv(mode, root = process.cwd(), userPrefix) {
10
11
  const loadedEnv = await loadJustEnvFiles(mode);
11
12
  const prefix = userPrefix ? Array.isArray(userPrefix) ? userPrefix : [userPrefix] : [];
@@ -18,7 +19,7 @@ async function loadEnv(mode, root = process.cwd(), userPrefix) {
18
19
  loaded[key] = val;
19
20
  process.env[key] = val;
20
21
  }
21
- const clientEnv = Object.fromEntries(Object.entries({
22
+ const clientEnv = withExpoPublicEnvAliases(Object.fromEntries(Object.entries({
22
23
  ...process.env,
23
24
  ...loaded
24
25
  }).flatMap(([key, value]) => {
@@ -26,7 +27,12 @@ async function loadEnv(mode, root = process.cwd(), userPrefix) {
26
27
  return [[key, value]];
27
28
  }
28
29
  return [];
29
- }));
30
+ })));
31
+ for (const [key, value] of Object.entries(clientEnv)) {
32
+ if (process.env[key] === void 0 && value !== void 0) {
33
+ process.env[key] = value;
34
+ }
35
+ }
30
36
  return {
31
37
  serverEnv: loadedEnv,
32
38
  clientEnv,
@@ -1 +1 @@
1
- {"version":3,"file":"loadEnv.js","names":[],"sources":["exports/loadEnv.js"],"sourcesContent":["import { statSync } from \"node:fs\";\nimport { readFile } from \"node:fs/promises\";\nimport { join } from \"node:path\";\nimport { parse } from \"dotenv\";\nimport { expand } from \"dotenv-expand\";\nimport { normalizePath } from \"vite\";\nconst DEFAULT_PREFIX = /^(ONE|VITE|TAMAGUI)_/;\nasync function loadEnv(mode, root = process.cwd(), userPrefix) {\n const loadedEnv = await loadJustEnvFiles(mode);\n const prefix = userPrefix ? Array.isArray(userPrefix) ? userPrefix : [userPrefix] : [];\n const isPublicKey = (key) => {\n return prefix.some((p) => key.startsWith(p)) || DEFAULT_PREFIX.test(key);\n };\n const loaded = {};\n for (const key in loadedEnv) {\n const val = process.env[key] || loadedEnv[key];\n loaded[key] = val;\n process.env[key] = val;\n }\n const clientEnv = Object.fromEntries(\n Object.entries({\n ...process.env,\n ...loaded\n }).flatMap(([key, value]) => {\n if (isPublicKey(key)) {\n return [[key, value]];\n }\n return [];\n })\n );\n return {\n serverEnv: loadedEnv,\n clientEnv,\n clientEnvDefine: Object.fromEntries(\n Object.entries(clientEnv).flatMap(([key, val]) => {\n const stringified = JSON.stringify(val);\n return [\n [`process.env.${key}`, stringified],\n [`import.meta.env.${key}`, stringified]\n ];\n })\n )\n };\n}\nfunction getEnvFilesForMode(mode) {\n return [`.env`, `.env.local`, `.env.${mode}`, `.env.${mode}.local`].map(\n (file) => normalizePath(join(\".\", file))\n );\n}\nasync function loadJustEnvFiles(mode) {\n const envFiles = getEnvFilesForMode(mode);\n const parsed = Object.fromEntries(\n (await Promise.all(\n envFiles.map(async (filePath) => {\n if (!tryStatSync(filePath)?.isFile()) return [];\n const contents = await readFile(filePath, \"utf-8\");\n return Object.entries(parse(contents));\n })\n )).flat()\n );\n const processEnv = { ...process.env };\n expand({ parsed, processEnv });\n return parsed;\n}\nfunction tryStatSync(file) {\n try {\n return statSync(file, { throwIfNoEntry: false });\n } catch {\n }\n}\nexport {\n loadEnv\n};\n//# sourceMappingURL=loadEnv.js.map\n"],"mappings":";;;;;;;;AAMA,MAAM,iBAAiB;AACvB,eAAe,QAAQ,MAAM,OAAO,QAAQ,IAAI,GAAG,YAAY;CAC7D,MAAM,YAAY,MAAM,iBAAiB,IAAI;CAC7C,MAAM,SAAS,aAAa,MAAM,QAAQ,UAAU,IAAI,aAAa,CAAC,UAAU,IAAI,CAAC;CACrF,MAAM,eAAe,QAAQ;EAC3B,OAAO,OAAO,MAAM,MAAM,IAAI,WAAW,CAAC,CAAC,KAAK,eAAe,KAAK,GAAG;CACzE;CACA,MAAM,SAAS,CAAC;CAChB,KAAK,MAAM,OAAO,WAAW;EAC3B,MAAM,MAAM,QAAQ,IAAI,QAAQ,UAAU;EAC1C,OAAO,OAAO;EACd,QAAQ,IAAI,OAAO;CACrB;CACA,MAAM,YAAY,OAAO,YACvB,OAAO,QAAQ;EACb,GAAG,QAAQ;EACX,GAAG;CACL,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,WAAW;EAC3B,IAAI,YAAY,GAAG,GAAG;GACpB,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC;EACtB;EACA,OAAO,CAAC;CACV,CAAC,CACH;CACA,OAAO;EACL,WAAW;EACX;EACA,iBAAiB,OAAO,YACtB,OAAO,QAAQ,SAAS,CAAC,CAAC,SAAS,CAAC,KAAK,SAAS;GAChD,MAAM,cAAc,KAAK,UAAU,GAAG;GACtC,OAAO,CACL,CAAC,eAAe,OAAO,WAAW,GAClC,CAAC,mBAAmB,OAAO,WAAW,CACxC;EACF,CAAC,CACH;CACF;AACF;AACA,SAAS,mBAAmB,MAAM;CAChC,OAAO;EAAC;EAAQ;EAAc,QAAQ;EAAQ,QAAQ,KAAK;CAAO,CAAC,CAAC,KACjE,SAAS,cAAc,KAAK,KAAK,IAAI,CAAC,CACzC;AACF;AACA,eAAe,iBAAiB,MAAM;CACpC,MAAM,WAAW,mBAAmB,IAAI;CACxC,MAAM,SAAS,OAAO,aACnB,MAAM,QAAQ,IACb,SAAS,IAAI,OAAO,aAAa;EAC/B,IAAI,CAAC,YAAY,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;EAC9C,MAAM,WAAW,MAAM,SAAS,UAAU,OAAO;EACjD,OAAO,OAAO,QAAQ,MAAM,QAAQ,CAAC;CACvC,CAAC,CACH,EAAC,CAAE,KAAK,CACV;CACA,MAAM,aAAa,EAAE,GAAG,QAAQ,IAAI;CACpC,OAAO;EAAE;EAAQ;CAAW,CAAC;CAC7B,OAAO;AACT;AACA,SAAS,YAAY,MAAM;CACzB,IAAI;EACF,OAAO,SAAS,MAAM,EAAE,gBAAgB,MAAM,CAAC;CACjD,QAAQ,CACR;AACF"}
1
+ {"version":3,"file":"loadEnv.js","names":[],"sources":["exports/loadEnv.js"],"sourcesContent":["import { statSync } from \"node:fs\";\nimport { readFile } from \"node:fs/promises\";\nimport { join } from \"node:path\";\nimport { parse } from \"dotenv\";\nimport { expand } from \"dotenv-expand\";\nimport { normalizePath } from \"vite\";\nimport { withExpoPublicEnvAliases } from \"@vxrn/utils/publicEnv\";\nconst DEFAULT_PREFIX = /^(ONE|VITE|TAMAGUI)_|^EXPO_PUBLIC_/;\nasync function loadEnv(mode, root = process.cwd(), userPrefix) {\n const loadedEnv = await loadJustEnvFiles(mode);\n const prefix = userPrefix ? Array.isArray(userPrefix) ? userPrefix : [userPrefix] : [];\n const isPublicKey = (key) => {\n return prefix.some((p) => key.startsWith(p)) || DEFAULT_PREFIX.test(key);\n };\n const loaded = {};\n for (const key in loadedEnv) {\n const val = process.env[key] || loadedEnv[key];\n loaded[key] = val;\n process.env[key] = val;\n }\n const clientEnv = withExpoPublicEnvAliases(\n Object.fromEntries(\n Object.entries({\n ...process.env,\n ...loaded\n }).flatMap(([key, value]) => {\n if (isPublicKey(key)) {\n return [[key, value]];\n }\n return [];\n })\n )\n );\n for (const [key, value] of Object.entries(clientEnv)) {\n if (process.env[key] === void 0 && value !== void 0) {\n process.env[key] = value;\n }\n }\n return {\n serverEnv: loadedEnv,\n clientEnv,\n clientEnvDefine: Object.fromEntries(\n Object.entries(clientEnv).flatMap(([key, val]) => {\n const stringified = JSON.stringify(val);\n return [\n [`process.env.${key}`, stringified],\n [`import.meta.env.${key}`, stringified]\n ];\n })\n )\n };\n}\nfunction getEnvFilesForMode(mode) {\n return [`.env`, `.env.local`, `.env.${mode}`, `.env.${mode}.local`].map(\n (file) => normalizePath(join(\".\", file))\n );\n}\nasync function loadJustEnvFiles(mode) {\n const envFiles = getEnvFilesForMode(mode);\n const parsed = Object.fromEntries(\n (await Promise.all(\n envFiles.map(async (filePath) => {\n if (!tryStatSync(filePath)?.isFile()) return [];\n const contents = await readFile(filePath, \"utf-8\");\n return Object.entries(parse(contents));\n })\n )).flat()\n );\n const processEnv = { ...process.env };\n expand({ parsed, processEnv });\n return parsed;\n}\nfunction tryStatSync(file) {\n try {\n return statSync(file, { throwIfNoEntry: false });\n } catch {\n }\n}\nexport {\n loadEnv\n};\n//# sourceMappingURL=loadEnv.js.map\n"],"mappings":";;;;;;;;;AAOA,MAAM,iBAAiB;AACvB,eAAe,QAAQ,MAAM,OAAO,QAAQ,IAAI,GAAG,YAAY;CAC7D,MAAM,YAAY,MAAM,iBAAiB,IAAI;CAC7C,MAAM,SAAS,aAAa,MAAM,QAAQ,UAAU,IAAI,aAAa,CAAC,UAAU,IAAI,CAAC;CACrF,MAAM,eAAe,QAAQ;EAC3B,OAAO,OAAO,MAAM,MAAM,IAAI,WAAW,CAAC,CAAC,KAAK,eAAe,KAAK,GAAG;CACzE;CACA,MAAM,SAAS,CAAC;CAChB,KAAK,MAAM,OAAO,WAAW;EAC3B,MAAM,MAAM,QAAQ,IAAI,QAAQ,UAAU;EAC1C,OAAO,OAAO;EACd,QAAQ,IAAI,OAAO;CACrB;CACA,MAAM,YAAY,yBAChB,OAAO,YACL,OAAO,QAAQ;EACb,GAAG,QAAQ;EACX,GAAG;CACL,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,WAAW;EAC3B,IAAI,YAAY,GAAG,GAAG;GACpB,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC;EACtB;EACA,OAAO,CAAC;CACV,CAAC,CACH,CACF;CACA,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,SAAS,GAAG;EACpD,IAAI,QAAQ,IAAI,SAAS,KAAK,KAAK,UAAU,KAAK,GAAG;GACnD,QAAQ,IAAI,OAAO;EACrB;CACF;CACA,OAAO;EACL,WAAW;EACX;EACA,iBAAiB,OAAO,YACtB,OAAO,QAAQ,SAAS,CAAC,CAAC,SAAS,CAAC,KAAK,SAAS;GAChD,MAAM,cAAc,KAAK,UAAU,GAAG;GACtC,OAAO,CACL,CAAC,eAAe,OAAO,WAAW,GAClC,CAAC,mBAAmB,OAAO,WAAW,CACxC;EACF,CAAC,CACH;CACF;AACF;AACA,SAAS,mBAAmB,MAAM;CAChC,OAAO;EAAC;EAAQ;EAAc,QAAQ;EAAQ,QAAQ,KAAK;CAAO,CAAC,CAAC,KACjE,SAAS,cAAc,KAAK,KAAK,IAAI,CAAC,CACzC;AACF;AACA,eAAe,iBAAiB,MAAM;CACpC,MAAM,WAAW,mBAAmB,IAAI;CACxC,MAAM,SAAS,OAAO,aACnB,MAAM,QAAQ,IACb,SAAS,IAAI,OAAO,aAAa;EAC/B,IAAI,CAAC,YAAY,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;EAC9C,MAAM,WAAW,MAAM,SAAS,UAAU,OAAO;EACjD,OAAO,OAAO,QAAQ,MAAM,QAAQ,CAAC;CACvC,CAAC,CACH,EAAC,CAAE,KAAK,CACV;CACA,MAAM,aAAa,EAAE,GAAG,QAAQ,IAAI;CACpC,OAAO;EAAE;EAAQ;CAAW,CAAC;CAC7B,OAAO;AACT;AACA,SAAS,YAAY,MAAM;CACzB,IAAI;EACF,OAAO,SAAS,MAAM,EAAE,gBAAgB,MAAM,CAAC;CACjD,QAAQ,CACR;AACF"}
@@ -4,8 +4,9 @@ import { join } from "path";
4
4
  import { parse } from "dotenv";
5
5
  import { expand } from "dotenv-expand";
6
6
  import { normalizePath } from "vite";
7
+ import { withExpoPublicEnvAliases } from "@vxrn/utils/publicEnv";
7
8
 
8
- var DEFAULT_PREFIX = /^(ONE|VITE|TAMAGUI)_/;
9
+ var DEFAULT_PREFIX = /^(ONE|VITE|TAMAGUI)_|^EXPO_PUBLIC_/;
9
10
  async function loadEnv(mode) {
10
11
  var root = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : process.cwd(), userPrefix = arguments.length > 2 ? arguments[2] : void 0;
11
12
  var loadedEnv = await loadJustEnvFiles(mode);
@@ -21,16 +22,38 @@ async function loadEnv(mode) {
21
22
  loaded[key] = val;
22
23
  process.env[key] = val;
23
24
  }
24
- var clientEnv = Object.fromEntries(Object.entries({
25
+ var clientEnv = withExpoPublicEnvAliases(Object.fromEntries(Object.entries({
25
26
  ...process.env,
26
27
  ...loaded
27
28
  }).flatMap(function(param) {
28
- var [key2, value] = param;
29
+ var [key2, value2] = param;
29
30
  if (isPublicKey(key2)) {
30
- return [[key2, value]];
31
+ return [[key2, value2]];
31
32
  }
32
33
  return [];
33
- }));
34
+ })));
35
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
36
+ try {
37
+ for (var _iterator = Object.entries(clientEnv)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
38
+ var [key1, value] = _step.value;
39
+ if (process.env[key1] === void 0 && value !== void 0) {
40
+ process.env[key1] = value;
41
+ }
42
+ }
43
+ } catch (err) {
44
+ _didIteratorError = true;
45
+ _iteratorError = err;
46
+ } finally {
47
+ try {
48
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
49
+ _iterator.return();
50
+ }
51
+ } finally {
52
+ if (_didIteratorError) {
53
+ throw _iteratorError;
54
+ }
55
+ }
56
+ }
34
57
  return {
35
58
  serverEnv: loadedEnv,
36
59
  clientEnv,
@@ -1 +1 @@
1
- {"version":3,"file":"loadEnv.native.js","names":[],"sources":["exports/loadEnv.native.js"],"sourcesContent":["import { statSync } from \"fs\";\nimport { readFile } from \"fs/promises\";\nimport { join } from \"path\";\nimport { parse } from \"dotenv\";\nimport { expand } from \"dotenv-expand\";\nimport { normalizePath } from \"vite\";\nvar DEFAULT_PREFIX = /^(ONE|VITE|TAMAGUI)_/;\nasync function loadEnv(mode) {\n var root = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : process.cwd(), userPrefix = arguments.length > 2 ? arguments[2] : void 0;\n var loadedEnv = await loadJustEnvFiles(mode);\n var prefix = userPrefix ? Array.isArray(userPrefix) ? userPrefix : [\n userPrefix\n ] : [];\n var isPublicKey = function(key2) {\n return prefix.some(function(p) {\n return key2.startsWith(p);\n }) || DEFAULT_PREFIX.test(key2);\n };\n var loaded = {};\n for (var key in loadedEnv) {\n var val = process.env[key] || loadedEnv[key];\n loaded[key] = val;\n process.env[key] = val;\n }\n var clientEnv = Object.fromEntries(Object.entries({\n ...process.env,\n ...loaded\n }).flatMap(function(param) {\n var [key2, value] = param;\n if (isPublicKey(key2)) {\n return [\n [\n key2,\n value\n ]\n ];\n }\n return [];\n }));\n return {\n serverEnv: loadedEnv,\n clientEnv,\n clientEnvDefine: Object.fromEntries(Object.entries(clientEnv).flatMap(function(param) {\n var [key2, val2] = param;\n var stringified = JSON.stringify(val2);\n return [\n [\n `process.env.${key2}`,\n stringified\n ],\n [\n `import.meta.env.${key2}`,\n stringified\n ]\n ];\n }))\n };\n}\nfunction getEnvFilesForMode(mode) {\n return [\n `.env`,\n `.env.local`,\n `.env.${mode}`,\n `.env.${mode}.local`\n ].map(function(file) {\n return normalizePath(join(\".\", file));\n });\n}\nasync function loadJustEnvFiles(mode) {\n var envFiles = getEnvFilesForMode(mode);\n var parsed = Object.fromEntries((await Promise.all(envFiles.map(async function(filePath) {\n var _tryStatSync;\n if (!((_tryStatSync = tryStatSync(filePath)) === null || _tryStatSync === void 0 ? void 0 : _tryStatSync.isFile())) return [];\n var contents = await readFile(filePath, \"utf-8\");\n return Object.entries(parse(contents));\n }))).flat());\n var processEnv = {\n ...process.env\n };\n expand({\n parsed,\n processEnv\n });\n return parsed;\n}\nfunction tryStatSync(file) {\n try {\n return statSync(file, {\n throwIfNoEntry: false\n });\n } catch (unused) {\n }\n}\nexport {\n loadEnv\n};\n//# sourceMappingURL=loadEnv.js.map\n"],"mappings":";;;;;;;;AAMA,IAAI,iBAAiB;AACrB,eAAe,QAAQ,MAAM;CAC3B,IAAI,OAAO,UAAU,SAAS,KAAK,UAAU,OAAO,KAAK,IAAI,UAAU,KAAK,QAAQ,IAAI,GAAG,aAAa,UAAU,SAAS,IAAI,UAAU,KAAK,KAAK;CACnJ,IAAI,YAAY,MAAM,iBAAiB,IAAI;CAC3C,IAAI,SAAS,aAAa,MAAM,QAAQ,UAAU,IAAI,aAAa,CACjE,UACF,IAAI,CAAC;CACL,IAAI,cAAc,SAAS,MAAM;EAC/B,OAAO,OAAO,KAAK,SAAS,GAAG;GAC7B,OAAO,KAAK,WAAW,CAAC;EAC1B,CAAC,KAAK,eAAe,KAAK,IAAI;CAChC;CACA,IAAI,SAAS,CAAC;CACd,KAAK,IAAI,OAAO,WAAW;EACzB,IAAI,MAAM,QAAQ,IAAI,QAAQ,UAAU;EACxC,OAAO,OAAO;EACd,QAAQ,IAAI,OAAO;CACrB;CACA,IAAI,YAAY,OAAO,YAAY,OAAO,QAAQ;EAChD,GAAG,QAAQ;EACX,GAAG;CACL,CAAC,CAAC,CAAC,QAAQ,SAAS,OAAO;EACzB,IAAI,CAAC,MAAM,SAAS;EACpB,IAAI,YAAY,IAAI,GAAG;GACrB,OAAO,CACL,CACE,MACA,KACF,CACF;EACF;EACA,OAAO,CAAC;CACV,CAAC,CAAC;CACF,OAAO;EACL,WAAW;EACX;EACA,iBAAiB,OAAO,YAAY,OAAO,QAAQ,SAAS,CAAC,CAAC,QAAQ,SAAS,OAAO;GACpF,IAAI,CAAC,MAAM,QAAQ;GACnB,IAAI,cAAc,KAAK,UAAU,IAAI;GACrC,OAAO,CACL,CACE,eAAe,QACf,WACF,GACA,CACE,mBAAmB,QACnB,WACF,CACF;EACF,CAAC,CAAC;CACJ;AACF;AACA,SAAS,mBAAmB,MAAM;CAChC,OAAO;EACL;EACA;EACA,QAAQ;EACR,QAAQ,KAAK;CACf,CAAC,CAAC,IAAI,SAAS,MAAM;EACnB,OAAO,cAAc,KAAK,KAAK,IAAI,CAAC;CACtC,CAAC;AACH;AACA,eAAe,iBAAiB,MAAM;CACpC,IAAI,WAAW,mBAAmB,IAAI;CACtC,IAAI,SAAS,OAAO,aAAa,MAAM,QAAQ,IAAI,SAAS,IAAI,eAAe,UAAU;EACvF,IAAI;EACJ,IAAI,GAAG,eAAe,YAAY,QAAQ,OAAO,QAAQ,iBAAiB,KAAK,IAAI,KAAK,IAAI,aAAa,OAAO,IAAI,OAAO,CAAC;EAC5H,IAAI,WAAW,MAAM,SAAS,UAAU,OAAO;EAC/C,OAAO,OAAO,QAAQ,MAAM,QAAQ,CAAC;CACvC,CAAC,CAAC,EAAC,CAAE,KAAK,CAAC;CACX,IAAI,aAAa,EACf,GAAG,QAAQ,IACb;CACA,OAAO;EACL;EACA;CACF,CAAC;CACD,OAAO;AACT;AACA,SAAS,YAAY,MAAM;CACzB,IAAI;EACF,OAAO,SAAS,MAAM,EACpB,gBAAgB,MAClB,CAAC;CACH,SAAS,QAAQ,CACjB;AACF"}
1
+ {"version":3,"file":"loadEnv.native.js","names":[],"sources":["exports/loadEnv.native.js"],"sourcesContent":["import { statSync } from \"fs\";\nimport { readFile } from \"fs/promises\";\nimport { join } from \"path\";\nimport { parse } from \"dotenv\";\nimport { expand } from \"dotenv-expand\";\nimport { normalizePath } from \"vite\";\nimport { withExpoPublicEnvAliases } from \"@vxrn/utils/publicEnv\";\nvar DEFAULT_PREFIX = /^(ONE|VITE|TAMAGUI)_|^EXPO_PUBLIC_/;\nasync function loadEnv(mode) {\n var root = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : process.cwd(), userPrefix = arguments.length > 2 ? arguments[2] : void 0;\n var loadedEnv = await loadJustEnvFiles(mode);\n var prefix = userPrefix ? Array.isArray(userPrefix) ? userPrefix : [\n userPrefix\n ] : [];\n var isPublicKey = function(key2) {\n return prefix.some(function(p) {\n return key2.startsWith(p);\n }) || DEFAULT_PREFIX.test(key2);\n };\n var loaded = {};\n for (var key in loadedEnv) {\n var val = process.env[key] || loadedEnv[key];\n loaded[key] = val;\n process.env[key] = val;\n }\n var clientEnv = withExpoPublicEnvAliases(Object.fromEntries(Object.entries({\n ...process.env,\n ...loaded\n }).flatMap(function(param) {\n var [key2, value2] = param;\n if (isPublicKey(key2)) {\n return [\n [\n key2,\n value2\n ]\n ];\n }\n return [];\n })));\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = Object.entries(clientEnv)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var [key1, value] = _step.value;\n if (process.env[key1] === void 0 && value !== void 0) {\n process.env[key1] = value;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return {\n serverEnv: loadedEnv,\n clientEnv,\n clientEnvDefine: Object.fromEntries(Object.entries(clientEnv).flatMap(function(param) {\n var [key2, val2] = param;\n var stringified = JSON.stringify(val2);\n return [\n [\n `process.env.${key2}`,\n stringified\n ],\n [\n `import.meta.env.${key2}`,\n stringified\n ]\n ];\n }))\n };\n}\nfunction getEnvFilesForMode(mode) {\n return [\n `.env`,\n `.env.local`,\n `.env.${mode}`,\n `.env.${mode}.local`\n ].map(function(file) {\n return normalizePath(join(\".\", file));\n });\n}\nasync function loadJustEnvFiles(mode) {\n var envFiles = getEnvFilesForMode(mode);\n var parsed = Object.fromEntries((await Promise.all(envFiles.map(async function(filePath) {\n var _tryStatSync;\n if (!((_tryStatSync = tryStatSync(filePath)) === null || _tryStatSync === void 0 ? void 0 : _tryStatSync.isFile())) return [];\n var contents = await readFile(filePath, \"utf-8\");\n return Object.entries(parse(contents));\n }))).flat());\n var processEnv = {\n ...process.env\n };\n expand({\n parsed,\n processEnv\n });\n return parsed;\n}\nfunction tryStatSync(file) {\n try {\n return statSync(file, {\n throwIfNoEntry: false\n });\n } catch (unused) {\n }\n}\nexport {\n loadEnv\n};\n//# sourceMappingURL=loadEnv.js.map\n"],"mappings":"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"}
@@ -43,6 +43,7 @@ if (typeof process === 'undefined') {
43
43
  }
44
44
  process.env.NODE_ENV = ${JSON.stringify(options.dev ? "development" : "production")};
45
45
  process.env.ONE_PLATFORM = ${JSON.stringify(options.platform)};
46
+ process.env.EXPO_OS = ${JSON.stringify(options.platform)};
46
47
  process.env.TAMAGUI_TARGET = 'native';
47
48
  ${options.serverUrl ? `process.env.ONE_SERVER_URL = ${JSON.stringify(options.serverUrl)};` : ""}
48
49
 
@@ -1 +1 @@
1
- {"version":3,"file":"native-prelude.js","names":[],"sources":["runtime/native-prelude.js"],"sourcesContent":["function getNativePrelude(options) {\n\treturn `\nvar __BUNDLE_START_TIME__ = globalThis.nativePerformanceNow ? nativePerformanceNow() : Date.now();\n\nvar global = typeof globalThis !== 'undefined' ? globalThis\n : typeof global !== 'undefined' ? global\n : typeof window !== 'undefined' ? window\n : this;\n\nglobalThis.global = global;\nglobalThis.__DEV__ = ${options.dev};\n\n// react native polyfills\nglobal.__FUSEBOX_HAS_FULL_CONSOLE_SUPPORT__ = false;\nglobal.Event = global.Event || function() { return this; };\nglobal.dispatchEvent = global.dispatchEvent || function() {};\nglobal.window = global.window || global;\nglobal.self = global.self || global;\nglobal.navigator = global.navigator || { product: 'ReactNative', userAgent: '' };\nglobal.performance = global.performance || { now: function() { return Date.now(); } };\n\n// hermes can expose addEventListener without the matching removal API. browser\n// libraries use addEventListener as their capability check, then crash during\n// cleanup. keep the incomplete host API from advertising browser event support.\nif (typeof global.addEventListener === 'function' && typeof global.removeEventListener !== 'function') {\n global.addEventListener = undefined;\n}\n\n// ErrorUtils - used by RN's error handling system\nif (!global.ErrorUtils) {\n var _handler = null;\n global.ErrorUtils = {\n setGlobalHandler: function(h) { _handler = h; },\n getGlobalHandler: function() { return _handler; },\n reportFatalError: function(e) { if (_handler) _handler(e, true); else throw e; },\n reportError: function(e) { if (_handler) _handler(e, false); },\n applyWithGuard: function(fn, ctx, args) { try { return fn.apply(ctx, args); } catch(e) { this.reportError(e); } },\n };\n}\n\nif (typeof process === 'undefined') {\n globalThis.process = { env: {} };\n}\nprocess.env.NODE_ENV = ${JSON.stringify(options.dev ? \"development\" : \"production\")};\nprocess.env.ONE_PLATFORM = ${JSON.stringify(options.platform)};\nprocess.env.TAMAGUI_TARGET = 'native';\n${options.serverUrl ? `process.env.ONE_SERVER_URL = ${JSON.stringify(options.serverUrl)};` : \"\"}\n\n// polyfill setImmediate (used by react-native internals)\nif (typeof globalThis.setImmediate === 'undefined') {\n globalThis.setImmediate = function(fn) { return setTimeout(fn, 0); };\n globalThis.clearImmediate = function(id) { clearTimeout(id); };\n}\n\n// polyfill URLSearchParams early (before whatwg-fetch checks for it)\n// RN's polyfillGlobal sets this up later but some modules check at import time\nif (typeof globalThis.URLSearchParams === 'undefined') {\n // minimal URLSearchParams polyfill - will be overridden by RN's proper one\n globalThis.URLSearchParams = function URLSearchParams(init) {\n this._params = {};\n if (typeof init === 'string') {\n init.replace(/^\\\\?/, '').split('&').forEach(function(p) {\n var kv = p.split('=');\n if (kv[0]) this._params[decodeURIComponent(kv[0])] = decodeURIComponent(kv[1] || '');\n }.bind(this));\n }\n };\n globalThis.URLSearchParams.prototype.get = function(k) { return this._params[k] || null; };\n globalThis.URLSearchParams.prototype.toString = function() {\n return Object.keys(this._params).map(function(k) { return encodeURIComponent(k) + '=' + encodeURIComponent(this._params[k]); }.bind(this)).join('&');\n };\n}\n\n// ensure console exists before any library prelude touches it in release bundles\nglobalThis.console = globalThis.console || {};\nvar console = globalThis.console;\nconsole.log = console.log || function() {};\nconsole.info = console.info || function() {};\nconsole.warn = console.warn || function() {};\nconsole.error = console.error || function() {};\nconsole.debug = console.debug || function() {};\nconsole.trace = console.trace || function() {};\n\n// reanimated compat - these console methods must exist to avoid EXC_BAD_ACCESS crash\nconsole.assert = console.assert || function() {};\nconsole.clear = console.clear || function() {};\nconsole.dir = console.dir || function() {};\nconsole.dirxml = console.dirxml || function() {};\nconsole.profile = console.profile || function() {};\nconsole.profileEnd = console.profileEnd || function() {};\nconsole.table = console.table || function() {};\n\n// react refresh stubs (overridden by react-refresh plugin in dev)\n${options.dev ? `\nvar $RefreshReg$ = function() {};\nvar $RefreshSig$ = function() { return function(v) { return v; }; };\n` : \"\"}\n`.trim();\n}\n\nexport { getNativePrelude };"],"mappings":";AAAA,SAAS,iBAAiB,SAAS;CAClC,OAAO;;;;;;;;;uBASe,QAAQ,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAiCV,KAAK,UAAU,QAAQ,MAAM,gBAAgB,YAAY,EAAE;6BACvD,KAAK,UAAU,QAAQ,QAAQ,EAAE;;EAE5D,QAAQ,YAAY,gCAAgC,KAAK,UAAU,QAAQ,SAAS,EAAE,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+C9F,QAAQ,MAAM;;;IAGZ,GAAG;EACL,KAAK;AACP"}
1
+ {"version":3,"file":"native-prelude.js","names":[],"sources":["runtime/native-prelude.js"],"sourcesContent":["function getNativePrelude(options) {\n\treturn `\nvar __BUNDLE_START_TIME__ = globalThis.nativePerformanceNow ? nativePerformanceNow() : Date.now();\n\nvar global = typeof globalThis !== 'undefined' ? globalThis\n : typeof global !== 'undefined' ? global\n : typeof window !== 'undefined' ? window\n : this;\n\nglobalThis.global = global;\nglobalThis.__DEV__ = ${options.dev};\n\n// react native polyfills\nglobal.__FUSEBOX_HAS_FULL_CONSOLE_SUPPORT__ = false;\nglobal.Event = global.Event || function() { return this; };\nglobal.dispatchEvent = global.dispatchEvent || function() {};\nglobal.window = global.window || global;\nglobal.self = global.self || global;\nglobal.navigator = global.navigator || { product: 'ReactNative', userAgent: '' };\nglobal.performance = global.performance || { now: function() { return Date.now(); } };\n\n// hermes can expose addEventListener without the matching removal API. browser\n// libraries use addEventListener as their capability check, then crash during\n// cleanup. keep the incomplete host API from advertising browser event support.\nif (typeof global.addEventListener === 'function' && typeof global.removeEventListener !== 'function') {\n global.addEventListener = undefined;\n}\n\n// ErrorUtils - used by RN's error handling system\nif (!global.ErrorUtils) {\n var _handler = null;\n global.ErrorUtils = {\n setGlobalHandler: function(h) { _handler = h; },\n getGlobalHandler: function() { return _handler; },\n reportFatalError: function(e) { if (_handler) _handler(e, true); else throw e; },\n reportError: function(e) { if (_handler) _handler(e, false); },\n applyWithGuard: function(fn, ctx, args) { try { return fn.apply(ctx, args); } catch(e) { this.reportError(e); } },\n };\n}\n\nif (typeof process === 'undefined') {\n globalThis.process = { env: {} };\n}\nprocess.env.NODE_ENV = ${JSON.stringify(options.dev ? \"development\" : \"production\")};\nprocess.env.ONE_PLATFORM = ${JSON.stringify(options.platform)};\nprocess.env.EXPO_OS = ${JSON.stringify(options.platform)};\nprocess.env.TAMAGUI_TARGET = 'native';\n${options.serverUrl ? `process.env.ONE_SERVER_URL = ${JSON.stringify(options.serverUrl)};` : \"\"}\n\n// polyfill setImmediate (used by react-native internals)\nif (typeof globalThis.setImmediate === 'undefined') {\n globalThis.setImmediate = function(fn) { return setTimeout(fn, 0); };\n globalThis.clearImmediate = function(id) { clearTimeout(id); };\n}\n\n// polyfill URLSearchParams early (before whatwg-fetch checks for it)\n// RN's polyfillGlobal sets this up later but some modules check at import time\nif (typeof globalThis.URLSearchParams === 'undefined') {\n // minimal URLSearchParams polyfill - will be overridden by RN's proper one\n globalThis.URLSearchParams = function URLSearchParams(init) {\n this._params = {};\n if (typeof init === 'string') {\n init.replace(/^\\\\?/, '').split('&').forEach(function(p) {\n var kv = p.split('=');\n if (kv[0]) this._params[decodeURIComponent(kv[0])] = decodeURIComponent(kv[1] || '');\n }.bind(this));\n }\n };\n globalThis.URLSearchParams.prototype.get = function(k) { return this._params[k] || null; };\n globalThis.URLSearchParams.prototype.toString = function() {\n return Object.keys(this._params).map(function(k) { return encodeURIComponent(k) + '=' + encodeURIComponent(this._params[k]); }.bind(this)).join('&');\n };\n}\n\n// ensure console exists before any library prelude touches it in release bundles\nglobalThis.console = globalThis.console || {};\nvar console = globalThis.console;\nconsole.log = console.log || function() {};\nconsole.info = console.info || function() {};\nconsole.warn = console.warn || function() {};\nconsole.error = console.error || function() {};\nconsole.debug = console.debug || function() {};\nconsole.trace = console.trace || function() {};\n\n// reanimated compat - these console methods must exist to avoid EXC_BAD_ACCESS crash\nconsole.assert = console.assert || function() {};\nconsole.clear = console.clear || function() {};\nconsole.dir = console.dir || function() {};\nconsole.dirxml = console.dirxml || function() {};\nconsole.profile = console.profile || function() {};\nconsole.profileEnd = console.profileEnd || function() {};\nconsole.table = console.table || function() {};\n\n// react refresh stubs (overridden by react-refresh plugin in dev)\n${options.dev ? `\nvar $RefreshReg$ = function() {};\nvar $RefreshSig$ = function() { return function(v) { return v; }; };\n` : \"\"}\n`.trim();\n}\n\nexport { getNativePrelude };"],"mappings":";AAAA,SAAS,iBAAiB,SAAS;CAClC,OAAO;;;;;;;;;uBASe,QAAQ,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAiCV,KAAK,UAAU,QAAQ,MAAM,gBAAgB,YAAY,EAAE;6BACvD,KAAK,UAAU,QAAQ,QAAQ,EAAE;wBACtC,KAAK,UAAU,QAAQ,QAAQ,EAAE;;EAEvD,QAAQ,YAAY,gCAAgC,KAAK,UAAU,QAAQ,SAAS,EAAE,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+C9F,QAAQ,MAAM;;;IAGZ,GAAG;EACL,KAAK;AACP"}
@@ -43,6 +43,7 @@ if (typeof process === 'undefined') {
43
43
  }
44
44
  process.env.NODE_ENV = ${JSON.stringify(options.dev ? "development" : "production")};
45
45
  process.env.ONE_PLATFORM = ${JSON.stringify(options.platform)};
46
+ process.env.EXPO_OS = ${JSON.stringify(options.platform)};
46
47
  process.env.TAMAGUI_TARGET = 'native';
47
48
  ${options.serverUrl ? `process.env.ONE_SERVER_URL = ${JSON.stringify(options.serverUrl)};` : ""}
48
49
 
@@ -1 +1 @@
1
- {"version":3,"file":"native-prelude.native.js","names":[],"sources":["runtime/native-prelude.native.js"],"sourcesContent":["function getNativePrelude(options) {\n\treturn `\nvar __BUNDLE_START_TIME__ = globalThis.nativePerformanceNow ? nativePerformanceNow() : Date.now();\n\nvar global = typeof globalThis !== 'undefined' ? globalThis\n : typeof global !== 'undefined' ? global\n : typeof window !== 'undefined' ? window\n : this;\n\nglobalThis.global = global;\nglobalThis.__DEV__ = ${options.dev};\n\n// react native polyfills\nglobal.__FUSEBOX_HAS_FULL_CONSOLE_SUPPORT__ = false;\nglobal.Event = global.Event || function() { return this; };\nglobal.dispatchEvent = global.dispatchEvent || function() {};\nglobal.window = global.window || global;\nglobal.self = global.self || global;\nglobal.navigator = global.navigator || { product: 'ReactNative', userAgent: '' };\nglobal.performance = global.performance || { now: function() { return Date.now(); } };\n\n// hermes can expose addEventListener without the matching removal API. browser\n// libraries use addEventListener as their capability check, then crash during\n// cleanup. keep the incomplete host API from advertising browser event support.\nif (typeof global.addEventListener === 'function' && typeof global.removeEventListener !== 'function') {\n global.addEventListener = undefined;\n}\n\n// ErrorUtils - used by RN's error handling system\nif (!global.ErrorUtils) {\n var _handler = null;\n global.ErrorUtils = {\n setGlobalHandler: function(h) { _handler = h; },\n getGlobalHandler: function() { return _handler; },\n reportFatalError: function(e) { if (_handler) _handler(e, true); else throw e; },\n reportError: function(e) { if (_handler) _handler(e, false); },\n applyWithGuard: function(fn, ctx, args) { try { return fn.apply(ctx, args); } catch(e) { this.reportError(e); } },\n };\n}\n\nif (typeof process === 'undefined') {\n globalThis.process = { env: {} };\n}\nprocess.env.NODE_ENV = ${JSON.stringify(options.dev ? \"development\" : \"production\")};\nprocess.env.ONE_PLATFORM = ${JSON.stringify(options.platform)};\nprocess.env.TAMAGUI_TARGET = 'native';\n${options.serverUrl ? `process.env.ONE_SERVER_URL = ${JSON.stringify(options.serverUrl)};` : \"\"}\n\n// polyfill setImmediate (used by react-native internals)\nif (typeof globalThis.setImmediate === 'undefined') {\n globalThis.setImmediate = function(fn) { return setTimeout(fn, 0); };\n globalThis.clearImmediate = function(id) { clearTimeout(id); };\n}\n\n// polyfill URLSearchParams early (before whatwg-fetch checks for it)\n// RN's polyfillGlobal sets this up later but some modules check at import time\nif (typeof globalThis.URLSearchParams === 'undefined') {\n // minimal URLSearchParams polyfill - will be overridden by RN's proper one\n globalThis.URLSearchParams = function URLSearchParams(init) {\n this._params = {};\n if (typeof init === 'string') {\n init.replace(/^\\\\?/, '').split('&').forEach(function(p) {\n var kv = p.split('=');\n if (kv[0]) this._params[decodeURIComponent(kv[0])] = decodeURIComponent(kv[1] || '');\n }.bind(this));\n }\n };\n globalThis.URLSearchParams.prototype.get = function(k) { return this._params[k] || null; };\n globalThis.URLSearchParams.prototype.toString = function() {\n return Object.keys(this._params).map(function(k) { return encodeURIComponent(k) + '=' + encodeURIComponent(this._params[k]); }.bind(this)).join('&');\n };\n}\n\n// ensure console exists before any library prelude touches it in release bundles\nglobalThis.console = globalThis.console || {};\nvar console = globalThis.console;\nconsole.log = console.log || function() {};\nconsole.info = console.info || function() {};\nconsole.warn = console.warn || function() {};\nconsole.error = console.error || function() {};\nconsole.debug = console.debug || function() {};\nconsole.trace = console.trace || function() {};\n\n// reanimated compat - these console methods must exist to avoid EXC_BAD_ACCESS crash\nconsole.assert = console.assert || function() {};\nconsole.clear = console.clear || function() {};\nconsole.dir = console.dir || function() {};\nconsole.dirxml = console.dirxml || function() {};\nconsole.profile = console.profile || function() {};\nconsole.profileEnd = console.profileEnd || function() {};\nconsole.table = console.table || function() {};\n\n// react refresh stubs (overridden by react-refresh plugin in dev)\n${options.dev ? `\nvar $RefreshReg$ = function() {};\nvar $RefreshSig$ = function() { return function(v) { return v; }; };\n` : \"\"}\n`.trim();\n}\n\nexport { getNativePrelude };"],"mappings":";AAAA,SAAS,iBAAiB,SAAS;CAClC,OAAO;;;;;;;;;uBASe,QAAQ,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAiCV,KAAK,UAAU,QAAQ,MAAM,gBAAgB,YAAY,EAAE;6BACvD,KAAK,UAAU,QAAQ,QAAQ,EAAE;;EAE5D,QAAQ,YAAY,gCAAgC,KAAK,UAAU,QAAQ,SAAS,EAAE,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+C9F,QAAQ,MAAM;;;IAGZ,GAAG;EACL,KAAK;AACP"}
1
+ {"version":3,"file":"native-prelude.native.js","names":[],"sources":["runtime/native-prelude.native.js"],"sourcesContent":["function getNativePrelude(options) {\n\treturn `\nvar __BUNDLE_START_TIME__ = globalThis.nativePerformanceNow ? nativePerformanceNow() : Date.now();\n\nvar global = typeof globalThis !== 'undefined' ? globalThis\n : typeof global !== 'undefined' ? global\n : typeof window !== 'undefined' ? window\n : this;\n\nglobalThis.global = global;\nglobalThis.__DEV__ = ${options.dev};\n\n// react native polyfills\nglobal.__FUSEBOX_HAS_FULL_CONSOLE_SUPPORT__ = false;\nglobal.Event = global.Event || function() { return this; };\nglobal.dispatchEvent = global.dispatchEvent || function() {};\nglobal.window = global.window || global;\nglobal.self = global.self || global;\nglobal.navigator = global.navigator || { product: 'ReactNative', userAgent: '' };\nglobal.performance = global.performance || { now: function() { return Date.now(); } };\n\n// hermes can expose addEventListener without the matching removal API. browser\n// libraries use addEventListener as their capability check, then crash during\n// cleanup. keep the incomplete host API from advertising browser event support.\nif (typeof global.addEventListener === 'function' && typeof global.removeEventListener !== 'function') {\n global.addEventListener = undefined;\n}\n\n// ErrorUtils - used by RN's error handling system\nif (!global.ErrorUtils) {\n var _handler = null;\n global.ErrorUtils = {\n setGlobalHandler: function(h) { _handler = h; },\n getGlobalHandler: function() { return _handler; },\n reportFatalError: function(e) { if (_handler) _handler(e, true); else throw e; },\n reportError: function(e) { if (_handler) _handler(e, false); },\n applyWithGuard: function(fn, ctx, args) { try { return fn.apply(ctx, args); } catch(e) { this.reportError(e); } },\n };\n}\n\nif (typeof process === 'undefined') {\n globalThis.process = { env: {} };\n}\nprocess.env.NODE_ENV = ${JSON.stringify(options.dev ? \"development\" : \"production\")};\nprocess.env.ONE_PLATFORM = ${JSON.stringify(options.platform)};\nprocess.env.EXPO_OS = ${JSON.stringify(options.platform)};\nprocess.env.TAMAGUI_TARGET = 'native';\n${options.serverUrl ? `process.env.ONE_SERVER_URL = ${JSON.stringify(options.serverUrl)};` : \"\"}\n\n// polyfill setImmediate (used by react-native internals)\nif (typeof globalThis.setImmediate === 'undefined') {\n globalThis.setImmediate = function(fn) { return setTimeout(fn, 0); };\n globalThis.clearImmediate = function(id) { clearTimeout(id); };\n}\n\n// polyfill URLSearchParams early (before whatwg-fetch checks for it)\n// RN's polyfillGlobal sets this up later but some modules check at import time\nif (typeof globalThis.URLSearchParams === 'undefined') {\n // minimal URLSearchParams polyfill - will be overridden by RN's proper one\n globalThis.URLSearchParams = function URLSearchParams(init) {\n this._params = {};\n if (typeof init === 'string') {\n init.replace(/^\\\\?/, '').split('&').forEach(function(p) {\n var kv = p.split('=');\n if (kv[0]) this._params[decodeURIComponent(kv[0])] = decodeURIComponent(kv[1] || '');\n }.bind(this));\n }\n };\n globalThis.URLSearchParams.prototype.get = function(k) { return this._params[k] || null; };\n globalThis.URLSearchParams.prototype.toString = function() {\n return Object.keys(this._params).map(function(k) { return encodeURIComponent(k) + '=' + encodeURIComponent(this._params[k]); }.bind(this)).join('&');\n };\n}\n\n// ensure console exists before any library prelude touches it in release bundles\nglobalThis.console = globalThis.console || {};\nvar console = globalThis.console;\nconsole.log = console.log || function() {};\nconsole.info = console.info || function() {};\nconsole.warn = console.warn || function() {};\nconsole.error = console.error || function() {};\nconsole.debug = console.debug || function() {};\nconsole.trace = console.trace || function() {};\n\n// reanimated compat - these console methods must exist to avoid EXC_BAD_ACCESS crash\nconsole.assert = console.assert || function() {};\nconsole.clear = console.clear || function() {};\nconsole.dir = console.dir || function() {};\nconsole.dirxml = console.dirxml || function() {};\nconsole.profile = console.profile || function() {};\nconsole.profileEnd = console.profileEnd || function() {};\nconsole.table = console.table || function() {};\n\n// react refresh stubs (overridden by react-refresh plugin in dev)\n${options.dev ? `\nvar $RefreshReg$ = function() {};\nvar $RefreshSig$ = function() { return function(v) { return v; }; };\n` : \"\"}\n`.trim();\n}\n\nexport { getNativePrelude };"],"mappings":";AAAA,SAAS,iBAAiB,SAAS;CAClC,OAAO;;;;;;;;;uBASe,QAAQ,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAiCV,KAAK,UAAU,QAAQ,MAAM,gBAAgB,YAAY,EAAE;6BACvD,KAAK,UAAU,QAAQ,QAAQ,EAAE;wBACtC,KAAK,UAAU,QAAQ,QAAQ,EAAE;;EAEvD,QAAQ,YAAY,gCAAgC,KAAK,UAAU,QAAQ,SAAS,EAAE,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+C9F,QAAQ,MAAM;;;IAGZ,GAAG;EACL,KAAK;AACP"}
@@ -6,6 +6,7 @@ import micromatch from "micromatch";
6
6
  import { loadEnv, normalizePath } from "vite";
7
7
  import { shouldStripFlow, transformHermesAsync } from "@vxrn/compiler";
8
8
  import { resolvePath } from "@vxrn/resolve";
9
+ import { withExpoPublicEnvAliases } from "@vxrn/utils/publicEnv";
9
10
  import { DEFAULT_ASSET_EXTS } from "../constants/defaults.mjs";
10
11
  import { getNativePrelude } from "../runtime/native-prelude.mjs";
11
12
  import { rnCodegenPlugin } from "../plugins/rnCodegenPlugin.mjs";
@@ -93,8 +94,11 @@ function getNativeTransformConfig(platform, dev, root) {
93
94
  const userDefines = {};
94
95
  for (const [key, value] of Object.entries(globalThis.__vxrnNativeUserDefine || {})) userDefines[key] = typeof value === "string" ? value : JSON.stringify(value);
95
96
  const mode = dev ? "development" : "production";
96
- for (const key of Object.keys(process.env)) if (key.startsWith("EXPO_PUBLIC_")) throw new Error(`[one] ${key} uses the removed expo prefix. rename it to ONE_PUBLIC_*`);
97
- const publicEnv = loadEnv(mode, root, ["VITE_", "ONE_PUBLIC_"]);
97
+ const publicEnv = withExpoPublicEnvAliases(loadEnv(mode, root, [
98
+ "VITE_",
99
+ "ONE_PUBLIC_",
100
+ "EXPO_PUBLIC_"
101
+ ]));
98
102
  const envDefines = {};
99
103
  for (const [key, value] of Object.entries(publicEnv)) {
100
104
  envDefines[`import.meta.env.${key}`] = JSON.stringify(value);
@@ -109,6 +113,7 @@ function getNativeTransformConfig(platform, dev, root) {
109
113
  VITE_ENVIRONMENT: platform,
110
114
  VITE_NATIVE: "1",
111
115
  ONE_PLATFORM: platform,
116
+ EXPO_OS: platform,
112
117
  TAMAGUI_TARGET: "native",
113
118
  TAMAGUI_ENVIRONMENT: platform
114
119
  };
@@ -122,6 +127,7 @@ function getNativeTransformConfig(platform, dev, root) {
122
127
  "process.env.VITE_ENVIRONMENT": JSON.stringify(platform),
123
128
  "process.env.VITE_NATIVE": "\"1\"",
124
129
  "process.env.ONE_PLATFORM": JSON.stringify(platform),
130
+ "process.env.EXPO_OS": JSON.stringify(platform),
125
131
  "process.env.TAMAGUI_TARGET": "\"native\"",
126
132
  "process.env.TAMAGUI_ENVIRONMENT": JSON.stringify(platform),
127
133
  __DEV__: dev ? "true" : "false",
@@ -133,6 +139,7 @@ function getNativeTransformConfig(platform, dev, root) {
133
139
  "import.meta.env.VITE_ENVIRONMENT": JSON.stringify(platform),
134
140
  "import.meta.env.VITE_NATIVE": "\"1\"",
135
141
  "import.meta.env.ONE_PLATFORM": JSON.stringify(platform),
142
+ "import.meta.env.EXPO_OS": JSON.stringify(platform),
136
143
  "import.meta.env.TAMAGUI_TARGET": "\"native\"",
137
144
  "import.meta.env.TAMAGUI_ENVIRONMENT": JSON.stringify(platform),
138
145
  ...setupFileDefines