@vxrn/vite-plugin-metro 2.0.0-beta.33.1 → 2.0.0-beta.46.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 +249 -256
- package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.cjs +295 -0
- package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js +260 -266
- 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 +233 -231
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs.map +1 -1
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js +244 -242
- 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 +17 -18
- package/src/metro-config/getMetroConfigFromViteConfig.ts +46 -10
- package/src/transformer/loadBabelConfig.ts +2 -0
- package/src/transformer/metroNativeWorker.test.ts +267 -35
- 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/loadBabelConfig.d.ts.map +1 -1
- package/types/transformer/metroNativeWorker.d.ts.map +1 -1
- package/dist/cjs/transformer/metroNativeWorker.test.cjs +0 -897
- package/dist/cjs/transformer/metroNativeWorker.test.native.js +0 -1010
- 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 -861
- package/dist/esm/transformer/metroNativeWorker.test.mjs.map +0 -1
- package/dist/esm/transformer/metroNativeWorker.test.native.js +0 -972
- 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
|
@@ -0,0 +1,2536 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __create = Object.create;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
8
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
+
var __export = (target, all) => {
|
|
10
|
+
for (var name in all) __defProp(target, name, {
|
|
11
|
+
get: all[name],
|
|
12
|
+
enumerable: true
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
var __copyProps = (to, from, except, desc) => {
|
|
16
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
17
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
18
|
+
get: () => from[key],
|
|
19
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
return to;
|
|
23
|
+
};
|
|
24
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
25
|
+
value: mod,
|
|
26
|
+
enumerable: true
|
|
27
|
+
}) : target, mod));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var metroNativeWorker_exports = {};
|
|
30
|
+
__export(metroNativeWorker_exports, {
|
|
31
|
+
ScopeTracker: () => ScopeTracker,
|
|
32
|
+
applyEnvironmentGuard: () => applyEnvironmentGuard,
|
|
33
|
+
applyInlineEnvVars: () => applyInlineEnvVars,
|
|
34
|
+
applyModuleResolverAliases: () => applyModuleResolverAliases,
|
|
35
|
+
applyOneRouterMetro: () => applyOneRouterMetro,
|
|
36
|
+
assertNoUnportedBabelPlugins: () => assertNoUnportedBabelPlugins,
|
|
37
|
+
collectBlockBindings: () => collectBlockBindings,
|
|
38
|
+
collectHoistedBindings: () => collectHoistedBindings,
|
|
39
|
+
collectPatternNames: () => collectPatternNames,
|
|
40
|
+
convertSourceMapToMetroRawMappings: () => convertSourceMapToMetroRawMappings,
|
|
41
|
+
countLinesAndTerminateMap: () => countLinesAndTerminateMap,
|
|
42
|
+
default: () => metroNativeWorker_default,
|
|
43
|
+
extractDependencies: () => extractDependencies,
|
|
44
|
+
getCacheKey: () => getCacheKey,
|
|
45
|
+
getDependencyKey: () => getDependencyKey,
|
|
46
|
+
getImportMetaEnv: () => getImportMetaEnv,
|
|
47
|
+
getModuleResolverAliases: () => getModuleResolverAliases,
|
|
48
|
+
getOneRouterMetroOptions: () => getOneRouterMetroOptions,
|
|
49
|
+
getRemoveServerCodeRouterRoot: () => getRemoveServerCodeRouterRoot,
|
|
50
|
+
resolveAliasSpecifier: () => resolveAliasSpecifier,
|
|
51
|
+
rewriteDependencyCalls: () => rewriteDependencyCalls,
|
|
52
|
+
transform: () => transform,
|
|
53
|
+
wrapJson: () => wrapJson,
|
|
54
|
+
wrapModule: () => wrapModule
|
|
55
|
+
});
|
|
56
|
+
module.exports = __toCommonJS(metroNativeWorker_exports);
|
|
57
|
+
var import_crypto = __toESM(require("crypto"), 1);
|
|
58
|
+
var import_module = require("module");
|
|
59
|
+
var import_fs = __toESM(require("fs"), 1);
|
|
60
|
+
var import_path = __toESM(require("path"), 1);
|
|
61
|
+
var import_oxc_parser = require("oxc-parser");
|
|
62
|
+
var import_magic_string = __toESM(require("magic-string"), 1);
|
|
63
|
+
var import_remapping = __toESM(require("@jridgewell/remapping"), 1);
|
|
64
|
+
var import_trace_mapping = require("@jridgewell/trace-mapping");
|
|
65
|
+
var import_compiler = require("@vxrn/compiler");
|
|
66
|
+
var import_platformEnv = require("../env/platformEnv.native.js");
|
|
67
|
+
function _class_call_check(instance, Constructor) {
|
|
68
|
+
if (!(instance instanceof Constructor)) {
|
|
69
|
+
throw new TypeError("Cannot call a class as a function");
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
function _defineProperties(target, props) {
|
|
73
|
+
for (var i = 0; i < props.length; i++) {
|
|
74
|
+
var descriptor = props[i];
|
|
75
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
76
|
+
descriptor.configurable = true;
|
|
77
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
78
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
82
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
83
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
84
|
+
return Constructor;
|
|
85
|
+
}
|
|
86
|
+
function _define_property(obj, key, value) {
|
|
87
|
+
if (key in obj) {
|
|
88
|
+
Object.defineProperty(obj, key, {
|
|
89
|
+
value,
|
|
90
|
+
enumerable: true,
|
|
91
|
+
configurable: true,
|
|
92
|
+
writable: true
|
|
93
|
+
});
|
|
94
|
+
} else {
|
|
95
|
+
obj[key] = value;
|
|
96
|
+
}
|
|
97
|
+
return obj;
|
|
98
|
+
}
|
|
99
|
+
function collectModuleLiteralBindings(program) {
|
|
100
|
+
var reassigned = /* @__PURE__ */ new Set();
|
|
101
|
+
var declCount = /* @__PURE__ */ new Map();
|
|
102
|
+
(function findReassignments(node) {
|
|
103
|
+
var _node_left, _node_argument;
|
|
104
|
+
if (!node || typeof node !== "object") return;
|
|
105
|
+
if (Array.isArray(node)) {
|
|
106
|
+
var _iteratorNormalCompletion4 = true, _didIteratorError4 = false, _iteratorError4 = void 0;
|
|
107
|
+
try {
|
|
108
|
+
for (var _iterator4 = node[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
|
|
109
|
+
var child = _step4.value;
|
|
110
|
+
findReassignments(child);
|
|
111
|
+
}
|
|
112
|
+
} catch (err) {
|
|
113
|
+
_didIteratorError4 = true;
|
|
114
|
+
_iteratorError4 = err;
|
|
115
|
+
} finally {
|
|
116
|
+
try {
|
|
117
|
+
if (!_iteratorNormalCompletion4 && _iterator4.return != null) {
|
|
118
|
+
_iterator4.return();
|
|
119
|
+
}
|
|
120
|
+
} finally {
|
|
121
|
+
if (_didIteratorError4) {
|
|
122
|
+
throw _iteratorError4;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
if (node.type === "AssignmentExpression" && ((_node_left = node.left) === null || _node_left === void 0 ? void 0 : _node_left.type) === "Identifier") {
|
|
129
|
+
reassigned.add(node.left.name);
|
|
130
|
+
} else if (node.type === "UpdateExpression" && ((_node_argument = node.argument) === null || _node_argument === void 0 ? void 0 : _node_argument.type) === "Identifier") {
|
|
131
|
+
reassigned.add(node.argument.name);
|
|
132
|
+
}
|
|
133
|
+
for (var key in node) {
|
|
134
|
+
if (key === "type" || key === "start" || key === "end") continue;
|
|
135
|
+
findReassignments(node[key]);
|
|
136
|
+
}
|
|
137
|
+
})(program);
|
|
138
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
139
|
+
try {
|
|
140
|
+
for (var _iterator = (program.body || [])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
141
|
+
var stmt = _step.value;
|
|
142
|
+
if (stmt.type !== "VariableDeclaration") continue;
|
|
143
|
+
var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
|
|
144
|
+
try {
|
|
145
|
+
for (var _iterator1 = (stmt.declarations || [])[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
|
|
146
|
+
var decl = _step1.value;
|
|
147
|
+
var _decl_id;
|
|
148
|
+
if (((_decl_id = decl.id) === null || _decl_id === void 0 ? void 0 : _decl_id.type) === "Identifier") {
|
|
149
|
+
declCount.set(decl.id.name, (declCount.get(decl.id.name) || 0) + 1);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
} catch (err) {
|
|
153
|
+
_didIteratorError1 = true;
|
|
154
|
+
_iteratorError1 = err;
|
|
155
|
+
} finally {
|
|
156
|
+
try {
|
|
157
|
+
if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
|
|
158
|
+
_iterator1.return();
|
|
159
|
+
}
|
|
160
|
+
} finally {
|
|
161
|
+
if (_didIteratorError1) {
|
|
162
|
+
throw _iteratorError1;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
} catch (err) {
|
|
168
|
+
_didIteratorError = true;
|
|
169
|
+
_iteratorError = err;
|
|
170
|
+
} finally {
|
|
171
|
+
try {
|
|
172
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
173
|
+
_iterator.return();
|
|
174
|
+
}
|
|
175
|
+
} finally {
|
|
176
|
+
if (_didIteratorError) {
|
|
177
|
+
throw _iteratorError;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
var bindings = /* @__PURE__ */ new Map();
|
|
182
|
+
var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;
|
|
183
|
+
try {
|
|
184
|
+
for (var _iterator2 = (program.body || [])[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
|
|
185
|
+
var stmt1 = _step2.value;
|
|
186
|
+
if (stmt1.type !== "VariableDeclaration") continue;
|
|
187
|
+
var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;
|
|
188
|
+
try {
|
|
189
|
+
for (var _iterator3 = (stmt1.declarations || [])[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
|
|
190
|
+
var decl1 = _step3.value;
|
|
191
|
+
var _decl_id1, _decl_init;
|
|
192
|
+
if (((_decl_id1 = decl1.id) === null || _decl_id1 === void 0 ? void 0 : _decl_id1.type) === "Identifier" && ((_decl_init = decl1.init) === null || _decl_init === void 0 ? void 0 : _decl_init.type) === "Literal" && !reassigned.has(decl1.id.name) && declCount.get(decl1.id.name) === 1) {
|
|
193
|
+
bindings.set(decl1.id.name, decl1.init);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
} catch (err) {
|
|
197
|
+
_didIteratorError3 = true;
|
|
198
|
+
_iteratorError3 = err;
|
|
199
|
+
} finally {
|
|
200
|
+
try {
|
|
201
|
+
if (!_iteratorNormalCompletion3 && _iterator3.return != null) {
|
|
202
|
+
_iterator3.return();
|
|
203
|
+
}
|
|
204
|
+
} finally {
|
|
205
|
+
if (_didIteratorError3) {
|
|
206
|
+
throw _iteratorError3;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
} catch (err) {
|
|
212
|
+
_didIteratorError2 = true;
|
|
213
|
+
_iteratorError2 = err;
|
|
214
|
+
} finally {
|
|
215
|
+
try {
|
|
216
|
+
if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
|
|
217
|
+
_iterator2.return();
|
|
218
|
+
}
|
|
219
|
+
} finally {
|
|
220
|
+
if (_didIteratorError2) {
|
|
221
|
+
throw _iteratorError2;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
return bindings;
|
|
226
|
+
}
|
|
227
|
+
var WORKER_CACHE_KEY_VERSION = "5";
|
|
228
|
+
function langForFilename(filename) {
|
|
229
|
+
if (filename.endsWith(".tsx")) return "tsx";
|
|
230
|
+
if (filename.endsWith(".ts")) return "ts";
|
|
231
|
+
return "jsx";
|
|
232
|
+
}
|
|
233
|
+
function getOneRouterMetroOptions(options) {
|
|
234
|
+
var _options_customTransformOptions_vite_babelConfig, _options_customTransformOptions_vite, _options_customTransformOptions;
|
|
235
|
+
var plugins = (_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : (_options_customTransformOptions_vite = _options_customTransformOptions.vite) === null || _options_customTransformOptions_vite === void 0 ? void 0 : (_options_customTransformOptions_vite_babelConfig = _options_customTransformOptions_vite.babelConfig) === null || _options_customTransformOptions_vite_babelConfig === void 0 ? void 0 : _options_customTransformOptions_vite_babelConfig.plugins;
|
|
236
|
+
if (!Array.isArray(plugins)) return void 0;
|
|
237
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
238
|
+
try {
|
|
239
|
+
for (var _iterator = plugins[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
240
|
+
var plugin = _step.value;
|
|
241
|
+
if (Array.isArray(plugin) && typeof plugin[0] === "string" && plugin[0].includes("one-router-metro")) {
|
|
242
|
+
return plugin[1];
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
} catch (err) {
|
|
246
|
+
_didIteratorError = true;
|
|
247
|
+
_iteratorError = err;
|
|
248
|
+
} finally {
|
|
249
|
+
try {
|
|
250
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
251
|
+
_iterator.return();
|
|
252
|
+
}
|
|
253
|
+
} finally {
|
|
254
|
+
if (_didIteratorError) {
|
|
255
|
+
throw _iteratorError;
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
return void 0;
|
|
260
|
+
}
|
|
261
|
+
function getRemoveServerCodeRouterRoot(options) {
|
|
262
|
+
var _options_customTransformOptions_vite_babelConfig, _options_customTransformOptions_vite, _options_customTransformOptions;
|
|
263
|
+
var plugins = (_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : (_options_customTransformOptions_vite = _options_customTransformOptions.vite) === null || _options_customTransformOptions_vite === void 0 ? void 0 : (_options_customTransformOptions_vite_babelConfig = _options_customTransformOptions_vite.babelConfig) === null || _options_customTransformOptions_vite_babelConfig === void 0 ? void 0 : _options_customTransformOptions_vite_babelConfig.plugins;
|
|
264
|
+
if (!Array.isArray(plugins)) return void 0;
|
|
265
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
266
|
+
try {
|
|
267
|
+
for (var _iterator = plugins[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
268
|
+
var plugin = _step.value;
|
|
269
|
+
if (Array.isArray(plugin) && typeof plugin[0] === "string" && plugin[0].includes("remove-server-code")) {
|
|
270
|
+
var _ref;
|
|
271
|
+
var _plugin_;
|
|
272
|
+
return (_ref = (_plugin_ = plugin[1]) === null || _plugin_ === void 0 ? void 0 : _plugin_.routerRoot) !== null && _ref !== void 0 ? _ref : "app";
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
} catch (err) {
|
|
276
|
+
_didIteratorError = true;
|
|
277
|
+
_iteratorError = err;
|
|
278
|
+
} finally {
|
|
279
|
+
try {
|
|
280
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
281
|
+
_iterator.return();
|
|
282
|
+
}
|
|
283
|
+
} finally {
|
|
284
|
+
if (_didIteratorError) {
|
|
285
|
+
throw _iteratorError;
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
return void 0;
|
|
290
|
+
}
|
|
291
|
+
var importMetaEnvCache = /* @__PURE__ */ new WeakMap();
|
|
292
|
+
function getImportMetaEnv(options) {
|
|
293
|
+
var _options_platform;
|
|
294
|
+
var _options_customTransformOptions_vite_babelConfig, _options_customTransformOptions_vite, _options_customTransformOptions;
|
|
295
|
+
var plugins = (_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : (_options_customTransformOptions_vite = _options_customTransformOptions.vite) === null || _options_customTransformOptions_vite === void 0 ? void 0 : (_options_customTransformOptions_vite_babelConfig = _options_customTransformOptions_vite.babelConfig) === null || _options_customTransformOptions_vite_babelConfig === void 0 ? void 0 : _options_customTransformOptions_vite_babelConfig.plugins;
|
|
296
|
+
var platform = (_options_platform = options.platform) !== null && _options_platform !== void 0 ? _options_platform : "";
|
|
297
|
+
var byPlatform = Array.isArray(plugins) ? importMetaEnvCache.get(plugins) : void 0;
|
|
298
|
+
var cached = byPlatform === null || byPlatform === void 0 ? void 0 : byPlatform.get(platform);
|
|
299
|
+
if (cached) return cached;
|
|
300
|
+
var env = {};
|
|
301
|
+
if (Array.isArray(plugins)) {
|
|
302
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
303
|
+
try {
|
|
304
|
+
for (var _iterator = plugins[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
305
|
+
var plugin = _step.value;
|
|
306
|
+
if (Array.isArray(plugin) && typeof plugin[0] === "string" && plugin[0].includes("import-meta-env-plugin")) {
|
|
307
|
+
var _plugin_;
|
|
308
|
+
var found = (_plugin_ = plugin[1]) === null || _plugin_ === void 0 ? void 0 : _plugin_.env;
|
|
309
|
+
if (found && typeof found === "object") env = found;
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
} catch (err) {
|
|
313
|
+
_didIteratorError = true;
|
|
314
|
+
_iteratorError = err;
|
|
315
|
+
} finally {
|
|
316
|
+
try {
|
|
317
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
318
|
+
_iterator.return();
|
|
319
|
+
}
|
|
320
|
+
} finally {
|
|
321
|
+
if (_didIteratorError) {
|
|
322
|
+
throw _iteratorError;
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
var merged = {
|
|
328
|
+
...env,
|
|
329
|
+
...(0, import_platformEnv.getPlatformEnv)((0, import_platformEnv.metroPlatformToViteEnvironment)(options.platform))
|
|
330
|
+
};
|
|
331
|
+
if (Array.isArray(plugins)) {
|
|
332
|
+
if (!byPlatform) {
|
|
333
|
+
byPlatform = /* @__PURE__ */ new Map();
|
|
334
|
+
importMetaEnvCache.set(plugins, byPlatform);
|
|
335
|
+
}
|
|
336
|
+
byPlatform.set(platform, merged);
|
|
337
|
+
}
|
|
338
|
+
return merged;
|
|
339
|
+
}
|
|
340
|
+
var PORTED_BABEL_PLUGINS = [
|
|
341
|
+
"import-meta-env-plugin",
|
|
342
|
+
"one-router-metro",
|
|
343
|
+
"remove-server-code",
|
|
344
|
+
"module-resolver",
|
|
345
|
+
"environment-guard",
|
|
346
|
+
"inline-one-server-url",
|
|
347
|
+
"react-native-worklets/plugin",
|
|
348
|
+
"react-native-reanimated/plugin",
|
|
349
|
+
"babel-plugin-react-compiler"
|
|
350
|
+
];
|
|
351
|
+
var unportedPluginCache = /* @__PURE__ */ new WeakMap();
|
|
352
|
+
var loadedNativeTransforms = /* @__PURE__ */ new Map();
|
|
353
|
+
function getNativeTransforms(options, projectRoot) {
|
|
354
|
+
var _options_customTransformOptions_vite, _options_customTransformOptions;
|
|
355
|
+
var ids = (_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : (_options_customTransformOptions_vite = _options_customTransformOptions.vite) === null || _options_customTransformOptions_vite === void 0 ? void 0 : _options_customTransformOptions_vite.nativeTransformModules;
|
|
356
|
+
if (!Array.isArray(ids) || !ids.length) return [];
|
|
357
|
+
var req = (0, import_module.createRequire)(import_path.default.join(projectRoot, "package.json"));
|
|
358
|
+
return ids.map(function(id) {
|
|
359
|
+
var _ref;
|
|
360
|
+
var cached = loadedNativeTransforms.get(id);
|
|
361
|
+
if (cached) return cached;
|
|
362
|
+
var mod;
|
|
363
|
+
try {
|
|
364
|
+
mod = req(id);
|
|
365
|
+
} catch (err) {
|
|
366
|
+
throw new Error(`[vxrn/metro] Could not load the native transform "${id}" from ${projectRoot}: ${err.message}`);
|
|
367
|
+
}
|
|
368
|
+
var fn = (_ref = mod === null || mod === void 0 ? void 0 : mod.default) !== null && _ref !== void 0 ? _ref : mod;
|
|
369
|
+
if (typeof fn !== "function") {
|
|
370
|
+
throw new Error(`[vxrn/metro] The native transform "${id}" must default-export a function (code, ctx) => string.`);
|
|
371
|
+
}
|
|
372
|
+
loadedNativeTransforms.set(id, fn);
|
|
373
|
+
return fn;
|
|
374
|
+
});
|
|
375
|
+
}
|
|
376
|
+
function isReactCompilerCandidate(filename) {
|
|
377
|
+
if (!/\.tsx?$/.test(filename)) return false;
|
|
378
|
+
if (filename.includes("node_modules")) return false;
|
|
379
|
+
if (filename.includes("+api.")) return false;
|
|
380
|
+
return true;
|
|
381
|
+
}
|
|
382
|
+
function hasBabelPlugin(options, id) {
|
|
383
|
+
var _options_customTransformOptions_vite_babelConfig, _options_customTransformOptions_vite, _options_customTransformOptions;
|
|
384
|
+
var plugins = (_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : (_options_customTransformOptions_vite = _options_customTransformOptions.vite) === null || _options_customTransformOptions_vite === void 0 ? void 0 : (_options_customTransformOptions_vite_babelConfig = _options_customTransformOptions_vite.babelConfig) === null || _options_customTransformOptions_vite_babelConfig === void 0 ? void 0 : _options_customTransformOptions_vite_babelConfig.plugins;
|
|
385
|
+
if (!Array.isArray(plugins)) return false;
|
|
386
|
+
return plugins.some(function(plugin) {
|
|
387
|
+
return (Array.isArray(plugin) ? plugin[0] : plugin) === id;
|
|
388
|
+
});
|
|
389
|
+
}
|
|
390
|
+
function assertNoUnportedBabelPlugins(options) {
|
|
391
|
+
var _options_customTransformOptions_vite_babelConfig, _options_customTransformOptions_vite, _options_customTransformOptions;
|
|
392
|
+
var plugins = (_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : (_options_customTransformOptions_vite = _options_customTransformOptions.vite) === null || _options_customTransformOptions_vite === void 0 ? void 0 : (_options_customTransformOptions_vite_babelConfig = _options_customTransformOptions_vite.babelConfig) === null || _options_customTransformOptions_vite_babelConfig === void 0 ? void 0 : _options_customTransformOptions_vite_babelConfig.plugins;
|
|
393
|
+
if (!Array.isArray(plugins)) return;
|
|
394
|
+
var unported = unportedPluginCache.get(plugins);
|
|
395
|
+
if (!unported) {
|
|
396
|
+
unported = [];
|
|
397
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
398
|
+
try {
|
|
399
|
+
var _loop = function() {
|
|
400
|
+
var plugin = _step.value;
|
|
401
|
+
var id = Array.isArray(plugin) ? plugin[0] : plugin;
|
|
402
|
+
if (typeof id !== "string") {
|
|
403
|
+
unported.push("(a function or object plugin, which cannot be ported)");
|
|
404
|
+
return "continue";
|
|
405
|
+
}
|
|
406
|
+
if (!PORTED_BABEL_PLUGINS.some(function(ported) {
|
|
407
|
+
return id.includes(ported);
|
|
408
|
+
})) {
|
|
409
|
+
unported.push(id);
|
|
410
|
+
}
|
|
411
|
+
};
|
|
412
|
+
for (var _iterator = plugins[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();
|
|
413
|
+
} catch (err) {
|
|
414
|
+
_didIteratorError = true;
|
|
415
|
+
_iteratorError = err;
|
|
416
|
+
} finally {
|
|
417
|
+
try {
|
|
418
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
419
|
+
_iterator.return();
|
|
420
|
+
}
|
|
421
|
+
} finally {
|
|
422
|
+
if (_didIteratorError) {
|
|
423
|
+
throw _iteratorError;
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
unportedPluginCache.set(plugins, unported);
|
|
428
|
+
}
|
|
429
|
+
if (unported.length) {
|
|
430
|
+
throw new Error(`[vxrn/metro] the native transform path runs no babel, so these babel plugins would be silently ignored:
|
|
431
|
+
` + unported.map(function(id) {
|
|
432
|
+
return ` - ${id}`;
|
|
433
|
+
}).join("\n") + `
|
|
434
|
+
|
|
435
|
+
Port each one to a native transform and list it in bundlerOptions.nativeTransformModules, remove it from bundlerOptions.babelConfigOverrides, or set bundlerOptions.nativeTransforms: false (or ONE_METRO_NATIVE_TRANSFORMS=0) to go back to the babel transformer.`);
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
function getModuleResolverAliases(options) {
|
|
439
|
+
var _options_customTransformOptions_vite_babelConfig, _options_customTransformOptions_vite, _options_customTransformOptions;
|
|
440
|
+
var plugins = (_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : (_options_customTransformOptions_vite = _options_customTransformOptions.vite) === null || _options_customTransformOptions_vite === void 0 ? void 0 : (_options_customTransformOptions_vite_babelConfig = _options_customTransformOptions_vite.babelConfig) === null || _options_customTransformOptions_vite_babelConfig === void 0 ? void 0 : _options_customTransformOptions_vite_babelConfig.plugins;
|
|
441
|
+
if (!Array.isArray(plugins)) return void 0;
|
|
442
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
443
|
+
try {
|
|
444
|
+
for (var _iterator = plugins[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
445
|
+
var plugin = _step.value;
|
|
446
|
+
if (Array.isArray(plugin) && typeof plugin[0] === "string" && plugin[0].includes("module-resolver")) {
|
|
447
|
+
var _plugin_;
|
|
448
|
+
var alias = (_plugin_ = plugin[1]) === null || _plugin_ === void 0 ? void 0 : _plugin_.alias;
|
|
449
|
+
if (alias && typeof alias === "object") return alias;
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
} catch (err) {
|
|
453
|
+
_didIteratorError = true;
|
|
454
|
+
_iteratorError = err;
|
|
455
|
+
} finally {
|
|
456
|
+
try {
|
|
457
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
458
|
+
_iterator.return();
|
|
459
|
+
}
|
|
460
|
+
} finally {
|
|
461
|
+
if (_didIteratorError) {
|
|
462
|
+
throw _iteratorError;
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
return void 0;
|
|
467
|
+
}
|
|
468
|
+
function resolveAliasSpecifier(specifier, filename, projectRoot, aliases) {
|
|
469
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
470
|
+
try {
|
|
471
|
+
for (var _iterator = Object.entries(aliases)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
472
|
+
var [rawKey, value] = _step.value;
|
|
473
|
+
var target = void 0;
|
|
474
|
+
if (rawKey.endsWith("$")) {
|
|
475
|
+
if (specifier === rawKey.slice(0, -1)) target = value;
|
|
476
|
+
} else if (specifier === rawKey || specifier.startsWith(`${rawKey}/`)) {
|
|
477
|
+
target = value + specifier.slice(rawKey.length);
|
|
478
|
+
}
|
|
479
|
+
if (target === void 0) continue;
|
|
480
|
+
var abs = import_path.default.resolve(projectRoot, target);
|
|
481
|
+
var rel = import_path.default.relative(import_path.default.dirname(filename), abs).split(import_path.default.sep).join("/");
|
|
482
|
+
if (!rel.startsWith(".")) rel = `./${rel}`;
|
|
483
|
+
return rel;
|
|
484
|
+
}
|
|
485
|
+
} catch (err) {
|
|
486
|
+
_didIteratorError = true;
|
|
487
|
+
_iteratorError = err;
|
|
488
|
+
} finally {
|
|
489
|
+
try {
|
|
490
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
491
|
+
_iterator.return();
|
|
492
|
+
}
|
|
493
|
+
} finally {
|
|
494
|
+
if (_didIteratorError) {
|
|
495
|
+
throw _iteratorError;
|
|
496
|
+
}
|
|
497
|
+
}
|
|
498
|
+
}
|
|
499
|
+
return void 0;
|
|
500
|
+
}
|
|
501
|
+
function applyModuleResolverAliases(code, filename, projectRoot, aliases) {
|
|
502
|
+
var _parsed_errors;
|
|
503
|
+
var parsed = (0, import_oxc_parser.parseSync)(filename, code, { lang: langForFilename(filename) });
|
|
504
|
+
if (parsed === null || parsed === void 0 ? void 0 : (_parsed_errors = parsed.errors) === null || _parsed_errors === void 0 ? void 0 : _parsed_errors.length) {
|
|
505
|
+
throw new Error(`[vxrn/metro] Failed to parse ${filename} for alias resolution: ${parsed.errors[0].message}`);
|
|
506
|
+
}
|
|
507
|
+
if (!(parsed === null || parsed === void 0 ? void 0 : parsed.program)) return code;
|
|
508
|
+
var ms = new import_magic_string.default(code);
|
|
509
|
+
var changed = false;
|
|
510
|
+
function rewrite(sourceNode) {
|
|
511
|
+
if ((sourceNode === null || sourceNode === void 0 ? void 0 : sourceNode.type) !== "Literal" || typeof sourceNode.value !== "string") return;
|
|
512
|
+
var resolved = resolveAliasSpecifier(sourceNode.value, filename, projectRoot, aliases);
|
|
513
|
+
if (resolved === void 0) return;
|
|
514
|
+
ms.overwrite(sourceNode.start, sourceNode.end, JSON.stringify(resolved));
|
|
515
|
+
changed = true;
|
|
516
|
+
}
|
|
517
|
+
function walk(node) {
|
|
518
|
+
var _node_callee;
|
|
519
|
+
if (!node || typeof node !== "object") return;
|
|
520
|
+
if (node.type === "ImportDeclaration" || node.type === "ExportNamedDeclaration" || node.type === "ExportAllDeclaration" || node.type === "ImportExpression") {
|
|
521
|
+
rewrite(node.source);
|
|
522
|
+
} else if (node.type === "CallExpression" && ((_node_callee = node.callee) === null || _node_callee === void 0 ? void 0 : _node_callee.type) === "Identifier" && node.callee.name === "require") {
|
|
523
|
+
var _node_arguments;
|
|
524
|
+
rewrite((_node_arguments = node.arguments) === null || _node_arguments === void 0 ? void 0 : _node_arguments[0]);
|
|
525
|
+
}
|
|
526
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
527
|
+
try {
|
|
528
|
+
for (var _iterator = Object.keys(node)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
529
|
+
var k = _step.value;
|
|
530
|
+
if (k === "start" || k === "end" || k === "loc" || k === "range" || k === "parent" || k === "comments") continue;
|
|
531
|
+
var child = node[k];
|
|
532
|
+
if (Array.isArray(child)) {
|
|
533
|
+
var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
|
|
534
|
+
try {
|
|
535
|
+
for (var _iterator1 = child[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
|
|
536
|
+
var item = _step1.value;
|
|
537
|
+
walk(item);
|
|
538
|
+
}
|
|
539
|
+
} catch (err) {
|
|
540
|
+
_didIteratorError1 = true;
|
|
541
|
+
_iteratorError1 = err;
|
|
542
|
+
} finally {
|
|
543
|
+
try {
|
|
544
|
+
if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
|
|
545
|
+
_iterator1.return();
|
|
546
|
+
}
|
|
547
|
+
} finally {
|
|
548
|
+
if (_didIteratorError1) {
|
|
549
|
+
throw _iteratorError1;
|
|
550
|
+
}
|
|
551
|
+
}
|
|
552
|
+
}
|
|
553
|
+
} else if (child && typeof child === "object") {
|
|
554
|
+
walk(child);
|
|
555
|
+
}
|
|
556
|
+
}
|
|
557
|
+
} catch (err) {
|
|
558
|
+
_didIteratorError = true;
|
|
559
|
+
_iteratorError = err;
|
|
560
|
+
} finally {
|
|
561
|
+
try {
|
|
562
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
563
|
+
_iterator.return();
|
|
564
|
+
}
|
|
565
|
+
} finally {
|
|
566
|
+
if (_didIteratorError) {
|
|
567
|
+
throw _iteratorError;
|
|
568
|
+
}
|
|
569
|
+
}
|
|
570
|
+
}
|
|
571
|
+
}
|
|
572
|
+
walk(parsed.program);
|
|
573
|
+
return changed ? ms.toString() : code;
|
|
574
|
+
}
|
|
575
|
+
function applyInlineEnvVars(code, filename, isProduction) {
|
|
576
|
+
var env = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {};
|
|
577
|
+
var _parsed_errors;
|
|
578
|
+
var parsed = (0, import_oxc_parser.parseSync)(filename, code, { lang: langForFilename(filename) });
|
|
579
|
+
if (parsed === null || parsed === void 0 ? void 0 : (_parsed_errors = parsed.errors) === null || _parsed_errors === void 0 ? void 0 : _parsed_errors.length) {
|
|
580
|
+
throw new Error(`[vxrn/metro] Failed to parse ${filename} for env inlining: ${parsed.errors[0].message}`);
|
|
581
|
+
}
|
|
582
|
+
if (!(parsed === null || parsed === void 0 ? void 0 : parsed.program)) return code;
|
|
583
|
+
var ms = new import_magic_string.default(code);
|
|
584
|
+
var needsEnvImport = false;
|
|
585
|
+
var edits = [];
|
|
586
|
+
var known = /* @__PURE__ */ new Map();
|
|
587
|
+
function replace(node, value) {
|
|
588
|
+
var text = value === void 0 ? "undefined" : JSON.stringify(value);
|
|
589
|
+
edits.push({
|
|
590
|
+
start: node.start,
|
|
591
|
+
end: node.end,
|
|
592
|
+
text
|
|
593
|
+
});
|
|
594
|
+
known.set(node, value);
|
|
595
|
+
}
|
|
596
|
+
function keyOf(prop, computed) {
|
|
597
|
+
if (!computed && (prop === null || prop === void 0 ? void 0 : prop.type) === "Identifier") return prop.name;
|
|
598
|
+
if ((prop === null || prop === void 0 ? void 0 : prop.type) === "Literal" && typeof prop.value === "string") return prop.value;
|
|
599
|
+
return void 0;
|
|
600
|
+
}
|
|
601
|
+
function isImportMeta(node) {
|
|
602
|
+
var _node_meta, _node_property;
|
|
603
|
+
return (node === null || node === void 0 ? void 0 : node.type) === "MetaProperty" && ((_node_meta = node.meta) === null || _node_meta === void 0 ? void 0 : _node_meta.name) === "import" && ((_node_property = node.property) === null || _node_property === void 0 ? void 0 : _node_property.name) === "meta";
|
|
604
|
+
}
|
|
605
|
+
function walk(node, parent) {
|
|
606
|
+
if (!node || typeof node !== "object") return;
|
|
607
|
+
if (node.type === "MemberExpression" || node.type === "OptionalMemberExpression") {
|
|
608
|
+
var _obj_object;
|
|
609
|
+
var obj = node.object;
|
|
610
|
+
var isMember = (obj === null || obj === void 0 ? void 0 : obj.type) === "MemberExpression" || (obj === null || obj === void 0 ? void 0 : obj.type) === "OptionalMemberExpression";
|
|
611
|
+
var isProcessEnv = isMember && ((_obj_object = obj.object) === null || _obj_object === void 0 ? void 0 : _obj_object.type) === "Identifier" && obj.object.name === "process" && keyOf(obj.property, obj.computed) === "env";
|
|
612
|
+
var isAssignmentTarget = (parent === null || parent === void 0 ? void 0 : parent.type) === "AssignmentExpression" && parent.left === node;
|
|
613
|
+
var key = keyOf(node.property, node.computed);
|
|
614
|
+
if (isProcessEnv && !isAssignmentTarget && key === "ONE_SERVER_URL") {
|
|
615
|
+
replace(node, process.env.ONE_SERVER_URL || "");
|
|
616
|
+
return;
|
|
617
|
+
}
|
|
618
|
+
if (isProcessEnv && !isAssignmentTarget && (key === null || key === void 0 ? void 0 : key.startsWith("EXPO_PUBLIC_"))) {
|
|
619
|
+
if (isProduction) {
|
|
620
|
+
var _process_env_key;
|
|
621
|
+
replace(node, (_process_env_key = process.env[key]) !== null && _process_env_key !== void 0 ? _process_env_key : void 0);
|
|
622
|
+
} else {
|
|
623
|
+
edits.push({
|
|
624
|
+
start: node.start,
|
|
625
|
+
end: node.end,
|
|
626
|
+
text: `_$$_EXPO_ENV.${key}`
|
|
627
|
+
});
|
|
628
|
+
needsEnvImport = true;
|
|
629
|
+
}
|
|
630
|
+
return;
|
|
631
|
+
}
|
|
632
|
+
if (!isAssignmentTarget && isMember && isImportMeta(obj.object) && keyOf(obj.property, obj.computed) === "env" && key !== void 0) {
|
|
633
|
+
replace(node, env[key]);
|
|
634
|
+
return;
|
|
635
|
+
}
|
|
636
|
+
if (!isAssignmentTarget && isImportMeta(obj) && key === "env") {
|
|
637
|
+
edits.push({
|
|
638
|
+
start: node.start,
|
|
639
|
+
end: node.end,
|
|
640
|
+
text: JSON.stringify(env)
|
|
641
|
+
});
|
|
642
|
+
return;
|
|
643
|
+
}
|
|
644
|
+
if (isProcessEnv && !isAssignmentTarget && key !== void 0 && key in env) {
|
|
645
|
+
replace(node, env[key]);
|
|
646
|
+
return;
|
|
647
|
+
}
|
|
648
|
+
}
|
|
649
|
+
var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;
|
|
650
|
+
try {
|
|
651
|
+
for (var _iterator2 = Object.keys(node)[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
|
|
652
|
+
var k = _step2.value;
|
|
653
|
+
if (k === "start" || k === "end" || k === "loc" || k === "range" || k === "parent" || k === "comments") continue;
|
|
654
|
+
var child = node[k];
|
|
655
|
+
if (Array.isArray(child)) {
|
|
656
|
+
var _iteratorNormalCompletion12 = true, _didIteratorError12 = false, _iteratorError12 = void 0;
|
|
657
|
+
try {
|
|
658
|
+
for (var _iterator12 = child[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {
|
|
659
|
+
var item = _step12.value;
|
|
660
|
+
walk(item, node);
|
|
661
|
+
}
|
|
662
|
+
} catch (err) {
|
|
663
|
+
_didIteratorError12 = true;
|
|
664
|
+
_iteratorError12 = err;
|
|
665
|
+
} finally {
|
|
666
|
+
try {
|
|
667
|
+
if (!_iteratorNormalCompletion12 && _iterator12.return != null) {
|
|
668
|
+
_iterator12.return();
|
|
669
|
+
}
|
|
670
|
+
} finally {
|
|
671
|
+
if (_didIteratorError12) {
|
|
672
|
+
throw _iteratorError12;
|
|
673
|
+
}
|
|
674
|
+
}
|
|
675
|
+
}
|
|
676
|
+
} else if (child && typeof child === "object") {
|
|
677
|
+
walk(child, node);
|
|
678
|
+
}
|
|
679
|
+
}
|
|
680
|
+
} catch (err) {
|
|
681
|
+
_didIteratorError2 = true;
|
|
682
|
+
_iteratorError2 = err;
|
|
683
|
+
} finally {
|
|
684
|
+
try {
|
|
685
|
+
if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
|
|
686
|
+
_iterator2.return();
|
|
687
|
+
}
|
|
688
|
+
} finally {
|
|
689
|
+
if (_didIteratorError2) {
|
|
690
|
+
throw _iteratorError2;
|
|
691
|
+
}
|
|
692
|
+
}
|
|
693
|
+
}
|
|
694
|
+
}
|
|
695
|
+
walk(parsed.program, null);
|
|
696
|
+
function testValue(node) {
|
|
697
|
+
if (known.has(node)) return !!known.get(node);
|
|
698
|
+
if ((node === null || node === void 0 ? void 0 : node.type) === "UnaryExpression" && node.operator === "!") {
|
|
699
|
+
var inner = testValue(node.argument);
|
|
700
|
+
return inner === void 0 ? void 0 : !inner;
|
|
701
|
+
}
|
|
702
|
+
if ((node === null || node === void 0 ? void 0 : node.type) === "BinaryExpression" && (node.operator === "===" || node.operator === "!==")) {
|
|
703
|
+
var _node_right, _node_right1;
|
|
704
|
+
var left = known.has(node.left) ? known.get(node.left) : void 0;
|
|
705
|
+
var right = ((_node_right = node.right) === null || _node_right === void 0 ? void 0 : _node_right.type) === "Literal" ? node.right.value : void 0;
|
|
706
|
+
if (!known.has(node.left) || ((_node_right1 = node.right) === null || _node_right1 === void 0 ? void 0 : _node_right1.type) !== "Literal") return void 0;
|
|
707
|
+
return node.operator === "===" ? left === right : left !== right;
|
|
708
|
+
}
|
|
709
|
+
return void 0;
|
|
710
|
+
}
|
|
711
|
+
var dead = [];
|
|
712
|
+
(function foldWalk(node) {
|
|
713
|
+
if (!node || typeof node !== "object") return;
|
|
714
|
+
if (Array.isArray(node)) {
|
|
715
|
+
var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;
|
|
716
|
+
try {
|
|
717
|
+
for (var _iterator2 = node[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
|
|
718
|
+
var child = _step2.value;
|
|
719
|
+
foldWalk(child);
|
|
720
|
+
}
|
|
721
|
+
} catch (err) {
|
|
722
|
+
_didIteratorError2 = true;
|
|
723
|
+
_iteratorError2 = err;
|
|
724
|
+
} finally {
|
|
725
|
+
try {
|
|
726
|
+
if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
|
|
727
|
+
_iterator2.return();
|
|
728
|
+
}
|
|
729
|
+
} finally {
|
|
730
|
+
if (_didIteratorError2) {
|
|
731
|
+
throw _iteratorError2;
|
|
732
|
+
}
|
|
733
|
+
}
|
|
734
|
+
}
|
|
735
|
+
return;
|
|
736
|
+
}
|
|
737
|
+
if (node.type === "IfStatement" || node.type === "ConditionalExpression") {
|
|
738
|
+
var value = testValue(node.test);
|
|
739
|
+
if (value !== void 0) {
|
|
740
|
+
var kept = value ? node.consequent : node.alternate;
|
|
741
|
+
if (!kept) {
|
|
742
|
+
dead.push({
|
|
743
|
+
start: node.start,
|
|
744
|
+
end: node.end,
|
|
745
|
+
text: ";"
|
|
746
|
+
});
|
|
747
|
+
return;
|
|
748
|
+
}
|
|
749
|
+
dead.push({
|
|
750
|
+
start: node.start,
|
|
751
|
+
end: kept.start,
|
|
752
|
+
text: ""
|
|
753
|
+
});
|
|
754
|
+
if (kept.end < node.end) {
|
|
755
|
+
dead.push({
|
|
756
|
+
start: kept.end,
|
|
757
|
+
end: node.end,
|
|
758
|
+
text: ""
|
|
759
|
+
});
|
|
760
|
+
}
|
|
761
|
+
foldWalk(kept);
|
|
762
|
+
return;
|
|
763
|
+
}
|
|
764
|
+
}
|
|
765
|
+
var _iteratorNormalCompletion12 = true, _didIteratorError12 = false, _iteratorError12 = void 0;
|
|
766
|
+
try {
|
|
767
|
+
for (var _iterator12 = Object.keys(node)[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {
|
|
768
|
+
var k = _step12.value;
|
|
769
|
+
if (k === "start" || k === "end" || k === "loc" || k === "range" || k === "parent" || k === "comments") continue;
|
|
770
|
+
foldWalk(node[k]);
|
|
771
|
+
}
|
|
772
|
+
} catch (err) {
|
|
773
|
+
_didIteratorError12 = true;
|
|
774
|
+
_iteratorError12 = err;
|
|
775
|
+
} finally {
|
|
776
|
+
try {
|
|
777
|
+
if (!_iteratorNormalCompletion12 && _iterator12.return != null) {
|
|
778
|
+
_iterator12.return();
|
|
779
|
+
}
|
|
780
|
+
} finally {
|
|
781
|
+
if (_didIteratorError12) {
|
|
782
|
+
throw _iteratorError12;
|
|
783
|
+
}
|
|
784
|
+
}
|
|
785
|
+
}
|
|
786
|
+
})(parsed.program);
|
|
787
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
788
|
+
try {
|
|
789
|
+
for (var _iterator = dead[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
790
|
+
var range = _step.value;
|
|
791
|
+
ms.overwrite(range.start, range.end, range.text);
|
|
792
|
+
}
|
|
793
|
+
} catch (err) {
|
|
794
|
+
_didIteratorError = true;
|
|
795
|
+
_iteratorError = err;
|
|
796
|
+
} finally {
|
|
797
|
+
try {
|
|
798
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
799
|
+
_iterator.return();
|
|
800
|
+
}
|
|
801
|
+
} finally {
|
|
802
|
+
if (_didIteratorError) {
|
|
803
|
+
throw _iteratorError;
|
|
804
|
+
}
|
|
805
|
+
}
|
|
806
|
+
}
|
|
807
|
+
var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
|
|
808
|
+
try {
|
|
809
|
+
var _loop = function() {
|
|
810
|
+
var edit = _step1.value;
|
|
811
|
+
if (dead.some(function(d) {
|
|
812
|
+
return edit.start >= d.start && edit.end <= d.end;
|
|
813
|
+
})) return "continue";
|
|
814
|
+
ms.overwrite(edit.start, edit.end, edit.text);
|
|
815
|
+
};
|
|
816
|
+
for (var _iterator1 = edits[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) _loop();
|
|
817
|
+
} catch (err) {
|
|
818
|
+
_didIteratorError1 = true;
|
|
819
|
+
_iteratorError1 = err;
|
|
820
|
+
} finally {
|
|
821
|
+
try {
|
|
822
|
+
if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
|
|
823
|
+
_iterator1.return();
|
|
824
|
+
}
|
|
825
|
+
} finally {
|
|
826
|
+
if (_didIteratorError1) {
|
|
827
|
+
throw _iteratorError1;
|
|
828
|
+
}
|
|
829
|
+
}
|
|
830
|
+
}
|
|
831
|
+
if (needsEnvImport) {
|
|
832
|
+
ms.prepend(`import { env as _$$_EXPO_ENV } from "expo/virtual/env";
|
|
833
|
+
`);
|
|
834
|
+
}
|
|
835
|
+
return ms.hasChanged() ? ms.toString() : code;
|
|
836
|
+
}
|
|
837
|
+
var GUARD_SPECIFIERS = /* @__PURE__ */ new Set([
|
|
838
|
+
"server-only",
|
|
839
|
+
"client-only",
|
|
840
|
+
"web-only"
|
|
841
|
+
]);
|
|
842
|
+
function applyEnvironmentGuard(code, filename) {
|
|
843
|
+
var _parsed_errors, _parsed_program;
|
|
844
|
+
var parsed = (0, import_oxc_parser.parseSync)(filename, code, { lang: langForFilename(filename) });
|
|
845
|
+
if (parsed === null || parsed === void 0 ? void 0 : (_parsed_errors = parsed.errors) === null || _parsed_errors === void 0 ? void 0 : _parsed_errors.length) {
|
|
846
|
+
throw new Error(`[vxrn/metro] Failed to parse ${filename} for environment guards: ${parsed.errors[0].message}`);
|
|
847
|
+
}
|
|
848
|
+
var body = parsed === null || parsed === void 0 ? void 0 : (_parsed_program = parsed.program) === null || _parsed_program === void 0 ? void 0 : _parsed_program.body;
|
|
849
|
+
if (!body) return code;
|
|
850
|
+
var ms = new import_magic_string.default(code);
|
|
851
|
+
var changed = false;
|
|
852
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
853
|
+
try {
|
|
854
|
+
for (var _iterator = body[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
855
|
+
var node = _step.value;
|
|
856
|
+
var _node_source;
|
|
857
|
+
if (node.type !== "ImportDeclaration") continue;
|
|
858
|
+
var source = (_node_source = node.source) === null || _node_source === void 0 ? void 0 : _node_source.value;
|
|
859
|
+
if (source === "native-only") {
|
|
860
|
+
ms.remove(node.start, node.end);
|
|
861
|
+
changed = true;
|
|
862
|
+
} else if (GUARD_SPECIFIERS.has(source)) {
|
|
863
|
+
ms.overwrite(node.start, node.end, `throw new Error(${JSON.stringify(`${source} cannot be imported in a native environment`)});`);
|
|
864
|
+
changed = true;
|
|
865
|
+
}
|
|
866
|
+
}
|
|
867
|
+
} catch (err) {
|
|
868
|
+
_didIteratorError = true;
|
|
869
|
+
_iteratorError = err;
|
|
870
|
+
} finally {
|
|
871
|
+
try {
|
|
872
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
873
|
+
_iterator.return();
|
|
874
|
+
}
|
|
875
|
+
} finally {
|
|
876
|
+
if (_didIteratorError) {
|
|
877
|
+
throw _iteratorError;
|
|
878
|
+
}
|
|
879
|
+
}
|
|
880
|
+
}
|
|
881
|
+
return changed ? ms.toString() : code;
|
|
882
|
+
}
|
|
883
|
+
function applyOneRouterMetro(code, filename, options) {
|
|
884
|
+
var _parsed_errors;
|
|
885
|
+
var isMetroEntry = filename.endsWith("metro-entry.js");
|
|
886
|
+
var isEntryCtx = filename.endsWith("metro-entry-ctx.js");
|
|
887
|
+
if (!isMetroEntry && !isEntryCtx) return code;
|
|
888
|
+
var parsed = (0, import_oxc_parser.parseSync)(filename, code, { lang: langForFilename(filename) });
|
|
889
|
+
if (parsed === null || parsed === void 0 ? void 0 : (_parsed_errors = parsed.errors) === null || _parsed_errors === void 0 ? void 0 : _parsed_errors.length) {
|
|
890
|
+
throw new Error(`[vxrn/metro] Failed to parse ${filename} for one-router-metro: ${parsed.errors[0].message}`);
|
|
891
|
+
}
|
|
892
|
+
if (!(parsed === null || parsed === void 0 ? void 0 : parsed.program)) return code;
|
|
893
|
+
var ms = new import_magic_string.default(code);
|
|
894
|
+
var lastImportEnd = -1;
|
|
895
|
+
function replacementFor(key) {
|
|
896
|
+
if (key.startsWith("ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY")) {
|
|
897
|
+
return JSON.stringify(options.ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY);
|
|
898
|
+
}
|
|
899
|
+
if (key.startsWith("ONE_ROUTER_ROOT_FOLDER_NAME")) {
|
|
900
|
+
return JSON.stringify(options.ONE_ROUTER_ROOT_FOLDER_NAME);
|
|
901
|
+
}
|
|
902
|
+
if (key.startsWith("ONE_ROUTER_REQUIRE_CONTEXT_REGEX")) {
|
|
903
|
+
return `/${options.ONE_ROUTER_REQUIRE_CONTEXT_REGEX_STRING}/`;
|
|
904
|
+
}
|
|
905
|
+
if (key === "ONE_ROUTER_LINKING_CONFIG") {
|
|
906
|
+
var _options_ONE_ROUTER_LINKING_CONFIG;
|
|
907
|
+
return isMetroEntry ? JSON.stringify((_options_ONE_ROUTER_LINKING_CONFIG = options.ONE_ROUTER_LINKING_CONFIG) !== null && _options_ONE_ROUTER_LINKING_CONFIG !== void 0 ? _options_ONE_ROUTER_LINKING_CONFIG : null) : void 0;
|
|
908
|
+
}
|
|
909
|
+
if (key === "ONE_SETUP_FILE_NATIVE") {
|
|
910
|
+
return options.ONE_SETUP_FILE_NATIVE ? JSON.stringify(options.ONE_SETUP_FILE_NATIVE) : "undefined";
|
|
911
|
+
}
|
|
912
|
+
return void 0;
|
|
913
|
+
}
|
|
914
|
+
function walk(node, parent) {
|
|
915
|
+
var _node_object, _node_object_object, _node_object_property;
|
|
916
|
+
if (!node || typeof node !== "object") return;
|
|
917
|
+
if (node.type === "ImportDeclaration" && parent === parsed.program) {
|
|
918
|
+
lastImportEnd = Math.max(lastImportEnd, node.end);
|
|
919
|
+
}
|
|
920
|
+
if (node.type === "MemberExpression" && ((_node_object = node.object) === null || _node_object === void 0 ? void 0 : _node_object.type) === "MemberExpression" && !node.object.computed && ((_node_object_object = node.object.object) === null || _node_object_object === void 0 ? void 0 : _node_object_object.type) === "Identifier" && node.object.object.name === "process" && ((_node_object_property = node.object.property) === null || _node_object_property === void 0 ? void 0 : _node_object_property.type) === "Identifier" && node.object.property.name === "env") {
|
|
921
|
+
var _node_property, _node_property1;
|
|
922
|
+
var key = node.computed ? ((_node_property = node.property) === null || _node_property === void 0 ? void 0 : _node_property.type) === "Literal" && typeof node.property.value === "string" ? node.property.value : void 0 : ((_node_property1 = node.property) === null || _node_property1 === void 0 ? void 0 : _node_property1.type) === "Identifier" ? node.property.name : void 0;
|
|
923
|
+
var isAssignTarget = (parent === null || parent === void 0 ? void 0 : parent.type) === "AssignmentExpression" && parent.left === node;
|
|
924
|
+
if (key && !isAssignTarget) {
|
|
925
|
+
var replacement = replacementFor(key);
|
|
926
|
+
if (replacement !== void 0) {
|
|
927
|
+
ms.overwrite(node.start, node.end, replacement);
|
|
928
|
+
}
|
|
929
|
+
}
|
|
930
|
+
}
|
|
931
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
932
|
+
try {
|
|
933
|
+
for (var _iterator = Object.keys(node)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
934
|
+
var k = _step.value;
|
|
935
|
+
if (k === "start" || k === "end" || k === "loc" || k === "range" || k === "parent" || k === "comments") continue;
|
|
936
|
+
var child = node[k];
|
|
937
|
+
if (Array.isArray(child)) {
|
|
938
|
+
var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
|
|
939
|
+
try {
|
|
940
|
+
for (var _iterator1 = child[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
|
|
941
|
+
var item = _step1.value;
|
|
942
|
+
walk(item, node);
|
|
943
|
+
}
|
|
944
|
+
} catch (err) {
|
|
945
|
+
_didIteratorError1 = true;
|
|
946
|
+
_iteratorError1 = err;
|
|
947
|
+
} finally {
|
|
948
|
+
try {
|
|
949
|
+
if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
|
|
950
|
+
_iterator1.return();
|
|
951
|
+
}
|
|
952
|
+
} finally {
|
|
953
|
+
if (_didIteratorError1) {
|
|
954
|
+
throw _iteratorError1;
|
|
955
|
+
}
|
|
956
|
+
}
|
|
957
|
+
}
|
|
958
|
+
} else if (child && typeof child === "object") {
|
|
959
|
+
walk(child, node);
|
|
960
|
+
}
|
|
961
|
+
}
|
|
962
|
+
} catch (err) {
|
|
963
|
+
_didIteratorError = true;
|
|
964
|
+
_iteratorError = err;
|
|
965
|
+
} finally {
|
|
966
|
+
try {
|
|
967
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
968
|
+
_iterator.return();
|
|
969
|
+
}
|
|
970
|
+
} finally {
|
|
971
|
+
if (_didIteratorError) {
|
|
972
|
+
throw _iteratorError;
|
|
973
|
+
}
|
|
974
|
+
}
|
|
975
|
+
}
|
|
976
|
+
}
|
|
977
|
+
walk(parsed.program, parsed.program);
|
|
978
|
+
if (isMetroEntry && options.ONE_SETUP_FILE_NATIVE) {
|
|
979
|
+
var stmt = `
|
|
980
|
+
import ${JSON.stringify(options.ONE_SETUP_FILE_NATIVE)};`;
|
|
981
|
+
if (lastImportEnd >= 0) {
|
|
982
|
+
ms.appendRight(lastImportEnd, stmt);
|
|
983
|
+
} else {
|
|
984
|
+
ms.prepend(`${stmt}
|
|
985
|
+
`);
|
|
986
|
+
}
|
|
987
|
+
}
|
|
988
|
+
return ms.toString();
|
|
989
|
+
}
|
|
990
|
+
function collectPatternNames(pattern, names) {
|
|
991
|
+
if (!pattern) return;
|
|
992
|
+
if (pattern.type === "Identifier") {
|
|
993
|
+
names.add(pattern.name);
|
|
994
|
+
} else if (pattern.type === "AssignmentPattern") {
|
|
995
|
+
collectPatternNames(pattern.left, names);
|
|
996
|
+
} else if (pattern.type === "ObjectPattern") {
|
|
997
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
998
|
+
try {
|
|
999
|
+
for (var _iterator = (pattern.properties || [])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
1000
|
+
var prop = _step.value;
|
|
1001
|
+
if (prop.type === "Property") collectPatternNames(prop.value, names);
|
|
1002
|
+
else if (prop.type === "RestElement") collectPatternNames(prop.argument, names);
|
|
1003
|
+
}
|
|
1004
|
+
} catch (err) {
|
|
1005
|
+
_didIteratorError = true;
|
|
1006
|
+
_iteratorError = err;
|
|
1007
|
+
} finally {
|
|
1008
|
+
try {
|
|
1009
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
1010
|
+
_iterator.return();
|
|
1011
|
+
}
|
|
1012
|
+
} finally {
|
|
1013
|
+
if (_didIteratorError) {
|
|
1014
|
+
throw _iteratorError;
|
|
1015
|
+
}
|
|
1016
|
+
}
|
|
1017
|
+
}
|
|
1018
|
+
} else if (pattern.type === "ArrayPattern") {
|
|
1019
|
+
var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
|
|
1020
|
+
try {
|
|
1021
|
+
for (var _iterator1 = (pattern.elements || [])[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
|
|
1022
|
+
var elem = _step1.value;
|
|
1023
|
+
if (elem) collectPatternNames(elem, names);
|
|
1024
|
+
}
|
|
1025
|
+
} catch (err) {
|
|
1026
|
+
_didIteratorError1 = true;
|
|
1027
|
+
_iteratorError1 = err;
|
|
1028
|
+
} finally {
|
|
1029
|
+
try {
|
|
1030
|
+
if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
|
|
1031
|
+
_iterator1.return();
|
|
1032
|
+
}
|
|
1033
|
+
} finally {
|
|
1034
|
+
if (_didIteratorError1) {
|
|
1035
|
+
throw _iteratorError1;
|
|
1036
|
+
}
|
|
1037
|
+
}
|
|
1038
|
+
}
|
|
1039
|
+
} else if (pattern.type === "RestElement") {
|
|
1040
|
+
collectPatternNames(pattern.argument, names);
|
|
1041
|
+
}
|
|
1042
|
+
}
|
|
1043
|
+
function collectHoistedBindings(node, names) {
|
|
1044
|
+
function traverse(n) {
|
|
1045
|
+
if (!n || typeof n !== "object") return;
|
|
1046
|
+
if (n === node) {} else if (n.type === "FunctionDeclaration" || n.type === "FunctionExpression" || n.type === "ArrowFunctionExpression") {
|
|
1047
|
+
var _n_id;
|
|
1048
|
+
if (n.type === "FunctionDeclaration" && ((_n_id = n.id) === null || _n_id === void 0 ? void 0 : _n_id.name)) {
|
|
1049
|
+
names.add(n.id.name);
|
|
1050
|
+
}
|
|
1051
|
+
return;
|
|
1052
|
+
}
|
|
1053
|
+
if (n.type === "VariableDeclaration" && n.kind === "var") {
|
|
1054
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
1055
|
+
try {
|
|
1056
|
+
for (var _iterator = (n.declarations || [])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
1057
|
+
var decl = _step.value;
|
|
1058
|
+
collectPatternNames(decl.id, names);
|
|
1059
|
+
}
|
|
1060
|
+
} catch (err) {
|
|
1061
|
+
_didIteratorError = true;
|
|
1062
|
+
_iteratorError = err;
|
|
1063
|
+
} finally {
|
|
1064
|
+
try {
|
|
1065
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
1066
|
+
_iterator.return();
|
|
1067
|
+
}
|
|
1068
|
+
} finally {
|
|
1069
|
+
if (_didIteratorError) {
|
|
1070
|
+
throw _iteratorError;
|
|
1071
|
+
}
|
|
1072
|
+
}
|
|
1073
|
+
}
|
|
1074
|
+
}
|
|
1075
|
+
var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
|
|
1076
|
+
try {
|
|
1077
|
+
for (var _iterator1 = Object.keys(n)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
|
|
1078
|
+
var key = _step1.value;
|
|
1079
|
+
if (key === "start" || key === "end" || key === "loc" || key === "range" || key === "parent" || key === "comments") continue;
|
|
1080
|
+
var child = n[key];
|
|
1081
|
+
if (Array.isArray(child)) {
|
|
1082
|
+
var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;
|
|
1083
|
+
try {
|
|
1084
|
+
for (var _iterator2 = child[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
|
|
1085
|
+
var item = _step2.value;
|
|
1086
|
+
traverse(item);
|
|
1087
|
+
}
|
|
1088
|
+
} catch (err) {
|
|
1089
|
+
_didIteratorError2 = true;
|
|
1090
|
+
_iteratorError2 = err;
|
|
1091
|
+
} finally {
|
|
1092
|
+
try {
|
|
1093
|
+
if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
|
|
1094
|
+
_iterator2.return();
|
|
1095
|
+
}
|
|
1096
|
+
} finally {
|
|
1097
|
+
if (_didIteratorError2) {
|
|
1098
|
+
throw _iteratorError2;
|
|
1099
|
+
}
|
|
1100
|
+
}
|
|
1101
|
+
}
|
|
1102
|
+
} else if (child && typeof child === "object") {
|
|
1103
|
+
traverse(child);
|
|
1104
|
+
}
|
|
1105
|
+
}
|
|
1106
|
+
} catch (err) {
|
|
1107
|
+
_didIteratorError1 = true;
|
|
1108
|
+
_iteratorError1 = err;
|
|
1109
|
+
} finally {
|
|
1110
|
+
try {
|
|
1111
|
+
if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
|
|
1112
|
+
_iterator1.return();
|
|
1113
|
+
}
|
|
1114
|
+
} finally {
|
|
1115
|
+
if (_didIteratorError1) {
|
|
1116
|
+
throw _iteratorError1;
|
|
1117
|
+
}
|
|
1118
|
+
}
|
|
1119
|
+
}
|
|
1120
|
+
}
|
|
1121
|
+
traverse(node);
|
|
1122
|
+
}
|
|
1123
|
+
function collectBlockBindings(statements, names) {
|
|
1124
|
+
if (!Array.isArray(statements)) return;
|
|
1125
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
1126
|
+
try {
|
|
1127
|
+
for (var _iterator = statements[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
1128
|
+
var stmt = _step.value;
|
|
1129
|
+
var _stmt_id, _stmt_id1;
|
|
1130
|
+
if (!stmt) continue;
|
|
1131
|
+
if (stmt.type === "VariableDeclaration" && stmt.kind !== "var") {
|
|
1132
|
+
var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
|
|
1133
|
+
try {
|
|
1134
|
+
for (var _iterator1 = (stmt.declarations || [])[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
|
|
1135
|
+
var decl = _step1.value;
|
|
1136
|
+
collectPatternNames(decl.id, names);
|
|
1137
|
+
}
|
|
1138
|
+
} catch (err) {
|
|
1139
|
+
_didIteratorError1 = true;
|
|
1140
|
+
_iteratorError1 = err;
|
|
1141
|
+
} finally {
|
|
1142
|
+
try {
|
|
1143
|
+
if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
|
|
1144
|
+
_iterator1.return();
|
|
1145
|
+
}
|
|
1146
|
+
} finally {
|
|
1147
|
+
if (_didIteratorError1) {
|
|
1148
|
+
throw _iteratorError1;
|
|
1149
|
+
}
|
|
1150
|
+
}
|
|
1151
|
+
}
|
|
1152
|
+
} else if (stmt.type === "ClassDeclaration" && ((_stmt_id = stmt.id) === null || _stmt_id === void 0 ? void 0 : _stmt_id.name)) {
|
|
1153
|
+
names.add(stmt.id.name);
|
|
1154
|
+
} else if (stmt.type === "FunctionDeclaration" && ((_stmt_id1 = stmt.id) === null || _stmt_id1 === void 0 ? void 0 : _stmt_id1.name)) {
|
|
1155
|
+
names.add(stmt.id.name);
|
|
1156
|
+
}
|
|
1157
|
+
}
|
|
1158
|
+
} catch (err) {
|
|
1159
|
+
_didIteratorError = true;
|
|
1160
|
+
_iteratorError = err;
|
|
1161
|
+
} finally {
|
|
1162
|
+
try {
|
|
1163
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
1164
|
+
_iterator.return();
|
|
1165
|
+
}
|
|
1166
|
+
} finally {
|
|
1167
|
+
if (_didIteratorError) {
|
|
1168
|
+
throw _iteratorError;
|
|
1169
|
+
}
|
|
1170
|
+
}
|
|
1171
|
+
}
|
|
1172
|
+
}
|
|
1173
|
+
var ScopeTracker = /* @__PURE__ */ (function() {
|
|
1174
|
+
"use strict";
|
|
1175
|
+
function ScopeTracker2() {
|
|
1176
|
+
_class_call_check(this, ScopeTracker2);
|
|
1177
|
+
_define_property(this, "stack", [/* @__PURE__ */ new Set()]);
|
|
1178
|
+
}
|
|
1179
|
+
_create_class(ScopeTracker2, [
|
|
1180
|
+
{
|
|
1181
|
+
key: "enter",
|
|
1182
|
+
value: function enter(initialBindings) {
|
|
1183
|
+
this.stack.push(new Set(initialBindings));
|
|
1184
|
+
}
|
|
1185
|
+
},
|
|
1186
|
+
{
|
|
1187
|
+
key: "exit",
|
|
1188
|
+
value: function exit() {
|
|
1189
|
+
if (this.stack.length > 1) {
|
|
1190
|
+
this.stack.pop();
|
|
1191
|
+
}
|
|
1192
|
+
}
|
|
1193
|
+
},
|
|
1194
|
+
{
|
|
1195
|
+
key: "add",
|
|
1196
|
+
value: function add(name) {
|
|
1197
|
+
this.stack[this.stack.length - 1].add(name);
|
|
1198
|
+
}
|
|
1199
|
+
},
|
|
1200
|
+
{
|
|
1201
|
+
key: "currentScope",
|
|
1202
|
+
value: function currentScope() {
|
|
1203
|
+
return this.stack[this.stack.length - 1];
|
|
1204
|
+
}
|
|
1205
|
+
},
|
|
1206
|
+
{
|
|
1207
|
+
key: "addPattern",
|
|
1208
|
+
value: function addPattern(pattern) {
|
|
1209
|
+
collectPatternNames(pattern, this.currentScope());
|
|
1210
|
+
}
|
|
1211
|
+
},
|
|
1212
|
+
{
|
|
1213
|
+
key: "isShadowed",
|
|
1214
|
+
value: function isShadowed(name) {
|
|
1215
|
+
for (var i = this.stack.length - 1; i >= 0; i--) {
|
|
1216
|
+
if (this.stack[i].has(name)) return true;
|
|
1217
|
+
}
|
|
1218
|
+
return false;
|
|
1219
|
+
}
|
|
1220
|
+
}
|
|
1221
|
+
]);
|
|
1222
|
+
return ScopeTracker2;
|
|
1223
|
+
})();
|
|
1224
|
+
function getCacheKey() {
|
|
1225
|
+
var config = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, opts = arguments.length > 1 ? arguments[1] : void 0;
|
|
1226
|
+
var hash = import_crypto.default.createHash("sha256");
|
|
1227
|
+
hash.update("metroNativeWorker");
|
|
1228
|
+
hash.update(WORKER_CACHE_KEY_VERSION);
|
|
1229
|
+
if (config.globalPrefix) {
|
|
1230
|
+
hash.update(config.globalPrefix);
|
|
1231
|
+
}
|
|
1232
|
+
if (config.unstable_dependencyMapReservedName) {
|
|
1233
|
+
hash.update(config.unstable_dependencyMapReservedName);
|
|
1234
|
+
}
|
|
1235
|
+
if (config.minifierPath) {
|
|
1236
|
+
hash.update(config.minifierPath);
|
|
1237
|
+
}
|
|
1238
|
+
if (opts === null || opts === void 0 ? void 0 : opts.projectRoot) {
|
|
1239
|
+
hash.update(opts.projectRoot);
|
|
1240
|
+
}
|
|
1241
|
+
return hash.digest("hex");
|
|
1242
|
+
}
|
|
1243
|
+
function convertSourceMapToMetroRawMappings(composedMap) {
|
|
1244
|
+
if (!composedMap) return [];
|
|
1245
|
+
var tracer = new import_trace_mapping.TraceMap(composedMap);
|
|
1246
|
+
var rawMappings = [];
|
|
1247
|
+
(0, import_trace_mapping.eachMapping)(tracer, function(m) {
|
|
1248
|
+
if (m.originalLine == null) {
|
|
1249
|
+
rawMappings.push([m.generatedLine, m.generatedColumn]);
|
|
1250
|
+
} else if (m.name == null) {
|
|
1251
|
+
rawMappings.push([
|
|
1252
|
+
m.generatedLine,
|
|
1253
|
+
m.generatedColumn,
|
|
1254
|
+
m.originalLine,
|
|
1255
|
+
m.originalColumn
|
|
1256
|
+
]);
|
|
1257
|
+
} else {
|
|
1258
|
+
rawMappings.push([
|
|
1259
|
+
m.generatedLine,
|
|
1260
|
+
m.generatedColumn,
|
|
1261
|
+
m.originalLine,
|
|
1262
|
+
m.originalColumn,
|
|
1263
|
+
m.name
|
|
1264
|
+
]);
|
|
1265
|
+
}
|
|
1266
|
+
});
|
|
1267
|
+
rawMappings.sort(function(a, b) {
|
|
1268
|
+
if (a[0] !== b[0]) return a[0] - b[0];
|
|
1269
|
+
return a[1] - b[1];
|
|
1270
|
+
});
|
|
1271
|
+
var deduped = [];
|
|
1272
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
1273
|
+
try {
|
|
1274
|
+
for (var _iterator = rawMappings[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
1275
|
+
var mapping = _step.value;
|
|
1276
|
+
var prev = deduped[deduped.length - 1];
|
|
1277
|
+
if (prev && prev[0] === mapping[0] && prev[1] === mapping[1]) {
|
|
1278
|
+
continue;
|
|
1279
|
+
}
|
|
1280
|
+
deduped.push(mapping);
|
|
1281
|
+
}
|
|
1282
|
+
} catch (err) {
|
|
1283
|
+
_didIteratorError = true;
|
|
1284
|
+
_iteratorError = err;
|
|
1285
|
+
} finally {
|
|
1286
|
+
try {
|
|
1287
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
1288
|
+
_iterator.return();
|
|
1289
|
+
}
|
|
1290
|
+
} finally {
|
|
1291
|
+
if (_didIteratorError) {
|
|
1292
|
+
throw _iteratorError;
|
|
1293
|
+
}
|
|
1294
|
+
}
|
|
1295
|
+
}
|
|
1296
|
+
return deduped;
|
|
1297
|
+
}
|
|
1298
|
+
function countLinesAndTerminateMap(code) {
|
|
1299
|
+
var map = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
|
|
1300
|
+
var NEWLINE = /\r\n?|\n|\u2028|\u2029/g;
|
|
1301
|
+
var lineCount = 1;
|
|
1302
|
+
var lastLineStart = 0;
|
|
1303
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
1304
|
+
try {
|
|
1305
|
+
for (var _iterator = code.matchAll(NEWLINE)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
1306
|
+
var match = _step.value;
|
|
1307
|
+
lineCount++;
|
|
1308
|
+
lastLineStart = match.index + match[0].length;
|
|
1309
|
+
}
|
|
1310
|
+
} catch (err) {
|
|
1311
|
+
_didIteratorError = true;
|
|
1312
|
+
_iteratorError = err;
|
|
1313
|
+
} finally {
|
|
1314
|
+
try {
|
|
1315
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
1316
|
+
_iterator.return();
|
|
1317
|
+
}
|
|
1318
|
+
} finally {
|
|
1319
|
+
if (_didIteratorError) {
|
|
1320
|
+
throw _iteratorError;
|
|
1321
|
+
}
|
|
1322
|
+
}
|
|
1323
|
+
}
|
|
1324
|
+
var lastLineLength = code.length - lastLineStart;
|
|
1325
|
+
var lastLineIndex1Based = lineCount;
|
|
1326
|
+
var lastLineNextColumn0Based = lastLineLength;
|
|
1327
|
+
var lastMapping = map[map.length - 1];
|
|
1328
|
+
var terminatingMapping = [lastLineIndex1Based, lastLineNextColumn0Based];
|
|
1329
|
+
if (!lastMapping || lastMapping[0] !== terminatingMapping[0] || lastMapping[1] !== terminatingMapping[1]) {
|
|
1330
|
+
return {
|
|
1331
|
+
lineCount,
|
|
1332
|
+
map: map.concat([terminatingMapping])
|
|
1333
|
+
};
|
|
1334
|
+
}
|
|
1335
|
+
return {
|
|
1336
|
+
lineCount,
|
|
1337
|
+
map: [...map]
|
|
1338
|
+
};
|
|
1339
|
+
}
|
|
1340
|
+
function wrapJson(source, options) {
|
|
1341
|
+
var globalPrefix = (options === null || options === void 0 ? void 0 : options.globalPrefix) || "";
|
|
1342
|
+
var factory = [
|
|
1343
|
+
"function (global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {",
|
|
1344
|
+
` module.exports = ${source};`,
|
|
1345
|
+
"}"
|
|
1346
|
+
].join("\n");
|
|
1347
|
+
if ((options === null || options === void 0 ? void 0 : options.moduleId) !== void 0) {
|
|
1348
|
+
var depIds = options.dependencyIds ? JSON.stringify(options.dependencyIds) : "[]";
|
|
1349
|
+
return `${globalPrefix}__d(${factory}, ${JSON.stringify(options.moduleId)}, ${depIds});`;
|
|
1350
|
+
}
|
|
1351
|
+
return `${globalPrefix}__d(${factory});`;
|
|
1352
|
+
}
|
|
1353
|
+
function wrapModule(code, options) {
|
|
1354
|
+
var globalPrefix = (options === null || options === void 0 ? void 0 : options.globalPrefix) || "";
|
|
1355
|
+
var depMap = (options === null || options === void 0 ? void 0 : options.dependencyMapName) || "_dependencyMap";
|
|
1356
|
+
var header = `function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, ${depMap}) {`;
|
|
1357
|
+
var requireAlias = (options === null || options === void 0 ? void 0 : options.requireAlias) !== false ? "var require = _$$_REQUIRE;\n" : "";
|
|
1358
|
+
var footer = `}`;
|
|
1359
|
+
if ((options === null || options === void 0 ? void 0 : options.moduleId) !== void 0) {
|
|
1360
|
+
var depIds = options.dependencyIds ? JSON.stringify(options.dependencyIds) : "[]";
|
|
1361
|
+
return `${globalPrefix}__d(${header}
|
|
1362
|
+
${requireAlias}${code}
|
|
1363
|
+
${footer}, ${JSON.stringify(options.moduleId)}, ${depIds});`;
|
|
1364
|
+
}
|
|
1365
|
+
return `${globalPrefix}__d(${header}
|
|
1366
|
+
${requireAlias}${code}
|
|
1367
|
+
${footer});`;
|
|
1368
|
+
}
|
|
1369
|
+
function getDependencyKey(name, isESM) {
|
|
1370
|
+
var asyncType = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null, contextParams = arguments.length > 3 ? arguments[3] : void 0;
|
|
1371
|
+
var key = `${name}\0${isESM ? "import" : "require"}`;
|
|
1372
|
+
if (asyncType != null) {
|
|
1373
|
+
key += `\0${asyncType}`;
|
|
1374
|
+
}
|
|
1375
|
+
if (contextParams) {
|
|
1376
|
+
key += [
|
|
1377
|
+
"",
|
|
1378
|
+
"context",
|
|
1379
|
+
String(contextParams.recursive),
|
|
1380
|
+
String(contextParams.filter.pattern),
|
|
1381
|
+
String(contextParams.filter.flags),
|
|
1382
|
+
contextParams.mode
|
|
1383
|
+
].join("\0");
|
|
1384
|
+
}
|
|
1385
|
+
return key;
|
|
1386
|
+
}
|
|
1387
|
+
function rewriteDependencyCalls(code, dependencies) {
|
|
1388
|
+
var depMapName = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "_dependencyMap", filename = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : "module.js", asyncRequirePath = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : "metro-runtime/src/modules/asyncRequire";
|
|
1389
|
+
var _parsed_errors;
|
|
1390
|
+
var ms = new import_magic_string.default(code);
|
|
1391
|
+
var emptyResult = {
|
|
1392
|
+
code,
|
|
1393
|
+
map: ms.generateMap({
|
|
1394
|
+
source: filename,
|
|
1395
|
+
hires: true,
|
|
1396
|
+
includeContent: true
|
|
1397
|
+
}),
|
|
1398
|
+
toString() {
|
|
1399
|
+
return code;
|
|
1400
|
+
}
|
|
1401
|
+
};
|
|
1402
|
+
if (dependencies.length === 0) return emptyResult;
|
|
1403
|
+
var parsed;
|
|
1404
|
+
try {
|
|
1405
|
+
parsed = (0, import_oxc_parser.parseSync)(filename, code, { lang: langForFilename(filename) });
|
|
1406
|
+
} catch (err) {
|
|
1407
|
+
throw new Error(`[vxrn/metro] Failed to parse ${filename} for dependency rewriting: ${err.message || err}`);
|
|
1408
|
+
}
|
|
1409
|
+
if (parsed === null || parsed === void 0 ? void 0 : (_parsed_errors = parsed.errors) === null || _parsed_errors === void 0 ? void 0 : _parsed_errors.length) {
|
|
1410
|
+
throw new Error(`[vxrn/metro] Failed to parse ${filename} for dependency rewriting: ${parsed.errors[0].message}`);
|
|
1411
|
+
}
|
|
1412
|
+
if (!(parsed === null || parsed === void 0 ? void 0 : parsed.program)) return emptyResult;
|
|
1413
|
+
var contextLiteralBindings = collectModuleLiteralBindings(parsed.program);
|
|
1414
|
+
var scopeTracker = new ScopeTracker();
|
|
1415
|
+
collectHoistedBindings(parsed.program, scopeTracker.currentScope());
|
|
1416
|
+
collectBlockBindings(parsed.program.body, scopeTracker.currentScope());
|
|
1417
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
1418
|
+
try {
|
|
1419
|
+
for (var _iterator = (parsed.program.body || [])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
1420
|
+
var stmt = _step.value;
|
|
1421
|
+
if (stmt.type === "ImportDeclaration") {
|
|
1422
|
+
var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
|
|
1423
|
+
try {
|
|
1424
|
+
for (var _iterator1 = (stmt.specifiers || [])[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
|
|
1425
|
+
var spec = _step1.value;
|
|
1426
|
+
var _spec_local;
|
|
1427
|
+
if ((_spec_local = spec.local) === null || _spec_local === void 0 ? void 0 : _spec_local.name) {
|
|
1428
|
+
scopeTracker.add(spec.local.name);
|
|
1429
|
+
}
|
|
1430
|
+
}
|
|
1431
|
+
} catch (err) {
|
|
1432
|
+
_didIteratorError1 = true;
|
|
1433
|
+
_iteratorError1 = err;
|
|
1434
|
+
} finally {
|
|
1435
|
+
try {
|
|
1436
|
+
if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
|
|
1437
|
+
_iterator1.return();
|
|
1438
|
+
}
|
|
1439
|
+
} finally {
|
|
1440
|
+
if (_didIteratorError1) {
|
|
1441
|
+
throw _iteratorError1;
|
|
1442
|
+
}
|
|
1443
|
+
}
|
|
1444
|
+
}
|
|
1445
|
+
}
|
|
1446
|
+
}
|
|
1447
|
+
} catch (err) {
|
|
1448
|
+
_didIteratorError = true;
|
|
1449
|
+
_iteratorError = err;
|
|
1450
|
+
} finally {
|
|
1451
|
+
try {
|
|
1452
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
1453
|
+
_iterator.return();
|
|
1454
|
+
}
|
|
1455
|
+
} finally {
|
|
1456
|
+
if (_didIteratorError) {
|
|
1457
|
+
throw _iteratorError;
|
|
1458
|
+
}
|
|
1459
|
+
}
|
|
1460
|
+
}
|
|
1461
|
+
function walk(node) {
|
|
1462
|
+
var _node_source, _node_callee, _node_arguments, _node_callee1, _node_callee_object, _node_callee_property, _node_arguments1;
|
|
1463
|
+
if (!node || typeof node !== "object") return;
|
|
1464
|
+
var pushedScope = false;
|
|
1465
|
+
if (node.type === "FunctionDeclaration" || node.type === "FunctionExpression" || node.type === "ArrowFunctionExpression") {
|
|
1466
|
+
var _node_id;
|
|
1467
|
+
scopeTracker.enter();
|
|
1468
|
+
pushedScope = true;
|
|
1469
|
+
var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;
|
|
1470
|
+
try {
|
|
1471
|
+
for (var _iterator2 = (node.params || [])[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
|
|
1472
|
+
var param = _step2.value;
|
|
1473
|
+
scopeTracker.addPattern(param);
|
|
1474
|
+
}
|
|
1475
|
+
} catch (err) {
|
|
1476
|
+
_didIteratorError2 = true;
|
|
1477
|
+
_iteratorError2 = err;
|
|
1478
|
+
} finally {
|
|
1479
|
+
try {
|
|
1480
|
+
if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
|
|
1481
|
+
_iterator2.return();
|
|
1482
|
+
}
|
|
1483
|
+
} finally {
|
|
1484
|
+
if (_didIteratorError2) {
|
|
1485
|
+
throw _iteratorError2;
|
|
1486
|
+
}
|
|
1487
|
+
}
|
|
1488
|
+
}
|
|
1489
|
+
if (node.type === "FunctionExpression" && ((_node_id = node.id) === null || _node_id === void 0 ? void 0 : _node_id.name)) {
|
|
1490
|
+
scopeTracker.add(node.id.name);
|
|
1491
|
+
}
|
|
1492
|
+
if (node.body) {
|
|
1493
|
+
collectHoistedBindings(node.body, scopeTracker.currentScope());
|
|
1494
|
+
}
|
|
1495
|
+
} else if (node.type === "BlockStatement") {
|
|
1496
|
+
scopeTracker.enter();
|
|
1497
|
+
pushedScope = true;
|
|
1498
|
+
collectBlockBindings(node.body, scopeTracker.currentScope());
|
|
1499
|
+
} else if (node.type === "CatchClause") {
|
|
1500
|
+
scopeTracker.enter();
|
|
1501
|
+
pushedScope = true;
|
|
1502
|
+
if (node.param) {
|
|
1503
|
+
scopeTracker.addPattern(node.param);
|
|
1504
|
+
}
|
|
1505
|
+
} else if (node.type === "ForStatement" || node.type === "ForInStatement" || node.type === "ForOfStatement") {
|
|
1506
|
+
var decl = node.type === "ForStatement" ? node.init : node.left;
|
|
1507
|
+
if ((decl === null || decl === void 0 ? void 0 : decl.type) === "VariableDeclaration" && decl.kind !== "var") {
|
|
1508
|
+
scopeTracker.enter();
|
|
1509
|
+
pushedScope = true;
|
|
1510
|
+
var _iteratorNormalCompletion12 = true, _didIteratorError12 = false, _iteratorError12 = void 0;
|
|
1511
|
+
try {
|
|
1512
|
+
for (var _iterator12 = (decl.declarations || [])[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {
|
|
1513
|
+
var d = _step12.value;
|
|
1514
|
+
scopeTracker.addPattern(d.id);
|
|
1515
|
+
}
|
|
1516
|
+
} catch (err) {
|
|
1517
|
+
_didIteratorError12 = true;
|
|
1518
|
+
_iteratorError12 = err;
|
|
1519
|
+
} finally {
|
|
1520
|
+
try {
|
|
1521
|
+
if (!_iteratorNormalCompletion12 && _iterator12.return != null) {
|
|
1522
|
+
_iterator12.return();
|
|
1523
|
+
}
|
|
1524
|
+
} finally {
|
|
1525
|
+
if (_didIteratorError12) {
|
|
1526
|
+
throw _iteratorError12;
|
|
1527
|
+
}
|
|
1528
|
+
}
|
|
1529
|
+
}
|
|
1530
|
+
}
|
|
1531
|
+
}
|
|
1532
|
+
if (node.type === "ImportExpression" && ((_node_source = node.source) === null || _node_source === void 0 ? void 0 : _node_source.type) === "Literal" && typeof node.source.value === "string") {
|
|
1533
|
+
var depName = node.source.value;
|
|
1534
|
+
var depKey = getDependencyKey(depName, true, "async");
|
|
1535
|
+
var dep = dependencies.find(function(d2) {
|
|
1536
|
+
return d2.data.key === depKey;
|
|
1537
|
+
}) || dependencies.find(function(d2) {
|
|
1538
|
+
return d2.name === depName && d2.data.asyncType === "async";
|
|
1539
|
+
});
|
|
1540
|
+
var asyncKey = getDependencyKey(asyncRequirePath, false, null);
|
|
1541
|
+
var asyncDep = dependencies.find(function(d2) {
|
|
1542
|
+
return d2.data.key === asyncKey;
|
|
1543
|
+
}) || dependencies.find(function(d2) {
|
|
1544
|
+
return d2.name === asyncRequirePath && d2.data.asyncType == null;
|
|
1545
|
+
});
|
|
1546
|
+
if (dep && asyncDep) {
|
|
1547
|
+
var _dep_data_index, _asyncDep_data_index;
|
|
1548
|
+
var depIndex = (_dep_data_index = dep.data.index) !== null && _dep_data_index !== void 0 ? _dep_data_index : dependencies.indexOf(dep);
|
|
1549
|
+
var asyncIndex = (_asyncDep_data_index = asyncDep.data.index) !== null && _asyncDep_data_index !== void 0 ? _asyncDep_data_index : dependencies.indexOf(asyncDep);
|
|
1550
|
+
ms.overwrite(node.start, node.end, `require(${depMapName}[${asyncIndex}], ${JSON.stringify(asyncRequirePath)})(${depMapName}[${depIndex}], ${depMapName}.paths, ${JSON.stringify(depName)})`);
|
|
1551
|
+
}
|
|
1552
|
+
} else if (node.type === "CallExpression" && ((_node_callee = node.callee) === null || _node_callee === void 0 ? void 0 : _node_callee.type) === "Identifier" && node.callee.name === "require" && !scopeTracker.isShadowed("require") && ((_node_arguments = node.arguments) === null || _node_arguments === void 0 ? void 0 : _node_arguments.length) >= 1) {
|
|
1553
|
+
var arg = node.arguments[0];
|
|
1554
|
+
if (arg.type === "Literal" && typeof arg.value === "string") {
|
|
1555
|
+
var depKey1 = getDependencyKey(arg.value, false, null);
|
|
1556
|
+
var dep1 = dependencies.find(function(d2) {
|
|
1557
|
+
return d2.data.key === depKey1;
|
|
1558
|
+
}) || dependencies.find(function(d2) {
|
|
1559
|
+
return d2.name === arg.value && d2.data.asyncType == null;
|
|
1560
|
+
});
|
|
1561
|
+
if (dep1) {
|
|
1562
|
+
var _dep_data_index1;
|
|
1563
|
+
var index = (_dep_data_index1 = dep1.data.index) !== null && _dep_data_index1 !== void 0 ? _dep_data_index1 : dependencies.indexOf(dep1);
|
|
1564
|
+
ms.overwrite(arg.start, arg.end, `${depMapName}[${index}], ${JSON.stringify(arg.value)}`);
|
|
1565
|
+
}
|
|
1566
|
+
}
|
|
1567
|
+
} else if (node.type === "CallExpression" && ((_node_callee1 = node.callee) === null || _node_callee1 === void 0 ? void 0 : _node_callee1.type) === "MemberExpression" && !node.callee.computed && ((_node_callee_object = node.callee.object) === null || _node_callee_object === void 0 ? void 0 : _node_callee_object.type) === "Identifier" && node.callee.object.name === "require" && ((_node_callee_property = node.callee.property) === null || _node_callee_property === void 0 ? void 0 : _node_callee_property.type) === "Identifier" && node.callee.property.name === "context" && !scopeTracker.isShadowed("require") && ((_node_arguments1 = node.arguments) === null || _node_arguments1 === void 0 ? void 0 : _node_arguments1.length) >= 1) {
|
|
1568
|
+
var _node_arguments_;
|
|
1569
|
+
var arg1 = ((_node_arguments_ = node.arguments[0]) === null || _node_arguments_ === void 0 ? void 0 : _node_arguments_.type) === "Identifier" ? contextLiteralBindings.get(node.arguments[0].name) : node.arguments[0];
|
|
1570
|
+
if ((arg1 === null || arg1 === void 0 ? void 0 : arg1.type) === "Literal" && typeof arg1.value === "string") {
|
|
1571
|
+
var dep2 = dependencies.find(function(d2) {
|
|
1572
|
+
return d2.name === arg1.value && d2.data.contextParams != null;
|
|
1573
|
+
});
|
|
1574
|
+
if (dep2) {
|
|
1575
|
+
var _dep_data_index2;
|
|
1576
|
+
var index1 = (_dep_data_index2 = dep2.data.index) !== null && _dep_data_index2 !== void 0 ? _dep_data_index2 : dependencies.indexOf(dep2);
|
|
1577
|
+
ms.overwrite(node.start, node.end, `require(${depMapName}[${index1}], ${JSON.stringify(arg1.value)})`);
|
|
1578
|
+
}
|
|
1579
|
+
}
|
|
1580
|
+
}
|
|
1581
|
+
var _iteratorNormalCompletion22 = true, _didIteratorError22 = false, _iteratorError22 = void 0;
|
|
1582
|
+
try {
|
|
1583
|
+
for (var _iterator22 = Object.keys(node)[Symbol.iterator](), _step22; !(_iteratorNormalCompletion22 = (_step22 = _iterator22.next()).done); _iteratorNormalCompletion22 = true) {
|
|
1584
|
+
var key = _step22.value;
|
|
1585
|
+
if (key === "start" || key === "end" || key === "loc" || key === "range" || key === "parent" || key === "comments") continue;
|
|
1586
|
+
var child = node[key];
|
|
1587
|
+
if (Array.isArray(child)) {
|
|
1588
|
+
var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;
|
|
1589
|
+
try {
|
|
1590
|
+
for (var _iterator3 = child[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
|
|
1591
|
+
var item = _step3.value;
|
|
1592
|
+
walk(item);
|
|
1593
|
+
}
|
|
1594
|
+
} catch (err) {
|
|
1595
|
+
_didIteratorError3 = true;
|
|
1596
|
+
_iteratorError3 = err;
|
|
1597
|
+
} finally {
|
|
1598
|
+
try {
|
|
1599
|
+
if (!_iteratorNormalCompletion3 && _iterator3.return != null) {
|
|
1600
|
+
_iterator3.return();
|
|
1601
|
+
}
|
|
1602
|
+
} finally {
|
|
1603
|
+
if (_didIteratorError3) {
|
|
1604
|
+
throw _iteratorError3;
|
|
1605
|
+
}
|
|
1606
|
+
}
|
|
1607
|
+
}
|
|
1608
|
+
} else if (child && typeof child === "object") {
|
|
1609
|
+
walk(child);
|
|
1610
|
+
}
|
|
1611
|
+
}
|
|
1612
|
+
} catch (err) {
|
|
1613
|
+
_didIteratorError22 = true;
|
|
1614
|
+
_iteratorError22 = err;
|
|
1615
|
+
} finally {
|
|
1616
|
+
try {
|
|
1617
|
+
if (!_iteratorNormalCompletion22 && _iterator22.return != null) {
|
|
1618
|
+
_iterator22.return();
|
|
1619
|
+
}
|
|
1620
|
+
} finally {
|
|
1621
|
+
if (_didIteratorError22) {
|
|
1622
|
+
throw _iteratorError22;
|
|
1623
|
+
}
|
|
1624
|
+
}
|
|
1625
|
+
}
|
|
1626
|
+
if (pushedScope) {
|
|
1627
|
+
scopeTracker.exit();
|
|
1628
|
+
}
|
|
1629
|
+
}
|
|
1630
|
+
walk(parsed.program);
|
|
1631
|
+
var resultString = ms.toString();
|
|
1632
|
+
var map = ms.generateMap({
|
|
1633
|
+
source: filename,
|
|
1634
|
+
hires: true,
|
|
1635
|
+
includeContent: true
|
|
1636
|
+
});
|
|
1637
|
+
return {
|
|
1638
|
+
code: resultString,
|
|
1639
|
+
map,
|
|
1640
|
+
toString() {
|
|
1641
|
+
return resultString;
|
|
1642
|
+
}
|
|
1643
|
+
};
|
|
1644
|
+
}
|
|
1645
|
+
function extractDependencies(code, filename, options) {
|
|
1646
|
+
var _parseResult_errors;
|
|
1647
|
+
var asyncRequirePath = (options === null || options === void 0 ? void 0 : options.asyncRequireModulePath) || "metro-runtime/src/modules/asyncRequire";
|
|
1648
|
+
var allowOptionalDependencies = options === null || options === void 0 ? void 0 : options.allowOptionalDependencies;
|
|
1649
|
+
var lineOffsets = [0];
|
|
1650
|
+
for (var i = 0; i < code.length; i++) {
|
|
1651
|
+
if (code[i] === "\n") {
|
|
1652
|
+
lineOffsets.push(i + 1);
|
|
1653
|
+
}
|
|
1654
|
+
}
|
|
1655
|
+
function offsetToLoc(pos) {
|
|
1656
|
+
var low = 0;
|
|
1657
|
+
var high = lineOffsets.length - 1;
|
|
1658
|
+
while (low <= high) {
|
|
1659
|
+
var mid = low + high >> 1;
|
|
1660
|
+
if (lineOffsets[mid] <= pos) {
|
|
1661
|
+
low = mid + 1;
|
|
1662
|
+
} else {
|
|
1663
|
+
high = mid - 1;
|
|
1664
|
+
}
|
|
1665
|
+
}
|
|
1666
|
+
var line = high + 1;
|
|
1667
|
+
var column = pos - lineOffsets[high];
|
|
1668
|
+
return {
|
|
1669
|
+
line,
|
|
1670
|
+
column
|
|
1671
|
+
};
|
|
1672
|
+
}
|
|
1673
|
+
var parseResult;
|
|
1674
|
+
try {
|
|
1675
|
+
parseResult = (0, import_oxc_parser.parseSync)(filename, code, { lang: langForFilename(filename) });
|
|
1676
|
+
} catch (err) {
|
|
1677
|
+
throw new Error(`[vxrn/metro] Failed to parse ${filename} for dependency extraction: ${err.message || err}`);
|
|
1678
|
+
}
|
|
1679
|
+
if (parseResult === null || parseResult === void 0 ? void 0 : (_parseResult_errors = parseResult.errors) === null || _parseResult_errors === void 0 ? void 0 : _parseResult_errors.length) {
|
|
1680
|
+
throw new Error(`[vxrn/metro] Failed to parse ${filename} for dependency extraction: ${parseResult.errors[0].message}`);
|
|
1681
|
+
}
|
|
1682
|
+
if (!(parseResult === null || parseResult === void 0 ? void 0 : parseResult.program)) {
|
|
1683
|
+
return [];
|
|
1684
|
+
}
|
|
1685
|
+
var depMap = /* @__PURE__ */ new Map();
|
|
1686
|
+
function addDep(name, isESM, asyncType, start, end, contextParams, isOptional) {
|
|
1687
|
+
var key = getDependencyKey(name, isESM, asyncType, contextParams);
|
|
1688
|
+
var entry = depMap.get(key);
|
|
1689
|
+
var loc = {
|
|
1690
|
+
start: offsetToLoc(start),
|
|
1691
|
+
end: offsetToLoc(end)
|
|
1692
|
+
};
|
|
1693
|
+
if (!entry) {
|
|
1694
|
+
entry = {
|
|
1695
|
+
name,
|
|
1696
|
+
data: {
|
|
1697
|
+
key,
|
|
1698
|
+
asyncType,
|
|
1699
|
+
locs: [loc],
|
|
1700
|
+
isESMImportAtSource: isESM,
|
|
1701
|
+
isESMImport: isESM,
|
|
1702
|
+
index: depMap.size,
|
|
1703
|
+
...contextParams ? { contextParams } : {},
|
|
1704
|
+
...isOptional ? { isOptional: true } : {}
|
|
1705
|
+
}
|
|
1706
|
+
};
|
|
1707
|
+
depMap.set(key, entry);
|
|
1708
|
+
} else {
|
|
1709
|
+
entry.data.locs.push(loc);
|
|
1710
|
+
}
|
|
1711
|
+
}
|
|
1712
|
+
var moduleConsts = collectModuleLiteralBindings(parseResult.program);
|
|
1713
|
+
function resolveConst(node) {
|
|
1714
|
+
if ((node === null || node === void 0 ? void 0 : node.type) === "Identifier") return moduleConsts.get(node.name);
|
|
1715
|
+
return node;
|
|
1716
|
+
}
|
|
1717
|
+
var ancestors = [];
|
|
1718
|
+
function isOptionalHere(name) {
|
|
1719
|
+
if (!allowOptionalDependencies) return false;
|
|
1720
|
+
if (Array.isArray(allowOptionalDependencies.exclude)) {
|
|
1721
|
+
if (allowOptionalDependencies.exclude.includes(name)) return false;
|
|
1722
|
+
}
|
|
1723
|
+
var sCount = 0;
|
|
1724
|
+
for (var i2 = ancestors.length - 1; i2 >= 0 && sCount < 3; i2--) {
|
|
1725
|
+
var n = ancestors[i2];
|
|
1726
|
+
var isStatement = /(?:Statement|Declaration)$/.test(n.type);
|
|
1727
|
+
if (!isStatement) continue;
|
|
1728
|
+
if (n.type === "BlockStatement") {
|
|
1729
|
+
var parent = ancestors[i2 - 1];
|
|
1730
|
+
return (parent === null || parent === void 0 ? void 0 : parent.type) === "TryStatement" && parent.block === n;
|
|
1731
|
+
}
|
|
1732
|
+
sCount += 1;
|
|
1733
|
+
}
|
|
1734
|
+
return false;
|
|
1735
|
+
}
|
|
1736
|
+
var scopeTracker = new ScopeTracker();
|
|
1737
|
+
collectHoistedBindings(parseResult.program, scopeTracker.currentScope());
|
|
1738
|
+
collectBlockBindings(parseResult.program.body, scopeTracker.currentScope());
|
|
1739
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
1740
|
+
try {
|
|
1741
|
+
for (var _iterator = (parseResult.program.body || [])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
1742
|
+
var stmt = _step.value;
|
|
1743
|
+
if (stmt.type === "ImportDeclaration") {
|
|
1744
|
+
var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
|
|
1745
|
+
try {
|
|
1746
|
+
for (var _iterator1 = (stmt.specifiers || [])[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
|
|
1747
|
+
var spec = _step1.value;
|
|
1748
|
+
var _spec_local;
|
|
1749
|
+
if ((_spec_local = spec.local) === null || _spec_local === void 0 ? void 0 : _spec_local.name) {
|
|
1750
|
+
scopeTracker.add(spec.local.name);
|
|
1751
|
+
}
|
|
1752
|
+
}
|
|
1753
|
+
} catch (err) {
|
|
1754
|
+
_didIteratorError1 = true;
|
|
1755
|
+
_iteratorError1 = err;
|
|
1756
|
+
} finally {
|
|
1757
|
+
try {
|
|
1758
|
+
if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
|
|
1759
|
+
_iterator1.return();
|
|
1760
|
+
}
|
|
1761
|
+
} finally {
|
|
1762
|
+
if (_didIteratorError1) {
|
|
1763
|
+
throw _iteratorError1;
|
|
1764
|
+
}
|
|
1765
|
+
}
|
|
1766
|
+
}
|
|
1767
|
+
}
|
|
1768
|
+
}
|
|
1769
|
+
} catch (err) {
|
|
1770
|
+
_didIteratorError = true;
|
|
1771
|
+
_iteratorError = err;
|
|
1772
|
+
} finally {
|
|
1773
|
+
try {
|
|
1774
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
1775
|
+
_iterator.return();
|
|
1776
|
+
}
|
|
1777
|
+
} finally {
|
|
1778
|
+
if (_didIteratorError) {
|
|
1779
|
+
throw _iteratorError;
|
|
1780
|
+
}
|
|
1781
|
+
}
|
|
1782
|
+
}
|
|
1783
|
+
function walk(node) {
|
|
1784
|
+
var _node_source, _node_source1, _node_callee, _node_callee1, _node_callee_object, _node_callee_property;
|
|
1785
|
+
if (!node || typeof node !== "object") return;
|
|
1786
|
+
var pushedScope = false;
|
|
1787
|
+
ancestors.push(node);
|
|
1788
|
+
if (node.type === "FunctionDeclaration" || node.type === "FunctionExpression" || node.type === "ArrowFunctionExpression") {
|
|
1789
|
+
var _node_id;
|
|
1790
|
+
scopeTracker.enter();
|
|
1791
|
+
pushedScope = true;
|
|
1792
|
+
var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;
|
|
1793
|
+
try {
|
|
1794
|
+
for (var _iterator2 = (node.params || [])[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
|
|
1795
|
+
var param = _step2.value;
|
|
1796
|
+
scopeTracker.addPattern(param);
|
|
1797
|
+
}
|
|
1798
|
+
} catch (err) {
|
|
1799
|
+
_didIteratorError2 = true;
|
|
1800
|
+
_iteratorError2 = err;
|
|
1801
|
+
} finally {
|
|
1802
|
+
try {
|
|
1803
|
+
if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
|
|
1804
|
+
_iterator2.return();
|
|
1805
|
+
}
|
|
1806
|
+
} finally {
|
|
1807
|
+
if (_didIteratorError2) {
|
|
1808
|
+
throw _iteratorError2;
|
|
1809
|
+
}
|
|
1810
|
+
}
|
|
1811
|
+
}
|
|
1812
|
+
if (node.type === "FunctionExpression" && ((_node_id = node.id) === null || _node_id === void 0 ? void 0 : _node_id.name)) {
|
|
1813
|
+
scopeTracker.add(node.id.name);
|
|
1814
|
+
}
|
|
1815
|
+
if (node.body) {
|
|
1816
|
+
collectHoistedBindings(node.body, scopeTracker.currentScope());
|
|
1817
|
+
}
|
|
1818
|
+
} else if (node.type === "BlockStatement") {
|
|
1819
|
+
scopeTracker.enter();
|
|
1820
|
+
pushedScope = true;
|
|
1821
|
+
collectBlockBindings(node.body, scopeTracker.currentScope());
|
|
1822
|
+
} else if (node.type === "CatchClause") {
|
|
1823
|
+
scopeTracker.enter();
|
|
1824
|
+
pushedScope = true;
|
|
1825
|
+
if (node.param) {
|
|
1826
|
+
scopeTracker.addPattern(node.param);
|
|
1827
|
+
}
|
|
1828
|
+
} else if (node.type === "ForStatement" || node.type === "ForInStatement" || node.type === "ForOfStatement") {
|
|
1829
|
+
var decl = node.type === "ForStatement" ? node.init : node.left;
|
|
1830
|
+
if ((decl === null || decl === void 0 ? void 0 : decl.type) === "VariableDeclaration" && decl.kind !== "var") {
|
|
1831
|
+
scopeTracker.enter();
|
|
1832
|
+
pushedScope = true;
|
|
1833
|
+
var _iteratorNormalCompletion12 = true, _didIteratorError12 = false, _iteratorError12 = void 0;
|
|
1834
|
+
try {
|
|
1835
|
+
for (var _iterator12 = (decl.declarations || [])[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {
|
|
1836
|
+
var d = _step12.value;
|
|
1837
|
+
scopeTracker.addPattern(d.id);
|
|
1838
|
+
}
|
|
1839
|
+
} catch (err) {
|
|
1840
|
+
_didIteratorError12 = true;
|
|
1841
|
+
_iteratorError12 = err;
|
|
1842
|
+
} finally {
|
|
1843
|
+
try {
|
|
1844
|
+
if (!_iteratorNormalCompletion12 && _iterator12.return != null) {
|
|
1845
|
+
_iterator12.return();
|
|
1846
|
+
}
|
|
1847
|
+
} finally {
|
|
1848
|
+
if (_didIteratorError12) {
|
|
1849
|
+
throw _iteratorError12;
|
|
1850
|
+
}
|
|
1851
|
+
}
|
|
1852
|
+
}
|
|
1853
|
+
}
|
|
1854
|
+
}
|
|
1855
|
+
if (node.type === "ImportDeclaration" && ((_node_source = node.source) === null || _node_source === void 0 ? void 0 : _node_source.value)) {
|
|
1856
|
+
if (node.importKind !== "type") {
|
|
1857
|
+
var _node_specifiers;
|
|
1858
|
+
var hasValueSpecifier = !((_node_specifiers = node.specifiers) === null || _node_specifiers === void 0 ? void 0 : _node_specifiers.length) || node.specifiers.some(function(s) {
|
|
1859
|
+
return s.importKind !== "type";
|
|
1860
|
+
});
|
|
1861
|
+
if (hasValueSpecifier) {
|
|
1862
|
+
addDep(node.source.value, true, null, node.start, node.end);
|
|
1863
|
+
}
|
|
1864
|
+
}
|
|
1865
|
+
} else if ((node.type === "ExportNamedDeclaration" || node.type === "ExportAllDeclaration") && ((_node_source1 = node.source) === null || _node_source1 === void 0 ? void 0 : _node_source1.value)) {
|
|
1866
|
+
if (node.exportKind !== "type") {
|
|
1867
|
+
addDep(node.source.value, true, null, node.start, node.end);
|
|
1868
|
+
}
|
|
1869
|
+
} else if (node.type === "ImportExpression") {
|
|
1870
|
+
var _node_source2;
|
|
1871
|
+
if (((_node_source2 = node.source) === null || _node_source2 === void 0 ? void 0 : _node_source2.type) === "Literal" && typeof node.source.value === "string") {
|
|
1872
|
+
addDep(node.source.value, true, "async", node.start, node.end);
|
|
1873
|
+
addDep(asyncRequirePath, false, null, node.start, node.end);
|
|
1874
|
+
} else {
|
|
1875
|
+
throw new Error(`[vxrn/metro] Dynamic import with non-string literal is not supported by Metro in ${filename}`);
|
|
1876
|
+
}
|
|
1877
|
+
} else if (node.type === "CallExpression" && ((_node_callee = node.callee) === null || _node_callee === void 0 ? void 0 : _node_callee.type) === "Identifier" && node.callee.name === "require" && !scopeTracker.isShadowed("require")) {
|
|
1878
|
+
var _node_arguments_, _node_arguments;
|
|
1879
|
+
if (((_node_arguments = node.arguments) === null || _node_arguments === void 0 ? void 0 : (_node_arguments_ = _node_arguments[0]) === null || _node_arguments_ === void 0 ? void 0 : _node_arguments_.type) === "Literal" && typeof node.arguments[0].value === "string") {
|
|
1880
|
+
addDep(node.arguments[0].value, false, null, node.start, node.end, void 0, node.arguments[0].value !== asyncRequirePath && isOptionalHere(node.arguments[0].value));
|
|
1881
|
+
}
|
|
1882
|
+
} else if (node.type === "CallExpression" && ((_node_callee1 = node.callee) === null || _node_callee1 === void 0 ? void 0 : _node_callee1.type) === "MemberExpression" && !node.callee.computed && ((_node_callee_object = node.callee.object) === null || _node_callee_object === void 0 ? void 0 : _node_callee_object.type) === "Identifier" && node.callee.object.name === "require" && ((_node_callee_property = node.callee.property) === null || _node_callee_property === void 0 ? void 0 : _node_callee_property.type) === "Identifier" && node.callee.property.name === "context" && !scopeTracker.isShadowed("require")) {
|
|
1883
|
+
var args = node.arguments || [];
|
|
1884
|
+
var dir = resolveConst(args[0]);
|
|
1885
|
+
if ((dir === null || dir === void 0 ? void 0 : dir.type) !== "Literal" || typeof dir.value !== "string") {
|
|
1886
|
+
throw new Error(`[vxrn/metro] First argument of require.context must be a string literal in ${filename}`);
|
|
1887
|
+
}
|
|
1888
|
+
if (args.length > 4) {
|
|
1889
|
+
throw new Error(`[vxrn/metro] Too many arguments provided to require.context in ${filename}. Expected 4, got: ${args.length}`);
|
|
1890
|
+
}
|
|
1891
|
+
var recursive = true;
|
|
1892
|
+
var recursiveArg = resolveConst(args[1]);
|
|
1893
|
+
if (recursiveArg) {
|
|
1894
|
+
if (recursiveArg.type !== "Literal" || typeof recursiveArg.value !== "boolean") {
|
|
1895
|
+
throw new Error(`[vxrn/metro] Second argument of require.context must be an optional boolean literal in ${filename}`);
|
|
1896
|
+
}
|
|
1897
|
+
recursive = recursiveArg.value;
|
|
1898
|
+
}
|
|
1899
|
+
var filter = {
|
|
1900
|
+
pattern: ".*",
|
|
1901
|
+
flags: ""
|
|
1902
|
+
};
|
|
1903
|
+
var filterArg = resolveConst(args[2]);
|
|
1904
|
+
if (filterArg) {
|
|
1905
|
+
if (filterArg.type !== "Literal" || !filterArg.regex) {
|
|
1906
|
+
throw new Error(`[vxrn/metro] Third argument of require.context must be an optional RegExp literal in ${filename}, instead found node of type: ${filterArg.type}`);
|
|
1907
|
+
}
|
|
1908
|
+
filter = {
|
|
1909
|
+
pattern: filterArg.regex.pattern,
|
|
1910
|
+
flags: filterArg.regex.flags || ""
|
|
1911
|
+
};
|
|
1912
|
+
}
|
|
1913
|
+
var mode = "sync";
|
|
1914
|
+
var modeArg = resolveConst(args[3]);
|
|
1915
|
+
if (modeArg) {
|
|
1916
|
+
var m = modeArg.type === "Literal" ? modeArg.value : void 0;
|
|
1917
|
+
if (m !== "sync" && m !== "eager" && m !== "lazy" && m !== "lazy-once") {
|
|
1918
|
+
throw new Error(`[vxrn/metro] require.context mode must be one of sync, eager, lazy, lazy-once in ${filename}`);
|
|
1919
|
+
}
|
|
1920
|
+
mode = m;
|
|
1921
|
+
}
|
|
1922
|
+
addDep(dir.value, false, null, node.start, node.end, {
|
|
1923
|
+
recursive,
|
|
1924
|
+
filter,
|
|
1925
|
+
mode
|
|
1926
|
+
});
|
|
1927
|
+
}
|
|
1928
|
+
var _iteratorNormalCompletion22 = true, _didIteratorError22 = false, _iteratorError22 = void 0;
|
|
1929
|
+
try {
|
|
1930
|
+
for (var _iterator22 = Object.keys(node)[Symbol.iterator](), _step22; !(_iteratorNormalCompletion22 = (_step22 = _iterator22.next()).done); _iteratorNormalCompletion22 = true) {
|
|
1931
|
+
var key = _step22.value;
|
|
1932
|
+
if (key === "start" || key === "end" || key === "loc" || key === "range" || key === "parent" || key === "comments") continue;
|
|
1933
|
+
var child = node[key];
|
|
1934
|
+
if (Array.isArray(child)) {
|
|
1935
|
+
var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;
|
|
1936
|
+
try {
|
|
1937
|
+
for (var _iterator3 = child[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
|
|
1938
|
+
var item = _step3.value;
|
|
1939
|
+
walk(item);
|
|
1940
|
+
}
|
|
1941
|
+
} catch (err) {
|
|
1942
|
+
_didIteratorError3 = true;
|
|
1943
|
+
_iteratorError3 = err;
|
|
1944
|
+
} finally {
|
|
1945
|
+
try {
|
|
1946
|
+
if (!_iteratorNormalCompletion3 && _iterator3.return != null) {
|
|
1947
|
+
_iterator3.return();
|
|
1948
|
+
}
|
|
1949
|
+
} finally {
|
|
1950
|
+
if (_didIteratorError3) {
|
|
1951
|
+
throw _iteratorError3;
|
|
1952
|
+
}
|
|
1953
|
+
}
|
|
1954
|
+
}
|
|
1955
|
+
} else if (child && typeof child === "object") {
|
|
1956
|
+
walk(child);
|
|
1957
|
+
}
|
|
1958
|
+
}
|
|
1959
|
+
} catch (err) {
|
|
1960
|
+
_didIteratorError22 = true;
|
|
1961
|
+
_iteratorError22 = err;
|
|
1962
|
+
} finally {
|
|
1963
|
+
try {
|
|
1964
|
+
if (!_iteratorNormalCompletion22 && _iterator22.return != null) {
|
|
1965
|
+
_iterator22.return();
|
|
1966
|
+
}
|
|
1967
|
+
} finally {
|
|
1968
|
+
if (_didIteratorError22) {
|
|
1969
|
+
throw _iteratorError22;
|
|
1970
|
+
}
|
|
1971
|
+
}
|
|
1972
|
+
}
|
|
1973
|
+
ancestors.pop();
|
|
1974
|
+
if (pushedScope) {
|
|
1975
|
+
scopeTracker.exit();
|
|
1976
|
+
}
|
|
1977
|
+
}
|
|
1978
|
+
walk(parseResult.program);
|
|
1979
|
+
return Array.from(depMap.values());
|
|
1980
|
+
}
|
|
1981
|
+
function checkReservedStrings(sourceCode, config, options) {
|
|
1982
|
+
var _options_customTransformOptions;
|
|
1983
|
+
var reservedStrings = [];
|
|
1984
|
+
if (((_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : _options_customTransformOptions.unstable_staticHermesOptimizedRequire) === true) {
|
|
1985
|
+
reservedStrings.push("_$$_METRO_MODULE_ID");
|
|
1986
|
+
}
|
|
1987
|
+
if (config.unstable_dependencyMapReservedName != null) {
|
|
1988
|
+
reservedStrings.push(config.unstable_dependencyMapReservedName);
|
|
1989
|
+
}
|
|
1990
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
1991
|
+
try {
|
|
1992
|
+
for (var _iterator = reservedStrings[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
1993
|
+
var reservedString = _step.value;
|
|
1994
|
+
var position = sourceCode.indexOf(reservedString);
|
|
1995
|
+
if (position > -1) {
|
|
1996
|
+
throw new SyntaxError("Source code contains the reserved string `" + reservedString + "` at character offset " + position);
|
|
1997
|
+
}
|
|
1998
|
+
}
|
|
1999
|
+
} catch (err) {
|
|
2000
|
+
_didIteratorError = true;
|
|
2001
|
+
_iteratorError = err;
|
|
2002
|
+
} finally {
|
|
2003
|
+
try {
|
|
2004
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
2005
|
+
_iterator.return();
|
|
2006
|
+
}
|
|
2007
|
+
} finally {
|
|
2008
|
+
if (_didIteratorError) {
|
|
2009
|
+
throw _iteratorError;
|
|
2010
|
+
}
|
|
2011
|
+
}
|
|
2012
|
+
}
|
|
2013
|
+
}
|
|
2014
|
+
var workletsConfigured = false;
|
|
2015
|
+
var oneNativeTransforms;
|
|
2016
|
+
function loadOneNativeTransforms(projectRoot) {
|
|
2017
|
+
if (oneNativeTransforms !== void 0) return oneNativeTransforms;
|
|
2018
|
+
try {
|
|
2019
|
+
var req = (0, import_module.createRequire)(import_path.default.resolve(projectRoot, "package.json"));
|
|
2020
|
+
oneNativeTransforms = req("one/native-transforms");
|
|
2021
|
+
} catch (unused) {
|
|
2022
|
+
oneNativeTransforms = null;
|
|
2023
|
+
}
|
|
2024
|
+
return oneNativeTransforms;
|
|
2025
|
+
}
|
|
2026
|
+
async function configureWorkletsForWorker(projectRoot) {
|
|
2027
|
+
if (workletsConfigured) return;
|
|
2028
|
+
workletsConfigured = true;
|
|
2029
|
+
if (!projectRoot) return;
|
|
2030
|
+
var req = (0, import_module.createRequire)(import_path.default.resolve(projectRoot, "package.json"));
|
|
2031
|
+
var hasReanimated = false;
|
|
2032
|
+
try {
|
|
2033
|
+
req.resolve("react-native-reanimated/package.json");
|
|
2034
|
+
hasReanimated = true;
|
|
2035
|
+
} catch (unused) {
|
|
2036
|
+
try {
|
|
2037
|
+
req.resolve("react-native-worklets/package.json");
|
|
2038
|
+
hasReanimated = true;
|
|
2039
|
+
} catch (unused2) {}
|
|
2040
|
+
}
|
|
2041
|
+
var { configureVXRNCompilerPlugin } = await import("@vxrn/compiler");
|
|
2042
|
+
configureVXRNCompilerPlugin({ enableReanimated: hasReanimated });
|
|
2043
|
+
}
|
|
2044
|
+
async function transform(config, projectRoot, filename, data, options) {
|
|
2045
|
+
var _options_customTransformOptions, _options_customTransformOptions1, _options_customTransformOptions2, _oxcRes_errors;
|
|
2046
|
+
assertNoUnportedBabelPlugins(options);
|
|
2047
|
+
var sourceCode = typeof data === "string" ? data : data.toString("utf8");
|
|
2048
|
+
var environment = (_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : _options_customTransformOptions.environment;
|
|
2049
|
+
var isClientEnvironment = environment !== "node" && environment !== "react-server";
|
|
2050
|
+
if (isClientEnvironment && /[\\/]expo[\\/]virtual[\\/]env\.js$/.test(filename)) {
|
|
2051
|
+
if (options.dev) {
|
|
2052
|
+
var rel = import_path.default.relative(import_path.default.dirname(filename), projectRoot).split(import_path.default.sep).join("/");
|
|
2053
|
+
sourceCode = `const dotEnvModules = require.context(${JSON.stringify(rel)},false,/^\\.\\/\\.env/);
|
|
2054
|
+
export const env = !dotEnvModules.keys().length ? process.env : { ...process.env, ...['.env', '.env.development', '.env.local', '.env.development.local'].reduce((acc, file) => {
|
|
2055
|
+
return { ...acc, ...(dotEnvModules(file)?.default ?? {}) };
|
|
2056
|
+
}, {}) };`;
|
|
2057
|
+
} else {
|
|
2058
|
+
sourceCode = `export const env = new Proxy({}, {
|
|
2059
|
+
get(target, key) {
|
|
2060
|
+
throw new Error(\`Attempting to access internal environment variable "\${String(key)}" is not supported in production bundles.\`);
|
|
2061
|
+
},
|
|
2062
|
+
});`;
|
|
2063
|
+
}
|
|
2064
|
+
} else if (/(^|[\\/])\.env(\.(local|(development|production)(\.local)?))?$/.test(filename)) {
|
|
2065
|
+
var { parseEnvFile } = await import("@expo/metro-config/build/transform-worker/dot-env-development");
|
|
2066
|
+
sourceCode = `export default ${JSON.stringify(parseEnvFile(sourceCode, isClientEnvironment))};`;
|
|
2067
|
+
}
|
|
2068
|
+
checkReservedStrings(sourceCode, config, options);
|
|
2069
|
+
if (filename.endsWith(".json")) {
|
|
2070
|
+
try {
|
|
2071
|
+
JSON.parse(sourceCode);
|
|
2072
|
+
} catch (err) {
|
|
2073
|
+
throw new Error(`[vxrn/metro] JSON parse error in ${filename}: ${err.message || err}`);
|
|
2074
|
+
}
|
|
2075
|
+
var code = config.unstable_disableModuleWrapping === true ? `module.exports = ${sourceCode};` : wrapJson(sourceCode, {
|
|
2076
|
+
globalPrefix: config.globalPrefix,
|
|
2077
|
+
moduleId: options.moduleId,
|
|
2078
|
+
dependencyIds: options.dependencyIds
|
|
2079
|
+
});
|
|
2080
|
+
if (options.minify && options.unstable_transformProfile !== "hermes-canary" && options.unstable_transformProfile !== "hermes-stable" && config.minifierPath) {
|
|
2081
|
+
try {
|
|
2082
|
+
var minifier = require(config.minifierPath);
|
|
2083
|
+
var minified = await minifier({
|
|
2084
|
+
code,
|
|
2085
|
+
config: config.minifierConfig,
|
|
2086
|
+
filename
|
|
2087
|
+
});
|
|
2088
|
+
code = minified.code;
|
|
2089
|
+
} catch (err) {
|
|
2090
|
+
throw new Error(`[vxrn/metro] Minifier failed for ${filename}: ${err.message || err}`);
|
|
2091
|
+
}
|
|
2092
|
+
}
|
|
2093
|
+
var { lineCount, map } = countLinesAndTerminateMap(code, []);
|
|
2094
|
+
var outputType = options.type === "asset" ? "js/module/asset" : options.type === "script" ? "js/script" : "js/module";
|
|
2095
|
+
return {
|
|
2096
|
+
dependencies: [],
|
|
2097
|
+
output: [{
|
|
2098
|
+
data: {
|
|
2099
|
+
code,
|
|
2100
|
+
lineCount,
|
|
2101
|
+
map,
|
|
2102
|
+
functionMap: null
|
|
2103
|
+
},
|
|
2104
|
+
type: outputType
|
|
2105
|
+
}]
|
|
2106
|
+
};
|
|
2107
|
+
}
|
|
2108
|
+
if (options.type === "asset") {
|
|
2109
|
+
var assetRegistryPath = config.assetRegistryPath || "react-native/asset-registry";
|
|
2110
|
+
var properDescriptor = null;
|
|
2111
|
+
var absolutePath = import_path.default.resolve(projectRoot, filename);
|
|
2112
|
+
if (import_fs.default.existsSync(absolutePath)) {
|
|
2113
|
+
try {
|
|
2114
|
+
var getAssetData;
|
|
2115
|
+
try {
|
|
2116
|
+
getAssetData = require("metro/private/Assets").getAssetData;
|
|
2117
|
+
} catch (unused) {
|
|
2118
|
+
getAssetData = require("metro/src/Assets").getAssetData;
|
|
2119
|
+
}
|
|
2120
|
+
if (typeof getAssetData === "function") {
|
|
2121
|
+
var rawData = await getAssetData(absolutePath, filename, config.assetPlugins || [], options.platform || "", config.publicPath || "/assets");
|
|
2122
|
+
var copied = { ...rawData };
|
|
2123
|
+
delete copied.files;
|
|
2124
|
+
delete copied.fileSystemLocation;
|
|
2125
|
+
delete copied.path;
|
|
2126
|
+
properDescriptor = copied;
|
|
2127
|
+
}
|
|
2128
|
+
} catch (err) {
|
|
2129
|
+
throw new Error(`[vxrn/metro] Asset resolution failed for ${filename}: ${err.message || err}`);
|
|
2130
|
+
}
|
|
2131
|
+
}
|
|
2132
|
+
if (!properDescriptor) {
|
|
2133
|
+
var ext = import_path.default.extname(filename).slice(1);
|
|
2134
|
+
var name = import_path.default.basename(filename, "." + ext);
|
|
2135
|
+
properDescriptor = {
|
|
2136
|
+
__packager_asset: true,
|
|
2137
|
+
httpServerLocation: config.publicPath || "/assets",
|
|
2138
|
+
width: void 0,
|
|
2139
|
+
height: void 0,
|
|
2140
|
+
scales: [1],
|
|
2141
|
+
hash: import_crypto.default.createHash("md5").update(sourceCode).digest("hex"),
|
|
2142
|
+
name,
|
|
2143
|
+
type: ext
|
|
2144
|
+
};
|
|
2145
|
+
}
|
|
2146
|
+
var assetDepMapName = config.unstable_dependencyMapReservedName || "_dependencyMap";
|
|
2147
|
+
var assetCode = `module.exports = require(${assetDepMapName}[0], ${JSON.stringify(assetRegistryPath)}).registerAsset(${JSON.stringify(properDescriptor)});`;
|
|
2148
|
+
var code1 = config.unstable_disableModuleWrapping === true ? assetCode : wrapModule(assetCode, {
|
|
2149
|
+
globalPrefix: config.globalPrefix,
|
|
2150
|
+
moduleId: options.moduleId,
|
|
2151
|
+
dependencyIds: options.dependencyIds,
|
|
2152
|
+
dependencyMapName: config.unstable_dependencyMapReservedName
|
|
2153
|
+
});
|
|
2154
|
+
var dependencies = [{
|
|
2155
|
+
name: assetRegistryPath,
|
|
2156
|
+
data: {
|
|
2157
|
+
key: getDependencyKey(assetRegistryPath, false, null),
|
|
2158
|
+
asyncType: null,
|
|
2159
|
+
locs: [],
|
|
2160
|
+
isESMImportAtSource: false,
|
|
2161
|
+
isESMImport: false,
|
|
2162
|
+
index: 0
|
|
2163
|
+
}
|
|
2164
|
+
}];
|
|
2165
|
+
var { lineCount: lineCount1, map: map1 } = countLinesAndTerminateMap(code1, []);
|
|
2166
|
+
return {
|
|
2167
|
+
dependencies,
|
|
2168
|
+
output: [{
|
|
2169
|
+
data: {
|
|
2170
|
+
code: code1,
|
|
2171
|
+
lineCount: lineCount1,
|
|
2172
|
+
map: map1,
|
|
2173
|
+
functionMap: null
|
|
2174
|
+
},
|
|
2175
|
+
type: "js/module/asset"
|
|
2176
|
+
}]
|
|
2177
|
+
};
|
|
2178
|
+
}
|
|
2179
|
+
var code2 = sourceCode;
|
|
2180
|
+
var intermediateMaps = [];
|
|
2181
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
2182
|
+
try {
|
|
2183
|
+
for (var _iterator = getNativeTransforms(options, projectRoot)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
2184
|
+
var nativeTransform = _step.value;
|
|
2185
|
+
var out = nativeTransform(code2, {
|
|
2186
|
+
filename: import_path.default.isAbsolute(filename) ? filename : import_path.default.resolve(projectRoot, filename),
|
|
2187
|
+
platform: options.platform,
|
|
2188
|
+
dev: options.dev,
|
|
2189
|
+
projectRoot
|
|
2190
|
+
});
|
|
2191
|
+
if (typeof out === "string") code2 = out;
|
|
2192
|
+
}
|
|
2193
|
+
} catch (err) {
|
|
2194
|
+
_didIteratorError = true;
|
|
2195
|
+
_iteratorError = err;
|
|
2196
|
+
} finally {
|
|
2197
|
+
try {
|
|
2198
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
2199
|
+
_iterator.return();
|
|
2200
|
+
}
|
|
2201
|
+
} finally {
|
|
2202
|
+
if (_didIteratorError) {
|
|
2203
|
+
throw _iteratorError;
|
|
2204
|
+
}
|
|
2205
|
+
}
|
|
2206
|
+
}
|
|
2207
|
+
var oneRouterOptions = getOneRouterMetroOptions(options);
|
|
2208
|
+
if (oneRouterOptions) {
|
|
2209
|
+
code2 = applyOneRouterMetro(code2, filename, oneRouterOptions);
|
|
2210
|
+
}
|
|
2211
|
+
try {
|
|
2212
|
+
var codegenRes = (0, import_compiler.transformReactNativeCodegen)(code2, filename, projectRoot);
|
|
2213
|
+
if (codegenRes === null || codegenRes === void 0 ? void 0 : codegenRes.code) {
|
|
2214
|
+
code2 = codegenRes.code;
|
|
2215
|
+
if (codegenRes.map) {
|
|
2216
|
+
intermediateMaps.push(codegenRes.map);
|
|
2217
|
+
}
|
|
2218
|
+
}
|
|
2219
|
+
} catch (err) {
|
|
2220
|
+
throw new Error(`[vxrn/metro] React Native codegen failed for ${filename}: ${err.message || err}`);
|
|
2221
|
+
}
|
|
2222
|
+
if ((0, import_compiler.shouldStripFlow)(filename, code2)) {
|
|
2223
|
+
try {
|
|
2224
|
+
var flowResult = await (0, import_compiler.stripFlowTypes)(filename, code2);
|
|
2225
|
+
if (flowResult === null || flowResult === void 0 ? void 0 : flowResult.code) {
|
|
2226
|
+
code2 = flowResult.code;
|
|
2227
|
+
if (flowResult.map) {
|
|
2228
|
+
intermediateMaps.push(typeof flowResult.map === "string" ? JSON.parse(flowResult.map) : flowResult.map);
|
|
2229
|
+
}
|
|
2230
|
+
}
|
|
2231
|
+
} catch (err) {
|
|
2232
|
+
throw new Error(`[vxrn/metro] Flow transform failed for ${filename}: ${err.message || err}`);
|
|
2233
|
+
}
|
|
2234
|
+
}
|
|
2235
|
+
var asyncRequirePath = config.asyncRequireModulePath || "metro-runtime/src/modules/asyncRequire";
|
|
2236
|
+
var aliases = getModuleResolverAliases(options);
|
|
2237
|
+
if (aliases && projectRoot) {
|
|
2238
|
+
var aliasKeys = Object.keys(aliases);
|
|
2239
|
+
if (aliasKeys.some(function(k) {
|
|
2240
|
+
return code2.includes(k.endsWith("$") ? k.slice(0, -1) : k);
|
|
2241
|
+
})) {
|
|
2242
|
+
code2 = applyModuleResolverAliases(code2, filename, projectRoot, aliases);
|
|
2243
|
+
}
|
|
2244
|
+
}
|
|
2245
|
+
if (code2.includes("process.env") || code2.includes("import.meta")) {
|
|
2246
|
+
code2 = applyInlineEnvVars(code2, filename, !options.dev, getImportMetaEnv(options));
|
|
2247
|
+
}
|
|
2248
|
+
if (code2.includes("-only")) {
|
|
2249
|
+
code2 = applyEnvironmentGuard(code2, filename);
|
|
2250
|
+
}
|
|
2251
|
+
var serverCodeRouterRoot = getRemoveServerCodeRouterRoot(options);
|
|
2252
|
+
if (serverCodeRouterRoot && projectRoot && !filename.includes("node_modules")) {
|
|
2253
|
+
var oneNativeTransforms2 = loadOneNativeTransforms(projectRoot);
|
|
2254
|
+
if (oneNativeTransforms2) {
|
|
2255
|
+
var shaken = await oneNativeTransforms2.transformTreeShakeClient(code2, filename, projectRoot, serverCodeRouterRoot);
|
|
2256
|
+
if (shaken === null || shaken === void 0 ? void 0 : shaken.code) {
|
|
2257
|
+
code2 = shaken.code;
|
|
2258
|
+
}
|
|
2259
|
+
}
|
|
2260
|
+
}
|
|
2261
|
+
var dependencies1 = extractDependencies(code2, filename, {
|
|
2262
|
+
asyncRequireModulePath: asyncRequirePath,
|
|
2263
|
+
allowOptionalDependencies: config.allowOptionalDependencies
|
|
2264
|
+
});
|
|
2265
|
+
await configureWorkletsForWorker(projectRoot);
|
|
2266
|
+
var shouldRunWorklets = Boolean((_options_customTransformOptions1 = options.customTransformOptions) === null || _options_customTransformOptions1 === void 0 ? void 0 : _options_customTransformOptions1.worklets);
|
|
2267
|
+
if (!shouldRunWorklets) {
|
|
2268
|
+
var { shouldTransformWorklets } = await import("@vxrn/compiler");
|
|
2269
|
+
shouldRunWorklets = shouldTransformWorklets({
|
|
2270
|
+
id: filename,
|
|
2271
|
+
code: code2
|
|
2272
|
+
});
|
|
2273
|
+
}
|
|
2274
|
+
var shouldRunReactCompiler = Boolean((_options_customTransformOptions2 = options.customTransformOptions) === null || _options_customTransformOptions2 === void 0 ? void 0 : _options_customTransformOptions2.reactCompiler) || hasBabelPlugin(options, "babel-plugin-react-compiler") && isReactCompilerCandidate(filename) || code2.includes("\"use memo\"") || code2.includes("'use memo'");
|
|
2275
|
+
if (shouldRunReactCompiler) {
|
|
2276
|
+
try {
|
|
2277
|
+
var { prepareWorkletsForReactCompiler, transformOxcReactCompiler } = await import("@vxrn/compiler");
|
|
2278
|
+
if (shouldRunWorklets) {
|
|
2279
|
+
var prepared = prepareWorkletsForReactCompiler(filename, code2, true);
|
|
2280
|
+
if (prepared) {
|
|
2281
|
+
code2 = prepared.code;
|
|
2282
|
+
if (prepared.map) intermediateMaps.push(prepared.map);
|
|
2283
|
+
}
|
|
2284
|
+
}
|
|
2285
|
+
var compilerRes = await transformOxcReactCompiler(filename, code2, "19", true);
|
|
2286
|
+
if (compilerRes === null || compilerRes === void 0 ? void 0 : compilerRes.code) {
|
|
2287
|
+
code2 = compilerRes.code;
|
|
2288
|
+
if (compilerRes.map) {
|
|
2289
|
+
intermediateMaps.push(typeof compilerRes.map === "string" ? JSON.parse(compilerRes.map) : compilerRes.map);
|
|
2290
|
+
}
|
|
2291
|
+
}
|
|
2292
|
+
} catch (err) {
|
|
2293
|
+
throw new Error(`[vxrn/metro] React Compiler failed for ${filename}: ${err.message || err}`);
|
|
2294
|
+
}
|
|
2295
|
+
}
|
|
2296
|
+
if (shouldRunWorklets) {
|
|
2297
|
+
try {
|
|
2298
|
+
var { transformWorklets } = await import("@vxrn/compiler");
|
|
2299
|
+
var workletRes = await transformWorklets(filename, code2, true, { projectRoot });
|
|
2300
|
+
if (workletRes === null || workletRes === void 0 ? void 0 : workletRes.code) {
|
|
2301
|
+
code2 = workletRes.code;
|
|
2302
|
+
if (workletRes.map) {
|
|
2303
|
+
intermediateMaps.push(typeof workletRes.map === "string" ? JSON.parse(workletRes.map) : workletRes.map);
|
|
2304
|
+
}
|
|
2305
|
+
}
|
|
2306
|
+
} catch (err) {
|
|
2307
|
+
throw new Error(`[vxrn/metro] Worklets transform failed for ${filename}: ${err.message || err}`);
|
|
2308
|
+
}
|
|
2309
|
+
}
|
|
2310
|
+
var lang = langForFilename(filename);
|
|
2311
|
+
var { transformSync: oxcTransform } = await import("oxc-transform");
|
|
2312
|
+
var oxcRes;
|
|
2313
|
+
try {
|
|
2314
|
+
oxcRes = oxcTransform(filename, code2, {
|
|
2315
|
+
lang,
|
|
2316
|
+
target: "es2020",
|
|
2317
|
+
assumptions: { setPublicClassFields: true },
|
|
2318
|
+
jsx: {
|
|
2319
|
+
runtime: "automatic",
|
|
2320
|
+
development: Boolean(options.dev)
|
|
2321
|
+
},
|
|
2322
|
+
sourcemap: true
|
|
2323
|
+
});
|
|
2324
|
+
} catch (err) {
|
|
2325
|
+
throw new Error(`[vxrn/metro] Oxc transform failed for ${filename}: ${err.message || err}`);
|
|
2326
|
+
}
|
|
2327
|
+
if ((_oxcRes_errors = oxcRes.errors) === null || _oxcRes_errors === void 0 ? void 0 : _oxcRes_errors.length) {
|
|
2328
|
+
throw new Error(`[vxrn/metro] Oxc transform failed for ${filename}: ${oxcRes.errors[0].message || oxcRes.errors[0]}`);
|
|
2329
|
+
}
|
|
2330
|
+
code2 = oxcRes.code || code2;
|
|
2331
|
+
if (oxcRes.map) {
|
|
2332
|
+
intermediateMaps.push(typeof oxcRes.map === "string" ? JSON.parse(oxcRes.map) : oxcRes.map);
|
|
2333
|
+
}
|
|
2334
|
+
try {
|
|
2335
|
+
var esbuildRes = await (0, import_compiler.transformHermesAsync)(code2, filename, true, options.type === "script" ? void 0 : "cjs");
|
|
2336
|
+
if (esbuildRes) {
|
|
2337
|
+
code2 = esbuildRes.code;
|
|
2338
|
+
if (esbuildRes.map) {
|
|
2339
|
+
intermediateMaps.push(esbuildRes.map);
|
|
2340
|
+
}
|
|
2341
|
+
}
|
|
2342
|
+
} catch (err) {
|
|
2343
|
+
throw new Error(`[vxrn/metro] native async/CJS lowering failed for ${filename}: ${err.message || err}`);
|
|
2344
|
+
}
|
|
2345
|
+
try {
|
|
2346
|
+
var loopsRes = (0, import_compiler.transformHermesLoops)(code2, filename);
|
|
2347
|
+
if (loopsRes) {
|
|
2348
|
+
code2 = loopsRes.code;
|
|
2349
|
+
var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
|
|
2350
|
+
try {
|
|
2351
|
+
for (var _iterator1 = loopsRes.maps[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
|
|
2352
|
+
var map2 = _step1.value;
|
|
2353
|
+
intermediateMaps.push(map2);
|
|
2354
|
+
}
|
|
2355
|
+
} catch (err) {
|
|
2356
|
+
_didIteratorError1 = true;
|
|
2357
|
+
_iteratorError1 = err;
|
|
2358
|
+
} finally {
|
|
2359
|
+
try {
|
|
2360
|
+
if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
|
|
2361
|
+
_iterator1.return();
|
|
2362
|
+
}
|
|
2363
|
+
} finally {
|
|
2364
|
+
if (_didIteratorError1) {
|
|
2365
|
+
throw _iteratorError1;
|
|
2366
|
+
}
|
|
2367
|
+
}
|
|
2368
|
+
}
|
|
2369
|
+
}
|
|
2370
|
+
} catch (err) {
|
|
2371
|
+
throw new Error(`[vxrn/metro] Hermes loop-binding transform failed for ${filename}: ${err.message || err}`);
|
|
2372
|
+
}
|
|
2373
|
+
var finalDeps = extractDependencies(code2, filename, {
|
|
2374
|
+
asyncRequireModulePath: asyncRequirePath,
|
|
2375
|
+
allowOptionalDependencies: config.allowOptionalDependencies
|
|
2376
|
+
});
|
|
2377
|
+
var finalNames = new Set(finalDeps.map(function(d) {
|
|
2378
|
+
return d.name;
|
|
2379
|
+
}));
|
|
2380
|
+
var reconciled = dependencies1.filter(function(d) {
|
|
2381
|
+
return finalNames.has(d.name);
|
|
2382
|
+
});
|
|
2383
|
+
var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;
|
|
2384
|
+
try {
|
|
2385
|
+
var _loop = function() {
|
|
2386
|
+
var injected = _step2.value;
|
|
2387
|
+
if (reconciled.some(function(d) {
|
|
2388
|
+
return d.name === injected.name;
|
|
2389
|
+
})) return "continue";
|
|
2390
|
+
reconciled.push(injected);
|
|
2391
|
+
};
|
|
2392
|
+
for (var _iterator2 = finalDeps[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) _loop();
|
|
2393
|
+
} catch (err) {
|
|
2394
|
+
_didIteratorError2 = true;
|
|
2395
|
+
_iteratorError2 = err;
|
|
2396
|
+
} finally {
|
|
2397
|
+
try {
|
|
2398
|
+
if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
|
|
2399
|
+
_iterator2.return();
|
|
2400
|
+
}
|
|
2401
|
+
} finally {
|
|
2402
|
+
if (_didIteratorError2) {
|
|
2403
|
+
throw _iteratorError2;
|
|
2404
|
+
}
|
|
2405
|
+
}
|
|
2406
|
+
}
|
|
2407
|
+
dependencies1.length = 0;
|
|
2408
|
+
var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;
|
|
2409
|
+
try {
|
|
2410
|
+
for (var _iterator3 = reconciled[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
|
|
2411
|
+
var dep = _step3.value;
|
|
2412
|
+
dependencies1.push({
|
|
2413
|
+
...dep,
|
|
2414
|
+
data: {
|
|
2415
|
+
...dep.data,
|
|
2416
|
+
index: dependencies1.length
|
|
2417
|
+
}
|
|
2418
|
+
});
|
|
2419
|
+
}
|
|
2420
|
+
} catch (err) {
|
|
2421
|
+
_didIteratorError3 = true;
|
|
2422
|
+
_iteratorError3 = err;
|
|
2423
|
+
} finally {
|
|
2424
|
+
try {
|
|
2425
|
+
if (!_iteratorNormalCompletion3 && _iterator3.return != null) {
|
|
2426
|
+
_iterator3.return();
|
|
2427
|
+
}
|
|
2428
|
+
} finally {
|
|
2429
|
+
if (_didIteratorError3) {
|
|
2430
|
+
throw _iteratorError3;
|
|
2431
|
+
}
|
|
2432
|
+
}
|
|
2433
|
+
}
|
|
2434
|
+
var depMapName = config.unstable_dependencyMapReservedName || "_dependencyMap";
|
|
2435
|
+
if (options.type === "script") {
|
|
2436
|
+
var msScript = new import_magic_string.default(code2);
|
|
2437
|
+
msScript.prepend(`(function (global) {
|
|
2438
|
+
`);
|
|
2439
|
+
msScript.append(`
|
|
2440
|
+
})(typeof globalThis !== 'undefined' ? globalThis : typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : this);`);
|
|
2441
|
+
code2 = msScript.toString();
|
|
2442
|
+
intermediateMaps.push(msScript.generateMap({
|
|
2443
|
+
source: filename,
|
|
2444
|
+
hires: true,
|
|
2445
|
+
includeContent: true
|
|
2446
|
+
}));
|
|
2447
|
+
} else if (config.unstable_disableModuleWrapping === true) {
|
|
2448
|
+
var rewriteRes = rewriteDependencyCalls(code2, dependencies1, depMapName, filename, asyncRequirePath);
|
|
2449
|
+
code2 = rewriteRes.code;
|
|
2450
|
+
if (rewriteRes.map) {
|
|
2451
|
+
intermediateMaps.push(rewriteRes.map);
|
|
2452
|
+
}
|
|
2453
|
+
} else {
|
|
2454
|
+
var rewriteRes1 = rewriteDependencyCalls(code2, dependencies1, depMapName, filename, asyncRequirePath);
|
|
2455
|
+
if (rewriteRes1.map) {
|
|
2456
|
+
intermediateMaps.push(rewriteRes1.map);
|
|
2457
|
+
}
|
|
2458
|
+
var msWrap = new import_magic_string.default(rewriteRes1.code);
|
|
2459
|
+
var globalPrefix = config.globalPrefix || "";
|
|
2460
|
+
var header = `function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, ${depMapName}) {
|
|
2461
|
+
var require = _$$_REQUIRE;
|
|
2462
|
+
`;
|
|
2463
|
+
var footer = `
|
|
2464
|
+
}`;
|
|
2465
|
+
msWrap.prepend(`${globalPrefix}__d(${header}`);
|
|
2466
|
+
if (options.moduleId !== void 0) {
|
|
2467
|
+
var depIds = options.dependencyIds ? JSON.stringify(options.dependencyIds) : "[]";
|
|
2468
|
+
msWrap.append(`${footer}, ${JSON.stringify(options.moduleId)}, ${depIds});`);
|
|
2469
|
+
} else {
|
|
2470
|
+
msWrap.append(`${footer});`);
|
|
2471
|
+
}
|
|
2472
|
+
code2 = msWrap.toString();
|
|
2473
|
+
intermediateMaps.push(msWrap.generateMap({
|
|
2474
|
+
source: filename,
|
|
2475
|
+
hires: true,
|
|
2476
|
+
includeContent: true
|
|
2477
|
+
}));
|
|
2478
|
+
}
|
|
2479
|
+
if (options.minify && options.unstable_transformProfile !== "hermes-canary" && options.unstable_transformProfile !== "hermes-stable" && config.minifierPath) {
|
|
2480
|
+
try {
|
|
2481
|
+
var minifier1 = require(config.minifierPath);
|
|
2482
|
+
var minified1 = await minifier1({
|
|
2483
|
+
code: code2,
|
|
2484
|
+
config: config.minifierConfig,
|
|
2485
|
+
filename,
|
|
2486
|
+
map: new import_magic_string.default(code2).generateMap({
|
|
2487
|
+
source: filename,
|
|
2488
|
+
hires: true,
|
|
2489
|
+
includeContent: true
|
|
2490
|
+
})
|
|
2491
|
+
});
|
|
2492
|
+
code2 = minified1.code;
|
|
2493
|
+
if (minified1.map) {
|
|
2494
|
+
intermediateMaps.push(typeof minified1.map === "string" ? JSON.parse(minified1.map) : minified1.map);
|
|
2495
|
+
} else {
|
|
2496
|
+
intermediateMaps.length = 0;
|
|
2497
|
+
}
|
|
2498
|
+
} catch (err) {
|
|
2499
|
+
throw new Error(`[vxrn/metro] Minifier failed for ${filename}: ${err.message || err}`);
|
|
2500
|
+
}
|
|
2501
|
+
}
|
|
2502
|
+
var rawMappings = [];
|
|
2503
|
+
if (intermediateMaps.length > 0) {
|
|
2504
|
+
var cleanMaps = intermediateMaps.map(function(m) {
|
|
2505
|
+
return typeof m === "string" ? JSON.parse(m) : m;
|
|
2506
|
+
}).filter(Boolean);
|
|
2507
|
+
if (cleanMaps.length > 0) {
|
|
2508
|
+
var composed = cleanMaps.length === 1 ? cleanMaps[0] : (0, import_remapping.default)(cleanMaps.slice().reverse(), function() {
|
|
2509
|
+
return null;
|
|
2510
|
+
});
|
|
2511
|
+
rawMappings = convertSourceMapToMetroRawMappings(composed);
|
|
2512
|
+
}
|
|
2513
|
+
}
|
|
2514
|
+
var { lineCount: lineCount2, map: map3 } = countLinesAndTerminateMap(code2, rawMappings);
|
|
2515
|
+
return {
|
|
2516
|
+
dependencies: dependencies1,
|
|
2517
|
+
output: [{
|
|
2518
|
+
data: {
|
|
2519
|
+
code: code2,
|
|
2520
|
+
lineCount: lineCount2,
|
|
2521
|
+
map: map3,
|
|
2522
|
+
functionMap: null
|
|
2523
|
+
},
|
|
2524
|
+
type: options.type === "script" ? "js/script" : "js/module"
|
|
2525
|
+
}]
|
|
2526
|
+
};
|
|
2527
|
+
}
|
|
2528
|
+
var metroNativeWorker_default = {
|
|
2529
|
+
transform,
|
|
2530
|
+
getCacheKey,
|
|
2531
|
+
wrapModule,
|
|
2532
|
+
wrapJson,
|
|
2533
|
+
extractDependencies,
|
|
2534
|
+
rewriteDependencyCalls,
|
|
2535
|
+
convertSourceMapToMetroRawMappings
|
|
2536
|
+
};
|