@vxrn/vite-plugin-metro 1.27.1 → 2.0.0-beta.101.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.
- package/dist/cjs/babel-plugins/import-meta-env-plugin.cjs +84 -102
- package/dist/cjs/babel-plugins/import-meta-env-plugin.native.cjs +108 -0
- package/dist/cjs/babel-plugins/import-meta-env-plugin.native.js +90 -107
- package/dist/cjs/babel-plugins/import-meta-env-plugin.native.js.map +1 -1
- package/dist/cjs/env/platformEnv.cjs +57 -57
- package/dist/cjs/env/platformEnv.native.cjs +95 -0
- package/dist/cjs/env/platformEnv.native.js +74 -75
- package/dist/cjs/env/platformEnv.native.js.map +1 -1
- package/dist/cjs/index.cjs +21 -25
- package/dist/cjs/index.native.cjs +39 -0
- package/dist/cjs/index.native.js +21 -24
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.cjs +54 -51
- package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.cjs +108 -0
- package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.js +95 -94
- package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.js.map +1 -1
- package/dist/cjs/metro-config/getMetroConfigFromViteConfig.cjs +287 -272
- package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.cjs +346 -0
- package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js +309 -282
- package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
- package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.cjs +38 -44
- package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.cjs +53 -0
- package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js +39 -44
- package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js.map +1 -1
- package/dist/cjs/metro-config/types.cjs +9 -11
- package/dist/cjs/metro-config/types.native.cjs +18 -0
- package/dist/cjs/metro-config/types.native.js +9 -10
- package/dist/cjs/metro-config/types.native.js.map +1 -1
- package/dist/cjs/plugins/metroPlugin.cjs +210 -248
- package/dist/cjs/plugins/metroPlugin.native.cjs +242 -0
- package/dist/cjs/plugins/metroPlugin.native.js +216 -253
- package/dist/cjs/plugins/metroPlugin.native.js.map +1 -1
- package/dist/cjs/rn-commands/bundle/assetCatalogIOS.cjs +56 -65
- package/dist/cjs/rn-commands/bundle/assetCatalogIOS.native.cjs +121 -0
- package/dist/cjs/rn-commands/bundle/assetCatalogIOS.native.js +94 -106
- package/dist/cjs/rn-commands/bundle/assetCatalogIOS.native.js.map +1 -1
- package/dist/cjs/rn-commands/bundle/assetPathUtils.cjs +51 -55
- package/dist/cjs/rn-commands/bundle/assetPathUtils.native.cjs +72 -0
- package/dist/cjs/rn-commands/bundle/assetPathUtils.native.js +51 -54
- package/dist/cjs/rn-commands/bundle/assetPathUtils.native.js.map +1 -1
- package/dist/cjs/rn-commands/bundle/buildBundle.cjs +37 -46
- package/dist/cjs/rn-commands/bundle/buildBundle.native.cjs +57 -0
- package/dist/cjs/rn-commands/bundle/buildBundle.native.js +39 -47
- package/dist/cjs/rn-commands/bundle/buildBundle.native.js.map +1 -1
- package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.cjs +57 -68
- package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.native.cjs +81 -0
- package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.native.js +59 -70
- package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.native.js.map +1 -1
- package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.cjs +37 -39
- package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.native.cjs +70 -0
- package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.native.js +56 -59
- package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.native.js.map +1 -1
- package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.cjs +20 -29
- package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.native.cjs +39 -0
- package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.native.js +20 -28
- package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.native.js.map +1 -1
- package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.cjs +20 -33
- package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.native.cjs +38 -0
- package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.native.js +20 -32
- package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.native.js.map +1 -1
- package/dist/cjs/rn-commands/bundle/getBuildBundleFn.cjs +23 -32
- package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.cjs +38 -0
- package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.js +23 -31
- package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.js.map +1 -1
- package/dist/cjs/rn-commands/bundle/index.cjs +15 -17
- package/dist/cjs/rn-commands/bundle/index.native.cjs +30 -0
- package/dist/cjs/rn-commands/bundle/index.native.js +15 -16
- package/dist/cjs/rn-commands/bundle/index.native.js.map +1 -1
- package/dist/cjs/rn-commands/bundle/saveAssets.cjs +85 -96
- package/dist/cjs/rn-commands/bundle/saveAssets.native.cjs +129 -0
- package/dist/cjs/rn-commands/bundle/saveAssets.native.js +102 -114
- package/dist/cjs/rn-commands/bundle/saveAssets.native.js.map +1 -1
- package/dist/cjs/rn-commands/bundle/types.cjs +9 -11
- package/dist/cjs/rn-commands/bundle/types.native.cjs +18 -0
- package/dist/cjs/rn-commands/bundle/types.native.js +9 -10
- package/dist/cjs/rn-commands/bundle/types.native.js.map +1 -1
- package/dist/cjs/rn-commands/index.cjs +17 -26
- package/dist/cjs/rn-commands/index.native.cjs +32 -0
- package/dist/cjs/rn-commands/index.native.js +17 -25
- package/dist/cjs/rn-commands/index.native.js.map +1 -1
- package/dist/cjs/transformer/babel-core.cjs +16 -18
- package/dist/cjs/transformer/babel-core.native.cjs +30 -0
- package/dist/cjs/transformer/babel-core.native.js +16 -17
- package/dist/cjs/transformer/babel-core.native.js.map +1 -1
- package/dist/cjs/transformer/babel-transformer.cjs +149 -151
- package/dist/cjs/transformer/babel-transformer.native.cjs +190 -0
- package/dist/cjs/transformer/babel-transformer.native.js +164 -158
- package/dist/cjs/transformer/babel-transformer.native.js.map +1 -1
- package/dist/cjs/transformer/expoVirtualEnv.cjs +92 -0
- package/dist/cjs/transformer/expoVirtualEnv.native.cjs +113 -0
- package/dist/cjs/transformer/expoVirtualEnv.native.js +115 -0
- package/dist/cjs/transformer/expoVirtualEnv.native.js.map +1 -0
- package/dist/cjs/transformer/loadBabelConfig.cjs +44 -49
- package/dist/cjs/transformer/loadBabelConfig.native.cjs +64 -0
- package/dist/cjs/transformer/loadBabelConfig.native.js +48 -52
- package/dist/cjs/transformer/loadBabelConfig.native.js.map +1 -1
- package/dist/cjs/transformer/metroNativeWorker.cjs +1430 -1488
- package/dist/cjs/transformer/metroNativeWorker.native.cjs +2519 -0
- package/dist/cjs/transformer/metroNativeWorker.native.js +2407 -2560
- package/dist/cjs/transformer/metroNativeWorker.native.js.map +1 -1
- package/dist/cjs/transformer/transformSync.cjs +48 -64
- package/dist/cjs/transformer/transformSync.native.cjs +74 -0
- package/dist/cjs/transformer/transformSync.native.js +50 -65
- package/dist/cjs/transformer/transformSync.native.js.map +1 -1
- package/dist/cjs/transformer/types.cjs +9 -11
- package/dist/cjs/transformer/types.native.cjs +18 -0
- package/dist/cjs/transformer/types.native.js +9 -10
- package/dist/cjs/transformer/types.native.js.map +1 -1
- package/dist/cjs/utils/exit.cjs +141 -139
- package/dist/cjs/utils/exit.native.cjs +266 -0
- package/dist/cjs/utils/exit.native.js +228 -241
- package/dist/cjs/utils/exit.native.js.map +1 -1
- package/dist/cjs/utils/getTerminalReporter.cjs +35 -47
- package/dist/cjs/utils/getTerminalReporter.native.cjs +57 -0
- package/dist/cjs/utils/getTerminalReporter.native.js +38 -49
- package/dist/cjs/utils/getTerminalReporter.native.js.map +1 -1
- package/dist/cjs/utils/metroCacheManager.cjs +84 -99
- package/dist/cjs/utils/metroCacheManager.native.cjs +130 -0
- package/dist/cjs/utils/metroCacheManager.native.js +102 -118
- package/dist/cjs/utils/metroCacheManager.native.js.map +1 -1
- package/dist/cjs/utils/projectImport.cjs +40 -51
- package/dist/cjs/utils/projectImport.native.cjs +64 -0
- package/dist/cjs/utils/projectImport.native.js +41 -58
- package/dist/cjs/utils/projectImport.native.js.map +1 -1
- package/dist/esm/babel-plugins/import-meta-env-plugin.mjs +72 -86
- package/dist/esm/babel-plugins/import-meta-env-plugin.mjs.map +1 -1
- package/dist/esm/babel-plugins/import-meta-env-plugin.native.js +78 -92
- package/dist/esm/babel-plugins/import-meta-env-plugin.native.js.map +1 -1
- package/dist/esm/env/platformEnv.mjs +42 -39
- package/dist/esm/env/platformEnv.mjs.map +1 -1
- package/dist/esm/env/platformEnv.native.js +59 -58
- package/dist/esm/env/platformEnv.native.js.map +1 -1
- package/dist/esm/index.js +3 -4
- package/dist/esm/index.mjs +3 -4
- package/dist/esm/index.native.js +3 -4
- package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.mjs +42 -33
- package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.mjs.map +1 -1
- package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.native.js +83 -77
- package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.native.js.map +1 -1
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs +271 -247
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs.map +1 -1
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js +293 -258
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
- package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.mjs +26 -26
- package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.mjs.map +1 -1
- package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js +27 -27
- package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js.map +1 -1
- package/dist/esm/metro-config/types.mjs +0 -2
- package/dist/esm/metro-config/types.native.js +0 -2
- package/dist/esm/plugins/metroPlugin.mjs +195 -222
- package/dist/esm/plugins/metroPlugin.mjs.map +1 -1
- package/dist/esm/plugins/metroPlugin.native.js +201 -228
- package/dist/esm/plugins/metroPlugin.native.js.map +1 -1
- package/dist/esm/rn-commands/bundle/assetCatalogIOS.mjs +38 -38
- package/dist/esm/rn-commands/bundle/assetCatalogIOS.mjs.map +1 -1
- package/dist/esm/rn-commands/bundle/assetCatalogIOS.native.js +76 -80
- package/dist/esm/rn-commands/bundle/assetCatalogIOS.native.js.map +1 -1
- package/dist/esm/rn-commands/bundle/assetPathUtils.mjs +38 -37
- package/dist/esm/rn-commands/bundle/assetPathUtils.mjs.map +1 -1
- package/dist/esm/rn-commands/bundle/assetPathUtils.native.js +38 -37
- package/dist/esm/rn-commands/bundle/assetPathUtils.native.js.map +1 -1
- package/dist/esm/rn-commands/bundle/buildBundle.mjs +25 -28
- package/dist/esm/rn-commands/bundle/buildBundle.mjs.map +1 -1
- package/dist/esm/rn-commands/bundle/buildBundle.native.js +27 -30
- package/dist/esm/rn-commands/bundle/buildBundle.native.js.map +1 -1
- package/dist/esm/rn-commands/bundle/buildBundleWithConfig.mjs +43 -43
- package/dist/esm/rn-commands/bundle/buildBundleWithConfig.mjs.map +1 -1
- package/dist/esm/rn-commands/bundle/buildBundleWithConfig.native.js +45 -46
- package/dist/esm/rn-commands/bundle/buildBundleWithConfig.native.js.map +1 -1
- package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.mjs +24 -21
- package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.mjs.map +1 -1
- package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.native.js +43 -42
- package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.native.js.map +1 -1
- package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.mjs +5 -3
- package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.mjs.map +1 -1
- package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.native.js +5 -3
- package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.native.js.map +1 -1
- package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.mjs +5 -7
- package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.mjs.map +1 -1
- package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.native.js +5 -7
- package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.native.js.map +1 -1
- package/dist/esm/rn-commands/bundle/getBuildBundleFn.mjs +11 -14
- package/dist/esm/rn-commands/bundle/getBuildBundleFn.mjs.map +1 -1
- package/dist/esm/rn-commands/bundle/getBuildBundleFn.native.js +11 -14
- package/dist/esm/rn-commands/bundle/getBuildBundleFn.native.js.map +1 -1
- package/dist/esm/rn-commands/bundle/index.mjs +2 -2
- package/dist/esm/rn-commands/bundle/index.native.js +2 -2
- package/dist/esm/rn-commands/bundle/saveAssets.mjs +70 -70
- package/dist/esm/rn-commands/bundle/saveAssets.mjs.map +1 -1
- package/dist/esm/rn-commands/bundle/saveAssets.native.js +87 -89
- package/dist/esm/rn-commands/bundle/saveAssets.native.js.map +1 -1
- package/dist/esm/rn-commands/bundle/types.mjs +0 -2
- package/dist/esm/rn-commands/bundle/types.native.js +0 -2
- package/dist/esm/rn-commands/index.mjs +2 -2
- package/dist/esm/rn-commands/index.native.js +2 -2
- package/dist/esm/transformer/babel-core.mjs +2 -2
- package/dist/esm/transformer/babel-core.native.js +2 -2
- package/dist/esm/transformer/babel-transformer.mjs +133 -132
- package/dist/esm/transformer/babel-transformer.mjs.map +1 -1
- package/dist/esm/transformer/babel-transformer.native.js +145 -142
- package/dist/esm/transformer/babel-transformer.native.js.map +1 -1
- package/dist/esm/transformer/expoVirtualEnv.mjs +67 -0
- package/dist/esm/transformer/expoVirtualEnv.mjs.map +1 -0
- package/dist/esm/transformer/expoVirtualEnv.native.js +86 -0
- package/dist/esm/transformer/expoVirtualEnv.native.js.map +1 -0
- package/dist/esm/transformer/loadBabelConfig.mjs +29 -23
- package/dist/esm/transformer/loadBabelConfig.mjs.map +1 -1
- package/dist/esm/transformer/loadBabelConfig.native.js +33 -27
- package/dist/esm/transformer/loadBabelConfig.native.js.map +1 -1
- package/dist/esm/transformer/metroNativeWorker.mjs +1393 -1442
- package/dist/esm/transformer/metroNativeWorker.mjs.map +1 -1
- package/dist/esm/transformer/metroNativeWorker.native.js +2370 -2515
- package/dist/esm/transformer/metroNativeWorker.native.js.map +1 -1
- package/dist/esm/transformer/transformSync.mjs +33 -38
- package/dist/esm/transformer/transformSync.mjs.map +1 -1
- package/dist/esm/transformer/transformSync.native.js +35 -40
- package/dist/esm/transformer/transformSync.native.js.map +1 -1
- package/dist/esm/transformer/types.mjs +0 -2
- package/dist/esm/transformer/types.native.js +0 -2
- package/dist/esm/utils/exit.mjs +123 -112
- package/dist/esm/utils/exit.mjs.map +1 -1
- package/dist/esm/utils/exit.native.js +210 -215
- package/dist/esm/utils/exit.native.js.map +1 -1
- package/dist/esm/utils/getTerminalReporter.mjs +20 -21
- package/dist/esm/utils/getTerminalReporter.mjs.map +1 -1
- package/dist/esm/utils/getTerminalReporter.native.js +23 -24
- package/dist/esm/utils/getTerminalReporter.native.js.map +1 -1
- package/dist/esm/utils/metroCacheManager.mjs +73 -82
- package/dist/esm/utils/metroCacheManager.mjs.map +1 -1
- package/dist/esm/utils/metroCacheManager.native.js +91 -102
- package/dist/esm/utils/metroCacheManager.native.js.map +1 -1
- package/dist/esm/utils/projectImport.mjs +23 -25
- package/dist/esm/utils/projectImport.mjs.map +1 -1
- package/dist/esm/utils/projectImport.native.js +24 -33
- package/dist/esm/utils/projectImport.native.js.map +1 -1
- package/package.json +15 -18
- package/src/babel-plugins/import-meta-env-plugin.ts +1 -1
- package/src/env/platformEnv.test.ts +44 -0
- package/src/env/platformEnv.ts +6 -3
- package/src/index.ts +0 -2
- package/src/metro-config/getMetroBabelConfigFromViteConfig.test.ts +52 -0
- package/src/metro-config/getMetroBabelConfigFromViteConfig.ts +8 -7
- package/src/metro-config/getMetroConfigFromViteConfig.test.ts +60 -0
- package/src/metro-config/getMetroConfigFromViteConfig.ts +150 -113
- package/src/plugins/metroPlugin.ts +3 -6
- package/src/transformer/babel-transformer.test.ts +118 -0
- package/src/transformer/babel-transformer.ts +82 -15
- package/src/transformer/expoVirtualEnv.integration.test.ts +106 -0
- package/src/transformer/expoVirtualEnv.test.ts +72 -0
- package/src/transformer/expoVirtualEnv.ts +115 -0
- package/src/transformer/loadBabelConfig.ts +1 -1
- package/src/transformer/metroNativeWorker.test.ts +268 -50
- package/src/transformer/metroNativeWorker.ts +53 -71
- package/src/transformer/transformSync.test.ts +22 -0
- package/src/transformer/transformSync.ts +4 -4
- package/src/utils/exit.ts +2 -2
- package/src/utils/getTerminalReporter.ts +1 -1
- package/src/utils/projectImport.ts +2 -2
- package/types/babel-plugins/import-meta-env-plugin.d.ts +1 -1
- package/types/babel-plugins/import-meta-env-plugin.d.ts.map +1 -1
- package/types/env/platformEnv.d.ts +2 -1
- package/types/env/platformEnv.d.ts.map +1 -1
- package/types/index.d.ts +0 -2
- package/types/index.d.ts.map +1 -1
- package/types/metro-config/getMetroBabelConfigFromViteConfig.d.ts +1 -1
- package/types/metro-config/getMetroBabelConfigFromViteConfig.d.ts.map +1 -1
- package/types/metro-config/getMetroConfigFromViteConfig.d.ts +2 -2
- package/types/metro-config/getMetroConfigFromViteConfig.d.ts.map +1 -1
- package/types/plugins/metroPlugin.d.ts +2 -4
- package/types/plugins/metroPlugin.d.ts.map +1 -1
- package/types/rn-commands/bundle/assetPathUtils.d.ts.map +1 -1
- package/types/rn-commands/bundle/filterPlatformAssetScales.d.ts.map +1 -1
- package/types/rn-commands/bundle/getAssetDestPathAndroid.d.ts.map +1 -1
- package/types/rn-commands/bundle/getAssetDestPathIOS.d.ts.map +1 -1
- package/types/rn-commands/bundle/saveAssets.d.ts.map +1 -1
- package/types/transformer/babel-transformer.d.ts +10 -1
- package/types/transformer/babel-transformer.d.ts.map +1 -1
- package/types/transformer/expoVirtualEnv.d.ts +8 -0
- package/types/transformer/expoVirtualEnv.d.ts.map +1 -0
- package/types/transformer/metroNativeWorker.d.ts +7 -8
- package/types/transformer/metroNativeWorker.d.ts.map +1 -1
- package/types/utils/projectImport.d.ts +2 -2
- package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.cjs +0 -71
- package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.js +0 -82
- package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.js.map +0 -1
- package/dist/cjs/transformer/metroNativeWorker.test.cjs +0 -1054
- package/dist/cjs/transformer/metroNativeWorker.test.native.js +0 -1170
- package/dist/cjs/transformer/metroNativeWorker.test.native.js.map +0 -1
- package/dist/cjs/transformer/transformSync.test.cjs +0 -36
- package/dist/cjs/transformer/transformSync.test.native.js +0 -49
- package/dist/cjs/transformer/transformSync.test.native.js.map +0 -1
- package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.cjs +0 -39
- package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js +0 -42
- package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm/index.native.js.map +0 -1
- package/dist/esm/metro-config/types.mjs.map +0 -1
- package/dist/esm/metro-config/types.native.js.map +0 -1
- package/dist/esm/plugins/expoManifestRequestHandlerPlugin.mjs +0 -46
- package/dist/esm/plugins/expoManifestRequestHandlerPlugin.mjs.map +0 -1
- package/dist/esm/plugins/expoManifestRequestHandlerPlugin.native.js +0 -54
- package/dist/esm/plugins/expoManifestRequestHandlerPlugin.native.js.map +0 -1
- package/dist/esm/rn-commands/bundle/index.mjs.map +0 -1
- package/dist/esm/rn-commands/bundle/index.native.js.map +0 -1
- package/dist/esm/rn-commands/bundle/types.mjs.map +0 -1
- package/dist/esm/rn-commands/bundle/types.native.js.map +0 -1
- package/dist/esm/rn-commands/index.mjs.map +0 -1
- package/dist/esm/rn-commands/index.native.js.map +0 -1
- package/dist/esm/transformer/babel-core.mjs.map +0 -1
- package/dist/esm/transformer/babel-core.native.js.map +0 -1
- package/dist/esm/transformer/metroNativeWorker.test.mjs +0 -1010
- package/dist/esm/transformer/metroNativeWorker.test.mjs.map +0 -1
- package/dist/esm/transformer/metroNativeWorker.test.native.js +0 -1124
- package/dist/esm/transformer/metroNativeWorker.test.native.js.map +0 -1
- package/dist/esm/transformer/transformSync.test.mjs +0 -37
- package/dist/esm/transformer/transformSync.test.mjs.map +0 -1
- package/dist/esm/transformer/transformSync.test.native.js +0 -47
- package/dist/esm/transformer/transformSync.test.native.js.map +0 -1
- package/dist/esm/transformer/types.mjs.map +0 -1
- package/dist/esm/transformer/types.native.js.map +0 -1
- package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs +0 -14
- package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs.map +0 -1
- package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js +0 -14
- package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js.map +0 -1
- package/src/plugins/expoManifestRequestHandlerPlugin.ts +0 -88
- package/src/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.ts +0 -28
- package/types/plugins/expoManifestRequestHandlerPlugin.d.ts +0 -14
- package/types/plugins/expoManifestRequestHandlerPlugin.d.ts.map +0 -1
- package/types/transformer/metroNativeWorker.test.d.ts +0 -2
- package/types/transformer/metroNativeWorker.test.d.ts.map +0 -1
- package/types/transformer/transformSync.test.d.ts +0 -2
- package/types/transformer/transformSync.test.d.ts.map +0 -1
- package/types/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.d.ts +0 -5
- package/types/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.d.ts.map +0 -1
|
@@ -1,148 +1,149 @@
|
|
|
1
1
|
import assert from "node:assert";
|
|
2
|
+
import { createHash } from "node:crypto";
|
|
3
|
+
import { readFileSync } from "node:fs";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
import { substituteExpoVirtualEnvSource } from "./expoVirtualEnv.mjs";
|
|
2
6
|
import { loadBabelConfig } from "./loadBabelConfig.mjs";
|
|
3
7
|
import { transformSync } from "./transformSync.mjs";
|
|
4
|
-
|
|
8
|
+
|
|
9
|
+
const debug = require("debug")("vxrn:metro-config:babel-transformer");
|
|
5
10
|
function isCustomTruthy(value) {
|
|
6
|
-
|
|
11
|
+
return String(value) === "true";
|
|
7
12
|
}
|
|
8
13
|
function memoize(fn) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
const cache = /* @__PURE__ */ new Map();
|
|
15
|
+
return ((...args) => {
|
|
16
|
+
const key = JSON.stringify(args);
|
|
17
|
+
if (cache.has(key)) {
|
|
18
|
+
return cache.get(key);
|
|
19
|
+
}
|
|
20
|
+
const result = fn(...args);
|
|
21
|
+
cache.set(key, result);
|
|
22
|
+
return result;
|
|
23
|
+
});
|
|
19
24
|
}
|
|
20
|
-
const memoizeWarning = memoize(message => {
|
|
21
|
-
|
|
25
|
+
const memoizeWarning = memoize((message) => {
|
|
26
|
+
debug(message);
|
|
22
27
|
});
|
|
23
|
-
function getBabelCaller({
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
// Other criteria may still cause the feature to be disabled, but all inputs used are
|
|
52
|
-
// already considered in the cache key.
|
|
53
|
-
preserveEnvVars: isCustomTruthy(options.customTransformOptions?.preserveEnvVars) ? true : void 0,
|
|
54
|
-
asyncRoutes: isCustomTruthy(options.customTransformOptions?.asyncRoutes) ? true : void 0,
|
|
55
|
-
// Pass the engine to babel so we can automatically transpile for the correct
|
|
56
|
-
// target environment.
|
|
57
|
-
engine: stringOrUndefined(options.customTransformOptions?.engine),
|
|
58
|
-
// Provide the project root for accurately reading the Expo config.
|
|
59
|
-
projectRoot: options.projectRoot,
|
|
60
|
-
oneViteMetroBabelConfig,
|
|
61
|
-
isNodeModule,
|
|
62
|
-
isHMREnabled: options.dev,
|
|
63
|
-
// Set the standard Babel flag to disable ESM transformations.
|
|
64
|
-
supportsStaticESM: isCustomTruthy(options.customTransformOptions?.optimize) || options.experimentalImportSupport,
|
|
65
|
-
// Enable React compiler support in Babel.
|
|
66
|
-
// TODO: Remove this in the future when compiler is on by default.
|
|
67
|
-
supportsReactCompiler: isCustomTruthy(options.customTransformOptions?.reactCompiler) ? true : void 0
|
|
68
|
-
};
|
|
28
|
+
function getBabelCaller({ filename, options, oneViteMetroBabelConfig }) {
|
|
29
|
+
const isNodeModule = filename.includes("node_modules");
|
|
30
|
+
const isReactServer = options.customTransformOptions?.environment === "react-server";
|
|
31
|
+
const isGenericServer = options.customTransformOptions?.environment === "node";
|
|
32
|
+
const isServer = isReactServer || isGenericServer;
|
|
33
|
+
const routerRoot = typeof options.customTransformOptions?.routerRoot === "string" ? decodeURI(options.customTransformOptions.routerRoot) : void 0;
|
|
34
|
+
if (routerRoot == null) {
|
|
35
|
+
memoizeWarning("Warning: Missing transform.routerRoot option in Metro bundling request, falling back to `app` as routes directory.");
|
|
36
|
+
}
|
|
37
|
+
return {
|
|
38
|
+
name: "metro",
|
|
39
|
+
bundler: "metro",
|
|
40
|
+
platform: options.platform,
|
|
41
|
+
isServer,
|
|
42
|
+
isReactServer,
|
|
43
|
+
baseUrl: typeof options.customTransformOptions?.baseUrl === "string" ? decodeURI(options.customTransformOptions.baseUrl) : "",
|
|
44
|
+
routerRoot: routerRoot ?? "app",
|
|
45
|
+
isDev: options.dev,
|
|
46
|
+
preserveEnvVars: isCustomTruthy(options.customTransformOptions?.preserveEnvVars) ? true : void 0,
|
|
47
|
+
asyncRoutes: isCustomTruthy(options.customTransformOptions?.asyncRoutes) ? true : void 0,
|
|
48
|
+
engine: stringOrUndefined(options.customTransformOptions?.engine),
|
|
49
|
+
projectRoot: options.projectRoot,
|
|
50
|
+
oneViteMetroBabelConfig,
|
|
51
|
+
isNodeModule,
|
|
52
|
+
isHMREnabled: options.dev,
|
|
53
|
+
supportsStaticESM: isCustomTruthy(options.customTransformOptions?.optimize) || options.experimentalImportSupport,
|
|
54
|
+
supportsReactCompiler: isCustomTruthy(options.customTransformOptions?.reactCompiler) ? true : void 0
|
|
55
|
+
};
|
|
69
56
|
}
|
|
70
57
|
function stringOrUndefined(value) {
|
|
71
|
-
|
|
58
|
+
return typeof value === "string" ? value : void 0;
|
|
72
59
|
}
|
|
73
|
-
const transform = ({
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
};
|
|
127
|
-
const result = transformSync(src, babelConfig, options);
|
|
128
|
-
if (!result) {
|
|
129
|
-
return {
|
|
130
|
-
ast: null
|
|
131
|
-
};
|
|
132
|
-
}
|
|
133
|
-
assert(result.ast);
|
|
134
|
-
return {
|
|
135
|
-
ast: result.ast,
|
|
136
|
-
metadata: result.metadata
|
|
137
|
-
};
|
|
138
|
-
} finally {
|
|
139
|
-
if (OLD_BABEL_ENV) {
|
|
140
|
-
process.env.BABEL_ENV = OLD_BABEL_ENV;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
60
|
+
const transform = ({ filename, src: originalSrc, options, plugins }) => {
|
|
61
|
+
const src = substituteExpoVirtualEnvSource({
|
|
62
|
+
filename,
|
|
63
|
+
src: originalSrc,
|
|
64
|
+
projectRoot: options.projectRoot,
|
|
65
|
+
dev: options.dev,
|
|
66
|
+
environment: options.customTransformOptions?.environment
|
|
67
|
+
});
|
|
68
|
+
const viteCustomTransformOptions = options.customTransformOptions?.vite;
|
|
69
|
+
const customOptionsFromVite = (() => {
|
|
70
|
+
const c = viteCustomTransformOptions;
|
|
71
|
+
if (!c || typeof c !== "object") {
|
|
72
|
+
return { babelConfig: {} };
|
|
73
|
+
}
|
|
74
|
+
return c;
|
|
75
|
+
})();
|
|
76
|
+
const hasOneViteMetroBabelConfig = customOptionsFromVite.oneViteMetroBabelConfig === true;
|
|
77
|
+
const babelConfigFromVitePlugin = customOptionsFromVite.babelConfig || {};
|
|
78
|
+
const OLD_BABEL_ENV = process.env.BABEL_ENV;
|
|
79
|
+
process.env.BABEL_ENV = options.dev ? "development" : process.env.BABEL_ENV || "production";
|
|
80
|
+
try {
|
|
81
|
+
const babelConfig = {
|
|
82
|
+
sourceType: "unambiguous",
|
|
83
|
+
ast: true,
|
|
84
|
+
code: false,
|
|
85
|
+
cloneInputAst: false,
|
|
86
|
+
cwd: options.projectRoot,
|
|
87
|
+
filename,
|
|
88
|
+
highlightCode: true,
|
|
89
|
+
...babelConfigFromVitePlugin,
|
|
90
|
+
...loadBabelConfig(options),
|
|
91
|
+
babelrc: typeof options.enableBabelRCLookup === "boolean" ? options.enableBabelRCLookup : true,
|
|
92
|
+
plugins: [...babelConfigFromVitePlugin.plugins || [], ...plugins],
|
|
93
|
+
caller: getBabelCaller({
|
|
94
|
+
filename,
|
|
95
|
+
options,
|
|
96
|
+
oneViteMetroBabelConfig: hasOneViteMetroBabelConfig
|
|
97
|
+
})
|
|
98
|
+
};
|
|
99
|
+
const result = transformSync(src, babelConfig, options);
|
|
100
|
+
if (!result) {
|
|
101
|
+
return { ast: null };
|
|
102
|
+
}
|
|
103
|
+
assert(result.ast);
|
|
104
|
+
return {
|
|
105
|
+
ast: result.ast,
|
|
106
|
+
metadata: result.metadata
|
|
107
|
+
};
|
|
108
|
+
} finally {
|
|
109
|
+
if (OLD_BABEL_ENV) {
|
|
110
|
+
process.env.BABEL_ENV = OLD_BABEL_ENV;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
143
113
|
};
|
|
114
|
+
function getCacheKey(options) {
|
|
115
|
+
const hash = createHash("sha256");
|
|
116
|
+
hash.update("vxrn-metro-babel-transformer-v1");
|
|
117
|
+
const projectRoot = options?.projectRoot;
|
|
118
|
+
if (!projectRoot) {
|
|
119
|
+
return hash.digest("hex");
|
|
120
|
+
}
|
|
121
|
+
hash.update(projectRoot);
|
|
122
|
+
for (const file of [
|
|
123
|
+
".env",
|
|
124
|
+
".env.development",
|
|
125
|
+
".env.local",
|
|
126
|
+
".env.development.local"
|
|
127
|
+
]) {
|
|
128
|
+
const filename = path.join(projectRoot, file);
|
|
129
|
+
hash.update(filename);
|
|
130
|
+
try {
|
|
131
|
+
hash.update(readFileSync(filename));
|
|
132
|
+
} catch (error) {
|
|
133
|
+
if (typeof error === "object" && error !== null && "code" in error && error.code === "ENOENT") {
|
|
134
|
+
continue;
|
|
135
|
+
}
|
|
136
|
+
throw error;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
hash.update(JSON.stringify(Object.entries(process.env).filter(([key]) => key.startsWith("ONE_PUBLIC_") || key.startsWith("EXPO_PUBLIC_")).sort(([left], [right]) => left.localeCompare(right))));
|
|
140
|
+
return hash.digest("hex");
|
|
141
|
+
}
|
|
144
142
|
const babelTransformer = {
|
|
145
|
-
|
|
143
|
+
transform,
|
|
144
|
+
getCacheKey
|
|
146
145
|
};
|
|
147
146
|
module.exports = babelTransformer;
|
|
147
|
+
|
|
148
|
+
export { getCacheKey };
|
|
148
149
|
//# sourceMappingURL=babel-transformer.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["assert","loadBabelConfig","transformSync","debug","require","isCustomTruthy","value","String","memoize","fn","cache","Map","args","key","JSON","stringify","has","get","result","set","memoizeWarning","message","getBabelCaller","filename","options","oneViteMetroBabelConfig","isNodeModule","includes","isReactServer","customTransformOptions","environment","isGenericServer","isServer","routerRoot","decodeURI","name","bundler","platform","baseUrl","isDev","dev","preserveEnvVars","asyncRoutes","engine","stringOrUndefined","projectRoot","isHMREnabled","supportsStaticESM","optimize","experimentalImportSupport","supportsReactCompiler","reactCompiler","transform","src","plugins","viteCustomTransformOptions","vite","customOptionsFromVite","c","babelConfig","hasOneViteMetroBabelConfig","babelConfigFromVitePlugin","OLD_BABEL_ENV","process","env","BABEL_ENV","sourceType","ast","code","cloneInputAst","cwd","highlightCode","babelrc","enableBabelRCLookup","caller","metadata","babelTransformer","module","exports"],"sources":["../../../src/transformer/babel-transformer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"babel-transformer.js","names":[],"sources":["esm/transformer/babel-transformer.js"],"sourcesContent":["import assert from \"node:assert\";\nimport { createHash } from \"node:crypto\";\nimport { readFileSync } from \"node:fs\";\nimport path from \"node:path\";\nimport { substituteExpoVirtualEnvSource } from \"./expoVirtualEnv\";\nimport { loadBabelConfig } from \"./loadBabelConfig\";\nimport { transformSync } from \"./transformSync\";\nconst debug = require(\"debug\")(\n \"vxrn:metro-config:babel-transformer\"\n);\nfunction isCustomTruthy(value) {\n return String(value) === \"true\";\n}\nfunction memoize(fn) {\n const cache = /* @__PURE__ */ new Map();\n return ((...args) => {\n const key = JSON.stringify(args);\n if (cache.has(key)) {\n return cache.get(key);\n }\n const result = fn(...args);\n cache.set(key, result);\n return result;\n });\n}\nconst memoizeWarning = memoize((message) => {\n debug(message);\n});\nfunction getBabelCaller({\n filename,\n options,\n oneViteMetroBabelConfig\n}) {\n const isNodeModule = filename.includes(\"node_modules\");\n const isReactServer = options.customTransformOptions?.environment === \"react-server\";\n const isGenericServer = options.customTransformOptions?.environment === \"node\";\n const isServer = isReactServer || isGenericServer;\n const routerRoot = typeof options.customTransformOptions?.routerRoot === \"string\" ? decodeURI(options.customTransformOptions.routerRoot) : void 0;\n if (routerRoot == null) {\n memoizeWarning(\n \"Warning: Missing transform.routerRoot option in Metro bundling request, falling back to `app` as routes directory.\"\n );\n }\n return {\n name: \"metro\",\n bundler: \"metro\",\n platform: options.platform,\n // Empower the babel preset to know the env it's bundling for.\n // Metro automatically updates the cache to account for the custom transform options.\n isServer,\n // Enable React Server Component rules for AST. The naming maps to the resolver property `--conditions=react-server`.\n isReactServer,\n // The base url to make requests from, used for hosting from non-standard locations.\n baseUrl: typeof options.customTransformOptions?.baseUrl === \"string\" ? decodeURI(options.customTransformOptions.baseUrl) : \"\",\n // Ensure we always use a mostly-valid router root.\n routerRoot: routerRoot ?? \"app\",\n isDev: options.dev,\n // This value indicates if the user has disabled the feature or not.\n // Other criteria may still cause the feature to be disabled, but all inputs used are\n // already considered in the cache key.\n preserveEnvVars: isCustomTruthy(options.customTransformOptions?.preserveEnvVars) ? true : void 0,\n asyncRoutes: isCustomTruthy(options.customTransformOptions?.asyncRoutes) ? true : void 0,\n // Pass the engine to babel so we can automatically transpile for the correct\n // target environment.\n engine: stringOrUndefined(options.customTransformOptions?.engine),\n // provide the project root for reading the app babel config\n projectRoot: options.projectRoot,\n oneViteMetroBabelConfig,\n isNodeModule,\n isHMREnabled: options.dev,\n // Set the standard Babel flag to disable ESM transformations.\n supportsStaticESM: isCustomTruthy(options.customTransformOptions?.optimize) || options.experimentalImportSupport,\n // Enable React compiler support in Babel.\n // TODO: Remove this in the future when compiler is on by default.\n supportsReactCompiler: isCustomTruthy(options.customTransformOptions?.reactCompiler) ? true : void 0\n };\n}\nfunction stringOrUndefined(value) {\n return typeof value === \"string\" ? value : void 0;\n}\nconst transform = ({\n filename,\n src: originalSrc,\n options,\n // `plugins` is used for `functionMapBabelPlugin` from `metro-source-map`.\n plugins\n}) => {\n const src = substituteExpoVirtualEnvSource({\n filename,\n src: originalSrc,\n projectRoot: options.projectRoot,\n dev: options.dev,\n environment: options.customTransformOptions?.environment\n });\n const viteCustomTransformOptions = options.customTransformOptions?.vite;\n const customOptionsFromVite = (() => {\n const c = viteCustomTransformOptions;\n if (!c || typeof c !== \"object\") {\n return { babelConfig: {} };\n }\n return c;\n })();\n const hasOneViteMetroBabelConfig = customOptionsFromVite.oneViteMetroBabelConfig === true;\n const babelConfigFromVitePlugin = customOptionsFromVite.babelConfig || {};\n const OLD_BABEL_ENV = process.env.BABEL_ENV;\n process.env.BABEL_ENV = options.dev ? \"development\" : process.env.BABEL_ENV || \"production\";\n try {\n const babelConfig = {\n // ES modules require sourceType='module' but OSS may not always want that\n sourceType: \"unambiguous\",\n // The output we want from Babel methods\n ast: true,\n code: false,\n // NOTE(EvanBacon): We split the parse/transform steps up to accommodate\n // Hermes parsing, but this defaults to cloning the AST which increases\n // the transformation time by a fair amount.\n // You get this behavior by default when using Babel's `transform` method directly.\n cloneInputAst: false,\n // Options for debugging\n cwd: options.projectRoot,\n filename,\n highlightCode: true,\n ...babelConfigFromVitePlugin,\n ...loadBabelConfig(options),\n babelrc: typeof options.enableBabelRCLookup === \"boolean\" ? options.enableBabelRCLookup : true,\n plugins: [...babelConfigFromVitePlugin.plugins || [], ...plugins],\n // NOTE(EvanBacon): We heavily leverage the caller functionality to mutate the babel config.\n // This compensates for the lack of a format plugin system in Metro. Users can modify the\n // all (most) of the transforms in their local Babel config.\n // This also helps us keep the transform layers small and focused on a single task. We can also use this to\n // ensure the Babel config caching is more accurate.\n // moving everything babel-related to the preset also keeps the transform\n // requirements explicit for users who opt into babel.\n caller: getBabelCaller({\n filename,\n options,\n oneViteMetroBabelConfig: hasOneViteMetroBabelConfig\n })\n };\n const result = transformSync(src, babelConfig, options);\n if (!result) {\n return { ast: null };\n }\n assert(result.ast);\n return { ast: result.ast, metadata: result.metadata };\n } finally {\n if (OLD_BABEL_ENV) {\n process.env.BABEL_ENV = OLD_BABEL_ENV;\n }\n }\n};\nfunction getCacheKey(options) {\n const hash = createHash(\"sha256\");\n hash.update(\"vxrn-metro-babel-transformer-v1\");\n const projectRoot = options?.projectRoot;\n if (!projectRoot) {\n return hash.digest(\"hex\");\n }\n hash.update(projectRoot);\n for (const file of [\n \".env\",\n \".env.development\",\n \".env.local\",\n \".env.development.local\"\n ]) {\n const filename = path.join(projectRoot, file);\n hash.update(filename);\n try {\n hash.update(readFileSync(filename));\n } catch (error) {\n if (typeof error === \"object\" && error !== null && \"code\" in error && error.code === \"ENOENT\") {\n continue;\n }\n throw error;\n }\n }\n hash.update(\n JSON.stringify(\n Object.entries(process.env).filter(\n ([key]) => key.startsWith(\"ONE_PUBLIC_\") || key.startsWith(\"EXPO_PUBLIC_\")\n ).sort(([left], [right]) => left.localeCompare(right))\n )\n );\n return hash.digest(\"hex\");\n}\nconst babelTransformer = {\n transform,\n getCacheKey\n};\nmodule.exports = babelTransformer;\nexport {\n getCacheKey\n};\n//# sourceMappingURL=babel-transformer.js.map\n"],"mappings":"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"}
|
|
@@ -1,160 +1,163 @@
|
|
|
1
1
|
import assert from "assert";
|
|
2
|
+
import { createHash } from "crypto";
|
|
3
|
+
import { readFileSync } from "fs";
|
|
4
|
+
import path from "path";
|
|
5
|
+
import { substituteExpoVirtualEnvSource } from "./expoVirtualEnv.native.js";
|
|
2
6
|
import { loadBabelConfig } from "./loadBabelConfig.native.js";
|
|
3
7
|
import { transformSync } from "./transformSync.native.js";
|
|
4
|
-
function _type_of(obj) {
|
|
5
|
-
"@swc/helpers - typeof";
|
|
6
8
|
|
|
7
|
-
|
|
8
|
-
}
|
|
9
|
-
var debug = require("debug")("expo:metro-config:babel-transformer");
|
|
9
|
+
var debug = require("debug")("vxrn:metro-config:babel-transformer");
|
|
10
10
|
function isCustomTruthy(value) {
|
|
11
|
-
|
|
11
|
+
return String(value) === "true";
|
|
12
12
|
}
|
|
13
13
|
function memoize(fn) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
14
|
+
var cache = /* @__PURE__ */ new Map();
|
|
15
|
+
return function() {
|
|
16
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
17
|
+
args[_key] = arguments[_key];
|
|
18
|
+
}
|
|
19
|
+
var key = JSON.stringify(args);
|
|
20
|
+
if (cache.has(key)) {
|
|
21
|
+
return cache.get(key);
|
|
22
|
+
}
|
|
23
|
+
var result = fn(...args);
|
|
24
|
+
cache.set(key, result);
|
|
25
|
+
return result;
|
|
26
|
+
};
|
|
27
27
|
}
|
|
28
|
-
var memoizeWarning = memoize(function
|
|
29
|
-
|
|
28
|
+
var memoizeWarning = memoize(function(message) {
|
|
29
|
+
debug(message);
|
|
30
30
|
});
|
|
31
31
|
function getBabelCaller(param) {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
// Other criteria may still cause the feature to be disabled, but all inputs used are
|
|
62
|
-
// already considered in the cache key.
|
|
63
|
-
preserveEnvVars: isCustomTruthy((_options_customTransformOptions4 = options.customTransformOptions) === null || _options_customTransformOptions4 === void 0 ? void 0 : _options_customTransformOptions4.preserveEnvVars) ? true : void 0,
|
|
64
|
-
asyncRoutes: isCustomTruthy((_options_customTransformOptions5 = options.customTransformOptions) === null || _options_customTransformOptions5 === void 0 ? void 0 : _options_customTransformOptions5.asyncRoutes) ? true : void 0,
|
|
65
|
-
// Pass the engine to babel so we can automatically transpile for the correct
|
|
66
|
-
// target environment.
|
|
67
|
-
engine: stringOrUndefined((_options_customTransformOptions6 = options.customTransformOptions) === null || _options_customTransformOptions6 === void 0 ? void 0 : _options_customTransformOptions6.engine),
|
|
68
|
-
// Provide the project root for accurately reading the Expo config.
|
|
69
|
-
projectRoot: options.projectRoot,
|
|
70
|
-
oneViteMetroBabelConfig,
|
|
71
|
-
isNodeModule,
|
|
72
|
-
isHMREnabled: options.dev,
|
|
73
|
-
// Set the standard Babel flag to disable ESM transformations.
|
|
74
|
-
supportsStaticESM: isCustomTruthy((_options_customTransformOptions7 = options.customTransformOptions) === null || _options_customTransformOptions7 === void 0 ? void 0 : _options_customTransformOptions7.optimize) || options.experimentalImportSupport,
|
|
75
|
-
// Enable React compiler support in Babel.
|
|
76
|
-
// TODO: Remove this in the future when compiler is on by default.
|
|
77
|
-
supportsReactCompiler: isCustomTruthy((_options_customTransformOptions8 = options.customTransformOptions) === null || _options_customTransformOptions8 === void 0 ? void 0 : _options_customTransformOptions8.reactCompiler) ? true : void 0
|
|
78
|
-
};
|
|
32
|
+
var { filename, options, oneViteMetroBabelConfig } = param;
|
|
33
|
+
var _options_customTransformOptions, _options_customTransformOptions1, _options_customTransformOptions2, _options_customTransformOptions3, _options_customTransformOptions4, _options_customTransformOptions5, _options_customTransformOptions6, _options_customTransformOptions7, _options_customTransformOptions8;
|
|
34
|
+
var isNodeModule = filename.includes("node_modules");
|
|
35
|
+
var isReactServer = ((_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : _options_customTransformOptions.environment) === "react-server";
|
|
36
|
+
var isGenericServer = ((_options_customTransformOptions1 = options.customTransformOptions) === null || _options_customTransformOptions1 === void 0 ? void 0 : _options_customTransformOptions1.environment) === "node";
|
|
37
|
+
var isServer = isReactServer || isGenericServer;
|
|
38
|
+
var routerRoot = typeof ((_options_customTransformOptions2 = options.customTransformOptions) === null || _options_customTransformOptions2 === void 0 ? void 0 : _options_customTransformOptions2.routerRoot) === "string" ? decodeURI(options.customTransformOptions.routerRoot) : void 0;
|
|
39
|
+
if (routerRoot == null) {
|
|
40
|
+
memoizeWarning("Warning: Missing transform.routerRoot option in Metro bundling request, falling back to `app` as routes directory.");
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
name: "metro",
|
|
44
|
+
bundler: "metro",
|
|
45
|
+
platform: options.platform,
|
|
46
|
+
isServer,
|
|
47
|
+
isReactServer,
|
|
48
|
+
baseUrl: typeof ((_options_customTransformOptions3 = options.customTransformOptions) === null || _options_customTransformOptions3 === void 0 ? void 0 : _options_customTransformOptions3.baseUrl) === "string" ? decodeURI(options.customTransformOptions.baseUrl) : "",
|
|
49
|
+
routerRoot: routerRoot !== null && routerRoot !== void 0 ? routerRoot : "app",
|
|
50
|
+
isDev: options.dev,
|
|
51
|
+
preserveEnvVars: isCustomTruthy((_options_customTransformOptions4 = options.customTransformOptions) === null || _options_customTransformOptions4 === void 0 ? void 0 : _options_customTransformOptions4.preserveEnvVars) ? true : void 0,
|
|
52
|
+
asyncRoutes: isCustomTruthy((_options_customTransformOptions5 = options.customTransformOptions) === null || _options_customTransformOptions5 === void 0 ? void 0 : _options_customTransformOptions5.asyncRoutes) ? true : void 0,
|
|
53
|
+
engine: stringOrUndefined((_options_customTransformOptions6 = options.customTransformOptions) === null || _options_customTransformOptions6 === void 0 ? void 0 : _options_customTransformOptions6.engine),
|
|
54
|
+
projectRoot: options.projectRoot,
|
|
55
|
+
oneViteMetroBabelConfig,
|
|
56
|
+
isNodeModule,
|
|
57
|
+
isHMREnabled: options.dev,
|
|
58
|
+
supportsStaticESM: isCustomTruthy((_options_customTransformOptions7 = options.customTransformOptions) === null || _options_customTransformOptions7 === void 0 ? void 0 : _options_customTransformOptions7.optimize) || options.experimentalImportSupport,
|
|
59
|
+
supportsReactCompiler: isCustomTruthy((_options_customTransformOptions8 = options.customTransformOptions) === null || _options_customTransformOptions8 === void 0 ? void 0 : _options_customTransformOptions8.reactCompiler) ? true : void 0
|
|
60
|
+
};
|
|
79
61
|
}
|
|
80
62
|
function stringOrUndefined(value) {
|
|
81
|
-
|
|
63
|
+
return typeof value === "string" ? value : void 0;
|
|
82
64
|
}
|
|
83
|
-
var transform = function
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
};
|
|
139
|
-
var result = transformSync(src, babelConfig, options);
|
|
140
|
-
if (!result) {
|
|
141
|
-
return {
|
|
142
|
-
ast: null
|
|
143
|
-
};
|
|
144
|
-
}
|
|
145
|
-
assert(result.ast);
|
|
146
|
-
return {
|
|
147
|
-
ast: result.ast,
|
|
148
|
-
metadata: result.metadata
|
|
149
|
-
};
|
|
150
|
-
} finally {
|
|
151
|
-
if (OLD_BABEL_ENV) {
|
|
152
|
-
process.env.BABEL_ENV = OLD_BABEL_ENV;
|
|
153
|
-
}
|
|
154
|
-
}
|
|
65
|
+
var transform = function(param) {
|
|
66
|
+
var { filename, src: originalSrc, options, plugins } = param;
|
|
67
|
+
var _options_customTransformOptions, _options_customTransformOptions1;
|
|
68
|
+
var src = substituteExpoVirtualEnvSource({
|
|
69
|
+
filename,
|
|
70
|
+
src: originalSrc,
|
|
71
|
+
projectRoot: options.projectRoot,
|
|
72
|
+
dev: options.dev,
|
|
73
|
+
environment: (_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : _options_customTransformOptions.environment
|
|
74
|
+
});
|
|
75
|
+
var viteCustomTransformOptions = (_options_customTransformOptions1 = options.customTransformOptions) === null || _options_customTransformOptions1 === void 0 ? void 0 : _options_customTransformOptions1.vite;
|
|
76
|
+
var customOptionsFromVite = (function() {
|
|
77
|
+
var c = viteCustomTransformOptions;
|
|
78
|
+
if (!c || typeof c !== "object") {
|
|
79
|
+
return { babelConfig: {} };
|
|
80
|
+
}
|
|
81
|
+
return c;
|
|
82
|
+
})();
|
|
83
|
+
var hasOneViteMetroBabelConfig = customOptionsFromVite.oneViteMetroBabelConfig === true;
|
|
84
|
+
var babelConfigFromVitePlugin = customOptionsFromVite.babelConfig || {};
|
|
85
|
+
var OLD_BABEL_ENV = process.env.BABEL_ENV;
|
|
86
|
+
process.env.BABEL_ENV = options.dev ? "development" : process.env.BABEL_ENV || "production";
|
|
87
|
+
try {
|
|
88
|
+
var babelConfig = {
|
|
89
|
+
sourceType: "unambiguous",
|
|
90
|
+
ast: true,
|
|
91
|
+
code: false,
|
|
92
|
+
cloneInputAst: false,
|
|
93
|
+
cwd: options.projectRoot,
|
|
94
|
+
filename,
|
|
95
|
+
highlightCode: true,
|
|
96
|
+
...babelConfigFromVitePlugin,
|
|
97
|
+
...loadBabelConfig(options),
|
|
98
|
+
babelrc: typeof options.enableBabelRCLookup === "boolean" ? options.enableBabelRCLookup : true,
|
|
99
|
+
plugins: [...babelConfigFromVitePlugin.plugins || [], ...plugins],
|
|
100
|
+
caller: getBabelCaller({
|
|
101
|
+
filename,
|
|
102
|
+
options,
|
|
103
|
+
oneViteMetroBabelConfig: hasOneViteMetroBabelConfig
|
|
104
|
+
})
|
|
105
|
+
};
|
|
106
|
+
var result = transformSync(src, babelConfig, options);
|
|
107
|
+
if (!result) {
|
|
108
|
+
return { ast: null };
|
|
109
|
+
}
|
|
110
|
+
assert(result.ast);
|
|
111
|
+
return {
|
|
112
|
+
ast: result.ast,
|
|
113
|
+
metadata: result.metadata
|
|
114
|
+
};
|
|
115
|
+
} finally {
|
|
116
|
+
if (OLD_BABEL_ENV) {
|
|
117
|
+
process.env.BABEL_ENV = OLD_BABEL_ENV;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
155
120
|
};
|
|
121
|
+
function getCacheKey(options) {
|
|
122
|
+
var hash = createHash("sha256");
|
|
123
|
+
hash.update("vxrn-metro-babel-transformer-v1");
|
|
124
|
+
var projectRoot = options === null || options === void 0 ? void 0 : options.projectRoot;
|
|
125
|
+
if (!projectRoot) {
|
|
126
|
+
return hash.digest("hex");
|
|
127
|
+
}
|
|
128
|
+
hash.update(projectRoot);
|
|
129
|
+
for (var _i = 0, _iter = [
|
|
130
|
+
".env",
|
|
131
|
+
".env.development",
|
|
132
|
+
".env.local",
|
|
133
|
+
".env.development.local"
|
|
134
|
+
]; _i < _iter.length; _i++) {
|
|
135
|
+
var file = _iter[_i];
|
|
136
|
+
var filename = path.join(projectRoot, file);
|
|
137
|
+
hash.update(filename);
|
|
138
|
+
try {
|
|
139
|
+
hash.update(readFileSync(filename));
|
|
140
|
+
} catch (error) {
|
|
141
|
+
if (typeof error === "object" && error !== null && "code" in error && error.code === "ENOENT") {
|
|
142
|
+
continue;
|
|
143
|
+
}
|
|
144
|
+
throw error;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
hash.update(JSON.stringify(Object.entries(process.env).filter(function(param) {
|
|
148
|
+
var [key] = param;
|
|
149
|
+
return key.startsWith("ONE_PUBLIC_") || key.startsWith("EXPO_PUBLIC_");
|
|
150
|
+
}).sort(function(param, param1) {
|
|
151
|
+
var [left] = param, [right] = param1;
|
|
152
|
+
return left.localeCompare(right);
|
|
153
|
+
})));
|
|
154
|
+
return hash.digest("hex");
|
|
155
|
+
}
|
|
156
156
|
var babelTransformer = {
|
|
157
|
-
|
|
157
|
+
transform,
|
|
158
|
+
getCacheKey
|
|
158
159
|
};
|
|
159
160
|
module.exports = babelTransformer;
|
|
161
|
+
|
|
162
|
+
export { getCacheKey };
|
|
160
163
|
//# sourceMappingURL=babel-transformer.native.js.map
|