@vxrn/vite-plugin-metro 1.27.1 → 2.0.0-beta.45.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 +55 -57
- package/dist/cjs/env/platformEnv.native.cjs +93 -0
- package/dist/cjs/env/platformEnv.native.js +72 -75
- package/dist/cjs/env/platformEnv.native.js.map +1 -1
- package/dist/cjs/index.cjs +22 -24
- package/dist/cjs/index.native.cjs +41 -0
- package/dist/cjs/index.native.js +22 -23
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.cjs +48 -51
- package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.cjs +101 -0
- package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.js +88 -94
- package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.js.map +1 -1
- package/dist/cjs/metro-config/getMetroConfigFromViteConfig.cjs +246 -271
- package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.cjs +295 -0
- package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js +257 -281
- 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/expoManifestRequestHandlerPlugin.cjs +44 -56
- package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.cjs +62 -0
- package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.js +45 -63
- package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.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 +101 -152
- package/dist/cjs/transformer/babel-transformer.native.cjs +131 -0
- package/dist/cjs/transformer/babel-transformer.native.js +106 -159
- package/dist/cjs/transformer/babel-transformer.native.js.map +1 -1
- 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 +1442 -1480
- package/dist/cjs/transformer/metroNativeWorker.native.cjs +2536 -0
- package/dist/cjs/transformer/metroNativeWorker.native.js +2416 -2552
- package/dist/cjs/transformer/metroNativeWorker.native.js.map +1 -1
- package/dist/cjs/transformer/transformSync.cjs +47 -63
- package/dist/cjs/transformer/transformSync.native.cjs +74 -0
- package/dist/cjs/transformer/transformSync.native.js +49 -64
- 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/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.cjs +24 -28
- package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.cjs +37 -0
- package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js +24 -27
- package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.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 +40 -39
- package/dist/esm/env/platformEnv.mjs.map +1 -1
- package/dist/esm/env/platformEnv.native.js +57 -58
- package/dist/esm/env/platformEnv.native.js.map +1 -1
- package/dist/esm/index.js +3 -3
- package/dist/esm/index.mjs +3 -3
- package/dist/esm/index.native.js +3 -3
- package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.mjs +35 -33
- package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.mjs.map +1 -1
- package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.native.js +75 -77
- package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.native.js.map +1 -1
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs +230 -246
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs.map +1 -1
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js +241 -257
- 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/expoManifestRequestHandlerPlugin.mjs +32 -38
- package/dist/esm/plugins/expoManifestRequestHandlerPlugin.mjs.map +1 -1
- package/dist/esm/plugins/expoManifestRequestHandlerPlugin.native.js +33 -46
- package/dist/esm/plugins/expoManifestRequestHandlerPlugin.native.js.map +1 -1
- 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 +108 -144
- package/dist/esm/transformer/babel-transformer.mjs.map +1 -1
- package/dist/esm/transformer/babel-transformer.native.js +114 -155
- package/dist/esm/transformer/babel-transformer.native.js.map +1 -1
- 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 +1405 -1434
- package/dist/esm/transformer/metroNativeWorker.mjs.map +1 -1
- package/dist/esm/transformer/metroNativeWorker.native.js +2379 -2507
- package/dist/esm/transformer/metroNativeWorker.native.js.map +1 -1
- package/dist/esm/transformer/transformSync.mjs +32 -37
- package/dist/esm/transformer/transformSync.mjs.map +1 -1
- package/dist/esm/transformer/transformSync.native.js +34 -39
- 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/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs +11 -10
- package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs.map +1 -1
- package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js +11 -10
- package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.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 +5 -6
- package/src/metro-config/getMetroConfigFromViteConfig.ts +11 -18
- package/src/transformer/metroNativeWorker.test.ts +110 -49
- package/src/transformer/metroNativeWorker.ts +3 -11
- package/types/babel-plugins/import-meta-env-plugin.d.ts.map +1 -1
- package/types/metro-config/getMetroConfigFromViteConfig.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/metroNativeWorker.d.ts.map +1 -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/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/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/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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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"}
|
|
@@ -5,266 +5,250 @@ import { findUserBabelConfig } from "@vxrn/compiler";
|
|
|
5
5
|
import { projectImport, projectResolve } from "../utils/projectImport.mjs";
|
|
6
6
|
import { getTerminalReporter } from "../utils/getTerminalReporter.mjs";
|
|
7
7
|
import { patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName } from "../utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs";
|
|
8
|
+
|
|
8
9
|
const WATCHMAN_PROBE_TIMEOUT_MS = 2e3;
|
|
9
|
-
const watchmanResponsivePromises = /* @__PURE__ */new Map();
|
|
10
|
+
const watchmanResponsivePromises = /* @__PURE__ */ new Map();
|
|
10
11
|
let didWarnAboutWatchmanFallback = false;
|
|
11
12
|
const rootIndexBundleRequestPattern = /^(https?:\/\/[^/]+)?\/index\.bundle(?=$|[?#])/;
|
|
13
|
+
const metroWatchExclusions = [
|
|
14
|
+
/[/\\]dist[/\\](?:static|server)(?:[/\\]|$)/,
|
|
15
|
+
/[/\\]tests[/\\][^/\\]+[/\\]dist(?:[/\\]|$)/,
|
|
16
|
+
/[/\\]\.docker(?:[/\\]|$)/,
|
|
17
|
+
/[/\\]\.vite(?:[/\\]|$)/,
|
|
18
|
+
/[/\\]node_modules[/\\]\.vxrn(?:[/\\]|$)/
|
|
19
|
+
];
|
|
12
20
|
function getPlatformFromBundleUrl(url) {
|
|
13
|
-
|
|
14
|
-
|
|
21
|
+
const platform = url.match(/[?&]platform=(ios|android)(?:&|$)/)?.[1];
|
|
22
|
+
return platform === "android" ? "android" : "ios";
|
|
15
23
|
}
|
|
16
24
|
function rewriteMainModuleBundleUrl(url, resolveMainModuleName) {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
return url.replace(rootIndexBundleRequestPattern, `$1/${resolvedMainModulePath}.bundle`);
|
|
25
|
+
const resolvedMainModulePath = resolveMainModuleName({ platform: getPlatformFromBundleUrl(url) });
|
|
26
|
+
if (url.includes("/.expo/.virtual-metro-entry.bundle?")) {
|
|
27
|
+
return url.replace(".expo/.virtual-metro-entry", resolvedMainModulePath);
|
|
28
|
+
}
|
|
29
|
+
return url.replace(rootIndexBundleRequestPattern, `$1/${resolvedMainModulePath}.bundle`);
|
|
24
30
|
}
|
|
25
31
|
async function isWatchmanResponsive(projectRoot) {
|
|
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
|
-
|
|
52
|
-
watchmanResponsivePromises.set(projectRoot, probe);
|
|
53
|
-
return probe;
|
|
32
|
+
let probe = watchmanResponsivePromises.get(projectRoot);
|
|
33
|
+
if (probe) {
|
|
34
|
+
return probe;
|
|
35
|
+
}
|
|
36
|
+
probe = new Promise((resolve2) => {
|
|
37
|
+
let settled = false;
|
|
38
|
+
const finish = (value) => {
|
|
39
|
+
if (settled) return;
|
|
40
|
+
settled = true;
|
|
41
|
+
clearTimeout(timeout);
|
|
42
|
+
resolve2(value);
|
|
43
|
+
};
|
|
44
|
+
const child = spawn("watchman", ["watch-project", projectRoot], { stdio: "ignore" });
|
|
45
|
+
const timeout = setTimeout(() => {
|
|
46
|
+
child.kill();
|
|
47
|
+
finish(false);
|
|
48
|
+
}, WATCHMAN_PROBE_TIMEOUT_MS);
|
|
49
|
+
child.once("error", () => {
|
|
50
|
+
finish(false);
|
|
51
|
+
});
|
|
52
|
+
child.once("exit", (code) => {
|
|
53
|
+
finish(code === 0);
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
watchmanResponsivePromises.set(projectRoot, probe);
|
|
57
|
+
return probe;
|
|
54
58
|
}
|
|
55
59
|
function resolveNativeTransforms(projectRoot, metroPluginOptions) {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
60
|
+
const userBabelConfigPath = projectRoot ? findUserBabelConfig(projectRoot) : null;
|
|
61
|
+
const hasUserBabelConfig = Boolean(userBabelConfigPath);
|
|
62
|
+
const isNativeTransforms = process.env.ONE_METRO_NATIVE_TRANSFORMS === "0" ? false : process.env.ONE_METRO_NATIVE_TRANSFORMS === "1" ? true : metroPluginOptions.nativeTransforms === false ? false : metroPluginOptions.nativeTransforms === true ? true : hasUserBabelConfig ? false : true;
|
|
63
|
+
if (userBabelConfigPath && isNativeTransforms) {
|
|
64
|
+
console.warn(`[vxrn/metro] Ignoring user babel config at ${userBabelConfigPath} because native transforms are explicitly enabled (nativeTransforms: true or ONE_METRO_NATIVE_TRANSFORMS=1). Port its plugins to nativeTransformModules, or set nativeTransforms: false (or ONE_METRO_NATIVE_TRANSFORMS=0) to use the babel transformer.`);
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
isNativeTransforms,
|
|
68
|
+
userBabelConfigPath
|
|
69
|
+
};
|
|
66
70
|
}
|
|
67
71
|
async function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
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
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
const merged = {
|
|
155
|
-
...defaultConfig,
|
|
156
|
-
...(typeof defaultConfigOverrides === "function" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides)
|
|
157
|
-
};
|
|
158
|
-
return {
|
|
159
|
-
defaultConfig: merged,
|
|
160
|
-
projectRoot,
|
|
161
|
-
extraConfig
|
|
162
|
-
};
|
|
72
|
+
const extraConfig = {};
|
|
73
|
+
const projectRoot = resolve(metroPluginOptions.argv?.projectRoot ?? config.root);
|
|
74
|
+
const { mainModuleName, defaultConfigOverrides, watchman, excludeModules } = metroPluginOptions;
|
|
75
|
+
const useWatchman = watchman ?? await isWatchmanResponsive(projectRoot);
|
|
76
|
+
if (watchman === void 0 && !useWatchman && !didWarnAboutWatchmanFallback) {
|
|
77
|
+
didWarnAboutWatchmanFallback = true;
|
|
78
|
+
console.warn("[vxrn/metro] Watchman is unavailable or unresponsive; falling back to Node file watching.");
|
|
79
|
+
}
|
|
80
|
+
const { getDefaultConfig } = await projectImport(projectRoot, "@expo/metro-config");
|
|
81
|
+
const _defaultConfig = getDefaultConfig(projectRoot);
|
|
82
|
+
if (mainModuleName) {
|
|
83
|
+
const origRewriteRequestUrl = _defaultConfig.server.rewriteRequestUrl;
|
|
84
|
+
const resolveMainModuleName = await (async () => {
|
|
85
|
+
const ExpoGoManifestHandlerMiddleware = (await projectImport(projectRoot, "@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js")).default.ExpoGoManifestHandlerMiddleware;
|
|
86
|
+
const manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(projectRoot, {});
|
|
87
|
+
patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName(manifestHandlerMiddleware, mainModuleName);
|
|
88
|
+
return (p) => {
|
|
89
|
+
return manifestHandlerMiddleware.resolveMainModuleName({
|
|
90
|
+
pkg: { main: mainModuleName },
|
|
91
|
+
platform: p.platform
|
|
92
|
+
});
|
|
93
|
+
};
|
|
94
|
+
})();
|
|
95
|
+
extraConfig.getResolveMainModuleName = resolveMainModuleName;
|
|
96
|
+
_defaultConfig.server.rewriteRequestUrl = (url) => {
|
|
97
|
+
if (url.includes("/.expo/.virtual-metro-entry.bundle?") || rootIndexBundleRequestPattern.test(url)) {
|
|
98
|
+
return rewriteMainModuleBundleUrl(url, resolveMainModuleName);
|
|
99
|
+
}
|
|
100
|
+
return origRewriteRequestUrl(url);
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
const existingBlockList = _defaultConfig?.resolver?.blockList;
|
|
104
|
+
const blockList = [...existingBlockList ? Array.isArray(existingBlockList) ? existingBlockList : [existingBlockList] : [], ...metroWatchExclusions];
|
|
105
|
+
const { isNativeTransforms } = resolveNativeTransforms(projectRoot, metroPluginOptions);
|
|
106
|
+
let nativeWorkerPath;
|
|
107
|
+
if (isNativeTransforms) {
|
|
108
|
+
nativeWorkerPath = projectResolve(projectRoot, "@vxrn/vite-plugin-metro/transformer/metroNativeWorker");
|
|
109
|
+
}
|
|
110
|
+
const defaultConfig = {
|
|
111
|
+
..._defaultConfig,
|
|
112
|
+
resolver: {
|
|
113
|
+
..._defaultConfig?.resolver,
|
|
114
|
+
useWatchman,
|
|
115
|
+
blockList,
|
|
116
|
+
sourceExts: [
|
|
117
|
+
"js",
|
|
118
|
+
"jsx",
|
|
119
|
+
"json",
|
|
120
|
+
"ts",
|
|
121
|
+
"tsx",
|
|
122
|
+
"mjs",
|
|
123
|
+
"cjs"
|
|
124
|
+
],
|
|
125
|
+
resolveRequest: (context, moduleName, platform) => {
|
|
126
|
+
const origResolveRequestFn = _defaultConfig?.resolver?.resolveRequest || context.resolveRequest;
|
|
127
|
+
if (excludeModules && excludeModules.length > 0) {
|
|
128
|
+
if (micromatch.isMatch(moduleName, excludeModules)) {
|
|
129
|
+
return origResolveRequestFn(context, "@vxrn/vite-plugin-metro/empty", platform);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
if (moduleName.startsWith("@babel/runtime")) {
|
|
133
|
+
const contextOverride = {
|
|
134
|
+
...context,
|
|
135
|
+
unstable_conditionNames: context.unstable_conditionNames.filter((c) => c !== "import")
|
|
136
|
+
};
|
|
137
|
+
return origResolveRequestFn(contextOverride, moduleName, platform);
|
|
138
|
+
}
|
|
139
|
+
return origResolveRequestFn(context, moduleName, platform);
|
|
140
|
+
}
|
|
141
|
+
},
|
|
142
|
+
transformer: {
|
|
143
|
+
..._defaultConfig?.transformer,
|
|
144
|
+
babelTransformerPath: projectResolve(projectRoot, "@vxrn/vite-plugin-metro/babel-transformer")
|
|
145
|
+
},
|
|
146
|
+
...nativeWorkerPath ? { transformerPath: nativeWorkerPath } : {},
|
|
147
|
+
reporter: await getTerminalReporter(projectRoot)
|
|
148
|
+
};
|
|
149
|
+
const merged = {
|
|
150
|
+
...defaultConfig,
|
|
151
|
+
...typeof defaultConfigOverrides === "function" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides
|
|
152
|
+
};
|
|
153
|
+
return {
|
|
154
|
+
defaultConfig: merged,
|
|
155
|
+
projectRoot,
|
|
156
|
+
extraConfig
|
|
157
|
+
};
|
|
163
158
|
}
|
|
164
159
|
async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
cwd: projectRoot,
|
|
257
|
-
projectRoot,
|
|
258
|
-
"reset-cache": !!process.env.METRO_RESET_CACHE,
|
|
259
|
-
...argv
|
|
260
|
-
}, {
|
|
261
|
-
...defaultConfig,
|
|
262
|
-
...(typeof defaultConfigOverrides === "function" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides)
|
|
263
|
-
});
|
|
264
|
-
return {
|
|
265
|
-
...metroConfig,
|
|
266
|
-
...extraConfig
|
|
267
|
-
};
|
|
160
|
+
const extraConfig = {};
|
|
161
|
+
const projectRoot = resolve(metroPluginOptions.argv?.projectRoot ?? config.root);
|
|
162
|
+
const { mainModuleName, argv, defaultConfigOverrides, watchman, excludeModules } = metroPluginOptions;
|
|
163
|
+
const useWatchman = watchman ?? await isWatchmanResponsive(projectRoot);
|
|
164
|
+
if (watchman === void 0 && !useWatchman && !didWarnAboutWatchmanFallback) {
|
|
165
|
+
didWarnAboutWatchmanFallback = true;
|
|
166
|
+
console.warn("[vxrn/metro] Watchman is unavailable or unresponsive; falling back to Node file watching.");
|
|
167
|
+
}
|
|
168
|
+
const { loadConfig } = await projectImport(projectRoot, "metro");
|
|
169
|
+
const { getDefaultConfig } = await projectImport(projectRoot, "@expo/metro-config");
|
|
170
|
+
const _defaultConfig = getDefaultConfig(projectRoot);
|
|
171
|
+
if (mainModuleName) {
|
|
172
|
+
const origRewriteRequestUrl = _defaultConfig.server.rewriteRequestUrl;
|
|
173
|
+
const resolveMainModuleName = await (async () => {
|
|
174
|
+
const ExpoGoManifestHandlerMiddleware = (await projectImport(projectRoot, "@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js")).default.ExpoGoManifestHandlerMiddleware;
|
|
175
|
+
const manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(projectRoot, {});
|
|
176
|
+
patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName(manifestHandlerMiddleware, mainModuleName);
|
|
177
|
+
return (p) => {
|
|
178
|
+
return manifestHandlerMiddleware.resolveMainModuleName({
|
|
179
|
+
pkg: { main: mainModuleName },
|
|
180
|
+
platform: p.platform
|
|
181
|
+
});
|
|
182
|
+
};
|
|
183
|
+
})();
|
|
184
|
+
extraConfig.getResolveMainModuleName = resolveMainModuleName;
|
|
185
|
+
_defaultConfig.server.rewriteRequestUrl = (url) => {
|
|
186
|
+
if (url.includes("/.expo/.virtual-metro-entry.bundle?") || rootIndexBundleRequestPattern.test(url)) {
|
|
187
|
+
return rewriteMainModuleBundleUrl(url, resolveMainModuleName);
|
|
188
|
+
}
|
|
189
|
+
return origRewriteRequestUrl(url);
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
const existingBlockList = _defaultConfig?.resolver?.blockList;
|
|
193
|
+
const blockList = [...existingBlockList ? Array.isArray(existingBlockList) ? existingBlockList : [existingBlockList] : [], ...metroWatchExclusions];
|
|
194
|
+
const { isNativeTransforms } = resolveNativeTransforms(projectRoot, metroPluginOptions);
|
|
195
|
+
let nativeWorkerPath;
|
|
196
|
+
if (isNativeTransforms) {
|
|
197
|
+
nativeWorkerPath = projectResolve(projectRoot, "@vxrn/vite-plugin-metro/transformer/metroNativeWorker");
|
|
198
|
+
}
|
|
199
|
+
const defaultConfig = {
|
|
200
|
+
..._defaultConfig,
|
|
201
|
+
resolver: {
|
|
202
|
+
..._defaultConfig?.resolver,
|
|
203
|
+
useWatchman,
|
|
204
|
+
blockList,
|
|
205
|
+
sourceExts: [
|
|
206
|
+
"js",
|
|
207
|
+
"jsx",
|
|
208
|
+
"json",
|
|
209
|
+
"ts",
|
|
210
|
+
"tsx",
|
|
211
|
+
"mjs",
|
|
212
|
+
"cjs"
|
|
213
|
+
],
|
|
214
|
+
resolveRequest: (context, moduleName, platform) => {
|
|
215
|
+
const origResolveRequestFn = _defaultConfig?.resolver?.resolveRequest || context.resolveRequest;
|
|
216
|
+
if (excludeModules && excludeModules.length > 0) {
|
|
217
|
+
if (micromatch.isMatch(moduleName, excludeModules)) {
|
|
218
|
+
return origResolveRequestFn(context, "@vxrn/vite-plugin-metro/empty", platform);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
if (moduleName.startsWith("@babel/runtime")) {
|
|
222
|
+
const contextOverride = {
|
|
223
|
+
...context,
|
|
224
|
+
unstable_conditionNames: context.unstable_conditionNames.filter((c) => c !== "import")
|
|
225
|
+
};
|
|
226
|
+
return origResolveRequestFn(contextOverride, moduleName, platform);
|
|
227
|
+
}
|
|
228
|
+
return origResolveRequestFn(context, moduleName, platform);
|
|
229
|
+
}
|
|
230
|
+
},
|
|
231
|
+
transformer: {
|
|
232
|
+
..._defaultConfig?.transformer,
|
|
233
|
+
babelTransformerPath: projectResolve(projectRoot, "@vxrn/vite-plugin-metro/babel-transformer")
|
|
234
|
+
},
|
|
235
|
+
...nativeWorkerPath ? { transformerPath: nativeWorkerPath } : {},
|
|
236
|
+
reporter: await getTerminalReporter(projectRoot)
|
|
237
|
+
};
|
|
238
|
+
const metroConfig = await loadConfig({
|
|
239
|
+
cwd: projectRoot,
|
|
240
|
+
projectRoot,
|
|
241
|
+
"reset-cache": !!process.env.METRO_RESET_CACHE,
|
|
242
|
+
...argv
|
|
243
|
+
}, {
|
|
244
|
+
...defaultConfig,
|
|
245
|
+
...typeof defaultConfigOverrides === "function" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides
|
|
246
|
+
});
|
|
247
|
+
return {
|
|
248
|
+
...metroConfig,
|
|
249
|
+
...extraConfig
|
|
250
|
+
};
|
|
268
251
|
}
|
|
252
|
+
|
|
269
253
|
export { buildMetroConfigInputFromViteConfig, getMetroConfigFromViteConfig };
|
|
270
254
|
//# sourceMappingURL=getMetroConfigFromViteConfig.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["spawn","resolve","micromatch","findUserBabelConfig","projectImport","projectResolve","getTerminalReporter","patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName","WATCHMAN_PROBE_TIMEOUT_MS","watchmanResponsivePromises","Map","didWarnAboutWatchmanFallback","rootIndexBundleRequestPattern","getPlatformFromBundleUrl","url","platform","match","rewriteMainModuleBundleUrl","resolveMainModuleName","resolvedMainModulePath","includes","replace","isWatchmanResponsive","projectRoot","probe","get","Promise","resolve2","settled","finish","value","clearTimeout","timeout","child","stdio","setTimeout","kill","once","code","set","resolveNativeTransforms","metroPluginOptions","userBabelConfigPath","hasUserBabelConfig","Boolean","isNativeTransforms","process","env","ONE_METRO_NATIVE_TRANSFORMS","nativeTransforms","console","warn","buildMetroConfigInputFromViteConfig","config","extraConfig","argv","root","mainModuleName","defaultConfigOverrides","watchman","excludeModules","useWatchman","getDefaultConfig","_defaultConfig","origRewriteRequestUrl","server","rewriteRequestUrl","ExpoGoManifestHandlerMiddleware","default","manifestHandlerMiddleware","p","pkg","main","getResolveMainModuleName","test","existingBlockList","resolver","blockList","buildOutputExclusions","Array","isArray","nativeWorkerPath","defaultConfig","sourceExts","resolveRequest","context","moduleName","origResolveRequestFn","length","isMatch","startsWith","contextOverride","unstable_conditionNames","filter","c","transformer","babelTransformerPath","transformerPath","reporter","merged","getMetroConfigFromViteConfig","loadConfig","metroConfig","cwd","METRO_RESET_CACHE"],"sources":["../../../src/metro-config/getMetroConfigFromViteConfig.ts"],"sourcesContent":[null],"mappings":"AACA,SAASA,KAAA,QAAa;AACtB,SAASC,OAAA,QAAe;AACxB,OAAOC,UAAA,MAAgB;AAQvB,SAASC,mBAAA,QAA2B;AACpC,SAASC,aAAA,EAAeC,cAAA,QAAsB;AAC9C,SAASC,mBAAA,QAA2B;AACpC,SAASC,4DAAA,QAAoE;AAM7E,MAAMC,yBAAA,GAA4B;AAClC,MAAMC,0BAAA,GAA6B,mBAAIC,GAAA,CAA8B;AACrE,IAAIC,4BAAA,GAA+B;AACnC,MAAMC,6BAAA,GAAgC;AAEtC,SAASC,yBAAyBC,GAAA,EAAgC;EAChE,MAAMC,QAAA,GAAWD,GAAA,CAAIE,KAAA,CAAM,mCAAmC,IAAI,CAAC;EACnE,OAAOD,QAAA,KAAa,YAAY,YAAY;AAC9C;AAEA,SAASE,2BACPH,GAAA,EACAI,qBAAA,EACA;EACA,MAAMC,sBAAA,GAAyBD,qBAAA,CAAsB;IACnDH,QAAA,EAAUF,wBAAA,CAAyBC,GAAG;EACxC,CAAC;EAED,IAAIA,GAAA,CAAIM,QAAA,CAAS,qCAAqC,GAAG;IACvD,OAAON,GAAA,CAAIO,OAAA,CAAQ,8BAA8BF,sBAAsB;EACzE;EAEA,OAAOL,GAAA,CAAIO,OAAA,CAAQT,6BAAA,EAA+B,MAAMO,sBAAsB,SAAS;AACzF;AAEA,eAAeG,qBAAqBC,WAAA,EAAqB;EACvD,IAAIC,KAAA,GAAQf,0BAAA,CAA2BgB,GAAA,CAAIF,WAAW;EACtD,IAAIC,KAAA,EAAO;IACT,OAAOA,KAAA;EACT;EAEAA,KAAA,GAAQ,IAAIE,OAAA,CAAkBC,QAAA,IAAY;IACxC,IAAIC,OAAA,GAAU;IAEd,MAAMC,MAAA,GAAUC,KAAA,IAAmB;MACjC,IAAIF,OAAA,EAAS;MACbA,OAAA,GAAU;MACVG,YAAA,CAAaC,OAAO;MACpB/B,QAAA,CAAQ6B,KAAK;IACf;IAEA,MAAMG,KAAA,GAAQjC,KAAA,CAAM,YAAY,CAAC,iBAAiBuB,WAAW,GAAG;MAC9DW,KAAA,EAAO;IACT,CAAC;IAED,MAAMF,OAAA,GAAUG,UAAA,CAAW,MAAM;MAC/BF,KAAA,CAAMG,IAAA,CAAK;MACXP,MAAA,CAAO,KAAK;IACd,GAAGrB,yBAAyB;IAE5ByB,KAAA,CAAMI,IAAA,CAAK,SAAS,MAAM;MACxBR,MAAA,CAAO,KAAK;IACd,CAAC;IAEDI,KAAA,CAAMI,IAAA,CAAK,QAASC,IAAA,IAAS;MAC3BT,MAAA,CAAOS,IAAA,KAAS,CAAC;IACnB,CAAC;EACH,CAAC;EAED7B,0BAAA,CAA2B8B,GAAA,CAAIhB,WAAA,EAAaC,KAAK;EACjD,OAAOA,KAAA;AACT;AAUA,SAASgB,wBACPjB,WAAA,EACAkB,kBAAA,EACqE;EACrE,MAAMC,mBAAA,GAAsBnB,WAAA,GAAcpB,mBAAA,CAAoBoB,WAAW,IAAI;EAC7E,MAAMoB,kBAAA,GAAqBC,OAAA,CAAQF,mBAAmB;EAEtD,MAAMG,kBAAA,GACJC,OAAA,CAAQC,GAAA,CAAIC,2BAAA,KAAgC,MACxC,QACAF,OAAA,CAAQC,GAAA,CAAIC,2BAAA,KAAgC,MAC1C,OACAP,kBAAA,CAAmBQ,gBAAA,KAAqB,QACtC,QACAR,kBAAA,CAAmBQ,gBAAA,KAAqB,OACtC,OACAN,kBAAA,GACE,QACA;EAKd,IAAID,mBAAA,IAAuBG,kBAAA,EAAoB;IAC7CK,OAAA,CAAQC,IAAA,CACN,8CAA8CT,mBAAmB,0PAEnE;EACF;EAEA,OAAO;IAAEG,kBAAA;IAAoBH;EAAoB;AACnD;AAUA,eAAsBU,oCACpBC,MAAA,EACAZ,kBAAA,EACgF;EAChF,MAAMa,WAAA,GAA2B,CAAC;EAClC,MAAM/B,WAAA,GAActB,OAAA,CAAQwC,kBAAA,CAAmBc,IAAA,EAAMhC,WAAA,IAAe8B,MAAA,CAAOG,IAAI;EAC/E,MAAM;IAAEC,cAAA;IAAgBC,sBAAA;IAAwBC,QAAA;IAAUC;EAAe,IACvEnB,kBAAA;EACF,MAAMoB,WAAA,GAAcF,QAAA,KAAa,MAAMrC,oBAAA,CAAqBC,WAAW;EAEvE,IAAIoC,QAAA,KAAa,UAAa,CAACE,WAAA,IAAe,CAAClD,4BAAA,EAA8B;IAC3EA,4BAAA,GAA+B;IAC/BuC,OAAA,CAAQC,IAAA,CACN,2FACF;EACF;EAEA,MAAM;IAAEW;EAAiB,IAAI,MAAM1D,aAAA,CAEhCmB,WAAA,EAAa,oBAAoB;EAEpC,MAAMwC,cAAA,GAAmCD,gBAAA,CAAiBvC,WAAW;EAErE,IAAIkC,cAAA,EAAgB;IAClB,MAAMO,qBAAA,GAAwBD,cAAA,CAAgBE,MAAA,CAAQC,iBAAA;IAEtD,MAAMhD,qBAAA,GACJ,OAAO,YAAY;MACjB,MAAMiD,+BAAA,IACJ,MAAM/D,aAAA,CACJmB,WAAA,EACA,gFACF,GACA6C,OAAA,CAAQD,+BAAA;MAEV,MAAME,yBAAA,GAA4B,IAAIF,+BAAA,CACpC5C,WAAA,EACA,CAAC,CACH;MAEAhB,4DAAA,CACE8D,yBAAA,EACAZ,cACF;MAEA,OAAQa,CAAA,IAAM;QACZ,OAAOD,yBAAA,CAA0BnD,qBAAA,CAAsB;UACrDqD,GAAA,EAAK;YAAEC,IAAA,EAAMf;UAAe;UAC5B1C,QAAA,EAAUuD,CAAA,CAAEvD;QACd,CAAC;MACH;IACF,GAAG;IAELuC,WAAA,CAAYmB,wBAAA,GAA2BvD,qBAAA;IAGvC6C,cAAA,CAAgBE,MAAA,CAAQC,iBAAA,GAAqBpD,GAAA,IAAQ;MACnD,IACEA,GAAA,CAAIM,QAAA,CAAS,qCAAqC,KAClDR,6BAAA,CAA8B8D,IAAA,CAAK5D,GAAG,GACtC;QACA,OAAOG,0BAAA,CAA2BH,GAAA,EAAKI,qBAAqB;MAC9D;MACA,OAAO8C,qBAAA,CAAsBlD,GAAG;IAClC;EACF;EAEA,MAAM6D,iBAAA,GAAoBZ,cAAA,EAAgBa,QAAA,EAAUC,SAAA;EACpD,MAAMC,qBAAA,GAAwB,CAC5B,8CACA,8CACA,4BACA,yBACF;EACA,MAAMD,SAAA,GAAsB,CAC1B,IAAIF,iBAAA,GACAI,KAAA,CAAMC,OAAA,CAAQL,iBAAiB,IAC7BA,iBAAA,GACA,CAACA,iBAAiB,IACpB,EAAC,GACL,GAAGG,qBAAA,CACL;EAKA,MAAM;IAAEjC;EAAmB,IAAIL,uBAAA,CAAwBjB,WAAA,EAAakB,kBAAkB;EAEtF,IAAIwC,gBAAA;EACJ,IAAIpC,kBAAA,EAAoB;IAGtBoC,gBAAA,GAAmB5E,cAAA,CACjBkB,WAAA,EACA,uDACF;EACF;EAEA,MAAM2D,aAAA,GAAkC;IACtC,GAAGnB,cAAA;IACHa,QAAA,EAAU;MACR,GAAGb,cAAA,EAAgBa,QAAA;MACnBf,WAAA;MACAgB,SAAA;MACAM,UAAA,EAAY,CAAC,MAAM,OAAO,QAAQ,MAAM,OAAO,OAAO,KAAK;MAAA;MAC3DC,cAAA,EAAgBA,CAACC,OAAA,EAASC,UAAA,EAAYvE,QAAA,KAAa;QACjD,MAAMwE,oBAAA,GACJxB,cAAA,EAAgBa,QAAA,EAAUQ,cAAA,IAAkBC,OAAA,CAAQD,cAAA;QAEtD,IAAIxB,cAAA,IAAkBA,cAAA,CAAe4B,MAAA,GAAS,GAAG;UAC/C,IAAItF,UAAA,CAAWuF,OAAA,CAAQH,UAAA,EAAY1B,cAAc,GAAG;YAClD,OAAO2B,oBAAA,CACLF,OAAA,EACA,iCACAtE,QACF;UACF;QACF;QAIA,IAAIuE,UAAA,CAAWI,UAAA,CAAW,gBAAgB,GAAG;UAC3C,MAAMC,eAAA,GAAkB;YACtB,GAAGN,OAAA;YACHO,uBAAA,EAAyBP,OAAA,CAAQO,uBAAA,CAAwBC,MAAA,CACtDC,CAAA,IAAMA,CAAA,KAAM,QACf;UACF;UACA,OAAOP,oBAAA,CAAqBI,eAAA,EAAiBL,UAAA,EAAYvE,QAAQ;QACnE;QAEA,OAAOwE,oBAAA,CAAqBF,OAAA,EAASC,UAAA,EAAYvE,QAAQ;MAC3D;IACF;IACAgF,WAAA,EAAa;MACX,GAAGhC,cAAA,EAAgBgC,WAAA;MACnBC,oBAAA,EAAsB3F,cAAA,CACpBkB,WAAA,EACA,2CACF;IACF;IAAA;IAAA;IAGA,IAAI0D,gBAAA,GAAmB;MAAEgB,eAAA,EAAiBhB;IAAiB,IAAI,CAAC;IAChEiB,QAAA,EAAU,MAAM5F,mBAAA,CAAoBiB,WAAW;EACjD;EAEA,MAAM4E,MAAA,GAAS;IACb,GAAGjB,aAAA;IACH,IAAI,OAAOxB,sBAAA,KAA2B,aAClCA,sBAAA,CAAuBwB,aAAa,IACpCxB,sBAAA;EACN;EAEA,OAAO;IAAEwB,aAAA,EAAeiB,MAAA;IAAQ5E,WAAA;IAAa+B;EAAY;AAC3D;AAEA,eAAsB8C,6BACpB/C,MAAA,EACAZ,kBAAA,EAC8B;EAC9B,MAAMa,WAAA,GAA2B,CAAC;EAIlC,MAAM/B,WAAA,GAActB,OAAA,CAAQwC,kBAAA,CAAmBc,IAAA,EAAMhC,WAAA,IAAe8B,MAAA,CAAOG,IAAI;EAC/E,MAAM;IAAEC,cAAA;IAAgBF,IAAA;IAAMG,sBAAA;IAAwBC,QAAA;IAAUC;EAAe,IAC7EnB,kBAAA;EACF,MAAMoB,WAAA,GAAcF,QAAA,KAAa,MAAMrC,oBAAA,CAAqBC,WAAW;EAEvE,IAAIoC,QAAA,KAAa,UAAa,CAACE,WAAA,IAAe,CAAClD,4BAAA,EAA8B;IAC3EA,4BAAA,GAA+B;IAC/BuC,OAAA,CAAQC,IAAA,CACN,2FACF;EACF;EAEA,MAAM;IAAEkD;EAAW,IAAI,MAAMjG,aAAA,CAE1BmB,WAAA,EAAa,OAAO;EACvB,MAAM;IAAEuC;EAAiB,IAAI,MAAM1D,aAAA,CAEhCmB,WAAA,EAAa,oBAAoB;EAEpC,MAAMwC,cAAA,GAAmCD,gBAAA,CAAiBvC,WAAW;EAErE,IAAIkC,cAAA,EAAgB;IAClB,MAAMO,qBAAA,GAAwBD,cAAA,CAAgBE,MAAA,CAAQC,iBAAA;IAQtD,MAAMhD,qBAAA,GACJ,OAAO,YAAY;MACjB,MAAMiD,+BAAA,IACJ,MAAM/D,aAAA,CACJmB,WAAA,EACA,gFACF,GACA6C,OAAA,CAAQD,+BAAA;MAEV,MAAME,yBAAA,GAA4B,IAAIF,+BAAA,CACpC5C,WAAA,EACA,CAAC,CACH;MAEAhB,4DAAA,CACE8D,yBAAA,EACAZ,cACF;MAEA,OAAQa,CAAA,IAAM;QACZ,OAAOD,yBAAA,CAA0BnD,qBAAA,CAAsB;UACrDqD,GAAA,EAAK;YAAEC,IAAA,EAAMf;UAAe;UAC5B1C,QAAA,EAAUuD,CAAA,CAAEvD;QACd,CAAC;MACH;IACF,GAAG;IAELuC,WAAA,CAAYmB,wBAAA,GAA2BvD,qBAAA;IAGvC6C,cAAA,CAAgBE,MAAA,CAAQC,iBAAA,GAAqBpD,GAAA,IAAQ;MACnD,IACEA,GAAA,CAAIM,QAAA,CAAS,qCAAqC,KAClDR,6BAAA,CAA8B8D,IAAA,CAAK5D,GAAG,GACtC;QACA,OAAOG,0BAAA,CAA2BH,GAAA,EAAKI,qBAAqB;MAC9D;MAEA,OAAO8C,qBAAA,CAAsBlD,GAAG;IAClC;EACF;EAMA,MAAM6D,iBAAA,GAAoBZ,cAAA,EAAgBa,QAAA,EAAUC,SAAA;EACpD,MAAMC,qBAAA,GAAwB,CAC5B,8CACA,8CACA,4BACA,yBACF;EACA,MAAMD,SAAA,GAAsB,CAC1B,IAAIF,iBAAA,GACAI,KAAA,CAAMC,OAAA,CAAQL,iBAAiB,IAC7BA,iBAAA,GACA,CAACA,iBAAiB,IACpB,EAAC,GACL,GAAGG,qBAAA,CACL;EAKA,MAAM;IAAEjC;EAAmB,IAAIL,uBAAA,CAAwBjB,WAAA,EAAakB,kBAAkB;EAEtF,IAAIwC,gBAAA;EACJ,IAAIpC,kBAAA,EAAoB;IAGtBoC,gBAAA,GAAmB5E,cAAA,CACjBkB,WAAA,EACA,uDACF;EACF;EAEA,MAAM2D,aAAA,GAAkC;IACtC,GAAGnB,cAAA;IACHa,QAAA,EAAU;MACR,GAAGb,cAAA,EAAgBa,QAAA;MACnBf,WAAA;MACAgB,SAAA;MACAM,UAAA,EAAY,CAAC,MAAM,OAAO,QAAQ,MAAM,OAAO,OAAO,KAAK;MAAA;MAC3DC,cAAA,EAAgBA,CAACC,OAAA,EAASC,UAAA,EAAYvE,QAAA,KAAa;QACjD,MAAMwE,oBAAA,GACJxB,cAAA,EAAgBa,QAAA,EAAUQ,cAAA,IAAkBC,OAAA,CAAQD,cAAA;QAGtD,IAAIxB,cAAA,IAAkBA,cAAA,CAAe4B,MAAA,GAAS,GAAG;UAC/C,IAAItF,UAAA,CAAWuF,OAAA,CAAQH,UAAA,EAAY1B,cAAc,GAAG;YAClD,OAAO2B,oBAAA,CACLF,OAAA,EACA,iCACAtE,QACF;UACF;QACF;QAWA,IAAIuE,UAAA,CAAWI,UAAA,CAAW,gBAAgB,GAAG;UAC3C,MAAMC,eAAA,GAAkB;YACtB,GAAGN,OAAA;YACHO,uBAAA,EAAyBP,OAAA,CAAQO,uBAAA,CAAwBC,MAAA,CACtDC,CAAA,IAAMA,CAAA,KAAM,QACf;UACF;UACA,OAAOP,oBAAA,CAAqBI,eAAA,EAAiBL,UAAA,EAAYvE,QAAQ;QACnE;QAEA,OAAOwE,oBAAA,CAAqBF,OAAA,EAASC,UAAA,EAAYvE,QAAQ;MAC3D;IACF;IACAgF,WAAA,EAAa;MACX,GAAGhC,cAAA,EAAgBgC,WAAA;MACnBC,oBAAA,EAAsB3F,cAAA,CACpBkB,WAAA,EACA,2CACF;IACF;IAAA;IAAA;IAGA,IAAI0D,gBAAA,GAAmB;MAAEgB,eAAA,EAAiBhB;IAAiB,IAAI,CAAC;IAChEiB,QAAA,EAAU,MAAM5F,mBAAA,CAAoBiB,WAAW;EACjD;EAEA,MAAM+E,WAAA,GAAc,MAAMD,UAAA,CACxB;IACEE,GAAA,EAAKhF,WAAA;IACLA,WAAA;IACA,eAAe,CAAC,CAACuB,OAAA,CAAQC,GAAA,CAAIyD,iBAAA;IAC7B,GAAGjD;EACL,GACA;IACE,GAAG2B,aAAA;IACH,IAAI,OAAOxB,sBAAA,KAA2B,aAClCA,sBAAA,CAAuBwB,aAAa,IACpCxB,sBAAA;EACN,CACF;EAEA,OAAO;IACL,GAAG4C,WAAA;IACH,GAAGhD;EACL;AACF","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"getMetroConfigFromViteConfig.js","names":[],"sources":["esm/metro-config/getMetroConfigFromViteConfig.js"],"sourcesContent":["import { spawn } from \"node:child_process\";\nimport { resolve } from \"node:path\";\nimport micromatch from \"micromatch\";\nimport { findUserBabelConfig } from \"@vxrn/compiler\";\nimport { projectImport, projectResolve } from \"../utils/projectImport\";\nimport { getTerminalReporter } from \"../utils/getTerminalReporter\";\nimport { patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName } from \"../utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName\";\nconst WATCHMAN_PROBE_TIMEOUT_MS = 2e3;\nconst watchmanResponsivePromises = /* @__PURE__ */ new Map();\nlet didWarnAboutWatchmanFallback = false;\nconst rootIndexBundleRequestPattern = /^(https?:\\/\\/[^/]+)?\\/index\\.bundle(?=$|[?#])/;\nconst metroWatchExclusions = [\n /[/\\\\]dist[/\\\\](?:static|server)(?:[/\\\\]|$)/,\n /[/\\\\]tests[/\\\\][^/\\\\]+[/\\\\]dist(?:[/\\\\]|$)/,\n /[/\\\\]\\.docker(?:[/\\\\]|$)/,\n /[/\\\\]\\.vite(?:[/\\\\]|$)/,\n /[/\\\\]node_modules[/\\\\]\\.vxrn(?:[/\\\\]|$)/\n];\nfunction getPlatformFromBundleUrl(url) {\n const platform = url.match(/[?&]platform=(ios|android)(?:&|$)/)?.[1];\n return platform === \"android\" ? \"android\" : \"ios\";\n}\nfunction rewriteMainModuleBundleUrl(url, resolveMainModuleName) {\n const resolvedMainModulePath = resolveMainModuleName({\n platform: getPlatformFromBundleUrl(url)\n });\n if (url.includes(\"/.expo/.virtual-metro-entry.bundle?\")) {\n return url.replace(\".expo/.virtual-metro-entry\", resolvedMainModulePath);\n }\n return url.replace(rootIndexBundleRequestPattern, `$1/${resolvedMainModulePath}.bundle`);\n}\nasync function isWatchmanResponsive(projectRoot) {\n let probe = watchmanResponsivePromises.get(projectRoot);\n if (probe) {\n return probe;\n }\n probe = new Promise((resolve2) => {\n let settled = false;\n const finish = (value) => {\n if (settled) return;\n settled = true;\n clearTimeout(timeout);\n resolve2(value);\n };\n const child = spawn(\"watchman\", [\"watch-project\", projectRoot], {\n stdio: \"ignore\"\n });\n const timeout = setTimeout(() => {\n child.kill();\n finish(false);\n }, WATCHMAN_PROBE_TIMEOUT_MS);\n child.once(\"error\", () => {\n finish(false);\n });\n child.once(\"exit\", (code) => {\n finish(code === 0);\n });\n });\n watchmanResponsivePromises.set(projectRoot, probe);\n return probe;\n}\nfunction resolveNativeTransforms(projectRoot, metroPluginOptions) {\n const userBabelConfigPath = projectRoot ? findUserBabelConfig(projectRoot) : null;\n const hasUserBabelConfig = Boolean(userBabelConfigPath);\n const isNativeTransforms = process.env.ONE_METRO_NATIVE_TRANSFORMS === \"0\" ? false : process.env.ONE_METRO_NATIVE_TRANSFORMS === \"1\" ? true : metroPluginOptions.nativeTransforms === false ? false : metroPluginOptions.nativeTransforms === true ? true : hasUserBabelConfig ? false : true;\n if (userBabelConfigPath && isNativeTransforms) {\n console.warn(\n `[vxrn/metro] Ignoring user babel config at ${userBabelConfigPath} because native transforms are explicitly enabled (nativeTransforms: true or ONE_METRO_NATIVE_TRANSFORMS=1). Port its plugins to nativeTransformModules, or set nativeTransforms: false (or ONE_METRO_NATIVE_TRANSFORMS=0) to use the babel transformer.`\n );\n }\n return { isNativeTransforms, userBabelConfigPath };\n}\nasync function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {\n const extraConfig = {};\n const projectRoot = resolve(metroPluginOptions.argv?.projectRoot ?? config.root);\n const { mainModuleName, defaultConfigOverrides, watchman, excludeModules } = metroPluginOptions;\n const useWatchman = watchman ?? await isWatchmanResponsive(projectRoot);\n if (watchman === void 0 && !useWatchman && !didWarnAboutWatchmanFallback) {\n didWarnAboutWatchmanFallback = true;\n console.warn(\n \"[vxrn/metro] Watchman is unavailable or unresponsive; falling back to Node file watching.\"\n );\n }\n const { getDefaultConfig } = await projectImport(projectRoot, \"@expo/metro-config\");\n const _defaultConfig = getDefaultConfig(projectRoot);\n if (mainModuleName) {\n const origRewriteRequestUrl = _defaultConfig.server.rewriteRequestUrl;\n const resolveMainModuleName = await (async () => {\n const ExpoGoManifestHandlerMiddleware = (await projectImport(\n projectRoot,\n \"@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js\"\n )).default.ExpoGoManifestHandlerMiddleware;\n const manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(\n projectRoot,\n {}\n );\n patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName(\n manifestHandlerMiddleware,\n mainModuleName\n );\n return (p) => {\n return manifestHandlerMiddleware.resolveMainModuleName({\n pkg: { main: mainModuleName },\n platform: p.platform\n });\n };\n })();\n extraConfig.getResolveMainModuleName = resolveMainModuleName;\n _defaultConfig.server.rewriteRequestUrl = (url) => {\n if (url.includes(\"/.expo/.virtual-metro-entry.bundle?\") || rootIndexBundleRequestPattern.test(url)) {\n return rewriteMainModuleBundleUrl(url, resolveMainModuleName);\n }\n return origRewriteRequestUrl(url);\n };\n }\n const existingBlockList = _defaultConfig?.resolver?.blockList;\n const blockList = [\n ...existingBlockList ? Array.isArray(existingBlockList) ? existingBlockList : [existingBlockList] : [],\n ...metroWatchExclusions\n ];\n const { isNativeTransforms } = resolveNativeTransforms(projectRoot, metroPluginOptions);\n let nativeWorkerPath;\n if (isNativeTransforms) {\n nativeWorkerPath = projectResolve(\n projectRoot,\n \"@vxrn/vite-plugin-metro/transformer/metroNativeWorker\"\n );\n }\n const defaultConfig = {\n ..._defaultConfig,\n resolver: {\n ..._defaultConfig?.resolver,\n useWatchman,\n blockList,\n sourceExts: [\"js\", \"jsx\", \"json\", \"ts\", \"tsx\", \"mjs\", \"cjs\"],\n // `one` related packages are using `.mjs` extensions. This fixes `.native` files not being resolved correctly when `.mjs` files are present.\n resolveRequest: (context, moduleName, platform) => {\n const origResolveRequestFn = _defaultConfig?.resolver?.resolveRequest || context.resolveRequest;\n if (excludeModules && excludeModules.length > 0) {\n if (micromatch.isMatch(moduleName, excludeModules)) {\n return origResolveRequestFn(\n context,\n \"@vxrn/vite-plugin-metro/empty\",\n platform\n );\n }\n }\n if (moduleName.startsWith(\"@babel/runtime\")) {\n const contextOverride = {\n ...context,\n unstable_conditionNames: context.unstable_conditionNames.filter(\n (c) => c !== \"import\"\n )\n };\n return origResolveRequestFn(contextOverride, moduleName, platform);\n }\n return origResolveRequestFn(context, moduleName, platform);\n }\n },\n transformer: {\n ..._defaultConfig?.transformer,\n babelTransformerPath: projectResolve(\n projectRoot,\n \"@vxrn/vite-plugin-metro/babel-transformer\"\n )\n },\n // transformerPath is a TOP-LEVEL metro config key, not a transformer option.\n // nesting it under transformer silently leaves metro on its default worker.\n ...nativeWorkerPath ? { transformerPath: nativeWorkerPath } : {},\n reporter: await getTerminalReporter(projectRoot)\n };\n const merged = {\n ...defaultConfig,\n ...typeof defaultConfigOverrides === \"function\" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides\n };\n return { defaultConfig: merged, projectRoot, extraConfig };\n}\nasync function getMetroConfigFromViteConfig(config, metroPluginOptions) {\n const extraConfig = {};\n const projectRoot = resolve(metroPluginOptions.argv?.projectRoot ?? config.root);\n const { mainModuleName, argv, defaultConfigOverrides, watchman, excludeModules } = metroPluginOptions;\n const useWatchman = watchman ?? await isWatchmanResponsive(projectRoot);\n if (watchman === void 0 && !useWatchman && !didWarnAboutWatchmanFallback) {\n didWarnAboutWatchmanFallback = true;\n console.warn(\n \"[vxrn/metro] Watchman is unavailable or unresponsive; falling back to Node file watching.\"\n );\n }\n const { loadConfig } = await projectImport(projectRoot, \"metro\");\n const { getDefaultConfig } = await projectImport(projectRoot, \"@expo/metro-config\");\n const _defaultConfig = getDefaultConfig(projectRoot);\n if (mainModuleName) {\n const origRewriteRequestUrl = _defaultConfig.server.rewriteRequestUrl;\n const resolveMainModuleName = await (async () => {\n const ExpoGoManifestHandlerMiddleware = (await projectImport(\n projectRoot,\n \"@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js\"\n )).default.ExpoGoManifestHandlerMiddleware;\n const manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(\n projectRoot,\n {}\n );\n patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName(\n manifestHandlerMiddleware,\n mainModuleName\n );\n return (p) => {\n return manifestHandlerMiddleware.resolveMainModuleName({\n pkg: { main: mainModuleName },\n platform: p.platform\n });\n };\n })();\n extraConfig.getResolveMainModuleName = resolveMainModuleName;\n _defaultConfig.server.rewriteRequestUrl = (url) => {\n if (url.includes(\"/.expo/.virtual-metro-entry.bundle?\") || rootIndexBundleRequestPattern.test(url)) {\n return rewriteMainModuleBundleUrl(url, resolveMainModuleName);\n }\n return origRewriteRequestUrl(url);\n };\n }\n const existingBlockList = _defaultConfig?.resolver?.blockList;\n const blockList = [\n ...existingBlockList ? Array.isArray(existingBlockList) ? existingBlockList : [existingBlockList] : [],\n ...metroWatchExclusions\n ];\n const { isNativeTransforms } = resolveNativeTransforms(projectRoot, metroPluginOptions);\n let nativeWorkerPath;\n if (isNativeTransforms) {\n nativeWorkerPath = projectResolve(\n projectRoot,\n \"@vxrn/vite-plugin-metro/transformer/metroNativeWorker\"\n );\n }\n const defaultConfig = {\n ..._defaultConfig,\n resolver: {\n ..._defaultConfig?.resolver,\n useWatchman,\n blockList,\n sourceExts: [\"js\", \"jsx\", \"json\", \"ts\", \"tsx\", \"mjs\", \"cjs\"],\n // `one` related packages are using `.mjs` extensions. This somehow fixes `.native` files not being resolved correctly when `.mjs` files are present.\n resolveRequest: (context, moduleName, platform) => {\n const origResolveRequestFn = _defaultConfig?.resolver?.resolveRequest || context.resolveRequest;\n if (excludeModules && excludeModules.length > 0) {\n if (micromatch.isMatch(moduleName, excludeModules)) {\n return origResolveRequestFn(\n context,\n \"@vxrn/vite-plugin-metro/empty\",\n platform\n );\n }\n }\n if (moduleName.startsWith(\"@babel/runtime\")) {\n const contextOverride = {\n ...context,\n unstable_conditionNames: context.unstable_conditionNames.filter(\n (c) => c !== \"import\"\n )\n };\n return origResolveRequestFn(contextOverride, moduleName, platform);\n }\n return origResolveRequestFn(context, moduleName, platform);\n }\n },\n transformer: {\n ..._defaultConfig?.transformer,\n babelTransformerPath: projectResolve(\n projectRoot,\n \"@vxrn/vite-plugin-metro/babel-transformer\"\n )\n },\n // transformerPath is a TOP-LEVEL metro config key, not a transformer option.\n // nesting it under transformer silently leaves metro on its default worker.\n ...nativeWorkerPath ? { transformerPath: nativeWorkerPath } : {},\n reporter: await getTerminalReporter(projectRoot)\n };\n const metroConfig = await loadConfig(\n {\n cwd: projectRoot,\n projectRoot,\n \"reset-cache\": !!process.env.METRO_RESET_CACHE,\n ...argv\n },\n {\n ...defaultConfig,\n ...typeof defaultConfigOverrides === \"function\" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides\n }\n );\n return {\n ...metroConfig,\n ...extraConfig\n };\n}\nexport {\n buildMetroConfigInputFromViteConfig,\n getMetroConfigFromViteConfig\n};\n//# sourceMappingURL=getMetroConfigFromViteConfig.js.map\n"],"mappings":"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"}
|