@vxrn/vite-plugin-metro 2.0.0-beta.46.1 → 2.0.0-beta.50.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.
Files changed (39) hide show
  1. package/dist/cjs/env/platformEnv.cjs +4 -4
  2. package/dist/cjs/env/platformEnv.native.cjs +4 -4
  3. package/dist/cjs/env/platformEnv.native.js +4 -4
  4. package/dist/cjs/env/platformEnv.native.js.map +1 -1
  5. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.cjs +14 -3
  6. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.cjs +48 -20
  7. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.js +48 -20
  8. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.js.map +1 -1
  9. package/dist/cjs/transformer/metroNativeWorker.cjs +4 -15
  10. package/dist/cjs/transformer/metroNativeWorker.native.cjs +5 -16
  11. package/dist/cjs/transformer/metroNativeWorker.native.js +5 -16
  12. package/dist/cjs/transformer/metroNativeWorker.native.js.map +1 -1
  13. package/dist/esm/env/platformEnv.mjs +4 -4
  14. package/dist/esm/env/platformEnv.mjs.map +1 -1
  15. package/dist/esm/env/platformEnv.native.js +4 -4
  16. package/dist/esm/env/platformEnv.native.js.map +1 -1
  17. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.mjs +14 -3
  18. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.mjs.map +1 -1
  19. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.native.js +48 -20
  20. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.native.js.map +1 -1
  21. package/dist/esm/transformer/metroNativeWorker.mjs +4 -15
  22. package/dist/esm/transformer/metroNativeWorker.mjs.map +1 -1
  23. package/dist/esm/transformer/metroNativeWorker.native.js +5 -16
  24. package/dist/esm/transformer/metroNativeWorker.native.js.map +1 -1
  25. package/package.json +4 -4
  26. package/src/babel-plugins/import-meta-env-plugin.ts +1 -1
  27. package/src/env/platformEnv.test.ts +34 -0
  28. package/src/env/platformEnv.ts +5 -5
  29. package/src/metro-config/getMetroBabelConfigFromViteConfig.test.ts +58 -0
  30. package/src/metro-config/getMetroBabelConfigFromViteConfig.ts +24 -4
  31. package/src/transformer/metroNativeWorker.test.ts +40 -0
  32. package/src/transformer/metroNativeWorker.ts +20 -22
  33. package/types/babel-plugins/import-meta-env-plugin.d.ts +1 -1
  34. package/types/env/platformEnv.d.ts +1 -1
  35. package/types/env/platformEnv.d.ts.map +1 -1
  36. package/types/metro-config/getMetroBabelConfigFromViteConfig.d.ts +1 -1
  37. package/types/metro-config/getMetroBabelConfigFromViteConfig.d.ts.map +1 -1
  38. package/types/transformer/metroNativeWorker.d.ts +9 -8
  39. package/types/transformer/metroNativeWorker.d.ts.map +1 -1
@@ -2,28 +2,28 @@ const platformEnvMap = {
2
2
  client: {
3
3
  VITE_ENVIRONMENT: "client",
4
4
  VITE_NATIVE: "",
5
- EXPO_OS: "web",
5
+ ONE_PLATFORM: "web",
6
6
  TAMAGUI_TARGET: "web",
7
7
  TAMAGUI_ENVIRONMENT: "client"
8
8
  },
9
9
  ssr: {
10
10
  VITE_ENVIRONMENT: "ssr",
11
11
  VITE_NATIVE: "",
12
- EXPO_OS: "web",
12
+ ONE_PLATFORM: "web",
13
13
  TAMAGUI_TARGET: "web",
14
14
  TAMAGUI_ENVIRONMENT: "ssr"
15
15
  },
16
16
  ios: {
17
17
  VITE_ENVIRONMENT: "ios",
18
18
  VITE_NATIVE: "1",
19
- EXPO_OS: "ios",
19
+ ONE_PLATFORM: "ios",
20
20
  TAMAGUI_TARGET: "native",
21
21
  TAMAGUI_ENVIRONMENT: "ios"
22
22
  },
23
23
  android: {
24
24
  VITE_ENVIRONMENT: "android",
25
25
  VITE_NATIVE: "1",
26
- EXPO_OS: "android",
26
+ ONE_PLATFORM: "android",
27
27
  TAMAGUI_TARGET: "native",
28
28
  TAMAGUI_ENVIRONMENT: "android"
29
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"platformEnv.js","names":[],"sources":["esm/env/platformEnv.js"],"sourcesContent":["const platformEnvMap = {\n client: {\n VITE_ENVIRONMENT: \"client\",\n VITE_NATIVE: \"\",\n EXPO_OS: \"web\",\n TAMAGUI_TARGET: \"web\",\n TAMAGUI_ENVIRONMENT: \"client\"\n },\n ssr: {\n VITE_ENVIRONMENT: \"ssr\",\n VITE_NATIVE: \"\",\n EXPO_OS: \"web\",\n TAMAGUI_TARGET: \"web\",\n TAMAGUI_ENVIRONMENT: \"ssr\"\n },\n ios: {\n VITE_ENVIRONMENT: \"ios\",\n VITE_NATIVE: \"1\",\n EXPO_OS: \"ios\",\n TAMAGUI_TARGET: \"native\",\n TAMAGUI_ENVIRONMENT: \"ios\"\n },\n android: {\n VITE_ENVIRONMENT: \"android\",\n VITE_NATIVE: \"1\",\n EXPO_OS: \"android\",\n TAMAGUI_TARGET: \"native\",\n TAMAGUI_ENVIRONMENT: \"android\"\n }\n};\nfunction getPlatformEnv(environment) {\n return platformEnvMap[environment];\n}\nfunction metroPlatformToViteEnvironment(platform) {\n if (platform === \"ios\") return \"ios\";\n if (platform === \"android\") return \"android\";\n return \"client\";\n}\nfunction getPlatformEnvDefine(environment) {\n const env = getPlatformEnv(environment);\n const define = {};\n for (const [key, value] of Object.entries(env)) {\n define[`process.env.${key}`] = JSON.stringify(value);\n define[`import.meta.env.${key}`] = JSON.stringify(value);\n }\n return define;\n}\nexport {\n getPlatformEnv,\n getPlatformEnvDefine,\n metroPlatformToViteEnvironment\n};\n//# sourceMappingURL=platformEnv.js.map\n"],"mappings":";AAAA,MAAM,iBAAiB;CACrB,QAAQ;EACN,kBAAkB;EAClB,aAAa;EACb,SAAS;EACT,gBAAgB;EAChB,qBAAqB;CACvB;CACA,KAAK;EACH,kBAAkB;EAClB,aAAa;EACb,SAAS;EACT,gBAAgB;EAChB,qBAAqB;CACvB;CACA,KAAK;EACH,kBAAkB;EAClB,aAAa;EACb,SAAS;EACT,gBAAgB;EAChB,qBAAqB;CACvB;CACA,SAAS;EACP,kBAAkB;EAClB,aAAa;EACb,SAAS;EACT,gBAAgB;EAChB,qBAAqB;CACvB;AACF;AACA,SAAS,eAAe,aAAa;CACnC,OAAO,eAAe;AACxB;AACA,SAAS,+BAA+B,UAAU;CAChD,IAAI,aAAa,OAAO,OAAO;CAC/B,IAAI,aAAa,WAAW,OAAO;CACnC,OAAO;AACT;AACA,SAAS,qBAAqB,aAAa;CACzC,MAAM,MAAM,eAAe,WAAW;CACtC,MAAM,SAAS,CAAC;CAChB,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,GAAG,GAAG;EAC9C,OAAO,eAAe,SAAS,KAAK,UAAU,KAAK;EACnD,OAAO,mBAAmB,SAAS,KAAK,UAAU,KAAK;CACzD;CACA,OAAO;AACT"}
1
+ {"version":3,"file":"platformEnv.js","names":[],"sources":["esm/env/platformEnv.js"],"sourcesContent":["const platformEnvMap = {\n client: {\n VITE_ENVIRONMENT: \"client\",\n VITE_NATIVE: \"\",\n ONE_PLATFORM: \"web\",\n TAMAGUI_TARGET: \"web\",\n TAMAGUI_ENVIRONMENT: \"client\"\n },\n ssr: {\n VITE_ENVIRONMENT: \"ssr\",\n VITE_NATIVE: \"\",\n ONE_PLATFORM: \"web\",\n TAMAGUI_TARGET: \"web\",\n TAMAGUI_ENVIRONMENT: \"ssr\"\n },\n ios: {\n VITE_ENVIRONMENT: \"ios\",\n VITE_NATIVE: \"1\",\n ONE_PLATFORM: \"ios\",\n TAMAGUI_TARGET: \"native\",\n TAMAGUI_ENVIRONMENT: \"ios\"\n },\n android: {\n VITE_ENVIRONMENT: \"android\",\n VITE_NATIVE: \"1\",\n ONE_PLATFORM: \"android\",\n TAMAGUI_TARGET: \"native\",\n TAMAGUI_ENVIRONMENT: \"android\"\n }\n};\nfunction getPlatformEnv(environment) {\n return platformEnvMap[environment];\n}\nfunction metroPlatformToViteEnvironment(platform) {\n if (platform === \"ios\") return \"ios\";\n if (platform === \"android\") return \"android\";\n return \"client\";\n}\nfunction getPlatformEnvDefine(environment) {\n const env = getPlatformEnv(environment);\n const define = {};\n for (const [key, value] of Object.entries(env)) {\n define[`process.env.${key}`] = JSON.stringify(value);\n define[`import.meta.env.${key}`] = JSON.stringify(value);\n }\n return define;\n}\nexport {\n getPlatformEnv,\n getPlatformEnvDefine,\n metroPlatformToViteEnvironment\n};\n//# sourceMappingURL=platformEnv.js.map\n"],"mappings":";AAAA,MAAM,iBAAiB;CACrB,QAAQ;EACN,kBAAkB;EAClB,aAAa;EACb,cAAc;EACd,gBAAgB;EAChB,qBAAqB;CACvB;CACA,KAAK;EACH,kBAAkB;EAClB,aAAa;EACb,cAAc;EACd,gBAAgB;EAChB,qBAAqB;CACvB;CACA,KAAK;EACH,kBAAkB;EAClB,aAAa;EACb,cAAc;EACd,gBAAgB;EAChB,qBAAqB;CACvB;CACA,SAAS;EACP,kBAAkB;EAClB,aAAa;EACb,cAAc;EACd,gBAAgB;EAChB,qBAAqB;CACvB;AACF;AACA,SAAS,eAAe,aAAa;CACnC,OAAO,eAAe;AACxB;AACA,SAAS,+BAA+B,UAAU;CAChD,IAAI,aAAa,OAAO,OAAO;CAC/B,IAAI,aAAa,WAAW,OAAO;CACnC,OAAO;AACT;AACA,SAAS,qBAAqB,aAAa;CACzC,MAAM,MAAM,eAAe,WAAW;CACtC,MAAM,SAAS,CAAC;CAChB,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,GAAG,GAAG;EAC9C,OAAO,eAAe,SAAS,KAAK,UAAU,KAAK;EACnD,OAAO,mBAAmB,SAAS,KAAK,UAAU,KAAK;CACzD;CACA,OAAO;AACT"}
@@ -2,28 +2,28 @@ var platformEnvMap = {
2
2
  client: {
3
3
  VITE_ENVIRONMENT: "client",
4
4
  VITE_NATIVE: "",
5
- EXPO_OS: "web",
5
+ ONE_PLATFORM: "web",
6
6
  TAMAGUI_TARGET: "web",
7
7
  TAMAGUI_ENVIRONMENT: "client"
8
8
  },
9
9
  ssr: {
10
10
  VITE_ENVIRONMENT: "ssr",
11
11
  VITE_NATIVE: "",
12
- EXPO_OS: "web",
12
+ ONE_PLATFORM: "web",
13
13
  TAMAGUI_TARGET: "web",
14
14
  TAMAGUI_ENVIRONMENT: "ssr"
15
15
  },
16
16
  ios: {
17
17
  VITE_ENVIRONMENT: "ios",
18
18
  VITE_NATIVE: "1",
19
- EXPO_OS: "ios",
19
+ ONE_PLATFORM: "ios",
20
20
  TAMAGUI_TARGET: "native",
21
21
  TAMAGUI_ENVIRONMENT: "ios"
22
22
  },
23
23
  android: {
24
24
  VITE_ENVIRONMENT: "android",
25
25
  VITE_NATIVE: "1",
26
- EXPO_OS: "android",
26
+ ONE_PLATFORM: "android",
27
27
  TAMAGUI_TARGET: "native",
28
28
  TAMAGUI_ENVIRONMENT: "android"
29
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"platformEnv.native.js","names":[],"sources":["esm/env/platformEnv.native.js"],"sourcesContent":["var platformEnvMap = {\n client: {\n VITE_ENVIRONMENT: \"client\",\n VITE_NATIVE: \"\",\n EXPO_OS: \"web\",\n TAMAGUI_TARGET: \"web\",\n TAMAGUI_ENVIRONMENT: \"client\"\n },\n ssr: {\n VITE_ENVIRONMENT: \"ssr\",\n VITE_NATIVE: \"\",\n EXPO_OS: \"web\",\n TAMAGUI_TARGET: \"web\",\n TAMAGUI_ENVIRONMENT: \"ssr\"\n },\n ios: {\n VITE_ENVIRONMENT: \"ios\",\n VITE_NATIVE: \"1\",\n EXPO_OS: \"ios\",\n TAMAGUI_TARGET: \"native\",\n TAMAGUI_ENVIRONMENT: \"ios\"\n },\n android: {\n VITE_ENVIRONMENT: \"android\",\n VITE_NATIVE: \"1\",\n EXPO_OS: \"android\",\n TAMAGUI_TARGET: \"native\",\n TAMAGUI_ENVIRONMENT: \"android\"\n }\n};\nfunction getPlatformEnv(environment) {\n return platformEnvMap[environment];\n}\nfunction metroPlatformToViteEnvironment(platform) {\n if (platform === \"ios\") return \"ios\";\n if (platform === \"android\") return \"android\";\n return \"client\";\n}\nfunction getPlatformEnvDefine(environment) {\n var env = getPlatformEnv(environment);\n var define = {};\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = Object.entries(env)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var [key, value] = _step.value;\n define[`process.env.${key}`] = JSON.stringify(value);\n define[`import.meta.env.${key}`] = JSON.stringify(value);\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 define;\n}\nexport {\n getPlatformEnv,\n getPlatformEnvDefine,\n metroPlatformToViteEnvironment\n};\n//# sourceMappingURL=platformEnv.js.map\n"],"mappings":";AAAA,IAAI,iBAAiB;CACnB,QAAQ;EACN,kBAAkB;EAClB,aAAa;EACb,SAAS;EACT,gBAAgB;EAChB,qBAAqB;CACvB;CACA,KAAK;EACH,kBAAkB;EAClB,aAAa;EACb,SAAS;EACT,gBAAgB;EAChB,qBAAqB;CACvB;CACA,KAAK;EACH,kBAAkB;EAClB,aAAa;EACb,SAAS;EACT,gBAAgB;EAChB,qBAAqB;CACvB;CACA,SAAS;EACP,kBAAkB;EAClB,aAAa;EACb,SAAS;EACT,gBAAgB;EAChB,qBAAqB;CACvB;AACF;AACA,SAAS,eAAe,aAAa;CACnC,OAAO,eAAe;AACxB;AACA,SAAS,+BAA+B,UAAU;CAChD,IAAI,aAAa,OAAO,OAAO;CAC/B,IAAI,aAAa,WAAW,OAAO;CACnC,OAAO;AACT;AACA,SAAS,qBAAqB,aAAa;CACzC,IAAI,MAAM,eAAe,WAAW;CACpC,IAAI,SAAS,CAAC;CACd,IAAI,4BAA4B,MAAM,oBAAoB,OAAO,iBAAiB,KAAK;CACvF,IAAI;EACF,KAAK,IAAI,YAAY,OAAO,QAAQ,GAAG,CAAC,CAAC,OAAO,SAAS,CAAC,GAAG,OAAO,EAAE,6BAA6B,QAAQ,UAAU,KAAK,EAAC,CAAE,OAAO,4BAA4B,MAAM;GACpK,IAAI,CAAC,KAAK,SAAS,MAAM;GACzB,OAAO,eAAe,SAAS,KAAK,UAAU,KAAK;GACnD,OAAO,mBAAmB,SAAS,KAAK,UAAU,KAAK;EACzD;CACF,SAAS,KAAK;EACZ,oBAAoB;EACpB,iBAAiB;CACnB,UAAU;EACR,IAAI;GACF,IAAI,CAAC,6BAA6B,UAAU,UAAU,MAAM;IAC1D,UAAU,OAAO;GACnB;EACF,UAAU;GACR,IAAI,mBAAmB;IACrB,MAAM;GACR;EACF;CACF;CACA,OAAO;AACT"}
1
+ {"version":3,"file":"platformEnv.native.js","names":[],"sources":["esm/env/platformEnv.native.js"],"sourcesContent":["var platformEnvMap = {\n client: {\n VITE_ENVIRONMENT: \"client\",\n VITE_NATIVE: \"\",\n ONE_PLATFORM: \"web\",\n TAMAGUI_TARGET: \"web\",\n TAMAGUI_ENVIRONMENT: \"client\"\n },\n ssr: {\n VITE_ENVIRONMENT: \"ssr\",\n VITE_NATIVE: \"\",\n ONE_PLATFORM: \"web\",\n TAMAGUI_TARGET: \"web\",\n TAMAGUI_ENVIRONMENT: \"ssr\"\n },\n ios: {\n VITE_ENVIRONMENT: \"ios\",\n VITE_NATIVE: \"1\",\n ONE_PLATFORM: \"ios\",\n TAMAGUI_TARGET: \"native\",\n TAMAGUI_ENVIRONMENT: \"ios\"\n },\n android: {\n VITE_ENVIRONMENT: \"android\",\n VITE_NATIVE: \"1\",\n ONE_PLATFORM: \"android\",\n TAMAGUI_TARGET: \"native\",\n TAMAGUI_ENVIRONMENT: \"android\"\n }\n};\nfunction getPlatformEnv(environment) {\n return platformEnvMap[environment];\n}\nfunction metroPlatformToViteEnvironment(platform) {\n if (platform === \"ios\") return \"ios\";\n if (platform === \"android\") return \"android\";\n return \"client\";\n}\nfunction getPlatformEnvDefine(environment) {\n var env = getPlatformEnv(environment);\n var define = {};\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = Object.entries(env)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var [key, value] = _step.value;\n define[`process.env.${key}`] = JSON.stringify(value);\n define[`import.meta.env.${key}`] = JSON.stringify(value);\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 define;\n}\nexport {\n getPlatformEnv,\n getPlatformEnvDefine,\n metroPlatformToViteEnvironment\n};\n//# sourceMappingURL=platformEnv.js.map\n"],"mappings":";AAAA,IAAI,iBAAiB;CACnB,QAAQ;EACN,kBAAkB;EAClB,aAAa;EACb,cAAc;EACd,gBAAgB;EAChB,qBAAqB;CACvB;CACA,KAAK;EACH,kBAAkB;EAClB,aAAa;EACb,cAAc;EACd,gBAAgB;EAChB,qBAAqB;CACvB;CACA,KAAK;EACH,kBAAkB;EAClB,aAAa;EACb,cAAc;EACd,gBAAgB;EAChB,qBAAqB;CACvB;CACA,SAAS;EACP,kBAAkB;EAClB,aAAa;EACb,cAAc;EACd,gBAAgB;EAChB,qBAAqB;CACvB;AACF;AACA,SAAS,eAAe,aAAa;CACnC,OAAO,eAAe;AACxB;AACA,SAAS,+BAA+B,UAAU;CAChD,IAAI,aAAa,OAAO,OAAO;CAC/B,IAAI,aAAa,WAAW,OAAO;CACnC,OAAO;AACT;AACA,SAAS,qBAAqB,aAAa;CACzC,IAAI,MAAM,eAAe,WAAW;CACpC,IAAI,SAAS,CAAC;CACd,IAAI,4BAA4B,MAAM,oBAAoB,OAAO,iBAAiB,KAAK;CACvF,IAAI;EACF,KAAK,IAAI,YAAY,OAAO,QAAQ,GAAG,CAAC,CAAC,OAAO,SAAS,CAAC,GAAG,OAAO,EAAE,6BAA6B,QAAQ,UAAU,KAAK,EAAC,CAAE,OAAO,4BAA4B,MAAM;GACpK,IAAI,CAAC,KAAK,SAAS,MAAM;GACzB,OAAO,eAAe,SAAS,KAAK,UAAU,KAAK;GACnD,OAAO,mBAAmB,SAAS,KAAK,UAAU,KAAK;EACzD;CACF,SAAS,KAAK;EACZ,oBAAoB;EACpB,iBAAiB;CACnB,UAAU;EACR,IAAI;GACF,IAAI,CAAC,6BAA6B,UAAU,UAAU,MAAM;IAC1D,UAAU,OAAO;GACnB;EACF,UAAU;GACR,IAAI,mBAAmB;IACrB,MAAM;GACR;EACF;CACF;CACA,OAAO;AACT"}
@@ -6,9 +6,17 @@ function getMetroBabelConfigFromViteConfig(config) {
6
6
  DEV: config.mode === "development",
7
7
  SSR: false
8
8
  };
9
- const envPrefix = config.envPrefix || ["VITE_", "EXPO_PUBLIC_"];
9
+ const envPrefix = config.envPrefix || ["VITE_", "ONE_PUBLIC_"];
10
10
  const prefixes = Array.isArray(envPrefix) ? envPrefix : [envPrefix];
11
+ for (const prefix of prefixes) {
12
+ if (prefix.startsWith("EXPO_")) {
13
+ throw new Error(`[vxrn/metro] env prefix "${prefix}" is removed. rename it to ONE_PUBLIC_*`);
14
+ }
15
+ }
11
16
  for (const key of Object.keys(config.env)) {
17
+ if (key.startsWith("EXPO_PUBLIC_")) {
18
+ throw new Error(`[vxrn/metro] ${key} uses the removed expo prefix. rename it to ONE_PUBLIC_*`);
19
+ }
12
20
  if (prefixes.some((p) => key.startsWith(p))) {
13
21
  importMetaEnv[key] = process.env[key];
14
22
  }
@@ -16,13 +24,16 @@ function getMetroBabelConfigFromViteConfig(config) {
16
24
  const definePrefixes = Array.from(/* @__PURE__ */ new Set([
17
25
  ...prefixes,
18
26
  "VITE_",
19
- "ONE_",
20
- "EXPO_PUBLIC_"
27
+ "ONE_PUBLIC_",
28
+ "ONE_"
21
29
  ]));
22
30
  for (const defineKey of Object.keys(config.define || {})) {
23
31
  const m = defineKey.match(/^process\.env\.([A-Z][A-Z0-9_]*)$/);
24
32
  if (!m) continue;
25
33
  const key = m[1];
34
+ if (key.startsWith("EXPO_PUBLIC_") || key === "EXPO_OS") {
35
+ throw new Error(`[vxrn/metro] ${key} uses the removed expo contract. rename it to ONE_PUBLIC_* or ONE_PLATFORM`);
36
+ }
26
37
  if (key in importMetaEnv) continue;
27
38
  if (!definePrefixes.some((p) => key.startsWith(p))) continue;
28
39
  const raw = config.define[defineKey];
@@ -1 +1 @@
1
- {"version":3,"file":"getMetroBabelConfigFromViteConfig.js","names":[],"sources":["esm/metro-config/getMetroBabelConfigFromViteConfig.js"],"sourcesContent":["function getMetroBabelConfigFromViteConfig(config) {\n const importMetaEnv = {\n MODE: config.mode,\n BASE_URL: config.base,\n PROD: config.mode === \"production\",\n DEV: config.mode === \"development\",\n SSR: false\n };\n const envPrefix = config.envPrefix || [\"VITE_\", \"EXPO_PUBLIC_\"];\n const prefixes = Array.isArray(envPrefix) ? envPrefix : [envPrefix];\n for (const key of Object.keys(config.env)) {\n if (prefixes.some((p) => key.startsWith(p))) {\n importMetaEnv[key] = process.env[key];\n }\n }\n const definePrefixes = Array.from(\n /* @__PURE__ */ new Set([...prefixes, \"VITE_\", \"ONE_\", \"EXPO_PUBLIC_\"])\n );\n for (const defineKey of Object.keys(config.define || {})) {\n const m = defineKey.match(/^process\\.env\\.([A-Z][A-Z0-9_]*)$/);\n if (!m) continue;\n const key = m[1];\n if (key in importMetaEnv) continue;\n if (!definePrefixes.some((p) => key.startsWith(p))) continue;\n const raw = config.define[defineKey];\n try {\n importMetaEnv[key] = typeof raw === \"string\" ? JSON.parse(raw) : raw;\n } catch {\n importMetaEnv[key] = raw;\n }\n }\n return {\n plugins: [\n [\n \"@vxrn/vite-plugin-metro/babel-plugins/import-meta-env-plugin\",\n { env: importMetaEnv }\n ]\n ]\n };\n}\nexport {\n getMetroBabelConfigFromViteConfig\n};\n//# sourceMappingURL=getMetroBabelConfigFromViteConfig.js.map\n"],"mappings":";AAAA,SAAS,kCAAkC,QAAQ;CACjD,MAAM,gBAAgB;EACpB,MAAM,OAAO;EACb,UAAU,OAAO;EACjB,MAAM,OAAO,SAAS;EACtB,KAAK,OAAO,SAAS;EACrB,KAAK;CACP;CACA,MAAM,YAAY,OAAO,aAAa,CAAC,SAAS,cAAc;CAC9D,MAAM,WAAW,MAAM,QAAQ,SAAS,IAAI,YAAY,CAAC,SAAS;CAClE,KAAK,MAAM,OAAO,OAAO,KAAK,OAAO,GAAG,GAAG;EACzC,IAAI,SAAS,MAAM,MAAM,IAAI,WAAW,CAAC,CAAC,GAAG;GAC3C,cAAc,OAAO,QAAQ,IAAI;EACnC;CACF;CACA,MAAM,iBAAiB,MAAM,qBACX,IAAI,IAAI;EAAC,GAAG;EAAU;EAAS;EAAQ;CAAc,CAAC,CACxE;CACA,KAAK,MAAM,aAAa,OAAO,KAAK,OAAO,UAAU,CAAC,CAAC,GAAG;EACxD,MAAM,IAAI,UAAU,MAAM,mCAAmC;EAC7D,IAAI,CAAC,GAAG;EACR,MAAM,MAAM,EAAE;EACd,IAAI,OAAO,eAAe;EAC1B,IAAI,CAAC,eAAe,MAAM,MAAM,IAAI,WAAW,CAAC,CAAC,GAAG;EACpD,MAAM,MAAM,OAAO,OAAO;EAC1B,IAAI;GACF,cAAc,OAAO,OAAO,QAAQ,WAAW,KAAK,MAAM,GAAG,IAAI;EACnE,QAAQ;GACN,cAAc,OAAO;EACvB;CACF;CACA,OAAO,EACL,SAAS,CACP,CACE,gEACA,EAAE,KAAK,cAAc,CACvB,CACF,EACF;AACF"}
1
+ {"version":3,"file":"getMetroBabelConfigFromViteConfig.js","names":[],"sources":["esm/metro-config/getMetroBabelConfigFromViteConfig.js"],"sourcesContent":["function getMetroBabelConfigFromViteConfig(config) {\n const importMetaEnv = {\n MODE: config.mode,\n BASE_URL: config.base,\n PROD: config.mode === \"production\",\n DEV: config.mode === \"development\",\n SSR: false\n };\n const envPrefix = config.envPrefix || [\"VITE_\", \"ONE_PUBLIC_\"];\n const prefixes = Array.isArray(envPrefix) ? envPrefix : [envPrefix];\n for (const prefix of prefixes) {\n if (prefix.startsWith(\"EXPO_\")) {\n throw new Error(\n `[vxrn/metro] env prefix \"${prefix}\" is removed. rename it to ONE_PUBLIC_*`\n );\n }\n }\n for (const key of Object.keys(config.env)) {\n if (key.startsWith(\"EXPO_PUBLIC_\")) {\n throw new Error(\n `[vxrn/metro] ${key} uses the removed expo prefix. rename it to ONE_PUBLIC_*`\n );\n }\n if (prefixes.some((p) => key.startsWith(p))) {\n importMetaEnv[key] = process.env[key];\n }\n }\n const definePrefixes = Array.from(\n /* @__PURE__ */ new Set([...prefixes, \"VITE_\", \"ONE_PUBLIC_\", \"ONE_\"])\n );\n for (const defineKey of Object.keys(config.define || {})) {\n const m = defineKey.match(/^process\\.env\\.([A-Z][A-Z0-9_]*)$/);\n if (!m) continue;\n const key = m[1];\n if (key.startsWith(\"EXPO_PUBLIC_\") || key === \"EXPO_OS\") {\n throw new Error(\n `[vxrn/metro] ${key} uses the removed expo contract. rename it to ONE_PUBLIC_* or ONE_PLATFORM`\n );\n }\n if (key in importMetaEnv) continue;\n if (!definePrefixes.some((p) => key.startsWith(p))) continue;\n const raw = config.define[defineKey];\n try {\n importMetaEnv[key] = typeof raw === \"string\" ? JSON.parse(raw) : raw;\n } catch {\n importMetaEnv[key] = raw;\n }\n }\n return {\n plugins: [\n [\n \"@vxrn/vite-plugin-metro/babel-plugins/import-meta-env-plugin\",\n { env: importMetaEnv }\n ]\n ]\n };\n}\nexport {\n getMetroBabelConfigFromViteConfig\n};\n//# sourceMappingURL=getMetroBabelConfigFromViteConfig.js.map\n"],"mappings":";AAAA,SAAS,kCAAkC,QAAQ;CACjD,MAAM,gBAAgB;EACpB,MAAM,OAAO;EACb,UAAU,OAAO;EACjB,MAAM,OAAO,SAAS;EACtB,KAAK,OAAO,SAAS;EACrB,KAAK;CACP;CACA,MAAM,YAAY,OAAO,aAAa,CAAC,SAAS,aAAa;CAC7D,MAAM,WAAW,MAAM,QAAQ,SAAS,IAAI,YAAY,CAAC,SAAS;CAClE,KAAK,MAAM,UAAU,UAAU;EAC7B,IAAI,OAAO,WAAW,OAAO,GAAG;GAC9B,MAAM,IAAI,MACR,4BAA4B,OAAO,wCACrC;EACF;CACF;CACA,KAAK,MAAM,OAAO,OAAO,KAAK,OAAO,GAAG,GAAG;EACzC,IAAI,IAAI,WAAW,cAAc,GAAG;GAClC,MAAM,IAAI,MACR,gBAAgB,IAAI,yDACtB;EACF;EACA,IAAI,SAAS,MAAM,MAAM,IAAI,WAAW,CAAC,CAAC,GAAG;GAC3C,cAAc,OAAO,QAAQ,IAAI;EACnC;CACF;CACA,MAAM,iBAAiB,MAAM,qBACX,IAAI,IAAI;EAAC,GAAG;EAAU;EAAS;EAAe;CAAM,CAAC,CACvE;CACA,KAAK,MAAM,aAAa,OAAO,KAAK,OAAO,UAAU,CAAC,CAAC,GAAG;EACxD,MAAM,IAAI,UAAU,MAAM,mCAAmC;EAC7D,IAAI,CAAC,GAAG;EACR,MAAM,MAAM,EAAE;EACd,IAAI,IAAI,WAAW,cAAc,KAAK,QAAQ,WAAW;GACvD,MAAM,IAAI,MACR,gBAAgB,IAAI,2EACtB;EACF;EACA,IAAI,OAAO,eAAe;EAC1B,IAAI,CAAC,eAAe,MAAM,MAAM,IAAI,WAAW,CAAC,CAAC,GAAG;EACpD,MAAM,MAAM,OAAO,OAAO;EAC1B,IAAI;GACF,cAAc,OAAO,OAAO,QAAQ,WAAW,KAAK,MAAM,GAAG,IAAI;EACnE,QAAQ;GACN,cAAc,OAAO;EACvB;CACF;CACA,OAAO,EACL,SAAS,CACP,CACE,gEACA,EAAE,KAAK,cAAc,CACvB,CACF,EACF;AACF"}
@@ -6,19 +6,16 @@ function getMetroBabelConfigFromViteConfig(config) {
6
6
  DEV: config.mode === "development",
7
7
  SSR: false
8
8
  };
9
- var envPrefix = config.envPrefix || ["VITE_", "EXPO_PUBLIC_"];
9
+ var envPrefix = config.envPrefix || ["VITE_", "ONE_PUBLIC_"];
10
10
  var prefixes = Array.isArray(envPrefix) ? envPrefix : [envPrefix];
11
11
  var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
12
12
  try {
13
- var _loop = function() {
14
- var key = _step.value;
15
- if (prefixes.some(function(p) {
16
- return key.startsWith(p);
17
- })) {
18
- importMetaEnv[key] = process.env[key];
13
+ for (var _iterator = prefixes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
14
+ var prefix = _step.value;
15
+ if (prefix.startsWith("EXPO_")) {
16
+ throw new Error(`[vxrn/metro] env prefix "${prefix}" is removed. rename it to ONE_PUBLIC_*`);
19
17
  }
20
- };
21
- for (var _iterator = Object.keys(config.env)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();
18
+ }
22
19
  } catch (err) {
23
20
  _didIteratorError = true;
24
21
  _iteratorError = err;
@@ -33,19 +30,50 @@ function getMetroBabelConfigFromViteConfig(config) {
33
30
  }
34
31
  }
35
32
  }
33
+ var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
34
+ try {
35
+ var _loop = function() {
36
+ var key = _step1.value;
37
+ if (key.startsWith("EXPO_PUBLIC_")) {
38
+ throw new Error(`[vxrn/metro] ${key} uses the removed expo prefix. rename it to ONE_PUBLIC_*`);
39
+ }
40
+ if (prefixes.some(function(p) {
41
+ return key.startsWith(p);
42
+ })) {
43
+ importMetaEnv[key] = process.env[key];
44
+ }
45
+ };
46
+ for (var _iterator1 = Object.keys(config.env)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) _loop();
47
+ } catch (err) {
48
+ _didIteratorError1 = true;
49
+ _iteratorError1 = err;
50
+ } finally {
51
+ try {
52
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
53
+ _iterator1.return();
54
+ }
55
+ } finally {
56
+ if (_didIteratorError1) {
57
+ throw _iteratorError1;
58
+ }
59
+ }
60
+ }
36
61
  var definePrefixes = Array.from(/* @__PURE__ */ new Set([
37
62
  ...prefixes,
38
63
  "VITE_",
39
- "ONE_",
40
- "EXPO_PUBLIC_"
64
+ "ONE_PUBLIC_",
65
+ "ONE_"
41
66
  ]));
42
- var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
67
+ var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;
43
68
  try {
44
69
  var _loop1 = function() {
45
- var defineKey = _step1.value;
70
+ var defineKey = _step2.value;
46
71
  var m = defineKey.match(/^process\.env\.([A-Z][A-Z0-9_]*)$/);
47
72
  if (!m) return "continue";
48
73
  var key = m[1];
74
+ if (key.startsWith("EXPO_PUBLIC_") || key === "EXPO_OS") {
75
+ throw new Error(`[vxrn/metro] ${key} uses the removed expo contract. rename it to ONE_PUBLIC_* or ONE_PLATFORM`);
76
+ }
49
77
  if (key in importMetaEnv) return "continue";
50
78
  if (!definePrefixes.some(function(p) {
51
79
  return key.startsWith(p);
@@ -57,18 +85,18 @@ function getMetroBabelConfigFromViteConfig(config) {
57
85
  importMetaEnv[key] = raw;
58
86
  }
59
87
  };
60
- for (var _iterator1 = Object.keys(config.define || {})[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) _loop1();
88
+ for (var _iterator2 = Object.keys(config.define || {})[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) _loop1();
61
89
  } catch (err) {
62
- _didIteratorError1 = true;
63
- _iteratorError1 = err;
90
+ _didIteratorError2 = true;
91
+ _iteratorError2 = err;
64
92
  } finally {
65
93
  try {
66
- if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
67
- _iterator1.return();
94
+ if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
95
+ _iterator2.return();
68
96
  }
69
97
  } finally {
70
- if (_didIteratorError1) {
71
- throw _iteratorError1;
98
+ if (_didIteratorError2) {
99
+ throw _iteratorError2;
72
100
  }
73
101
  }
74
102
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getMetroBabelConfigFromViteConfig.native.js","names":[],"sources":["esm/metro-config/getMetroBabelConfigFromViteConfig.native.js"],"sourcesContent":["function getMetroBabelConfigFromViteConfig(config) {\n var importMetaEnv = {\n MODE: config.mode,\n BASE_URL: config.base,\n PROD: config.mode === \"production\",\n DEV: config.mode === \"development\",\n SSR: false\n };\n var envPrefix = config.envPrefix || [\n \"VITE_\",\n \"EXPO_PUBLIC_\"\n ];\n var prefixes = Array.isArray(envPrefix) ? envPrefix : [\n envPrefix\n ];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n var _loop = function() {\n var key = _step.value;\n if (prefixes.some(function(p) {\n return key.startsWith(p);\n })) {\n importMetaEnv[key] = process.env[key];\n }\n };\n for (var _iterator = Object.keys(config.env)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();\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 var definePrefixes = Array.from(/* @__PURE__ */ new Set([\n ...prefixes,\n \"VITE_\",\n \"ONE_\",\n \"EXPO_PUBLIC_\"\n ]));\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n var _loop1 = function() {\n var defineKey = _step1.value;\n var m = defineKey.match(/^process\\.env\\.([A-Z][A-Z0-9_]*)$/);\n if (!m) return \"continue\";\n var key = m[1];\n if (key in importMetaEnv) return \"continue\";\n if (!definePrefixes.some(function(p) {\n return key.startsWith(p);\n })) return \"continue\";\n var raw = config.define[defineKey];\n try {\n importMetaEnv[key] = typeof raw === \"string\" ? JSON.parse(raw) : raw;\n } catch (unused) {\n importMetaEnv[key] = raw;\n }\n };\n for (var _iterator1 = Object.keys(config.define || {})[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) _loop1();\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n return {\n plugins: [\n [\n \"@vxrn/vite-plugin-metro/babel-plugins/import-meta-env-plugin\",\n {\n env: importMetaEnv\n }\n ]\n ]\n };\n}\nexport {\n getMetroBabelConfigFromViteConfig\n};\n//# sourceMappingURL=getMetroBabelConfigFromViteConfig.js.map\n"],"mappings":";AAAA,SAAS,kCAAkC,QAAQ;CACjD,IAAI,gBAAgB;EAClB,MAAM,OAAO;EACb,UAAU,OAAO;EACjB,MAAM,OAAO,SAAS;EACtB,KAAK,OAAO,SAAS;EACrB,KAAK;CACP;CACA,IAAI,YAAY,OAAO,aAAa,CAClC,SACA,cACF;CACA,IAAI,WAAW,MAAM,QAAQ,SAAS,IAAI,YAAY,CACpD,SACF;CACA,IAAI,4BAA4B,MAAM,oBAAoB,OAAO,iBAAiB,KAAK;CACvF,IAAI;EACF,IAAI,QAAQ,WAAW;GACrB,IAAI,MAAM,MAAM;GAChB,IAAI,SAAS,KAAK,SAAS,GAAG;IAC5B,OAAO,IAAI,WAAW,CAAC;GACzB,CAAC,GAAG;IACF,cAAc,OAAO,QAAQ,IAAI;GACnC;EACF;EACA,KAAK,IAAI,YAAY,OAAO,KAAK,OAAO,GAAG,CAAC,CAAC,OAAO,SAAS,CAAC,GAAG,OAAO,EAAE,6BAA6B,QAAQ,UAAU,KAAK,EAAC,CAAE,OAAO,4BAA4B,MAAM,MAAM;CAClL,SAAS,KAAK;EACZ,oBAAoB;EACpB,iBAAiB;CACnB,UAAU;EACR,IAAI;GACF,IAAI,CAAC,6BAA6B,UAAU,UAAU,MAAM;IAC1D,UAAU,OAAO;GACnB;EACF,UAAU;GACR,IAAI,mBAAmB;IACrB,MAAM;GACR;EACF;CACF;CACA,IAAI,iBAAiB,MAAM,qBAAqB,IAAI,IAAI;EACtD,GAAG;EACH;EACA;EACA;CACF,CAAC,CAAC;CACF,IAAI,6BAA6B,MAAM,qBAAqB,OAAO,kBAAkB,KAAK;CAC1F,IAAI;EACF,IAAI,SAAS,WAAW;GACtB,IAAI,YAAY,OAAO;GACvB,IAAI,IAAI,UAAU,MAAM,mCAAmC;GAC3D,IAAI,CAAC,GAAG,OAAO;GACf,IAAI,MAAM,EAAE;GACZ,IAAI,OAAO,eAAe,OAAO;GACjC,IAAI,CAAC,eAAe,KAAK,SAAS,GAAG;IACnC,OAAO,IAAI,WAAW,CAAC;GACzB,CAAC,GAAG,OAAO;GACX,IAAI,MAAM,OAAO,OAAO;GACxB,IAAI;IACF,cAAc,OAAO,OAAO,QAAQ,WAAW,KAAK,MAAM,GAAG,IAAI;GACnE,SAAS,QAAQ;IACf,cAAc,OAAO;GACvB;EACF;EACA,KAAK,IAAI,aAAa,OAAO,KAAK,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,SAAS,CAAC,GAAG,QAAQ,EAAE,8BAA8B,SAAS,WAAW,KAAK,EAAC,CAAE,OAAO,6BAA6B,MAAM,OAAO;CAClM,SAAS,KAAK;EACZ,qBAAqB;EACrB,kBAAkB;CACpB,UAAU;EACR,IAAI;GACF,IAAI,CAAC,8BAA8B,WAAW,UAAU,MAAM;IAC5D,WAAW,OAAO;GACpB;EACF,UAAU;GACR,IAAI,oBAAoB;IACtB,MAAM;GACR;EACF;CACF;CACA,OAAO,EACL,SAAS,CACP,CACE,gEACA,EACE,KAAK,cACP,CACF,CACF,EACF;AACF"}
1
+ {"version":3,"file":"getMetroBabelConfigFromViteConfig.native.js","names":[],"sources":["esm/metro-config/getMetroBabelConfigFromViteConfig.native.js"],"sourcesContent":["function getMetroBabelConfigFromViteConfig(config) {\n var importMetaEnv = {\n MODE: config.mode,\n BASE_URL: config.base,\n PROD: config.mode === \"production\",\n DEV: config.mode === \"development\",\n SSR: false\n };\n var envPrefix = config.envPrefix || [\n \"VITE_\",\n \"ONE_PUBLIC_\"\n ];\n var prefixes = Array.isArray(envPrefix) ? envPrefix : [\n envPrefix\n ];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = prefixes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var prefix = _step.value;\n if (prefix.startsWith(\"EXPO_\")) {\n throw new Error(`[vxrn/metro] env prefix \"${prefix}\" is removed. rename it to ONE_PUBLIC_*`);\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 var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n var _loop = function() {\n var key = _step1.value;\n if (key.startsWith(\"EXPO_PUBLIC_\")) {\n throw new Error(`[vxrn/metro] ${key} uses the removed expo prefix. rename it to ONE_PUBLIC_*`);\n }\n if (prefixes.some(function(p) {\n return key.startsWith(p);\n })) {\n importMetaEnv[key] = process.env[key];\n }\n };\n for (var _iterator1 = Object.keys(config.env)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) _loop();\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n var definePrefixes = Array.from(/* @__PURE__ */ new Set([\n ...prefixes,\n \"VITE_\",\n \"ONE_PUBLIC_\",\n \"ONE_\"\n ]));\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n var _loop1 = function() {\n var defineKey = _step2.value;\n var m = defineKey.match(/^process\\.env\\.([A-Z][A-Z0-9_]*)$/);\n if (!m) return \"continue\";\n var key = m[1];\n if (key.startsWith(\"EXPO_PUBLIC_\") || key === \"EXPO_OS\") {\n throw new Error(`[vxrn/metro] ${key} uses the removed expo contract. rename it to ONE_PUBLIC_* or ONE_PLATFORM`);\n }\n if (key in importMetaEnv) return \"continue\";\n if (!definePrefixes.some(function(p) {\n return key.startsWith(p);\n })) return \"continue\";\n var raw = config.define[defineKey];\n try {\n importMetaEnv[key] = typeof raw === \"string\" ? JSON.parse(raw) : raw;\n } catch (unused) {\n importMetaEnv[key] = raw;\n }\n };\n for (var _iterator2 = Object.keys(config.define || {})[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) _loop1();\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n return {\n plugins: [\n [\n \"@vxrn/vite-plugin-metro/babel-plugins/import-meta-env-plugin\",\n {\n env: importMetaEnv\n }\n ]\n ]\n };\n}\nexport {\n getMetroBabelConfigFromViteConfig\n};\n//# sourceMappingURL=getMetroBabelConfigFromViteConfig.js.map\n"],"mappings":"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"}
@@ -241,7 +241,6 @@ function applyInlineEnvVars(code, filename, isProduction, env = {}) {
241
241
  }
242
242
  if (!parsed?.program) return code;
243
243
  const ms = new MagicString(code);
244
- let needsEnvImport = false;
245
244
  const edits = [];
246
245
  const known = /* @__PURE__ */ new Map();
247
246
  function replace(node, value) {
@@ -274,16 +273,10 @@ function applyInlineEnvVars(code, filename, isProduction, env = {}) {
274
273
  return;
275
274
  }
276
275
  if (isProcessEnv && !isAssignmentTarget && key?.startsWith("EXPO_PUBLIC_")) {
277
- if (isProduction) {
278
- replace(node, process.env[key] ?? void 0);
279
- } else {
280
- edits.push({
281
- start: node.start,
282
- end: node.end,
283
- text: `_$$_EXPO_ENV.${key}`
284
- });
285
- needsEnvImport = true;
286
- }
276
+ throw new Error(`[vxrn/metro] ${key} uses the removed expo prefix. rename it to ONE_PUBLIC_*`);
277
+ }
278
+ if (isProcessEnv && !isAssignmentTarget && key?.startsWith("ONE_PUBLIC_")) {
279
+ replace(node, env[key] ?? process.env[key] ?? void 0);
287
280
  return;
288
281
  }
289
282
  if (!isAssignmentTarget && isMember && isImportMeta(obj.object) && keyOf(obj.property, obj.computed) === "env" && key !== void 0) {
@@ -375,10 +368,6 @@ function applyInlineEnvVars(code, filename, isProduction, env = {}) {
375
368
  if (dead.some((d) => edit.start >= d.start && edit.end <= d.end)) continue;
376
369
  ms.overwrite(edit.start, edit.end, edit.text);
377
370
  }
378
- if (needsEnvImport) {
379
- ms.prepend(`import { env as _$$_EXPO_ENV } from "expo/virtual/env";
380
- `);
381
- }
382
371
  return ms.hasChanged() ? ms.toString() : code;
383
372
  }
384
373
  const GUARD_SPECIFIERS = /* @__PURE__ */ new Set([