@vxrn/vite-plugin-metro 2.0.0-beta.46.1 → 2.0.0-beta.51.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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vxrn/vite-plugin-metro",
3
- "version": "2.0.0-beta.46.1",
3
+ "version": "2.0.0-beta.51.1",
4
4
  "sideEffects": false,
5
5
  "type": "module",
6
6
  "main": "dist/cjs",
@@ -74,9 +74,9 @@
74
74
  "@jridgewell/remapping": "^2.3.0",
75
75
  "@jridgewell/trace-mapping": "^0.3.25",
76
76
  "@oxc-project/runtime": "^0.112.0",
77
- "@vxrn/compiler": "2.0.0-beta.46.1",
78
- "@vxrn/debug": "2.0.0-beta.46.1",
79
- "@vxrn/utils": "2.0.0-beta.46.1",
77
+ "@vxrn/compiler": "2.0.0-beta.51.1",
78
+ "@vxrn/debug": "2.0.0-beta.51.1",
79
+ "@vxrn/utils": "2.0.0-beta.51.1",
80
80
  "babel-preset-expo": "58.0.0-canary-20260909-ea7a89a",
81
81
  "esbuild": "^0.25.12",
82
82
  "launch-editor": "^2.10.0",
@@ -9,7 +9,7 @@ type PluginOptions = {
9
9
  /**
10
10
  * Babel plugin to replace `import.meta.env.*` and `process.env.*` with env values.
11
11
  *
12
- * Platform-specific env vars (VITE_ENVIRONMENT, VITE_NATIVE, EXPO_OS, TAMAGUI_ENVIRONMENT)
12
+ * Platform-specific env vars (VITE_ENVIRONMENT, VITE_NATIVE, ONE_PLATFORM, TAMAGUI_ENVIRONMENT)
13
13
  * are automatically injected based on the babel caller's platform.
14
14
  *
15
15
  * This plugin is referenced by name since Metro runs transformers in separate workers:
@@ -0,0 +1,34 @@
1
+ import { describe, expect, it } from 'vitest'
2
+ import {
3
+ getPlatformEnv,
4
+ getPlatformEnvDefine,
5
+ metroPlatformToViteEnvironment,
6
+ } from './platformEnv'
7
+
8
+ describe('one platform env contract', () => {
9
+ it('exposes ONE_PLATFORM for every vite environment', () => {
10
+ expect(getPlatformEnv('ios').ONE_PLATFORM).toBe('ios')
11
+ expect(getPlatformEnv('android').ONE_PLATFORM).toBe('android')
12
+ expect(getPlatformEnv('client').ONE_PLATFORM).toBe('web')
13
+ expect(getPlatformEnv('ssr').ONE_PLATFORM).toBe('web')
14
+ })
15
+
16
+ it('never defines EXPO_OS', () => {
17
+ for (const environment of ['client', 'ssr', 'ios', 'android'] as const) {
18
+ expect(getPlatformEnv(environment)).not.toHaveProperty('EXPO_OS')
19
+ const define = getPlatformEnvDefine(environment)
20
+ expect(define).not.toHaveProperty('process.env.EXPO_OS')
21
+ expect(define).not.toHaveProperty('import.meta.env.EXPO_OS')
22
+ }
23
+ const define = getPlatformEnvDefine('ios')
24
+ expect(define['process.env.ONE_PLATFORM']).toBe('"ios"')
25
+ expect(define['import.meta.env.ONE_PLATFORM']).toBe('"ios"')
26
+ })
27
+
28
+ it('maps metro platforms to vite environments without probing', () => {
29
+ expect(metroPlatformToViteEnvironment('ios')).toBe('ios')
30
+ expect(metroPlatformToViteEnvironment('android')).toBe('android')
31
+ expect(metroPlatformToViteEnvironment(null)).toBe('client')
32
+ expect(metroPlatformToViteEnvironment(undefined)).toBe('client')
33
+ })
34
+ })
@@ -4,7 +4,7 @@ export type ViteEnvironment = 'client' | 'ssr' | 'ios' | 'android'
4
4
  export type PlatformEnv = {
5
5
  VITE_ENVIRONMENT: ViteEnvironment
6
6
  VITE_NATIVE: '' | '1'
7
- EXPO_OS: 'web' | 'ios' | 'android'
7
+ ONE_PLATFORM: 'web' | 'ios' | 'android'
8
8
  TAMAGUI_TARGET: 'web' | 'native'
9
9
  TAMAGUI_ENVIRONMENT: ViteEnvironment
10
10
  }
@@ -13,28 +13,28 @@ const platformEnvMap: Record<ViteEnvironment, PlatformEnv> = {
13
13
  client: {
14
14
  VITE_ENVIRONMENT: 'client',
15
15
  VITE_NATIVE: '',
16
- EXPO_OS: 'web',
16
+ ONE_PLATFORM: 'web',
17
17
  TAMAGUI_TARGET: 'web',
18
18
  TAMAGUI_ENVIRONMENT: 'client',
19
19
  },
20
20
  ssr: {
21
21
  VITE_ENVIRONMENT: 'ssr',
22
22
  VITE_NATIVE: '',
23
- EXPO_OS: 'web',
23
+ ONE_PLATFORM: 'web',
24
24
  TAMAGUI_TARGET: 'web',
25
25
  TAMAGUI_ENVIRONMENT: 'ssr',
26
26
  },
27
27
  ios: {
28
28
  VITE_ENVIRONMENT: 'ios',
29
29
  VITE_NATIVE: '1',
30
- EXPO_OS: 'ios',
30
+ ONE_PLATFORM: 'ios',
31
31
  TAMAGUI_TARGET: 'native',
32
32
  TAMAGUI_ENVIRONMENT: 'ios',
33
33
  },
34
34
  android: {
35
35
  VITE_ENVIRONMENT: 'android',
36
36
  VITE_NATIVE: '1',
37
- EXPO_OS: 'android',
37
+ ONE_PLATFORM: 'android',
38
38
  TAMAGUI_TARGET: 'native',
39
39
  TAMAGUI_ENVIRONMENT: 'android',
40
40
  },
@@ -0,0 +1,58 @@
1
+ import { describe, expect, it } from 'vitest'
2
+ import { getMetroBabelConfigFromViteConfig } from './getMetroBabelConfigFromViteConfig'
3
+
4
+ function viteConfig(overrides: Record<string, any> = {}) {
5
+ return {
6
+ mode: 'development',
7
+ base: '/',
8
+ env: {},
9
+ define: {},
10
+ ...overrides,
11
+ } as any
12
+ }
13
+
14
+ function pluginEnv(config: any): Record<string, any> {
15
+ const babelConfig = getMetroBabelConfigFromViteConfig(config)
16
+ const plugin = (babelConfig.plugins as any[])[0]
17
+ return plugin[1].env
18
+ }
19
+
20
+ describe('metro babel env contract', () => {
21
+ it('picks up ONE_PUBLIC_ keys by default and never copies expo keys', () => {
22
+ process.env.ONE_PUBLIC_API = 'https://api.test'
23
+ try {
24
+ const env = pluginEnv(
25
+ viteConfig({ env: { ONE_PUBLIC_API: 'https://api.test' } })
26
+ )
27
+ expect(env.ONE_PUBLIC_API).toBe('https://api.test')
28
+ expect(env).not.toHaveProperty('EXPO_OS')
29
+ } finally {
30
+ delete process.env.ONE_PUBLIC_API
31
+ }
32
+ })
33
+
34
+ it('harvests ONE_PLATFORM from defines for parity with rolldown', () => {
35
+ const env = pluginEnv(
36
+ viteConfig({ define: { 'process.env.ONE_PLATFORM': '"ios"' } })
37
+ )
38
+ expect(env.ONE_PLATFORM).toBe('ios')
39
+ })
40
+
41
+ it('rejects an expo env prefix instead of copying it', () => {
42
+ expect(() =>
43
+ pluginEnv(viteConfig({ envPrefix: ['VITE_', 'EXPO_PUBLIC_'] }))
44
+ ).toThrow(/rename it to ONE_PUBLIC_\*/)
45
+ })
46
+
47
+ it('rejects expo keys hiding in the loaded env', () => {
48
+ expect(() =>
49
+ pluginEnv(viteConfig({ env: { EXPO_PUBLIC_API: 'x' } }))
50
+ ).toThrow(/rename it to ONE_PUBLIC_\*/)
51
+ })
52
+
53
+ it('rejects expo keys hiding in defines', () => {
54
+ expect(() =>
55
+ pluginEnv(viteConfig({ define: { 'process.env.EXPO_OS': '"ios"' } }))
56
+ ).toThrow(/ONE_PUBLIC_\* or ONE_PLATFORM/)
57
+ })
58
+ })
@@ -4,7 +4,7 @@ import type { TransformOptions } from '@babel/core'
4
4
  /**
5
5
  * Creates babel config for Metro transforms from Vite config.
6
6
  *
7
- * Platform-specific env vars (VITE_ENVIRONMENT, VITE_NATIVE, EXPO_OS, TAMAGUI_ENVIRONMENT)
7
+ * Platform-specific env vars (VITE_ENVIRONMENT, VITE_NATIVE, ONE_PLATFORM, TAMAGUI_ENVIRONMENT)
8
8
  * are handled by the import-meta-env-plugin based on caller.platform and always take precedence.
9
9
  */
10
10
  export function getMetroBabelConfigFromViteConfig(
@@ -18,10 +18,25 @@ export function getMetroBabelConfigFromViteConfig(
18
18
  SSR: false,
19
19
  }
20
20
 
21
- const envPrefix = config.envPrefix || ['VITE_', 'EXPO_PUBLIC_']
21
+ const envPrefix = config.envPrefix || ['VITE_', 'ONE_PUBLIC_']
22
22
  const prefixes = Array.isArray(envPrefix) ? envPrefix : [envPrefix]
23
23
 
24
+ // expo-prefixed public vars fail with a migration error instead of being
25
+ // copied, ignored, or aliased into the bundle.
26
+ for (const prefix of prefixes) {
27
+ if (prefix.startsWith('EXPO_')) {
28
+ throw new Error(
29
+ `[vxrn/metro] env prefix "${prefix}" is removed. rename it to ONE_PUBLIC_*`
30
+ )
31
+ }
32
+ }
33
+
24
34
  for (const key of Object.keys(config.env)) {
35
+ if (key.startsWith('EXPO_PUBLIC_')) {
36
+ throw new Error(
37
+ `[vxrn/metro] ${key} uses the removed expo prefix. rename it to ONE_PUBLIC_*`
38
+ )
39
+ }
25
40
  if (prefixes.some((p) => key.startsWith(p))) {
26
41
  importMetaEnv[key] = process.env[key]
27
42
  }
@@ -29,15 +44,20 @@ export function getMetroBabelConfigFromViteConfig(
29
44
 
30
45
  // also harvest keys from config.define (populated by env-defining plugins like one's).
31
46
  // we union the user's envPrefix with framework-level defaults so we still pick up
32
- // VITE_/ONE_/EXPO_PUBLIC_ even when another plugin replaces envPrefix wholesale
47
+ // VITE_/ONE_PUBLIC_/ONE_ even when another plugin replaces envPrefix wholesale
33
48
  // (e.g. some plugins set it to a single project-specific prefix).
34
49
  const definePrefixes = Array.from(
35
- new Set([...prefixes, 'VITE_', 'ONE_', 'EXPO_PUBLIC_'])
50
+ new Set([...prefixes, 'VITE_', 'ONE_PUBLIC_', 'ONE_'])
36
51
  )
37
52
  for (const defineKey of Object.keys(config.define || {})) {
38
53
  const m = defineKey.match(/^process\.env\.([A-Z][A-Z0-9_]*)$/)
39
54
  if (!m) continue
40
55
  const key = m[1]
56
+ if (key.startsWith('EXPO_PUBLIC_') || key === 'EXPO_OS') {
57
+ throw new Error(
58
+ `[vxrn/metro] ${key} uses the removed expo contract. rename it to ONE_PUBLIC_* or ONE_PLATFORM`
59
+ )
60
+ }
41
61
  if (key in importMetaEnv) continue
42
62
  if (!definePrefixes.some((p) => key.startsWith(p))) continue
43
63
  const raw = config.define![defineKey]
@@ -1516,3 +1516,43 @@ describe('metro babel fallback config names', () => {
1516
1516
  }
1517
1517
  })
1518
1518
  })
1519
+
1520
+ describe('one public env contract in the metro worker', () => {
1521
+ it('inlines ONE_PUBLIC_ reads in dev and prod with no virtual module', () => {
1522
+ for (const isProduction of [false, true]) {
1523
+ const out = applyInlineEnvVars(
1524
+ 'export const api = process.env.ONE_PUBLIC_API;',
1525
+ 'env.ts',
1526
+ isProduction,
1527
+ { ONE_PUBLIC_API: 'https://api.test' }
1528
+ )
1529
+ expect(out).toBe('export const api = "https://api.test";')
1530
+ expect(out).not.toContain('expo/virtual/env')
1531
+ expect(out).not.toContain('_$$_EXPO_ENV')
1532
+ }
1533
+ })
1534
+
1535
+ it('rejects EXPO_PUBLIC_ reads instead of copying or ignoring them', () => {
1536
+ for (const isProduction of [false, true]) {
1537
+ expect(() =>
1538
+ applyInlineEnvVars(
1539
+ 'export const api = process.env.EXPO_PUBLIC_API;',
1540
+ 'env.ts',
1541
+ isProduction,
1542
+ {}
1543
+ )
1544
+ ).toThrow(/rename it to ONE_PUBLIC_\*/)
1545
+ }
1546
+ })
1547
+
1548
+ it('carries ONE_PLATFORM through the whole import.meta.env object', () => {
1549
+ const out = applyInlineEnvVars(
1550
+ 'export const all = { ...import.meta.env };',
1551
+ 'env.ts',
1552
+ true,
1553
+ { ONE_PLATFORM: 'android' }
1554
+ )
1555
+ expect(out).toContain('"ONE_PLATFORM":"android"')
1556
+ expect(out).not.toContain('EXPO_OS')
1557
+ })
1558
+ })
@@ -515,16 +515,17 @@ export function applyModuleResolverAliases(
515
515
  }
516
516
 
517
517
  /**
518
- * Native port of babel-preset-expo's `expo-inline-or-reference-env-vars` and
519
- * one's `babel-plugin-inline-one-server-url`. In production every
520
- * `process.env.EXPO_PUBLIC_*` read is inlined as a literal; in development each
521
- * one is routed through the `expo/virtual/env` module so edits to .env take
522
- * effect without a full rebuild. Without this the reads survive into the bundle
523
- * and every EXPO_PUBLIC_ value is undefined at runtime.
518
+ * Native port of one's `babel-plugin-inline-one-server-url` for public env.
519
+ * Every `process.env.ONE_PUBLIC_*` read is inlined as a literal in both modes,
520
+ * matching the rolldown native defines: a native runtime has no `process.env`
521
+ * to read it back out of, and without this the reads survive into the bundle
522
+ * and every ONE_PUBLIC_ value is undefined at runtime.
524
523
  *
525
524
  * `process.env.ONE_SERVER_URL` is inlined in both modes, matching one's plugin:
526
- * it is how a native bundle knows where to fetch loader data from, and a native
527
- * runtime has no `process.env` to read it back out of.
525
+ * it is how a native bundle knows where to fetch loader data from.
526
+ *
527
+ * `process.env.EXPO_PUBLIC_*` reads fail with a migration error instead of
528
+ * being copied, ignored, or aliased.
528
529
  *
529
530
  * Both live in one pass because they are the same rewrite over the same walk,
530
531
  * and a second parse of every file is the cost this transformer exists to avoid.
@@ -544,7 +545,6 @@ export function applyInlineEnvVars(
544
545
  if (!parsed?.program) return code
545
546
 
546
547
  const ms = new MagicString(code)
547
- let needsEnvImport = false
548
548
 
549
549
  // edits are collected rather than written straight through, because a folded
550
550
  // dead branch swallows the range an inner edit sits in and MagicString throws
@@ -598,12 +598,13 @@ export function applyInlineEnvVars(
598
598
  }
599
599
 
600
600
  if (isProcessEnv && !isAssignmentTarget && key?.startsWith('EXPO_PUBLIC_')) {
601
- if (isProduction) {
602
- replace(node, process.env[key] ?? undefined)
603
- } else {
604
- edits.push({ start: node.start, end: node.end, text: `_$$_EXPO_ENV.${key}` })
605
- needsEnvImport = true
606
- }
601
+ throw new Error(
602
+ `[vxrn/metro] ${key} uses the removed expo prefix. rename it to ONE_PUBLIC_*`
603
+ )
604
+ }
605
+
606
+ if (isProcessEnv && !isAssignmentTarget && key?.startsWith('ONE_PUBLIC_')) {
607
+ replace(node, env[key] ?? process.env[key] ?? undefined)
607
608
  return
608
609
  }
609
610
 
@@ -627,7 +628,7 @@ export function applyInlineEnvVars(
627
628
  }
628
629
 
629
630
  // `process.env.X` for anything the vite env map defines. runs after the
630
- // two branches above so ONE_SERVER_URL and EXPO_PUBLIC_ keep their own
631
+ // branches above so ONE_SERVER_URL and ONE_PUBLIC_* keep their own
631
632
  // handling.
632
633
  if (isProcessEnv && !isAssignmentTarget && key !== undefined && key in env) {
633
634
  replace(node, env[key])
@@ -726,9 +727,6 @@ export function applyInlineEnvVars(
726
727
  ms.overwrite(edit.start, edit.end, edit.text)
727
728
  }
728
729
 
729
- if (needsEnvImport) {
730
- ms.prepend(`import { env as _$$_EXPO_ENV } from "expo/virtual/env";\n`)
731
- }
732
730
  return ms.hasChanged() ? ms.toString() : code
733
731
  }
734
732
 
@@ -2177,9 +2175,9 @@ export const env = !dotEnvModules.keys().length ? process.env : { ...process.env
2177
2175
  }
2178
2176
  }
2179
2177
 
2180
- // Step A2: expo public env vars, one's server url, and `import.meta.env`.
2181
- // after flow stripping so the parse succeeds, before extraction so both the
2182
- // injected `expo/virtual/env` import and any folded-away dead branch are seen.
2178
+ // Step A2: one public env vars, one's server url, and `import.meta.env`.
2179
+ // after flow stripping so the parse succeeds, before extraction so any
2180
+ // folded-away dead branch is seen.
2183
2181
  // the substring guards keep the extra parse off files with no such read at all.
2184
2182
  if (code.includes('process.env') || code.includes('import.meta')) {
2185
2183
  code = applyInlineEnvVars(code, filename, !options.dev, getImportMetaEnv(options))
@@ -5,7 +5,7 @@ type PluginOptions = {
5
5
  /**
6
6
  * Babel plugin to replace `import.meta.env.*` and `process.env.*` with env values.
7
7
  *
8
- * Platform-specific env vars (VITE_ENVIRONMENT, VITE_NATIVE, EXPO_OS, TAMAGUI_ENVIRONMENT)
8
+ * Platform-specific env vars (VITE_ENVIRONMENT, VITE_NATIVE, ONE_PLATFORM, TAMAGUI_ENVIRONMENT)
9
9
  * are automatically injected based on the babel caller's platform.
10
10
  *
11
11
  * This plugin is referenced by name since Metro runs transformers in separate workers:
@@ -3,7 +3,7 @@ export type ViteEnvironment = 'client' | 'ssr' | 'ios' | 'android';
3
3
  export type PlatformEnv = {
4
4
  VITE_ENVIRONMENT: ViteEnvironment;
5
5
  VITE_NATIVE: '' | '1';
6
- EXPO_OS: 'web' | 'ios' | 'android';
6
+ ONE_PLATFORM: 'web' | 'ios' | 'android';
7
7
  TAMAGUI_TARGET: 'web' | 'native';
8
8
  TAMAGUI_ENVIRONMENT: ViteEnvironment;
9
9
  };
@@ -1 +1 @@
1
- {"version":3,"file":"platformEnv.d.ts","sourceRoot":"","sources":["../../src/env/platformEnv.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,CAAA;AAChD,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,CAAA;AAElE,MAAM,MAAM,WAAW,GAAG;IACxB,gBAAgB,EAAE,eAAe,CAAA;IACjC,WAAW,EAAE,EAAE,GAAG,GAAG,CAAA;IACrB,OAAO,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS,CAAA;IAClC,cAAc,EAAE,KAAK,GAAG,QAAQ,CAAA;IAChC,mBAAmB,EAAE,eAAe,CAAA;CACrC,CAAA;AAiCD,wBAAgB,cAAc,CAAC,WAAW,EAAE,eAAe,GAAG,WAAW,CAExE;AAED,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAC7C,eAAe,CAIjB;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,eAAe,GAC3B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUxB"}
1
+ {"version":3,"file":"platformEnv.d.ts","sourceRoot":"","sources":["../../src/env/platformEnv.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,CAAA;AAChD,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,CAAA;AAElE,MAAM,MAAM,WAAW,GAAG;IACxB,gBAAgB,EAAE,eAAe,CAAA;IACjC,WAAW,EAAE,EAAE,GAAG,GAAG,CAAA;IACrB,YAAY,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS,CAAA;IACvC,cAAc,EAAE,KAAK,GAAG,QAAQ,CAAA;IAChC,mBAAmB,EAAE,eAAe,CAAA;CACrC,CAAA;AAiCD,wBAAgB,cAAc,CAAC,WAAW,EAAE,eAAe,GAAG,WAAW,CAExE;AAED,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAC7C,eAAe,CAIjB;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,eAAe,GAC3B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUxB"}
@@ -3,7 +3,7 @@ import type { TransformOptions } from '@babel/core';
3
3
  /**
4
4
  * Creates babel config for Metro transforms from Vite config.
5
5
  *
6
- * Platform-specific env vars (VITE_ENVIRONMENT, VITE_NATIVE, EXPO_OS, TAMAGUI_ENVIRONMENT)
6
+ * Platform-specific env vars (VITE_ENVIRONMENT, VITE_NATIVE, ONE_PLATFORM, TAMAGUI_ENVIRONMENT)
7
7
  * are handled by the import-meta-env-plugin based on caller.platform and always take precedence.
8
8
  */
9
9
  export declare function getMetroBabelConfigFromViteConfig(config: ResolvedConfig): TransformOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"getMetroBabelConfigFromViteConfig.d.ts","sourceRoot":"","sources":["../../src/metro-config/getMetroBabelConfigFromViteConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAC1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAEnD;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,cAAc,GACrB,gBAAgB,CA+ClB"}
1
+ {"version":3,"file":"getMetroBabelConfigFromViteConfig.d.ts","sourceRoot":"","sources":["../../src/metro-config/getMetroBabelConfigFromViteConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAC1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAEnD;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,cAAc,GACrB,gBAAgB,CAmElB"}
@@ -124,16 +124,17 @@ export declare function resolveAliasSpecifier(specifier: string, filename: strin
124
124
  */
125
125
  export declare function applyModuleResolverAliases(code: string, filename: string, projectRoot: string, aliases: Record<string, string>): string;
126
126
  /**
127
- * Native port of babel-preset-expo's `expo-inline-or-reference-env-vars` and
128
- * one's `babel-plugin-inline-one-server-url`. In production every
129
- * `process.env.EXPO_PUBLIC_*` read is inlined as a literal; in development each
130
- * one is routed through the `expo/virtual/env` module so edits to .env take
131
- * effect without a full rebuild. Without this the reads survive into the bundle
132
- * and every EXPO_PUBLIC_ value is undefined at runtime.
127
+ * Native port of one's `babel-plugin-inline-one-server-url` for public env.
128
+ * Every `process.env.ONE_PUBLIC_*` read is inlined as a literal in both modes,
129
+ * matching the rolldown native defines: a native runtime has no `process.env`
130
+ * to read it back out of, and without this the reads survive into the bundle
131
+ * and every ONE_PUBLIC_ value is undefined at runtime.
133
132
  *
134
133
  * `process.env.ONE_SERVER_URL` is inlined in both modes, matching one's plugin:
135
- * it is how a native bundle knows where to fetch loader data from, and a native
136
- * runtime has no `process.env` to read it back out of.
134
+ * it is how a native bundle knows where to fetch loader data from.
135
+ *
136
+ * `process.env.EXPO_PUBLIC_*` reads fail with a migration error instead of
137
+ * being copied, ignored, or aliased.
137
138
  *
138
139
  * Both live in one pass because they are the same rewrite over the same walk,
139
140
  * and a second parse of every file is the cost this transformer exists to avoid.
@@ -1 +1 @@
1
- {"version":3,"file":"metroNativeWorker.d.ts","sourceRoot":"","sources":["../../src/transformer/metroNativeWorker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metroNativeWorker.d.ts","sourceRoot":"","sources":["../../src/transformer/metroNativeWorker.ts"],"names":[],"mappings":"AA2EA,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,OAAO,CAAA;IAClB,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC1C,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,WAAW,CAAA;CAC9C,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,IAAI,CAAA;IACjD,aAAa,CAAC,EAAE,kBAAkB,CAAA;IAClC,IAAI,EAAE,KAAK,CAAC;QACV,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;QACvC,GAAG,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;KACtC,CAAC,CAAA;IACF,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,mBAAmB,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,GAAG,EAAE,CAAA;IACV,WAAW,CAAC,EAAE,GAAG,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,eAAe,CAAA;IACrB,IAAI,EAAE,WAAW,GAAG,WAAW,GAAG,iBAAiB,CAAA;CACpD,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,YAAY,EAAE,eAAe,EAAE,CAAA;IAC/B,MAAM,EAAE,WAAW,EAAE,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,kCAAkC,CAAC,EAAE,MAAM,CAAA;IAC3C,8BAA8B,CAAC,EAAE,OAAO,CAAA;IACxC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,GAAG,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,yBAAyB,CAAC,EAAE,GAAG,CAAA;IAC/B,qBAAqB,CAAC,EAAE,MAAM,CAAA;CAC/B,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,MAAM,CAAA;IAC7C,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAA;IACpC,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5C,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,aAAa,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAA;CACvC,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,aAAa,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAA;IACtC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAiBD,MAAM,MAAM,qBAAqB,GAAG;IAClC,qCAAqC,CAAC,EAAE,MAAM,CAAA;IAC9C,yBAAyB,CAAC,EAAE,OAAO,CAAA;IACnC,2BAA2B,CAAC,EAAE,MAAM,CAAA;IACpC,uCAAuC,CAAC,EAAE,MAAM,CAAA;IAChD,qBAAqB,CAAC,EAAE,MAAM,CAAA;CAC/B,CAAA;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,kBAAkB,GAC1B,qBAAqB,GAAG,SAAS,CAanC;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,kBAAkB,GAC1B,MAAM,GAAG,SAAS,CAapB;AASD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,kBAAkB,GAC1B,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAmC9C;AAqFD;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,CA8B9E;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,kBAAkB,GAC1B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAcpC;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,MAAM,GAAG,SAAS,CAgBpB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,MAAM,CAgER;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,OAAO,EACrB,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAM,GACrD,MAAM,CAiMR;AAQD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CA8B5E;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,qBAAqB,GAC7B,MAAM,CA4GR;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,QAkBnE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,QA0CnE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,QAczE;AAED;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAkC;IAE/C,KAAK,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,QAEvC;IAED,IAAI,SAIH;IAED,GAAG,CAAC,IAAI,EAAE,MAAM,QAEf;IAED,YAAY,IAAI,GAAG,CAAC,MAAM,CAAC,CAE1B;IAED,UAAU,CAAC,OAAO,EAAE,GAAG,QAEtB;IAED,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAKhC;CACF;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,GAAE,iBAAsB,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,MAAM,CAiB9E;AAED;;;;GAIG;AACH,wBAAgB,kCAAkC,CAChD,WAAW,EAAE,GAAG,GACf,KAAK,CACJ,CAAC,MAAM,EAAE,MAAM,CAAC,GAChB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAChC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAC3C,CAmDA;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,GAAG,GAAE,KAAK,CACN,CAAC,MAAM,EAAE,MAAM,CAAC,GAChB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAChC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CACtC,GACL;IACD,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,KAAK,CACN,CAAC,MAAM,EAAE,MAAM,CAAC,GAChB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAChC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAC3C,CAAA;CACF,CA8BA;AAED;;GAEG;AACH,wBAAgB,QAAQ,CACtB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IACR,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,aAAa,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAA;CACvC,GACA,MAAM,CAcR;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAc5E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,SAAS,GAAE,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,IAAW,EACvD,aAAa,CAAC,EAAE,kBAAkB,GACjC,MAAM,CAkBR;AAED;;;;GAIG;AACH,MAAM,MAAM,4BAA4B,GAAG;IACzC,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,GAAG,CAAA;IACR,QAAQ,IAAI,MAAM,CAAA;CACnB,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,eAAe,EAAE,EAC/B,UAAU,SAAmB,EAC7B,QAAQ,SAAc,EACtB,gBAAgB,SAA2C,GAC1D,4BAA4B,CAiN9B;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;IACR,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,yBAAyB,CAAC,EAAE,GAAG,CAAA;CAChC,GACA,eAAe,EAAE,CA+TnB;AA+ED,wBAAsB,SAAS,CAC7B,MAAM,EAAE,iBAAiB,EACzB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GAAG,MAAM,EACrB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CAipB5B"}