vxrn 1.27.1 → 2.0.0-beta.45.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.mjs +212 -261
- package/dist/cli.mjs.map +1 -1
- package/dist/cli.native.js +216 -265
- package/dist/cli.native.js.map +1 -1
- package/dist/config/getAdditionalViteConfig.mjs +33 -62
- package/dist/config/getAdditionalViteConfig.mjs.map +1 -1
- package/dist/config/getAdditionalViteConfig.native.js +33 -62
- package/dist/config/getAdditionalViteConfig.native.js.map +1 -1
- package/dist/config/getBaseViteConfigOnly.mjs +84 -77
- package/dist/config/getBaseViteConfigOnly.mjs.map +1 -1
- package/dist/config/getBaseViteConfigOnly.native.js +86 -79
- package/dist/config/getBaseViteConfigOnly.native.js.map +1 -1
- package/dist/config/getBaseViteConfigWithPlugins.mjs +6 -4
- package/dist/config/getBaseViteConfigWithPlugins.mjs.map +1 -1
- package/dist/config/getBaseViteConfigWithPlugins.native.js +6 -4
- package/dist/config/getBaseViteConfigWithPlugins.native.js.map +1 -1
- package/dist/config/getBaseVitePlugins.mjs +102 -130
- package/dist/config/getBaseVitePlugins.mjs.map +1 -1
- package/dist/config/getBaseVitePlugins.native.js +123 -152
- package/dist/config/getBaseVitePlugins.native.js.map +1 -1
- package/dist/config/getNonCliModeOnlyVitePlugins.mjs +3 -3
- package/dist/config/getNonCliModeOnlyVitePlugins.mjs.map +1 -1
- package/dist/config/getNonCliModeOnlyVitePlugins.native.js +3 -1
- package/dist/config/getNonCliModeOnlyVitePlugins.native.js.map +1 -1
- package/dist/config/getOptimizeDeps.mjs +138 -42
- package/dist/config/getOptimizeDeps.mjs.map +1 -1
- package/dist/config/getOptimizeDeps.native.js +138 -42
- package/dist/config/getOptimizeDeps.native.js.map +1 -1
- package/dist/config/getOptionsFilled.mjs +48 -52
- package/dist/config/getOptionsFilled.mjs.map +1 -1
- package/dist/config/getOptionsFilled.native.js +51 -55
- package/dist/config/getOptionsFilled.native.js.map +1 -1
- package/dist/config/getReactNativePlugins.mjs +23 -15
- package/dist/config/getReactNativePlugins.mjs.map +1 -1
- package/dist/config/getReactNativePlugins.native.js +25 -16
- package/dist/config/getReactNativePlugins.native.js.map +1 -1
- package/dist/config/getServerOptionsFilled.mjs +33 -35
- package/dist/config/getServerOptionsFilled.mjs.map +1 -1
- package/dist/config/getServerOptionsFilled.native.js +35 -38
- package/dist/config/getServerOptionsFilled.native.js.map +1 -1
- package/dist/config/getViteServerConfig.mjs +34 -45
- package/dist/config/getViteServerConfig.mjs.map +1 -1
- package/dist/config/getViteServerConfig.native.js +35 -46
- package/dist/config/getViteServerConfig.native.js.map +1 -1
- package/dist/config/mergeUserConfig.mjs +50 -28
- package/dist/config/mergeUserConfig.mjs.map +1 -1
- package/dist/config/mergeUserConfig.native.js +60 -38
- package/dist/config/mergeUserConfig.native.js.map +1 -1
- package/dist/constants/defaults.mjs +29 -12
- package/dist/constants/defaults.mjs.map +1 -1
- package/dist/constants/defaults.native.js +29 -12
- package/dist/constants/defaults.native.js.map +1 -1
- package/dist/constants.mjs +41 -6
- package/dist/constants.mjs.map +1 -1
- package/dist/constants.native.js +41 -6
- package/dist/constants.native.js.map +1 -1
- package/dist/exports/build.mjs +218 -270
- package/dist/exports/build.mjs.map +1 -1
- package/dist/exports/build.native.js +226 -283
- package/dist/exports/build.native.js.map +1 -1
- package/dist/exports/clean.mjs +71 -78
- package/dist/exports/clean.mjs.map +1 -1
- package/dist/exports/clean.native.js +76 -90
- package/dist/exports/clean.native.js.map +1 -1
- package/dist/exports/createServer.mjs +43 -46
- package/dist/exports/createServer.mjs.map +1 -1
- package/dist/exports/createServer.native.js +45 -48
- package/dist/exports/createServer.native.js.map +1 -1
- package/dist/exports/dev.mjs +177 -201
- package/dist/exports/dev.mjs.map +1 -1
- package/dist/exports/dev.native.js +191 -215
- package/dist/exports/dev.native.js.map +1 -1
- package/dist/exports/loadEnv.mjs +51 -48
- package/dist/exports/loadEnv.mjs.map +1 -1
- package/dist/exports/loadEnv.native.js +59 -57
- package/dist/exports/loadEnv.native.js.map +1 -1
- package/dist/exports/patch.mjs +9 -7
- package/dist/exports/patch.mjs.map +1 -1
- package/dist/exports/patch.native.js +9 -7
- package/dist/exports/patch.native.js.map +1 -1
- package/dist/exports/prebuild.mjs +177 -157
- package/dist/exports/prebuild.mjs.map +1 -1
- package/dist/exports/prebuild.native.js +197 -160
- package/dist/exports/prebuild.native.js.map +1 -1
- package/dist/exports/prebuildWithoutExpo.mjs +46 -44
- package/dist/exports/prebuildWithoutExpo.mjs.map +1 -1
- package/dist/exports/prebuildWithoutExpo.native.js +48 -46
- package/dist/exports/prebuildWithoutExpo.native.js.map +1 -1
- package/dist/exports/runAndroid.mjs +9 -10
- package/dist/exports/runAndroid.mjs.map +1 -1
- package/dist/exports/runAndroid.native.js +10 -11
- package/dist/exports/runAndroid.native.js.map +1 -1
- package/dist/exports/runIos.mjs +9 -10
- package/dist/exports/runIos.mjs.map +1 -1
- package/dist/exports/runIos.native.js +10 -11
- package/dist/exports/runIos.native.js.map +1 -1
- package/dist/exports/serve.mjs +23 -31
- package/dist/exports/serve.mjs.map +1 -1
- package/dist/exports/serve.native.js +26 -34
- package/dist/exports/serve.native.js.map +1 -1
- package/dist/exports/serveStaticAssets.mjs +109 -113
- package/dist/exports/serveStaticAssets.mjs.map +1 -1
- package/dist/exports/serveStaticAssets.native.js +180 -192
- package/dist/exports/serveStaticAssets.native.js.map +1 -1
- package/dist/index.js +25 -14
- package/dist/index.mjs +25 -14
- package/dist/index.native.js +25 -14
- package/dist/patches/builtInDepPatches.mjs +346 -435
- package/dist/patches/builtInDepPatches.mjs.map +1 -1
- package/dist/patches/builtInDepPatches.native.js +349 -438
- package/dist/patches/builtInDepPatches.native.js.map +1 -1
- package/dist/plugins/applyBuiltInPatchesPlugin.mjs +11 -11
- package/dist/plugins/applyBuiltInPatchesPlugin.mjs.map +1 -1
- package/dist/plugins/applyBuiltInPatchesPlugin.native.js +11 -11
- package/dist/plugins/applyBuiltInPatchesPlugin.native.js.map +1 -1
- package/dist/plugins/autoDepOptimizePlugin.mjs +87 -90
- package/dist/plugins/autoDepOptimizePlugin.mjs.map +1 -1
- package/dist/plugins/autoDepOptimizePlugin.native.js +99 -102
- package/dist/plugins/autoDepOptimizePlugin.native.js.map +1 -1
- package/dist/plugins/clientInjectPlugin.mjs +13 -11
- package/dist/plugins/clientInjectPlugin.mjs.map +1 -1
- package/dist/plugins/clientInjectPlugin.native.js +13 -11
- package/dist/plugins/clientInjectPlugin.native.js.map +1 -1
- package/dist/plugins/defaultDepOptimizePlugin.mjs +15 -23
- package/dist/plugins/defaultDepOptimizePlugin.mjs.map +1 -1
- package/dist/plugins/defaultDepOptimizePlugin.native.js +15 -23
- package/dist/plugins/defaultDepOptimizePlugin.native.js.map +1 -1
- package/dist/plugins/expoManifestRequestHandlerPlugin.mjs +163 -179
- package/dist/plugins/expoManifestRequestHandlerPlugin.mjs.map +1 -1
- package/dist/plugins/expoManifestRequestHandlerPlugin.native.js +169 -191
- package/dist/plugins/expoManifestRequestHandlerPlugin.native.js.map +1 -1
- package/dist/plugins/getResolvedConfigSubset.mjs +6 -5
- package/dist/plugins/getResolvedConfigSubset.mjs.map +1 -1
- package/dist/plugins/getResolvedConfigSubset.native.js +6 -5
- package/dist/plugins/getResolvedConfigSubset.native.js.map +1 -1
- package/dist/plugins/reactNativeCommonJsPlugin.mjs +210 -178
- package/dist/plugins/reactNativeCommonJsPlugin.mjs.map +1 -1
- package/dist/plugins/reactNativeCommonJsPlugin.native.js +283 -259
- package/dist/plugins/reactNativeCommonJsPlugin.native.js.map +1 -1
- package/dist/plugins/reactNativeDevAssetPlugin.mjs +72 -83
- package/dist/plugins/reactNativeDevAssetPlugin.mjs.map +1 -1
- package/dist/plugins/reactNativeDevAssetPlugin.native.js +75 -92
- package/dist/plugins/reactNativeDevAssetPlugin.native.js.map +1 -1
- package/dist/plugins/reactNativeDevServer.mjs +283 -328
- package/dist/plugins/reactNativeDevServer.mjs.map +1 -1
- package/dist/plugins/reactNativeDevServer.native.js +332 -391
- package/dist/plugins/reactNativeDevServer.native.js.map +1 -1
- package/dist/plugins/rnCodegenPlugin.mjs +13 -12
- package/dist/plugins/rnCodegenPlugin.mjs.map +1 -1
- package/dist/plugins/rnCodegenPlugin.native.js +13 -12
- package/dist/plugins/rnCodegenPlugin.native.js.map +1 -1
- package/dist/plugins/rollupRemoveUnusedImports.mjs +8 -7
- package/dist/plugins/rollupRemoveUnusedImports.mjs.map +1 -1
- package/dist/plugins/rollupRemoveUnusedImports.native.js +8 -7
- package/dist/plugins/rollupRemoveUnusedImports.native.js.map +1 -1
- package/dist/plugins/workletImportsPlugin.mjs +127 -132
- package/dist/plugins/workletImportsPlugin.mjs.map +1 -1
- package/dist/plugins/workletImportsPlugin.native.js +192 -203
- package/dist/plugins/workletImportsPlugin.native.js.map +1 -1
- package/dist/rn-commands/bundle/buildBundle.mjs +45 -79
- package/dist/rn-commands/bundle/buildBundle.mjs.map +1 -1
- package/dist/rn-commands/bundle/buildBundle.native.js +45 -85
- package/dist/rn-commands/bundle/buildBundle.native.js.map +1 -1
- package/dist/runtime/hmr-client.mjs +133 -140
- package/dist/runtime/hmr-client.mjs.map +1 -1
- package/dist/runtime/hmr-client.native.js +223 -222
- package/dist/runtime/hmr-client.native.js.map +1 -1
- package/dist/runtime/hmr-runtime.mjs +192 -194
- package/dist/runtime/hmr-runtime.mjs.map +1 -1
- package/dist/runtime/hmr-runtime.native.js +424 -411
- package/dist/runtime/hmr-runtime.native.js.map +1 -1
- package/dist/runtime/hmr-types.mjs +0 -2
- package/dist/runtime/hmr-types.native.js +0 -2
- package/dist/runtime/native-prelude.mjs +2 -1
- package/dist/runtime/native-prelude.mjs.map +1 -1
- package/dist/runtime/native-prelude.native.js +2 -1
- package/dist/runtime/native-prelude.native.js.map +1 -1
- package/dist/runtime/react-refresh-utils.mjs +23 -22
- package/dist/runtime/react-refresh-utils.mjs.map +1 -1
- package/dist/runtime/react-refresh-utils.native.js +23 -27
- package/dist/runtime/react-refresh-utils.native.js.map +1 -1
- package/dist/serve/node.mjs +49 -49
- package/dist/serve/node.mjs.map +1 -1
- package/dist/serve/node.native.js +92 -96
- package/dist/serve/node.native.js.map +1 -1
- package/dist/types.mjs +0 -2
- package/dist/types.native.js +0 -2
- package/dist/user-interface/index.mjs +245 -262
- package/dist/user-interface/index.mjs.map +1 -1
- package/dist/user-interface/index.native.js +274 -298
- package/dist/user-interface/index.native.js.map +1 -1
- package/dist/utils/assert.mjs +7 -6
- package/dist/utils/assert.mjs.map +1 -1
- package/dist/utils/assert.native.js +7 -18
- package/dist/utils/assert.native.js.map +1 -1
- package/dist/utils/bindKeypressInput.mjs +36 -38
- package/dist/utils/bindKeypressInput.mjs.map +1 -1
- package/dist/utils/bindKeypressInput.native.js +36 -38
- package/dist/utils/bindKeypressInput.native.js.map +1 -1
- package/dist/utils/coerceToArray.mjs +2 -1
- package/dist/utils/coerceToArray.mjs.map +1 -1
- package/dist/utils/coerceToArray.native.js +2 -1
- package/dist/utils/coerceToArray.native.js.map +1 -1
- package/dist/utils/connectedNativeClients.mjs +3 -2
- package/dist/utils/connectedNativeClients.mjs.map +1 -1
- package/dist/utils/connectedNativeClients.native.js +3 -2
- package/dist/utils/connectedNativeClients.native.js.map +1 -1
- package/dist/utils/createNativeDevEngine.mjs +992 -966
- package/dist/utils/createNativeDevEngine.mjs.map +1 -1
- package/dist/utils/createNativeDevEngine.native.js +1184 -1179
- package/dist/utils/createNativeDevEngine.native.js.map +1 -1
- package/dist/utils/dispose.mjs +4 -3
- package/dist/utils/dispose.mjs.map +1 -1
- package/dist/utils/dispose.native.js +6 -5
- package/dist/utils/dispose.native.js.map +1 -1
- package/dist/utils/environmentUtils.mjs +5 -4
- package/dist/utils/environmentUtils.mjs.map +1 -1
- package/dist/utils/environmentUtils.native.js +5 -4
- package/dist/utils/environmentUtils.native.js.map +1 -1
- package/dist/utils/execSync.mjs +7 -5
- package/dist/utils/execSync.mjs.map +1 -1
- package/dist/utils/execSync.native.js +8 -6
- package/dist/utils/execSync.native.js.map +1 -1
- package/dist/utils/expoRun.mjs +27 -35
- package/dist/utils/expoRun.mjs.map +1 -1
- package/dist/utils/expoRun.native.js +27 -35
- package/dist/utils/expoRun.native.js.map +1 -1
- package/dist/utils/filterViteServerResolvedUrls.mjs +24 -22
- package/dist/utils/filterViteServerResolvedUrls.mjs.map +1 -1
- package/dist/utils/filterViteServerResolvedUrls.native.js +61 -63
- package/dist/utils/filterViteServerResolvedUrls.native.js.map +1 -1
- package/dist/utils/getBoundPort.mjs +6 -5
- package/dist/utils/getBoundPort.mjs.map +1 -1
- package/dist/utils/getBoundPort.native.js +8 -12
- package/dist/utils/getBoundPort.native.js.map +1 -1
- package/dist/utils/getCacheDir.mjs +3 -1
- package/dist/utils/getCacheDir.mjs.map +1 -1
- package/dist/utils/getCacheDir.native.js +3 -1
- package/dist/utils/getCacheDir.native.js.map +1 -1
- package/dist/utils/getServerEntry.mjs +6 -4
- package/dist/utils/getServerEntry.mjs.map +1 -1
- package/dist/utils/getServerEntry.native.js +8 -11
- package/dist/utils/getServerEntry.native.js.map +1 -1
- package/dist/utils/getVitePath.mjs +42 -42
- package/dist/utils/getVitePath.mjs.map +1 -1
- package/dist/utils/getVitePath.native.js +43 -41
- package/dist/utils/getVitePath.native.js.map +1 -1
- package/dist/utils/globDir.mjs +7 -11
- package/dist/utils/globDir.mjs.map +1 -1
- package/dist/utils/globDir.native.js +10 -14
- package/dist/utils/globDir.native.js.map +1 -1
- package/dist/utils/isWithin.mjs +4 -2
- package/dist/utils/isWithin.mjs.map +1 -1
- package/dist/utils/isWithin.native.js +4 -2
- package/dist/utils/isWithin.native.js.map +1 -1
- package/dist/utils/patches.mjs +233 -255
- package/dist/utils/patches.mjs.map +1 -1
- package/dist/utils/patches.native.js +415 -460
- package/dist/utils/patches.native.js.map +1 -1
- package/dist/utils/printServerUrls.mjs +9 -7
- package/dist/utils/printServerUrls.mjs.map +1 -1
- package/dist/utils/printServerUrls.native.js +48 -51
- package/dist/utils/printServerUrls.native.js.map +1 -1
- package/dist/utils/removeUndefined.mjs +8 -7
- package/dist/utils/removeUndefined.mjs.map +1 -1
- package/dist/utils/removeUndefined.native.js +8 -7
- package/dist/utils/removeUndefined.native.js.map +1 -1
- package/dist/utils/scanDepsToOptimize.mjs +194 -161
- package/dist/utils/scanDepsToOptimize.mjs.map +1 -1
- package/dist/utils/scanDepsToOptimize.native.js +227 -197
- package/dist/utils/scanDepsToOptimize.native.js.map +1 -1
- package/dist/utils/state.mjs +18 -18
- package/dist/utils/state.mjs.map +1 -1
- package/dist/utils/state.native.js +18 -18
- package/dist/utils/state.native.js.map +1 -1
- package/dist/utils/symbolicateNativeStack.mjs +54 -54
- package/dist/utils/symbolicateNativeStack.mjs.map +1 -1
- package/dist/utils/symbolicateNativeStack.native.js +58 -58
- package/dist/utils/symbolicateNativeStack.native.js.map +1 -1
- package/dist/utils/uniq.mjs +2 -1
- package/dist/utils/uniq.mjs.map +1 -1
- package/dist/utils/uniq.native.js +2 -1
- package/dist/utils/uniq.native.js.map +1 -1
- package/dist/utils/utils.mjs +19 -19
- package/dist/utils/utils.mjs.map +1 -1
- package/dist/utils/utils.native.js +38 -40
- package/dist/utils/utils.native.js.map +1 -1
- package/dist/vendor/debugger-app/index.mjs +0 -2
- package/dist/vendor/debugger-app/index.native.js +0 -2
- package/dist/vendor/debugger-app/src/debuggerWorker.mjs +0 -2
- package/dist/vendor/debugger-app/src/debuggerWorker.native.js +0 -2
- package/dist/vendor/debugger-app/src/index.mjs +0 -2
- package/dist/vendor/debugger-app/src/index.native.js +0 -2
- package/dist/vxrn-vite-plugin.mjs +34 -33
- package/dist/vxrn-vite-plugin.mjs.map +1 -1
- package/dist/vxrn-vite-plugin.native.js +35 -34
- package/dist/vxrn-vite-plugin.native.js.map +1 -1
- package/expo-plugin.cjs +12 -6
- package/package.json +12 -13
- package/src/config/getBaseViteConfigOnly.ts +6 -0
- package/src/exports/prebuild.ts +40 -12
- package/src/patches/builtInDepPatches.ts +24 -48
- package/src/utils/createNativeDevEngine.test.ts +1 -1
- package/src/utils/createNativeDevEngine.ts +15 -9
- package/src/utils/scanDepsToOptimize.ts +0 -3
- package/types/config/getBaseViteConfigOnly.d.ts.map +1 -1
- package/types/config/getOptimizeDeps.d.ts.map +1 -1
- package/types/config/getOptionsFilled.d.ts +15 -15
- package/types/config/getOptionsFilled.d.ts.map +1 -1
- package/types/exports/build.d.ts +11 -11
- package/types/exports/build.d.ts.map +1 -1
- package/types/exports/clean.d.ts +1 -1
- package/types/exports/clean.d.ts.map +1 -1
- package/types/exports/createServer.d.ts.map +1 -1
- package/types/exports/dev.d.ts.map +1 -1
- package/types/exports/patch.d.ts.map +1 -1
- package/types/exports/prebuild.d.ts +3 -3
- package/types/exports/prebuild.d.ts.map +1 -1
- package/types/exports/prebuildWithoutExpo.d.ts +1 -1
- package/types/exports/prebuildWithoutExpo.d.ts.map +1 -1
- package/types/exports/runAndroid.d.ts.map +1 -1
- package/types/exports/runIos.d.ts.map +1 -1
- package/types/exports/serve.d.ts.map +1 -1
- package/types/patches/builtInDepPatches.d.ts.map +1 -1
- package/types/plugins/autoDepOptimizePlugin.d.ts.map +1 -1
- package/types/plugins/rollupRemoveUnusedImports.d.ts.map +1 -1
- package/types/runtime/hmr-client.d.ts.map +1 -1
- package/types/runtime/hmr-runtime.d.ts.map +1 -1
- package/types/runtime/hmr-types.d.ts.map +1 -1
- package/types/utils/createNativeDevEngine.d.ts +1 -1
- package/types/utils/createNativeDevEngine.d.ts.map +1 -1
- package/types/utils/execSync.d.ts.map +1 -1
- package/types/utils/getServerEntry.d.ts.map +1 -1
- package/types/utils/scanDepsToOptimize.d.ts.map +1 -1
- package/types/vxrn-vite-plugin.d.ts.map +1 -1
- package/dist/config/getOptimizeDeps.test.mjs +0 -20
- package/dist/config/getOptimizeDeps.test.mjs.map +0 -1
- package/dist/config/getOptimizeDeps.test.native.js +0 -39
- package/dist/config/getOptimizeDeps.test.native.js.map +0 -1
- package/dist/config/getServerOptionsFilled.test.mjs +0 -20
- package/dist/config/getServerOptionsFilled.test.mjs.map +0 -1
- package/dist/config/getServerOptionsFilled.test.native.js +0 -20
- package/dist/config/getServerOptionsFilled.test.native.js.map +0 -1
- package/dist/config/getViteServerConfig.test.mjs +0 -26
- package/dist/config/getViteServerConfig.test.mjs.map +0 -1
- package/dist/config/getViteServerConfig.test.native.js +0 -26
- package/dist/config/getViteServerConfig.test.native.js.map +0 -1
- package/dist/config/mergeUserConfig.test.mjs +0 -108
- package/dist/config/mergeUserConfig.test.mjs.map +0 -1
- package/dist/config/mergeUserConfig.test.native.js +0 -108
- package/dist/config/mergeUserConfig.test.native.js.map +0 -1
- package/dist/exports/clean.test.mjs +0 -81
- package/dist/exports/clean.test.mjs.map +0 -1
- package/dist/exports/clean.test.native.js +0 -88
- package/dist/exports/clean.test.native.js.map +0 -1
- package/dist/exports/loadEnv.test.mjs +0 -65
- package/dist/exports/loadEnv.test.mjs.map +0 -1
- package/dist/exports/loadEnv.test.native.js +0 -65
- package/dist/exports/loadEnv.test.native.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/index.mjs.map +0 -1
- package/dist/index.native.js.map +0 -1
- package/dist/plugins/autoDepOptimizePlugin.test.mjs +0 -31
- package/dist/plugins/autoDepOptimizePlugin.test.mjs.map +0 -1
- package/dist/plugins/autoDepOptimizePlugin.test.native.js +0 -39
- package/dist/plugins/autoDepOptimizePlugin.test.native.js.map +0 -1
- package/dist/plugins/resolveIdScan.test.mjs +0 -31
- package/dist/plugins/resolveIdScan.test.mjs.map +0 -1
- package/dist/plugins/resolveIdScan.test.native.js +0 -38
- package/dist/plugins/resolveIdScan.test.native.js.map +0 -1
- package/dist/plugins/rnCodegenPlugin.test.mjs +0 -239
- package/dist/plugins/rnCodegenPlugin.test.mjs.map +0 -1
- package/dist/plugins/rnCodegenPlugin.test.native.js +0 -242
- package/dist/plugins/rnCodegenPlugin.test.native.js.map +0 -1
- package/dist/plugins/serverExtensions.test.mjs +0 -106
- package/dist/plugins/serverExtensions.test.mjs.map +0 -1
- package/dist/plugins/serverExtensions.test.native.js +0 -117
- package/dist/plugins/serverExtensions.test.native.js.map +0 -1
- package/dist/runtime/hmr-types.mjs.map +0 -1
- package/dist/runtime/hmr-types.native.js.map +0 -1
- package/dist/serve/node.test.mjs +0 -60
- package/dist/serve/node.test.mjs.map +0 -1
- package/dist/serve/node.test.native.js +0 -72
- package/dist/serve/node.test.native.js.map +0 -1
- package/dist/types.mjs.map +0 -1
- package/dist/types.native.js.map +0 -1
- package/dist/utils/bindKeypressInput.test.mjs +0 -48
- package/dist/utils/bindKeypressInput.test.mjs.map +0 -1
- package/dist/utils/bindKeypressInput.test.native.js +0 -48
- package/dist/utils/bindKeypressInput.test.native.js.map +0 -1
- package/dist/utils/createNativeDevEngine.test.mjs +0 -1788
- package/dist/utils/createNativeDevEngine.test.mjs.map +0 -1
- package/dist/utils/createNativeDevEngine.test.native.js +0 -1942
- package/dist/utils/createNativeDevEngine.test.native.js.map +0 -1
- package/dist/utils/createNativeDevEngineFailure.test.mjs +0 -44
- package/dist/utils/createNativeDevEngineFailure.test.mjs.map +0 -1
- package/dist/utils/createNativeDevEngineFailure.test.native.js +0 -54
- package/dist/utils/createNativeDevEngineFailure.test.native.js.map +0 -1
- package/dist/utils/getBoundPort.test.mjs +0 -71
- package/dist/utils/getBoundPort.test.mjs.map +0 -1
- package/dist/utils/getBoundPort.test.native.js +0 -82
- package/dist/utils/getBoundPort.test.native.js.map +0 -1
- package/dist/utils/imageSizePatch.test.mjs +0 -29
- package/dist/utils/imageSizePatch.test.mjs.map +0 -1
- package/dist/utils/imageSizePatch.test.native.js +0 -30
- package/dist/utils/imageSizePatch.test.native.js.map +0 -1
- package/dist/utils/patches.test.mjs +0 -242
- package/dist/utils/patches.test.mjs.map +0 -1
- package/dist/utils/patches.test.native.js +0 -271
- package/dist/utils/patches.test.native.js.map +0 -1
- package/dist/utils/symbolicateNativeStack.test.mjs +0 -96
- package/dist/utils/symbolicateNativeStack.test.mjs.map +0 -1
- package/dist/utils/symbolicateNativeStack.test.native.js +0 -96
- package/dist/utils/symbolicateNativeStack.test.native.js.map +0 -1
- package/dist/vendor/debugger-app/index.mjs.map +0 -1
- package/dist/vendor/debugger-app/index.native.js.map +0 -1
- package/dist/vendor/debugger-app/src/debuggerWorker.mjs.map +0 -1
- package/dist/vendor/debugger-app/src/debuggerWorker.native.js.map +0 -1
- package/dist/vendor/debugger-app/src/index.mjs.map +0 -1
- package/dist/vendor/debugger-app/src/index.native.js.map +0 -1
- package/types/config/getOptimizeDeps.test.d.ts +0 -2
- package/types/config/getOptimizeDeps.test.d.ts.map +0 -1
- package/types/config/getServerOptionsFilled.test.d.ts +0 -2
- package/types/config/getServerOptionsFilled.test.d.ts.map +0 -1
- package/types/config/getViteServerConfig.test.d.ts +0 -2
- package/types/config/getViteServerConfig.test.d.ts.map +0 -1
- package/types/config/mergeUserConfig.test.d.ts +0 -2
- package/types/config/mergeUserConfig.test.d.ts.map +0 -1
- package/types/exports/clean.test.d.ts +0 -2
- package/types/exports/clean.test.d.ts.map +0 -1
- package/types/exports/loadEnv.test.d.ts +0 -2
- package/types/exports/loadEnv.test.d.ts.map +0 -1
- package/types/plugins/autoDepOptimizePlugin.test.d.ts +0 -2
- package/types/plugins/autoDepOptimizePlugin.test.d.ts.map +0 -1
- package/types/plugins/resolveIdScan.test.d.ts +0 -2
- package/types/plugins/resolveIdScan.test.d.ts.map +0 -1
- package/types/plugins/rnCodegenPlugin.test.d.ts +0 -2
- package/types/plugins/rnCodegenPlugin.test.d.ts.map +0 -1
- package/types/plugins/serverExtensions.test.d.ts +0 -2
- package/types/plugins/serverExtensions.test.d.ts.map +0 -1
- package/types/serve/node.test.d.ts +0 -2
- package/types/serve/node.test.d.ts.map +0 -1
- package/types/utils/bindKeypressInput.test.d.ts +0 -2
- package/types/utils/bindKeypressInput.test.d.ts.map +0 -1
- package/types/utils/createNativeDevEngine.test.d.ts +0 -2
- package/types/utils/createNativeDevEngine.test.d.ts.map +0 -1
- package/types/utils/createNativeDevEngineFailure.test.d.ts +0 -2
- package/types/utils/createNativeDevEngineFailure.test.d.ts.map +0 -1
- package/types/utils/getBoundPort.test.d.ts +0 -2
- package/types/utils/getBoundPort.test.d.ts.map +0 -1
- package/types/utils/imageSizePatch.test.d.ts +0 -2
- package/types/utils/imageSizePatch.test.d.ts.map +0 -1
- package/types/utils/patches.test.d.ts +0 -2
- package/types/utils/patches.test.d.ts.map +0 -1
- package/types/utils/symbolicateNativeStack.test.d.ts +0 -2
- package/types/utils/symbolicateNativeStack.test.d.ts.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["existsSync","realpathSync","mkdir","mkdtemp","rm","writeFile","tmpdir","join","createContext","runInContext","runInNewContext","TraceMap","originalPositionFor","rolldown","dev","normalizePath","describe","expect","it","vi","getNativePrelude","workletImportsPlugin","buildNativeBundle","createNativeDevAssetRegistry","createNativeDevEngine","getHermesSWCIncludes","getHmrRuntimeSource","getNativeAssetData","getNativeTransformConfig","hermesCompatSWCPlugin","hmrClientNoopPlugin","nativeAnimatedGuardPlugin","normalizeNativeCommonJSInterop","postProcessNativeBundle","vxrnCompilerPlugin","wrapNativeBundleModuleScope","_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","each","platform","mode","root2","factories","map","name","fn","context2","transform","code2","id","endsWith","replace","toUpperCase","JSON","stringify","plugins","vxrnNative","index","api","previousPlugins","globalThis","__vxrnAddNativePlugins","configuredPlugins","native","code","root","port","getBundle","entryFile","context","console","setTimeout","clearTimeout","__GLOBAL_PLUGIN__","__DIRECT_PLUGIN__","Reflect","get","toEqual","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","factory","value","toHaveBeenCalledExactlyOnceWith","err","return","close","recursive","force","nativeTransformProbe","pipeline","source","output","startsWith","data","Buffer","from","type","fromRawMappings","path","toMap","plugin","apply","__d","module","exports","Error","result1","result","values","synchronousThrow","toBe","events","filter","toHaveLength","originalPositionFor2","TraceMap2","lines","split","line","findIndex","includes","position","column","indexOf","lift","_name","callback","expected","compiler","parseSync","default","MagicString","projectRoot","createWorkletsProject","sourceMaps","process","env","VXRN_ENABLE_SOURCE_MAP","configureVXRNCompilerPlugin","enableCompiler","enableReanimated","enableNativeWorklets","_first___initData","createVXRNCompilerPlugin","find","p","configResolved","build","handler","call","environment","customTransformOptions","reactCompiler","worklets","msm","plugin1","runnable","program","body","node","remove","start","end","declaration","cache","cacheCalls","memo","size","Array","fill","for","probe","Function","fn2","Pan","onUpdate","c","first","__initData","toBeTypeOf","_i","_iter","length","onUI","depth","_fn___initData","__closure","not","text","toBeGreaterThanOrEqual","throwOnTransform","arguments","testRoot","packageRoot","version","addEventListener","toBeUndefined","removeEventListener","dependency","resolveUpdate","updated","Promise","resolve","_code","onHmrUpdate","initial","rn","calculate","reads","ui","compiled","Map","reconstruct","worklet","__workletHash","set","closure","Object","fromEntries","entries","param","bind","toThrow","old","oldReads","runtime","__rolldown_runtime__","engine","registerClient","clientId","update","applyHmrUpdate","changedIds","seq","nextReads","moduleInitializations","production","toContain","productionRN","unminifiedProduction","minify","unminifiedRN","sharedPlugin","all","entry","rejects","babel","main","updateReceived","renderComponent","timeout","resolveInitialOutput","initialOutput","resolveHmrUpdate","hmrUpdate","registeredClientId","cwd","input","experimental","devMode","implement","format","onOutput","result2","onHmrUpdates","updates","some","item","_result_updates_find","run","chunk","isEntry","toBeTruthy","toString","patch","race","_","reject","__vxrnHmrBody","__vxrnHmrAccepted","leaf","previousRefreshRuntime","isLikelyComponentType","deleteProperty","sources","sourcesContent","names","mappings","_loop","_i2","_iter2","_loop2","_i12","_iter12","dev2","define","envObject","parse","TAMAGUI_TARGET","TAMAGUI_ENVIRONMENT","_i1","_iter1","key","previous","previousEnvironment","VITE_ENVIRONMENT","previousNative","VITE_NATIVE","RUNTIME_MARKER","out","openIdx","toBeGreaterThan","toBeLessThan","CLASS_SET","arrayContaining","toMatch","generate","resolveId","load","VIRTUAL_ID","importer","external","moduleType","method","previousNodeEnv","NODE_ENV","spy","spyOn","mockRejectedValue","mockRestore","resolveOutput","toBeInstanceOf","String","compilerPlugin","hermesPlugin","inputCode","toBeDefined","tracer","counterLineIndex","l","pos","origEnv","VXRN_USE_BABEL_FOR_GENERATORS","markerLineIndex","markerCol","compilerOut","transformOxcReactCompiler","remapping","badPos","toBeNull","vi2","babelSpy","toHaveBeenCalled","boxLineIndex","mockResolvedValue","workletSpy","getBabelOptionsSpy","mockReturnValue","toHaveBeenCalledWith","objectContaining","globals","any","writeMinifyFixture","dep","runFixture","plain","minified","prod","devBundle","explicitOff","appRoot","appAssets","packageAssets","assetsDest","_registry_resolve","assetData","scales","files","file2","slice","hash","registry","register","filePath","registered","require","registerAsset","asset","push","file","file1","import","codeSplitting","strictExecutionOrder","nodeModeCode","normalized","repeat","license","generatedPositionOf","marker","_ref","_before_match","before","lastNewline","lastIndexOf","match","_app_source","_pkg_source","sourcemap","traced","app","pkg"],"sources":["createNativeDevEngine.test.native.js"],"sourcesContent":["import { existsSync, realpathSync } from \"fs\";\nimport { mkdir, mkdtemp, rm, writeFile } from \"fs/promises\";\nimport { tmpdir } from \"os\";\nimport { join } from \"path\";\nimport { createContext, runInContext, runInNewContext } from \"vm\";\nimport { TraceMap, originalPositionFor } from \"@jridgewell/trace-mapping\";\nimport { rolldown } from \"rolldown\";\nimport { dev } from \"rolldown/experimental\";\nimport { normalizePath } from \"vite\";\nimport { describe, expect, it, vi } from \"vitest\";\nimport { getNativePrelude } from \"../runtime/native-prelude\";\nimport { workletImportsPlugin } from \"../plugins/workletImportsPlugin\";\nimport { buildNativeBundle, createNativeDevAssetRegistry, createNativeDevEngine, getHermesSWCIncludes, getHmrRuntimeSource, getNativeAssetData, getNativeTransformConfig, hermesCompatSWCPlugin, hmrClientNoopPlugin, nativeAnimatedGuardPlugin, normalizeNativeCommonJSInterop, postProcessNativeBundle, vxrnCompilerPlugin, wrapNativeBundleModuleScope } from \"./createNativeDevEngine\";\n\nfunction _instanceof(left, right) {\n\tif (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) return !!right[Symbol.hasInstance](left);\n\telse return left instanceof right;\n}\nfunction _type_of(obj) {\n\t\"@swc/helpers - typeof\";\n\treturn obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\ndescribe.each([\"ios\", \"android\"])(\"native plugin adapters on %s\", function(platform) {\n\tit.each([\"dev\", \"build\"])(\"binds configured plugins to the %s bundle\", async function(mode) {\n\t\tvar root2 = await mkdtemp(join(tmpdir(), \"vxrn-native-plugin-adapter-\"));\n\t\tawait writeFile(join(root2, \"entry.js\"), `globalThis.nativePluginResult = [__GLOBAL_PLUGIN__, __DIRECT_PLUGIN__, 'plain-plugin']`);\n\t\tvar factories = [\"global\", \"direct\"].map(function(name) {\n\t\t\treturn vi.fn(function(context2) {\n\t\t\t\treturn {\n\t\t\t\t\tname: `${name}-native`,\n\t\t\t\t\ttransform(code2, id) {\n\t\t\t\t\t\tif (id.endsWith(\"/entry.js\")) return code2.replace(`__${name.toUpperCase()}_PLUGIN__`, JSON.stringify({\n\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\t...context2\n\t\t\t\t\t\t}));\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t});\n\t\t});\n\t\tvar plugins = factories.map(function(vxrnNative, index) {\n\t\t\treturn {\n\t\t\t\tname: `adapter-${index}`,\n\t\t\t\tapi: { vxrnNative }\n\t\t\t};\n\t\t});\n\t\tvar previousPlugins = globalThis.__vxrnAddNativePlugins;\n\t\tglobalThis.__vxrnAddNativePlugins = [plugins[0]];\n\t\tvar configuredPlugins = [plugins[1], {\n\t\t\tname: \"plain-native-plugin\",\n\t\t\ttransform(code2, id) {\n\t\t\t\tif (id.endsWith(\"/__virtual-native-entry.tsx\")) return `import './entry.js'`;\n\t\t\t\tif (id.endsWith(\"/entry.js\")) return code2.replace(\"plain-plugin\", \"plain\");\n\t\t\t}\n\t\t}];\n\t\tvar native;\n\t\ttry {\n\t\t\tvar code;\n\t\t\tif (mode === \"dev\") {\n\t\t\t\tnative = await createNativeDevEngine({\n\t\t\t\t\troot: root2,\n\t\t\t\t\tplatform,\n\t\t\t\t\tport: 0,\n\t\t\t\t\tplugins: configuredPlugins\n\t\t\t\t});\n\t\t\t\tcode = (await native.getBundle()).code;\n\t\t\t} else code = (await buildNativeBundle({\n\t\t\t\troot: root2,\n\t\t\t\tplatform,\n\t\t\t\tentryFile: \"entry.js\",\n\t\t\t\tplugins: configuredPlugins\n\t\t\t})).code;\n\t\t\tvar context = {\n\t\t\t\tconsole,\n\t\t\t\tsetTimeout,\n\t\t\t\tclearTimeout,\n\t\t\t\t__GLOBAL_PLUGIN__: \"unadapted\",\n\t\t\t\t__DIRECT_PLUGIN__: \"unadapted\"\n\t\t\t};\n\t\t\trunInNewContext(code, context);\n\t\t\texpect(Reflect.get(context, \"nativePluginResult\")).toEqual([\n\t\t\t\t{\n\t\t\t\t\tname: \"global\",\n\t\t\t\t\troot: root2,\n\t\t\t\t\tplatform,\n\t\t\t\t\tdev: mode === \"dev\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"direct\",\n\t\t\t\t\troot: root2,\n\t\t\t\t\tplatform,\n\t\t\t\t\tdev: mode === \"dev\"\n\t\t\t\t},\n\t\t\t\t\"plain\"\n\t\t\t]);\n\t\t\tvar _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n\t\t\ttry {\n\t\t\t\tfor (var _iterator = factories[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t\t\t\t\tvar factory = _step.value;\n\t\t\t\t\texpect(factory).toHaveBeenCalledExactlyOnceWith({\n\t\t\t\t\t\troot: root2,\n\t\t\t\t\t\tplatform,\n\t\t\t\t\t\tdev: mode === \"dev\"\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\t_didIteratorError = true;\n\t\t\t\t_iteratorError = err;\n\t\t\t} finally {\n\t\t\t\ttry {\n\t\t\t\t\tif (!_iteratorNormalCompletion && _iterator.return != null) _iterator.return();\n\t\t\t\t} finally {\n\t\t\t\t\tif (_didIteratorError) throw _iteratorError;\n\t\t\t\t}\n\t\t\t}\n\t\t} finally {\n\t\t\tawait (native === null || native === void 0 ? void 0 : native.close());\n\t\t\tglobalThis.__vxrnAddNativePlugins = previousPlugins;\n\t\t\tawait rm(root2, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t}\n\t});\n});\nvar nativeTransformProbe = `\nexport const transformProbe = () => {\n 'worklet'\n return 'transformed'\n}\n`;\ndescribe.each([\n\t\"rolldown-dev\",\n\t\"rolldown-build\",\n\t\"metro-module\",\n\t\"metro-script\"\n])(\"native async through %s\", function(pipeline) {\n\tit(\"preserves defaults, lexical bindings, bigint, rejection, and iterator cleanup\", async function() {\n\t\tvar id = \"/project/native-async.js\";\n\t\tvar source = `\nglobalThis.result = (function(parentArgument) {\n const events = [];\n const run = async(value = 2n, fail = false) => {\n try {\n const awaited = await (fail ? Promise.reject(new Error('rejected')) : Promise.resolve(3n));\n events.push('after-await');\n return [String(value + awaited), this.base, arguments[0]];\n } catch (error) { return error.message; }\n finally { events.push('finally'); }\n };\n const badDefault = async(value = (() => { throw new Error('default'); })()) => value;\n let synchronousThrow = false;\n let rejectedDefault;\n try { rejectedDefault = badDefault().catch(error => error.message); }\n catch { synchronousThrow = true; }\n async function* values() {\n try { yield 1n; yield 2n; }\n finally { events.push('closed'); }\n }\n const first = async() => { for await (const value of values()) return String(value); };\n return Promise.all([run(), run(4n), run(undefined, true), rejectedDefault, first()])\n .then(values => ({ values, events, synchronousThrow }));\n}).call({ base: 7 }, 'lexical');\n`;\n\t\tvar output;\n\t\tif (pipeline.startsWith(\"metro\")) {\n\t\t\tvar { transform } = await import(\"@vxrn/vite-plugin-metro/metroNativeWorker\");\n\t\t\tvar data = (await transform({}, \"/project\", id, Buffer.from(source), {\n\t\t\t\tdev: false,\n\t\t\t\tplatform: \"ios\",\n\t\t\t\ttype: pipeline === \"metro-script\" ? \"script\" : \"module\"\n\t\t\t})).output[0].data;\n\t\t\tvar { fromRawMappings } = await import(\"metro-source-map\");\n\t\t\toutput = {\n\t\t\t\tcode: data.code,\n\t\t\t\tmap: fromRawMappings([{\n\t\t\t\t\tcode: data.code,\n\t\t\t\t\tpath: id,\n\t\t\t\t\tsource,\n\t\t\t\t\tmap: data.map\n\t\t\t\t}]).toMap()\n\t\t\t};\n\t\t} else {\n\t\t\tvar plugin = hermesCompatSWCPlugin(pipeline === \"rolldown-dev\", true);\n\t\t\toutput = await Reflect.apply(plugin.transform, void 0, [source, id]);\n\t\t}\n\t\tvar context = {};\n\t\tcontext.__d = function(factory) {\n\t\t\tvar module = { exports: {} };\n\t\t\tfactory(context, function(name) {\n\t\t\t\tthrow new Error(`unexpected dependency ${name}`);\n\t\t\t}, function() {}, function() {}, module, module.exports, []);\n\t\t};\n\t\trunInNewContext(output.code, context);\n\t\tvar result1 = await context.result;\n\t\texpect(result1.values).toEqual([\n\t\t\t[\n\t\t\t\t\"5\",\n\t\t\t\t7,\n\t\t\t\t\"lexical\"\n\t\t\t],\n\t\t\t[\n\t\t\t\t\"7\",\n\t\t\t\t7,\n\t\t\t\t\"lexical\"\n\t\t\t],\n\t\t\t\"rejected\",\n\t\t\t\"default\",\n\t\t\t\"1\"\n\t\t]);\n\t\texpect(result1.synchronousThrow).toBe(false);\n\t\texpect(result1.events.filter(function(value) {\n\t\t\treturn value === \"finally\";\n\t\t})).toHaveLength(3);\n\t\texpect(result1.events.filter(function(value) {\n\t\t\treturn value === \"closed\";\n\t\t})).toHaveLength(1);\n\t\tvar { originalPositionFor: originalPositionFor2, TraceMap: TraceMap2 } = await import(\"@jridgewell/trace-mapping\");\n\t\tvar lines = output.code.split(\"\\n\");\n\t\tvar line = lines.findIndex(function(value) {\n\t\t\treturn value.includes(\"after-await\");\n\t\t});\n\t\tvar position = originalPositionFor2(new TraceMap2(output.map), {\n\t\t\tline: line + 1,\n\t\t\tcolumn: lines[line].indexOf(\"events.push\")\n\t\t});\n\t\texpect(position.source).toBe(id);\n\t\texpect(position.line).toBe(source.split(\"\\n\").findIndex(function(value) {\n\t\t\treturn value.includes(\"after-await\");\n\t\t}) + 1);\n\t});\n});\ndescribe.each([\n\t\"shared\",\n\t\"rolldown\",\n\t\"metro\"\n])(\"React Compiler worklets through %s\", function(pipeline) {\n\tit.each([\n\t\t[\n\t\t\t\"block\",\n\t\t\t\"useDerivedValue(() => { return value + 8 }, [value])\",\n\t\t\t18\n\t\t],\n\t\t[\n\t\t\t\"expression\",\n\t\t\t\"useDerivedValue(() => value + 8, [value])\",\n\t\t\t18\n\t\t],\n\t\t[\n\t\t\t\"object\",\n\t\t\t\"useDerivedValue(() => ({ lift: value + 8 }), [value])\",\n\t\t\t{ lift: 18 }\n\t\t],\n\t\t[\n\t\t\t\"nested\",\n\t\t\t\"useDerivedValue(() => runOnUI(() => value + 8), [value])\",\n\t\t\t18\n\t\t],\n\t\t[\n\t\t\t\"gesture\",\n\t\t\t\"useDerivedValue(() => Gesture.Pan().onUpdate(() => value + 8), [value])\",\n\t\t\t18\n\t\t]\n\t])(\"preserves %s callbacks on the UI runtime and memoizes stable inputs\", async function(_name, callback, expected) {\n\t\tvar compiler = await import(\"@vxrn/compiler\");\n\t\tvar { parseSync } = await import(\"oxc-parser\");\n\t\tvar { default: MagicString } = await import(\"magic-string\");\n\t\tvar { TraceMap: TraceMap2, originalPositionFor: originalPositionFor2 } = await import(\"@jridgewell/trace-mapping\");\n\t\tvar projectRoot = await createWorkletsProject(false);\n\t\tvar sourceMaps = process.env.VXRN_ENABLE_SOURCE_MAP;\n\t\tprocess.env.VXRN_ENABLE_SOURCE_MAP = \"1\";\n\t\tcompiler.configureVXRNCompilerPlugin({\n\t\t\tenableCompiler: true,\n\t\t\tenableReanimated: true,\n\t\t\tenableNativeWorklets: true\n\t\t});\n\t\ttry {\n\t\t\tvar _first___initData;\n\t\t\tvar id = join(projectRoot, \"useProbe.ts\");\n\t\t\tvar source = `export function useProbe(value) {\n return ${callback};\n}\n`;\n\t\t\tawait writeFile(id, source);\n\t\t\tvar result;\n\t\t\tif (pipeline === \"shared\") {\n\t\t\t\tvar plugin = (await compiler.createVXRNCompilerPlugin()).find(function(p) {\n\t\t\t\t\treturn p.name === \"one:compiler\";\n\t\t\t\t});\n\t\t\t\tawait plugin.configResolved({\n\t\t\t\t\troot: projectRoot,\n\t\t\t\t\tbuild: {}\n\t\t\t\t});\n\t\t\t\tresult = await (plugin.transform.handler || plugin.transform).call({ environment: { name: \"ios\" } }, source, id);\n\t\t\t} else if (pipeline === \"metro\") {\n\t\t\t\tvar { transform } = await import(\"@vxrn/vite-plugin-metro/metroNativeWorker\");\n\t\t\t\tvar data = (await transform({}, projectRoot, id, Buffer.from(source), {\n\t\t\t\t\tdev: false,\n\t\t\t\t\tplatform: \"ios\",\n\t\t\t\t\ttype: \"module\",\n\t\t\t\t\tcustomTransformOptions: {\n\t\t\t\t\t\treactCompiler: true,\n\t\t\t\t\t\tworklets: true\n\t\t\t\t\t}\n\t\t\t\t})).output[0].data;\n\t\t\t\tvar msm = await import(\"metro-source-map\");\n\t\t\t\tresult = {\n\t\t\t\t\tcode: data.code,\n\t\t\t\t\tmap: msm.fromRawMappings([{\n\t\t\t\t\t\tcode: data.code,\n\t\t\t\t\t\tpath: id,\n\t\t\t\t\t\tsource,\n\t\t\t\t\t\tmap: data.map\n\t\t\t\t\t}]).toMap()\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tvar plugin1 = vxrnCompilerPlugin(\"ios\", false, projectRoot, true);\n\t\t\t\tresult = await Reflect.apply(plugin1.transform, void 0, [source, id]);\n\t\t\t}\n\t\t\tvar runnable = new MagicString(result.code);\n\t\t\tvar _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n\t\t\ttry {\n\t\t\t\tfor (var _iterator = parseSync(\"probe.js\", result.code).program.body[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t\t\t\t\tvar node = _step.value;\n\t\t\t\t\tif (node.type === \"ImportDeclaration\") runnable.remove(node.start, node.end);\n\t\t\t\t\tif (node.type === \"ExportNamedDeclaration\" && node.declaration) runnable.remove(node.start, node.declaration.start);\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\t_didIteratorError = true;\n\t\t\t\t_iteratorError = err;\n\t\t\t} finally {\n\t\t\t\ttry {\n\t\t\t\t\tif (!_iteratorNormalCompletion && _iterator.return != null) _iterator.return();\n\t\t\t\t} finally {\n\t\t\t\t\tif (_didIteratorError) throw _iteratorError;\n\t\t\t\t}\n\t\t\t}\n\t\t\tvar cache;\n\t\t\tvar cacheCalls = 0;\n\t\t\tvar memo = function(size) {\n\t\t\t\tcacheCalls++;\n\t\t\t\treturn cache !== null && cache !== void 0 ? cache : cache = Array(size).fill(/* @__PURE__ */ Symbol.for(\"react.memo_cache_sentinel\"));\n\t\t\t};\n\t\t\tvar module = { exports: {} };\n\t\t\tvar probe = new Function(\"_c\", \"useDerivedValue\", \"runOnUI\", \"Gesture\", \"__d\", \"module\", `${runnable}\nreturn ${pipeline === \"metro\" ? \"module.exports.useProbe\" : \"useProbe\"}`)(memo, function(fn2) {\n\t\t\t\treturn fn2;\n\t\t\t}, function(fn2) {\n\t\t\t\treturn fn2;\n\t\t\t}, { Pan: function() {\n\t\t\t\treturn { onUpdate: function(fn2) {\n\t\t\t\t\treturn fn2;\n\t\t\t\t} };\n\t\t\t} }, function(factory) {\n\t\t\t\treturn factory(globalThis, function() {\n\t\t\t\t\treturn { c: memo };\n\t\t\t\t}, function() {}, function() {}, module, module.exports, []);\n\t\t\t}, module);\n\t\t\tvar first = probe(10);\n\t\t\texpect((_first___initData = first.__initData) === null || _first___initData === void 0 ? void 0 : _first___initData.code).toBeTypeOf(\"string\");\n\t\t\tfor (var _i = 0, _iter = [false, true]; _i < _iter.length; _i++) {\n\t\t\t\tvar onUI = _iter[_i];\n\t\t\t\tvar fn = first;\n\t\t\t\tvar value = void 0;\n\t\t\t\tfor (var depth = 0; depth < 2; depth++) {\n\t\t\t\t\tvar _fn___initData;\n\t\t\t\t\texpect((_fn___initData = fn.__initData) === null || _fn___initData === void 0 ? void 0 : _fn___initData.code).toBeTypeOf(\"string\");\n\t\t\t\t\tvalue = onUI ? new Function(\"runOnUI\", `return (${fn.__initData.code})`)(function(fn2) {\n\t\t\t\t\t\treturn fn2;\n\t\t\t\t\t}).call({ __closure: fn.__closure }) : fn();\n\t\t\t\t\tif (typeof value !== \"function\") break;\n\t\t\t\t\tfn = value;\n\t\t\t\t}\n\t\t\t\texpect(value).toEqual(expected);\n\t\t\t}\n\t\t\texpect(probe(10)).toBe(first);\n\t\t\texpect(cacheCalls).toBe(2);\n\t\t\texpect(probe(20)).not.toBe(first);\n\t\t\tvar lines = result.code.split(\"\\n\");\n\t\t\tvar line = lines.findIndex(function(text) {\n\t\t\t\treturn text.includes(\"function useProbe(\");\n\t\t\t});\n\t\t\texpect(line).toBeGreaterThanOrEqual(0);\n\t\t\tvar position = originalPositionFor2(new TraceMap2(result.map), {\n\t\t\t\tline: line + 1,\n\t\t\t\tcolumn: lines[line].indexOf(\"function\")\n\t\t\t});\n\t\t\texpect(position.source).toBe(id);\n\t\t\texpect(position.line).toBe(1);\n\t\t} finally {\n\t\t\tif (sourceMaps === void 0) delete process.env.VXRN_ENABLE_SOURCE_MAP;\n\t\t\telse process.env.VXRN_ENABLE_SOURCE_MAP = sourceMaps;\n\t\t\tcompiler.configureVXRNCompilerPlugin({\n\t\t\t\tenableCompiler: false,\n\t\t\t\tenableReanimated: false,\n\t\t\t\tenableNativeWorklets: false\n\t\t\t});\n\t\t\tawait rm(projectRoot, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t}\n\t});\n});\nasync function createWorkletsProject() {\n\tvar throwOnTransform = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true;\n\tvar testRoot = await mkdtemp(join(tmpdir(), \"vxrn-native-transform-failure-\"));\n\tvar packageRoot = join(testRoot, \"node_modules/react-native-worklets\");\n\tawait mkdir(packageRoot, { recursive: true });\n\tawait writeFile(join(packageRoot, \"package.json\"), JSON.stringify({\n\t\tname: \"react-native-worklets\",\n\t\tversion: \"0.10.1\"\n\t}));\n\tawait writeFile(join(packageRoot, \"plugin.js\"), throwOnTransform ? `module.exports = () => ({\n visitor: {\n Program() {\n throw new Error('NATIVE_TRANSFORM_NEGATIVE_CONTROL')\n }\n }\n })` : `module.exports = () => ({ visitor: {} })`);\n\tawait writeFile(join(testRoot, \"entry.ts\"), nativeTransformProbe);\n\treturn testRoot;\n}\ndescribe(\"native prelude\", function() {\n\tit(\"does not advertise a host event API that cannot remove listeners\", function() {\n\t\tvar context = { addEventListener() {} };\n\t\trunInNewContext(getNativePrelude({\n\t\t\tdev: false,\n\t\t\tplatform: \"ios\"\n\t\t}), context);\n\t\texpect(Reflect.get(context, \"addEventListener\")).toBeUndefined();\n\t});\n\tit(\"preserves a complete host event API\", function() {\n\t\tvar addEventListener = function() {};\n\t\tvar removeEventListener = function() {};\n\t\tvar context = {\n\t\t\taddEventListener,\n\t\t\tremoveEventListener\n\t\t};\n\t\trunInNewContext(getNativePrelude({\n\t\t\tdev: false,\n\t\t\tplatform: \"ios\"\n\t\t}), context);\n\t\texpect(context.addEventListener).toBe(addEventListener);\n\t\texpect(context.removeEventListener).toBe(removeEventListener);\n\t});\n});\ndescribe(\"native pure-function worklet imports\", function() {\n\tit(\"keeps live module versions isolated across a transitive HMR update\", async function() {\n\t\tvar root2 = await createWorkletsProject(false);\n\t\tvar packageRoot = join(root2, \"node_modules/pure-math\");\n\t\tawait mkdir(packageRoot, { recursive: true });\n\t\tawait writeFile(join(packageRoot, \"package.json\"), JSON.stringify({\n\t\t\ttype: \"module\",\n\t\t\texports: \"./index.js\"\n\t\t}));\n\t\tvar dependency = join(packageRoot, \"amount.ios.js\");\n\t\tawait writeFile(dependency, \"export const amount = 2\");\n\t\tawait writeFile(join(packageRoot, \"amount.android.js\"), \"export const amount = 99\");\n\t\tawait writeFile(join(packageRoot, \"index.js\"), `\nimport { amount } from './amount'\nconst instance = globalThis.moduleInitializations = (globalThis.moduleInitializations || 0) + 1\nexport default function calculate(value) { return value + amount }\nexport function reads() { return instance }\n`);\n\t\tawait writeFile(join(root2, \"entry.mjs\"), `\nimport calculate, { reads } from 'pure-math'\nglobalThis.calculate = calculate\nglobalThis.reads = reads\nif (import.meta.hot) import.meta.hot.accept(() => {})\n`);\n\t\tvar compiler = await import(\"@vxrn/compiler\");\n\t\tcompiler.configureVXRNCompilerPlugin({\n\t\t\tenableReanimated: true,\n\t\t\tenableNativeWorklets: true\n\t\t});\n\t\tvar resolveUpdate;\n\t\tvar updated = new Promise(function(resolve) {\n\t\t\tresolveUpdate = resolve;\n\t\t});\n\t\tvar native = await createNativeDevEngine({\n\t\t\troot: root2,\n\t\t\tport: 0,\n\t\t\tplatform: \"ios\",\n\t\t\tplugins: [workletImportsPlugin({ \"pure-math\": [\"default\", \"reads\"] }), {\n\t\t\t\tname: \"worklet-import-fixture\",\n\t\t\t\ttransform(_code, id) {\n\t\t\t\t\tif (id.endsWith(\"/__virtual-native-entry.tsx\")) return `import './entry.mjs'`;\n\t\t\t\t}\n\t\t\t}],\n\t\t\tonHmrUpdate: resolveUpdate\n\t\t});\n\t\ttry {\n\t\t\tvar initial = await native.getBundle();\n\t\t\tvar rn = {\n\t\t\t\tconsole,\n\t\t\t\tsetTimeout,\n\t\t\t\tclearTimeout\n\t\t\t};\n\t\t\trunInNewContext(initial.code, rn);\n\t\t\texpect(rn.calculate(10)).toBe(12);\n\t\t\texpect(rn.reads()).toBe(1);\n\t\t\tvar ui = createContext({});\n\t\t\tvar compiled = /* @__PURE__ */ new Map();\n\t\t\tvar reconstruct = function(worklet) {\n\t\t\t\tif (!worklet.__initData || !worklet.__workletHash) throw new Error(\"remote function\");\n\t\t\t\tvar fn = compiled.get(worklet.__workletHash);\n\t\t\t\tif (!fn) {\n\t\t\t\t\tfn = runInContext(`(${worklet.__initData.code})`, ui);\n\t\t\t\t\tcompiled.set(worklet.__workletHash, fn);\n\t\t\t\t}\n\t\t\t\tvar closure = Object.fromEntries(Object.entries(worklet.__closure).map(function(param) {\n\t\t\t\t\tvar [name, value] = param;\n\t\t\t\t\treturn [name, typeof value === \"function\" ? reconstruct(value) : value];\n\t\t\t\t}));\n\t\t\t\treturn fn.bind({ __closure: closure });\n\t\t\t};\n\t\t\texpect(function() {\n\t\t\t\treturn reconstruct(function(value) {\n\t\t\t\t\treturn value + 2;\n\t\t\t\t});\n\t\t\t}).toThrow(\"remote function\");\n\t\t\tvar old = reconstruct(rn.calculate);\n\t\t\tvar oldReads = reconstruct(rn.reads);\n\t\t\texpect(old(10)).toBe(12);\n\t\t\texpect(reconstruct(rn.calculate)(11)).toBe(13);\n\t\t\texpect(oldReads()).toBe(1);\n\t\t\texpect(rn.reads()).toBe(1);\n\t\t\tvar runtime = rn.__rolldown_runtime__;\n\t\t\tawait native.engine.registerClient(runtime.clientId);\n\t\t\tawait writeFile(dependency, \"export const amount = 3\");\n\t\t\tvar update = await updated;\n\t\t\texpect(update.type).toBe(\"hmr:update\");\n\t\t\texpect(runtime.applyHmrUpdate(update.code, update.changedIds, update.seq)).toBe(true);\n\t\t\texpect(rn.calculate(10)).toBe(13);\n\t\t\tvar next = reconstruct(rn.calculate);\n\t\t\texpect([\n\t\t\t\told(10),\n\t\t\t\tnext(10),\n\t\t\t\told(10),\n\t\t\t\tnext(10)\n\t\t\t]).toEqual([\n\t\t\t\t12,\n\t\t\t\t13,\n\t\t\t\t12,\n\t\t\t\t13\n\t\t\t]);\n\t\t\tvar nextReads = reconstruct(rn.reads);\n\t\t\texpect([\n\t\t\t\toldReads(),\n\t\t\t\tnextReads(),\n\t\t\t\toldReads(),\n\t\t\t\tnextReads()\n\t\t\t]).toEqual([\n\t\t\t\t1,\n\t\t\t\t2,\n\t\t\t\t1,\n\t\t\t\t2\n\t\t\t]);\n\t\t\texpect(ui.moduleInitializations).toBe(2);\n\t\t\texpect(rn.reads()).toBe(2);\n\t\t\tawait writeFile(join(root2, \"production.mjs\"), `import calculate, { reads } from 'pure-math'; globalThis.calculate = calculate; globalThis.reads = reads`);\n\t\t\tvar production = await buildNativeBundle({\n\t\t\t\troot: root2,\n\t\t\t\tplatform: \"android\",\n\t\t\t\tentryFile: \"production.mjs\",\n\t\t\t\tplugins: [workletImportsPlugin({ \"pure-math\": [\"default\", \"reads\"] })]\n\t\t\t});\n\t\t\texpect(production.code).not.toContain(\"__esmMin\");\n\t\t\tvar productionRN = { console };\n\t\t\trunInNewContext(production.code, productionRN);\n\t\t\texpect(productionRN.calculate(10)).toBe(109);\n\t\t\texpect(reconstruct(productionRN.calculate)(10)).toBe(109);\n\t\t\texpect(reconstruct(productionRN.reads)()).toBe(3);\n\t\t\texpect(productionRN.reads()).toBe(1);\n\t\t\tvar unminifiedProduction = await buildNativeBundle({\n\t\t\t\troot: root2,\n\t\t\t\tplatform: \"android\",\n\t\t\t\tentryFile: \"production.mjs\",\n\t\t\t\tminify: false,\n\t\t\t\tplugins: [workletImportsPlugin({ \"pure-math\": [\"default\", \"reads\"] })]\n\t\t\t});\n\t\t\texpect(unminifiedProduction.code).toContain(\"__esmMin\");\n\t\t\tvar unminifiedRN = { console };\n\t\t\trunInNewContext(unminifiedProduction.code, unminifiedRN);\n\t\t\texpect(unminifiedRN.calculate(10)).toBe(109);\n\t\t\texpect(reconstruct(unminifiedRN.calculate)(10)).toBe(109);\n\t\t\texpect(reconstruct(unminifiedRN.reads)()).toBe(3);\n\t\t\tvar sharedPlugin = workletImportsPlugin({ \"pure-math\": [\"default\", \"reads\"] });\n\t\t\texpect(await Promise.all([\"ios\", \"android\"].map(async function(platform) {\n\t\t\t\tvar output = await buildNativeBundle({\n\t\t\t\t\troot: root2,\n\t\t\t\t\tplatform,\n\t\t\t\t\tentryFile: \"production.mjs\",\n\t\t\t\t\tplugins: [sharedPlugin]\n\t\t\t\t});\n\t\t\t\tvar context = { console };\n\t\t\t\trunInNewContext(output.code, context);\n\t\t\t\treturn context.calculate(10);\n\t\t\t}))).toEqual([13, 109]);\n\t\t} finally {\n\t\t\tawait native.close();\n\t\t\tcompiler.configureVXRNCompilerPlugin({\n\t\t\t\tenableReanimated: false,\n\t\t\t\tenableNativeWorklets: false\n\t\t\t});\n\t\t\tawait rm(root2, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t}\n\t});\n\tit.each([\n\t\t[\n\t\t\t\"unselected\",\n\t\t\t\"export default function value() { return 1 }; export const other = 2\",\n\t\t\t`import { other } from 'pure-math'; globalThis.value = other`,\n\t\t\t/unselected export other/\n\t\t],\n\t\t[\n\t\t\t\"missing\",\n\t\t\t\"export const other = 2\",\n\t\t\t`import value from 'pure-math'; globalThis.value = value`,\n\t\t\t/default.*not exported|MISSING_EXPORT/\n\t\t],\n\t\t[\n\t\t\t\"builtin\",\n\t\t\t`import fs from 'node:fs'; export default function value() { return fs.readFileSync('x') }`,\n\t\t\t`import value from 'pure-math'; globalThis.value = value`,\n\t\t\t/runtime dependency node:fs/\n\t\t],\n\t\t[\n\t\t\t\"global\",\n\t\t\t\"export default function value() { return process.pid }\",\n\t\t\t`import value from 'pure-math'; globalThis.value = value`,\n\t\t\t/unsupported runtime globals: process/\n\t\t],\n\t\t[\n\t\t\t\"dynamic\",\n\t\t\t`export default function value() { return import('./other.js') }`,\n\t\t\t`import value from 'pure-math'; globalThis.value = value`,\n\t\t\t/dynamic imports are unsupported/\n\t\t]\n\t])(\"rejects %s through the native engine\", async function(_name, source, entry, expected) {\n\t\tvar root2 = await createWorkletsProject(false);\n\t\tvar packageRoot = join(root2, \"node_modules/pure-math\");\n\t\tawait mkdir(packageRoot, { recursive: true });\n\t\tawait writeFile(join(packageRoot, \"package.json\"), JSON.stringify({\n\t\t\ttype: \"module\",\n\t\t\texports: \"./index.js\"\n\t\t}));\n\t\tawait writeFile(join(packageRoot, \"index.js\"), source);\n\t\tawait writeFile(join(root2, \"entry.mjs\"), entry);\n\t\tvar compiler = await import(\"@vxrn/compiler\");\n\t\tcompiler.configureVXRNCompilerPlugin({\n\t\t\tenableReanimated: true,\n\t\t\tenableNativeWorklets: true\n\t\t});\n\t\tvar native = await createNativeDevEngine({\n\t\t\troot: root2,\n\t\t\tport: 0,\n\t\t\tplatform: \"ios\",\n\t\t\tplugins: [workletImportsPlugin({ \"pure-math\": [\"default\"] }), {\n\t\t\t\tname: \"worklet-import-negative-fixture\",\n\t\t\t\ttransform(_code, id) {\n\t\t\t\t\tif (id.endsWith(\"/__virtual-native-entry.tsx\")) return `import './entry.mjs'`;\n\t\t\t\t}\n\t\t\t}]\n\t\t});\n\t\ttry {\n\t\t\tawait expect(native.getBundle()).rejects.toThrow(expected);\n\t\t} finally {\n\t\t\tawait native.close();\n\t\t\tcompiler.configureVXRNCompilerPlugin({\n\t\t\t\tenableReanimated: false,\n\t\t\t\tenableNativeWorklets: false\n\t\t\t});\n\t\t\tawait rm(root2, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t}\n\t});\n});\ndescribe(\"native Rolldown HMR runtime\", function() {\n\tit.each([true, false])(\"keeps CommonJS default components callable through the native HMR wire path (Babel=%s)\", async function(babel) {\n\t\tvar root2 = await mkdtemp(join(tmpdir(), \"vxrn-native-hmr-interop-\"));\n\t\tvar entry = join(root2, \"entry.mjs\");\n\t\tvar packageRoot = join(root2, \"node_modules/component\");\n\t\tawait mkdir(packageRoot, { recursive: true });\n\t\tawait writeFile(join(packageRoot, \"package.json\"), JSON.stringify({ main: \"./component(view).js\" }));\n\t\tawait writeFile(join(packageRoot, \"component(view).js\"), babel ? `Object.defineProperty(exports, '__esModule', { value: true }); exports.default = function Component() { return 42 }` : `module.exports = function Component() { return 42 }`);\n\t\tvar source = function(version) {\n\t\t\treturn `\nimport Component from 'component'\nglobalThis.renderComponent = Component\nexport const version = ${version}\nif (import.meta.hot) import.meta.hot.accept(() => {})\n`;\n\t\t};\n\t\tawait writeFile(entry, source(1));\n\t\tvar resolveUpdate;\n\t\tvar updateReceived = new Promise(function(resolve) {\n\t\t\tresolveUpdate = resolve;\n\t\t});\n\t\tvar native = await createNativeDevEngine({\n\t\t\troot: root2,\n\t\t\tport: 0,\n\t\t\tplatform: \"ios\",\n\t\t\tplugins: [{\n\t\t\t\tname: \"native-hmr-fixture-entry\",\n\t\t\t\ttransform(_code, id) {\n\t\t\t\t\tif (id.endsWith(\"/__virtual-native-entry.tsx\")) return `import './entry.mjs'`;\n\t\t\t\t}\n\t\t\t}],\n\t\t\tonHmrUpdate: resolveUpdate\n\t\t});\n\t\ttry {\n\t\t\tvar initial = await native.getBundle();\n\t\t\tvar context = {\n\t\t\t\tconsole,\n\t\t\t\tsetTimeout,\n\t\t\t\tclearTimeout\n\t\t\t};\n\t\t\trunInNewContext(initial.code, context);\n\t\t\texpect(context.renderComponent()).toBe(42);\n\t\t\tvar runtime = context.__rolldown_runtime__;\n\t\t\tawait native.engine.registerClient(runtime.clientId);\n\t\t\tawait writeFile(entry, source(2));\n\t\t\tvar update = await updateReceived;\n\t\t\texpect(update.type).toBe(\"hmr:update\");\n\t\t\texpect(update.clientId).toBe(runtime.clientId);\n\t\t\texpect(runtime.applyHmrUpdate(update.code, update.changedIds, update.seq)).toBe(true);\n\t\t\texpect(context.renderComponent()).toBe(42);\n\t\t} finally {\n\t\t\tawait native.close();\n\t\t\tawait rm(root2, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t}\n\t});\n\tit(\"registers a Rolldown 1.2 client and applies a self-accepted patch\", { timeout: 3e4 }, async function() {\n\t\tvar testRoot = await mkdtemp(join(tmpdir(), \"vxrn-native-hmr-\"));\n\t\tvar entry = join(testRoot, \"entry.js\");\n\t\tvar source = function(version) {\n\t\t\treturn `\nglobalThis.__vxrnHmrBody = '${version}'\nexport const value = '${version}'\nif (import.meta.hot) {\n import.meta.hot.accept((next) => {\n globalThis.__vxrnHmrAccepted = next.value\n })\n}\n`;\n\t\t};\n\t\tawait writeFile(entry, source(\"v1\"));\n\t\tvar resolveInitialOutput;\n\t\tvar initialOutput = new Promise(function(resolve) {\n\t\t\tresolveInitialOutput = resolve;\n\t\t});\n\t\tvar resolveHmrUpdate;\n\t\tvar hmrUpdate = new Promise(function(resolve) {\n\t\t\tresolveHmrUpdate = resolve;\n\t\t});\n\t\tvar registeredClientId;\n\t\tvar engine = await dev({\n\t\t\tcwd: testRoot,\n\t\t\tinput: entry,\n\t\t\texperimental: { devMode: { implement: getHmrRuntimeSource() } }\n\t\t}, { format: \"esm\" }, {\n\t\t\tonOutput(result2) {\n\t\t\t\tresolveInitialOutput(result2);\n\t\t\t},\n\t\t\tonHmrUpdates(result2) {\n\t\t\t\tif (!_instanceof(result2, Error) && result2.updates.some(function(item) {\n\t\t\t\t\treturn item.clientId === registeredClientId && item.update.type === \"Patch\";\n\t\t\t\t})) resolveHmrUpdate(result2);\n\t\t\t}\n\t\t});\n\t\ttry {\n\t\t\tvar _result_updates_find;\n\t\t\tawait engine.run();\n\t\t\tvar initial = await initialOutput;\n\t\t\tif (_instanceof(initial, Error)) throw initial;\n\t\t\tvar chunk = initial.output.find(function(item) {\n\t\t\t\treturn item.type === \"chunk\" && item.isEntry;\n\t\t\t});\n\t\t\texpect(chunk).toBeTruthy();\n\t\t\tdelete globalThis.__rolldown_runtime__;\n\t\t\tawait import(`data:text/javascript;base64,${Buffer.from(chunk.code).toString(\"base64\")}`);\n\t\t\tvar runtime = globalThis.__rolldown_runtime__;\n\t\t\texpect(_type_of(runtime.clientId)).toBe(\"string\");\n\t\t\tregisteredClientId = runtime.clientId;\n\t\t\tawait engine.registerClient(runtime.clientId);\n\t\t\tawait writeFile(entry, source(\"v2\"));\n\t\t\tvar patch = (_result_updates_find = (await Promise.race([hmrUpdate, new Promise(function(_, reject) {\n\t\t\t\treturn setTimeout(function() {\n\t\t\t\t\treturn reject(/* @__PURE__ */ new Error(\"timed out waiting for HMR patch\"));\n\t\t\t\t}, 1e4);\n\t\t\t})])).updates.find(function(item) {\n\t\t\t\treturn item.clientId === runtime.clientId && item.update.type === \"Patch\";\n\t\t\t})) === null || _result_updates_find === void 0 ? void 0 : _result_updates_find.update;\n\t\t\texpect(patch).toBeTruthy();\n\t\t\tvar applyHmrUpdate = Reflect.get(runtime, \"applyHmrUpdate\");\n\t\t\texpect(Reflect.apply(applyHmrUpdate, runtime, [\n\t\t\t\tpatch.code,\n\t\t\t\tpatch.changedIds,\n\t\t\t\tpatch.seq\n\t\t\t])).toBe(true);\n\t\t\texpect(globalThis.__vxrnHmrBody).toBe(\"v2\");\n\t\t\texpect(globalThis.__vxrnHmrAccepted).toBe(\"v2\");\n\t\t} finally {\n\t\t\tawait engine.close();\n\t\t\tawait rm(testRoot, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t\tdelete globalThis.__rolldown_runtime__;\n\t\t\tdelete globalThis.__vxrnHmrBody;\n\t\t\tdelete globalThis.__vxrnHmrAccepted;\n\t\t}\n\t});\n\tit(\"propagates a non-component update to a React Refresh boundary\", { timeout: 3e4 }, async function() {\n\t\tvar testRoot = await mkdtemp(join(tmpdir(), \"vxrn-native-refresh-boundary-\"));\n\t\tvar entry = join(testRoot, \"entry.js\");\n\t\tvar leaf = join(testRoot, \"leaf.js\");\n\t\tawait writeFile(entry, `\nimport { value } from './leaf.js'\nglobalThis.__vxrnRefreshBoundaryValue = value\nexport function App() {}\nif (import.meta.hot) {\n import.meta.hot.acceptReactRefresh(() => {\n globalThis.__vxrnRefreshBoundaryAccepted = true\n })\n}\n`);\n\t\tawait writeFile(leaf, `export const value = 'v1'`);\n\t\tvar resolveInitialOutput;\n\t\tvar initialOutput = new Promise(function(resolve) {\n\t\t\tresolveInitialOutput = resolve;\n\t\t});\n\t\tvar resolveHmrUpdate;\n\t\tvar hmrUpdate = new Promise(function(resolve) {\n\t\t\tresolveHmrUpdate = resolve;\n\t\t});\n\t\tvar registeredClientId;\n\t\tvar engine = await dev({\n\t\t\tcwd: testRoot,\n\t\t\tinput: entry,\n\t\t\texperimental: { devMode: { implement: getHmrRuntimeSource() } }\n\t\t}, { format: \"esm\" }, {\n\t\t\tonOutput(result2) {\n\t\t\t\tresolveInitialOutput(result2);\n\t\t\t},\n\t\t\tonHmrUpdates(result2) {\n\t\t\t\tif (!_instanceof(result2, Error) && result2.updates.some(function(item) {\n\t\t\t\t\treturn item.clientId === registeredClientId && item.update.type === \"Patch\";\n\t\t\t\t})) resolveHmrUpdate(result2);\n\t\t\t}\n\t\t});\n\t\tvar previousRefreshRuntime = Reflect.get(globalThis, \"__ReactRefresh\");\n\t\tReflect.set(globalThis, \"__ReactRefresh\", { isLikelyComponentType(value) {\n\t\t\treturn typeof value === \"function\";\n\t\t} });\n\t\ttry {\n\t\t\tvar _result_updates_find;\n\t\t\tawait engine.run();\n\t\t\tvar initial = await initialOutput;\n\t\t\tif (_instanceof(initial, Error)) throw initial;\n\t\t\tvar chunk = initial.output.find(function(item) {\n\t\t\t\treturn item.type === \"chunk\" && item.isEntry;\n\t\t\t});\n\t\t\texpect(chunk).toBeTruthy();\n\t\t\tReflect.deleteProperty(globalThis, \"__rolldown_runtime__\");\n\t\t\tawait import(`data:text/javascript;base64,${Buffer.from(chunk.code).toString(\"base64\")}`);\n\t\t\tvar runtime = Reflect.get(globalThis, \"__rolldown_runtime__\");\n\t\t\tregisteredClientId = runtime.clientId;\n\t\t\tawait engine.registerClient(runtime.clientId);\n\t\t\tawait writeFile(leaf, `export const value = 'v2'`);\n\t\t\tvar patch = (_result_updates_find = (await Promise.race([hmrUpdate, new Promise(function(_, reject) {\n\t\t\t\treturn setTimeout(function() {\n\t\t\t\t\treturn reject(/* @__PURE__ */ new Error(\"timed out waiting for HMR patch\"));\n\t\t\t\t}, 1e4);\n\t\t\t})])).updates.find(function(item) {\n\t\t\t\treturn item.clientId === runtime.clientId && item.update.type === \"Patch\";\n\t\t\t})) === null || _result_updates_find === void 0 ? void 0 : _result_updates_find.update;\n\t\t\texpect(patch).toBeTruthy();\n\t\t\tvar applyHmrUpdate = Reflect.get(runtime, \"applyHmrUpdate\");\n\t\t\texpect(Reflect.apply(applyHmrUpdate, runtime, [\n\t\t\t\tpatch.code,\n\t\t\t\tpatch.changedIds,\n\t\t\t\tpatch.seq\n\t\t\t])).toBe(true);\n\t\t\texpect(Reflect.get(globalThis, \"__vxrnRefreshBoundaryValue\")).toBe(\"v2\");\n\t\t\texpect(Reflect.get(globalThis, \"__vxrnRefreshBoundaryAccepted\")).toBe(true);\n\t\t} finally {\n\t\t\tawait engine.close();\n\t\t\tawait rm(testRoot, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t\tReflect.deleteProperty(globalThis, \"__rolldown_runtime__\");\n\t\t\tReflect.deleteProperty(globalThis, \"__vxrnRefreshBoundaryValue\");\n\t\t\tReflect.deleteProperty(globalThis, \"__vxrnRefreshBoundaryAccepted\");\n\t\t\tif (previousRefreshRuntime === void 0) Reflect.deleteProperty(globalThis, \"__ReactRefresh\");\n\t\t\telse Reflect.set(globalThis, \"__ReactRefresh\", previousRefreshRuntime);\n\t\t}\n\t});\n});\ndescribe(\"native production import.meta lowering\", function() {\n\tit(\"emits a Hermes-compatible bundle for guarded import.meta.env reads\", async function() {\n\t\tvar testRoot = await mkdtemp(join(tmpdir(), \"vxrn-native-import-meta-\"));\n\t\tawait writeFile(join(testRoot, \"entry.js\"), `globalThis.__vxrnNativeImportMetaProbe = typeof import.meta !== 'undefined' && import.meta.env.DEV`);\n\t\ttry {\n\t\t\tvar result = await buildNativeBundle({\n\t\t\t\troot: testRoot,\n\t\t\t\tplatform: \"ios\",\n\t\t\t\tentryFile: \"entry.js\"\n\t\t\t});\n\t\t\texpect(result.code).not.toContain(\"typeof import.meta\");\n\t\t\tvar context = {\n\t\t\t\tglobalThis: {},\n\t\t\t\tprocess: { env: {} }\n\t\t\t};\n\t\t\trunInNewContext(result.code, context);\n\t\t\texpect(Reflect.get(context.globalThis, \"__vxrnNativeImportMetaProbe\")).toBe(false);\n\t\t} finally {\n\t\t\tawait rm(testRoot, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t}\n\t});\n});\ndescribe(\"native animated guard transform\", function() {\n\tit(\"preserves line count and returns a composable source map\", async function() {\n\t\tvar plugin = nativeAnimatedGuardPlugin();\n\t\tif (typeof plugin.transform !== \"function\") throw new Error(\"native animated guard transform hook is not callable\");\n\t\tvar source = [\n\t\t\t\"function call(methodName) {\",\n\t\t\t\" const method = nullthrows(NativeAnimatedModule)[methodName];\",\n\t\t\t\" method();\",\n\t\t\t\"}\"\n\t\t].join(\"\\n\");\n\t\tvar result = await Reflect.apply(plugin.transform, void 0, [source, \"/project/node_modules/react-native/src/private/animated/NativeAnimatedHelper.js\"]);\n\t\texpect(result.code.split(\"\\n\")).toHaveLength(source.split(\"\\n\").length);\n\t\texpect(result.code).toContain(\"if (typeof method !== 'function') return\");\n\t\texpect(result.map).toEqual({\n\t\t\tversion: 3,\n\t\t\tsources: [\"/project/node_modules/react-native/src/private/animated/NativeAnimatedHelper.js\"],\n\t\t\tsourcesContent: [source],\n\t\t\tnames: [],\n\t\t\tmappings: \"AAAA;AACA;AACA;AACA\"\n\t\t});\n\t});\n});\nvar root = \"/tmp/vxrn-native-env-define-test-nonexistent\";\ndescribe(\"getNativeTransformConfig platform env defines\", function() {\n\tvar _loop = function(_i2, _iter2) {\n\t\tvar _loop2 = function(_i12, _iter12) {\n\t\t\tvar dev2 = _iter12[_i12];\n\t\t\tit(`injects TAMAGUI_TARGET=native for ${platform} (dev=${dev2})`, function() {\n\t\t\t\tvar { define } = getNativeTransformConfig(platform, dev2, root);\n\t\t\t\texpect(define[\"import.meta.env.TAMAGUI_TARGET\"]).toBe(\"\\\"native\\\"\");\n\t\t\t\texpect(define[\"process.env.TAMAGUI_TARGET\"]).toBe(\"\\\"native\\\"\");\n\t\t\t\texpect(define[\"import.meta.env.TAMAGUI_ENVIRONMENT\"]).toBe(JSON.stringify(platform));\n\t\t\t\texpect(define[\"import.meta.env.VITE_ENVIRONMENT\"]).toBe(JSON.stringify(platform));\n\t\t\t\texpect(define[\"import.meta.env.VITE_NATIVE\"]).toBe(\"\\\"1\\\"\");\n\t\t\t\texpect(define[\"import.meta.env.EXPO_OS\"]).toBe(JSON.stringify(platform));\n\t\t\t\tvar envObject = JSON.parse(define[\"import.meta.env\"]);\n\t\t\t\texpect(envObject.TAMAGUI_TARGET).toBe(\"native\");\n\t\t\t\texpect(envObject.TAMAGUI_ENVIRONMENT).toBe(platform);\n\t\t\t});\n\t\t};\n\t\tvar platform = _iter2[_i2];\n\t\tfor (var _i1 = 0, _iter1 = [true, false]; _i1 < _iter1.length; _i1++) _loop2(_i1, _iter1);\n\t};\n\tfor (var _i = 0, _iter = [\"ios\", \"android\"]; _i < _iter.length; _i++) _loop(_i, _iter);\n\tit(\"inlines EXPO_PUBLIC values supplied by the native build environment\", function() {\n\t\tvar key = \"EXPO_PUBLIC_VXRN_NATIVE_ENV_PROBE\";\n\t\tvar previous = process.env[key];\n\t\tprocess.env[key] = \"native-env-value\";\n\t\ttry {\n\t\t\tvar { define } = getNativeTransformConfig(\"ios\", false, root);\n\t\t\texpect(define[`process.env.${key}`]).toBe(\"\\\"native-env-value\\\"\");\n\t\t\texpect(define[`import.meta.env.${key}`]).toBe(\"\\\"native-env-value\\\"\");\n\t\t\texpect(JSON.parse(define[\"import.meta.env\"])[key]).toBe(\"native-env-value\");\n\t\t} finally {\n\t\t\tif (previous === void 0) delete process.env[key];\n\t\t\telse process.env[key] = previous;\n\t\t}\n\t});\n\tit(\"keeps native platform values authoritative over inherited SSR env\", function() {\n\t\tvar previousEnvironment = process.env.VITE_ENVIRONMENT;\n\t\tvar previousNative = process.env.VITE_NATIVE;\n\t\tprocess.env.VITE_ENVIRONMENT = \"ssr\";\n\t\tprocess.env.VITE_NATIVE = \"\";\n\t\ttry {\n\t\t\tvar { define } = getNativeTransformConfig(\"ios\", false, root);\n\t\t\tvar envObject = JSON.parse(define[\"import.meta.env\"]);\n\t\t\texpect(define[\"process.env.VITE_ENVIRONMENT\"]).toBe(\"\\\"ios\\\"\");\n\t\t\texpect(define[\"import.meta.env.VITE_ENVIRONMENT\"]).toBe(\"\\\"ios\\\"\");\n\t\t\texpect(define[\"process.env.VITE_NATIVE\"]).toBe(\"\\\"1\\\"\");\n\t\t\texpect(define[\"import.meta.env.VITE_NATIVE\"]).toBe(\"\\\"1\\\"\");\n\t\t\texpect(envObject.VITE_ENVIRONMENT).toBe(\"ios\");\n\t\t\texpect(envObject.VITE_NATIVE).toBe(\"1\");\n\t\t} finally {\n\t\t\tif (previousEnvironment === void 0) delete process.env.VITE_ENVIRONMENT;\n\t\t\telse process.env.VITE_ENVIRONMENT = previousEnvironment;\n\t\t\tif (previousNative === void 0) delete process.env.VITE_NATIVE;\n\t\t\telse process.env.VITE_NATIVE = previousNative;\n\t\t}\n\t});\n});\ndescribe(\"wrapNativeBundleModuleScope\", function() {\n\tvar RUNTIME_MARKER = \"//#region \\\\0rolldown/runtime.js\";\n\tit(\"wraps module code after the prelude so top-level vars do not leak to global\", function() {\n\t\tvar out = wrapNativeBundleModuleScope(`globalThis.global = globalThis;\nglobalThis.__DEV__ = true;\n${RUNTIME_MARKER}\nvar fetch_hot, fetch$1, Headers, Request, Response$1;\nglobalThis.__rolldown_runtime__ = {};\n`);\n\t\tvar openIdx = out.indexOf(\";(function() {\");\n\t\texpect(openIdx).toBeGreaterThan(-1);\n\t\texpect(out.indexOf(\"globalThis.__DEV__\")).toBeLessThan(openIdx);\n\t\texpect(out.indexOf(\"var fetch_hot\")).toBeGreaterThan(openIdx);\n\t\texpect(function() {\n\t\t\treturn new Function(out);\n\t\t}).not.toThrow();\n\t});\n\tit(\"is a no-op when the runtime marker is absent (e.g. prod bundle)\", function() {\n\t\tvar input = \"var x = 1;\\nconsole.log(x);\\n\";\n\t\texpect(wrapNativeBundleModuleScope(input)).toBe(input);\n\t});\n});\ndescribe(\"getHermesSWCIncludes\", function() {\n\tvar CLASS_SET = [\n\t\t\"transform-classes\",\n\t\t\"transform-parameters\",\n\t\t\"transform-block-scoping\",\n\t\t\"transform-class-properties\",\n\t\t\"transform-class-static-block\",\n\t\t\"transform-private-methods\",\n\t\t\"transform-private-property-in-object\"\n\t];\n\tit(\"always includes the full Hermes class-transform set (dev and prod)\", function() {\n\t\texpect(getHermesSWCIncludes(true)).toEqual(expect.arrayContaining(CLASS_SET));\n\t\texpect(getHermesSWCIncludes(false)).toEqual(expect.arrayContaining(CLASS_SET));\n\t});\n\tit(\"adds transform-async-to-generator in development and production\", function() {\n\t\texpect(getHermesSWCIncludes(true)).toContain(\"transform-async-to-generator\");\n\t\texpect(getHermesSWCIncludes(false)).toContain(\"transform-async-to-generator\");\n\t});\n\tit(\"lowers async generators for the Hermes development interpreter\", async function() {\n\t\tvar plugin = hermesCompatSWCPlugin(true);\n\t\tif (typeof plugin.transform !== \"function\") throw new Error(\"Hermes compatibility transform hook is not callable\");\n\t\tvar result = await Reflect.apply(plugin.transform, void 0, [\"export async function* values() { yield await Promise.resolve(1) }\", \"/project/async-generator.ts\"]);\n\t\texpect(result.code).not.toContain(\"async function*\");\n\t\texpect(result.code).not.toContain(\"async function *\");\n\t});\n\tit(\"downlevels private fields, public class fields, and static blocks for Hermes\", async function() {\n\t\tvar plugin = hermesCompatSWCPlugin(true);\n\t\tif (typeof plugin.transform !== \"function\") throw new Error(\"Hermes compatibility transform hook is not callable\");\n\t\tvar result = await Reflect.apply(plugin.transform, void 0, [`\nclass TransformProbe {\n #privateField = 1\n publicField = 2\n static {\n TransformProbe.initialized = true\n }\n\n getSecret() {\n return this.#privateField\n }\n}\n`, \"/project/TransformProbe.ts\"]);\n\t\texpect(result.code).not.toContain(\"#privateField\");\n\t\texpect(result.code).not.toMatch(/^\\s*publicField\\s*=/m);\n\t\texpect(result.code).not.toContain(\"static {\");\n\t\texpect(result.code).toContain(\"this.publicField = 2\");\n\t});\n\tit(\"preserves per-iteration bindings used by lazy method getters\", async function() {\n\t\tvar plugin = hermesCompatSWCPlugin(true);\n\t\tif (typeof plugin.transform !== \"function\") throw new Error(\"Hermes compatibility transform hook is not callable\");\n\t\tvar result = await Reflect.apply(plugin.transform, void 0, [`\nconst installedGroups = new WeakMap()\nfunction install(inst, methods) {\n const proto = Object.getPrototypeOf(inst)\n for (const key in methods) {\n const fn = methods[key]\n Object.defineProperty(proto, key, {\n get() { return fn.bind(this) }\n })\n }\n}\nfunction Schema() {\n install(this, {\n nullish() { return 'nullish' },\n apply(fn) { return fn(this) }\n })\n}\nglobalThis.__vxrnBlockScopeProbe = new Schema().nullish()\n`, \"/project/block-scope-loop.ts\"]);\n\t\ttry {\n\t\t\tnew Function(result.code)();\n\t\t\texpect(Reflect.get(globalThis, \"__vxrnBlockScopeProbe\")).toBe(\"nullish\");\n\t\t} finally {\n\t\t\tReflect.deleteProperty(globalThis, \"__vxrnBlockScopeProbe\");\n\t\t}\n\t});\n\tit(\"bundles lowered classes whose constructors use default and rest parameters\", async function() {\n\t\tvar testRoot = await mkdtemp(join(tmpdir(), \"vxrn-hermes-parameters-\"));\n\t\tvar entry = join(testRoot, \"entry.js\");\n\t\tawait writeFile(entry, `\nclass ParameterProbe {\n prefix = 'value'\n\n constructor(value = 'default', ...rest) {\n this.result = [this.prefix, value, ...rest].join(':')\n }\n}\n\nexport const result = new ParameterProbe(undefined, 'rest-a', 'rest-b').result\n`);\n\t\tvar build = await rolldown({\n\t\t\tinput: entry,\n\t\t\tplugins: [hermesCompatSWCPlugin(true)]\n\t\t});\n\t\ttry {\n\t\t\tvar chunk = (await build.generate({ format: \"esm\" })).output.find(function(item) {\n\t\t\t\treturn item.type === \"chunk\";\n\t\t\t});\n\t\t\texpect(chunk).toBeTruthy();\n\t\t\tif (!chunk) throw new Error(\"Rolldown did not emit a JavaScript chunk\");\n\t\t\texpect((await import(`data:text/javascript;base64,${Buffer.from(chunk.code).toString(\"base64\")}`)).result).toBe(\"value:default:rest-a:rest-b\");\n\t\t} finally {\n\t\t\tawait build.close();\n\t\t\tawait rm(testRoot, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t}\n\t});\n});\ndescribe(\"hmrClientNoopPlugin\", function() {\n\tvar plugin = hmrClientNoopPlugin();\n\tvar resolveId = plugin.resolveId;\n\tvar load = plugin.load;\n\tvar VIRTUAL_ID = \"\\0vxrn-hmr-client-noop\";\n\tit.each([\n\t\t[\"react-native/Libraries/Utilities/HMRClient\", void 0],\n\t\t[\"../Utilities/HMRClient\", \"/project/node_modules/react-native/Libraries/Core.js\"],\n\t\t[\"../../Utilities/HMRClient.js\", \"/project/react-native/Libraries/Core.js\"],\n\t\t[\"..\\\\Utilities\\\\HMRClient.js\", \"C:\\\\project\\\\react-native\\\\Libraries\\\\Core.js\"],\n\t\t[\"../Utilities/HMRClient.ts\", \"/project/node_modules/react-native/Core.js\"],\n\t\t[\"../Utilities/HMRClient.tsx\", \"/project/node_modules/react-native/Core.js\"],\n\t\t[\"../Utilities/HMRClient.cjs\", \"/project/node_modules/react-native/Core.js\"]\n\t])(\"aliases RN HMRClient specifier %j to the no-op virtual module\", function(source, importer) {\n\t\texpect(resolveId(source, importer)).toEqual({\n\t\t\tid: VIRTUAL_ID,\n\t\t\texternal: false\n\t\t});\n\t});\n\tit.each([\n\t\t\"react-native/Libraries/Utilities/HMRClientRegistry\",\n\t\t\"some/MyUtilities/HMRClient\",\n\t\t\"react-native/Libraries/Core/setUpDeveloperTools\",\n\t\t\"react\"\n\t])(\"does not touch unrelated specifier %j\", function(source) {\n\t\texpect(resolveId(source)).toBeUndefined();\n\t});\n\tit(\"does not alias an app-authored Utilities/HMRClient module\", function() {\n\t\texpect(resolveId(\"../Utilities/HMRClient\", \"/project/src/App.tsx\")).toBeUndefined();\n\t});\n\tit(\"loads a no-op module exposing every HMRClient method RN calls\", function() {\n\t\tvar result = load(VIRTUAL_ID);\n\t\texpect(result === null || result === void 0 ? void 0 : result.moduleType).toBe(\"js\");\n\t\tfor (var _i = 0, _iter = [\n\t\t\t\"setup\",\n\t\t\t\"enable\",\n\t\t\t\"disable\",\n\t\t\t\"registerBundle\",\n\t\t\t\"log\",\n\t\t\t\"isEnabled\"\n\t\t]; _i < _iter.length; _i++) {\n\t\t\tvar method = _iter[_i];\n\t\t\texpect(result.code).toContain(method);\n\t\t}\n\t\texpect(result.code).toContain(\"export default HMRClient\");\n\t});\n\tit(\"does not load unrelated ids\", function() {\n\t\texpect(load(\"\\0some-other-virtual\")).toBeUndefined();\n\t});\n});\ndescribe(\"vxrnCompilerPlugin React Refresh registration\", function() {\n\tit(\"keeps initial-bundle registrations visible to rolldown\", async function() {\n\t\tvar previousNodeEnv = process.env.NODE_ENV;\n\t\tprocess.env.NODE_ENV = \"test\";\n\t\ttry {\n\t\t\tvar transform = vxrnCompilerPlugin(\"ios\", true).transform;\n\t\t\tvar code = (await transform(\"export const marker = \\\"$RefreshReg$(\\\"; export function Probe() { return <div>probe</div> }\", \"/project/src/Probe.tsx\")).code;\n\t\t\texpect(code).toContain(\"var __vxrnRefreshReg = globalThis.$RefreshReg$\");\n\t\t\texpect(code).toContain(\"__vxrnRefreshReg(\");\n\t\t\texpect(code).toContain(\"\\\"$RefreshReg$(\\\"\");\n\t\t\texpect(code).toContain(\"import.meta.hot.acceptReactRefresh(\");\n\t\t} finally {\n\t\t\tprocess.env.NODE_ENV = previousNodeEnv;\n\t\t}\n\t});\n});\ndescribe(\"native required transform failures\", function() {\n\tit.each([true, false])(\"rejects valid worklet source when its required compiler transform fails (dev=%s)\", async function(dev2) {\n\t\tvar testRoot = await createWorkletsProject();\n\t\tvar compiler = await import(\"@vxrn/compiler\");\n\t\tvar spy = vi.spyOn(compiler, \"transformWorklets\").mockRejectedValue(/* @__PURE__ */ new Error(\"NATIVE_TRANSFORM_NEGATIVE_CONTROL\"));\n\t\tcompiler.configureVXRNCompilerPlugin({ enableReanimated: true });\n\t\ttry {\n\t\t\tvar plugin = vxrnCompilerPlugin(\"ios\", dev2, testRoot);\n\t\t\tif (typeof plugin.transform !== \"function\") throw new Error(\"vxrn compiler transform hook is not callable\");\n\t\t\tawait expect(Reflect.apply(plugin.transform, void 0, [nativeTransformProbe, join(testRoot, \"entry.ts\")])).rejects.toThrow(\"NATIVE_TRANSFORM_NEGATIVE_CONTROL\");\n\t\t} finally {\n\t\t\tspy.mockRestore();\n\t\t\tcompiler.configureVXRNCompilerPlugin({ enableReanimated: false });\n\t\t\tawait rm(testRoot, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t}\n\t});\n\tit(\"returns a dev build error and no output when the required compiler transform fails\", async function() {\n\t\tvar testRoot = await createWorkletsProject();\n\t\tvar compiler = await import(\"@vxrn/compiler\");\n\t\tvar spy = vi.spyOn(compiler, \"transformWorklets\").mockRejectedValue(/* @__PURE__ */ new Error(\"NATIVE_TRANSFORM_NEGATIVE_CONTROL\"));\n\t\tcompiler.configureVXRNCompilerPlugin({ enableReanimated: true });\n\t\tvar resolveOutput;\n\t\tvar output = new Promise(function(resolve) {\n\t\t\tresolveOutput = resolve;\n\t\t});\n\t\tvar engine = await dev({\n\t\t\tcwd: testRoot,\n\t\t\tinput: join(testRoot, \"entry.ts\"),\n\t\t\tplugins: [vxrnCompilerPlugin(\"ios\", true, testRoot)]\n\t\t}, { format: \"esm\" }, { onOutput: resolveOutput });\n\t\ttry {\n\t\t\tawait engine.run();\n\t\t\tvar result = await output;\n\t\t\texpect(result).toBeInstanceOf(Error);\n\t\t\texpect(String(result)).toContain(\"NATIVE_TRANSFORM_NEGATIVE_CONTROL\");\n\t\t} finally {\n\t\t\tspy.mockRestore();\n\t\t\tawait engine.close();\n\t\t\tcompiler.configureVXRNCompilerPlugin({ enableReanimated: false });\n\t\t\tawait rm(testRoot, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t}\n\t});\n\tit(\"emits no production bundle when the required compiler transform fails\", async function() {\n\t\tvar testRoot = await createWorkletsProject();\n\t\tvar compiler = await import(\"@vxrn/compiler\");\n\t\tvar spy = vi.spyOn(compiler, \"transformWorklets\").mockRejectedValue(/* @__PURE__ */ new Error(\"NATIVE_TRANSFORM_NEGATIVE_CONTROL\"));\n\t\tcompiler.configureVXRNCompilerPlugin({ enableReanimated: true });\n\t\ttry {\n\t\t\tawait expect(buildNativeBundle({\n\t\t\t\troot: testRoot,\n\t\t\t\tplatform: \"ios\",\n\t\t\t\tentryFile: \"entry.ts\"\n\t\t\t})).rejects.toThrow(\"NATIVE_TRANSFORM_NEGATIVE_CONTROL\");\n\t\t} finally {\n\t\t\tspy.mockRestore();\n\t\t\tcompiler.configureVXRNCompilerPlugin({ enableReanimated: false });\n\t\t\tawait rm(testRoot, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t}\n\t});\n\tit(\"rejects Hermes compatibility transform errors instead of returning source\", async function() {\n\t\tvar plugin = hermesCompatSWCPlugin(true);\n\t\tif (typeof plugin.transform !== \"function\") throw new Error(\"Hermes compatibility transform hook is not callable\");\n\t\tawait expect(Reflect.apply(plugin.transform, void 0, [\"class TransformProbe { value = ; }\", \"/project/TransformProbe.ts\"])).rejects.toBeTruthy();\n\t});\n\tit(\"returns maps for every required production transform\", async function() {\n\t\tvar testRoot = await createWorkletsProject(false);\n\t\tvar compiler = await import(\"@vxrn/compiler\");\n\t\tcompiler.configureVXRNCompilerPlugin({ enableReanimated: true });\n\t\ttry {\n\t\t\tvar compilerPlugin = vxrnCompilerPlugin(\"ios\", false, testRoot, true);\n\t\t\tif (typeof compilerPlugin.transform !== \"function\") throw new Error(\"vxrn compiler transform hook is not callable\");\n\t\t\texpect((await Reflect.apply(compilerPlugin.transform, void 0, [nativeTransformProbe, join(testRoot, \"entry.ts\")])).map).toBeTruthy();\n\t\t\tvar hermesPlugin = hermesCompatSWCPlugin(false, true);\n\t\t\tif (typeof hermesPlugin.transform !== \"function\") throw new Error(\"Hermes compatibility transform hook is not callable\");\n\t\t\texpect((await Reflect.apply(hermesPlugin.transform, void 0, [\"export class TransformProbe { value = 1 }\", join(testRoot, \"TransformProbe.ts\")])).map).toBeTruthy();\n\t\t} finally {\n\t\t\tcompiler.configureVXRNCompilerPlugin({ enableReanimated: false });\n\t\t\tawait rm(testRoot, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t}\n\t});\n\tit(\"composes source maps across React Compiler, Fast Refresh, and module wrapper back to original source lines\", async function() {\n\t\tvar { TraceMap: TraceMap2, originalPositionFor: originalPositionFor2 } = await import(\"@jridgewell/trace-mapping\");\n\t\tvar compiler = await import(\"@vxrn/compiler\");\n\t\tcompiler.configureVXRNCompilerPlugin({ enableCompiler: true });\n\t\ttry {\n\t\t\tvar plugin = vxrnCompilerPlugin(\"ios\", true, \"/project\", true);\n\t\t\tif (typeof plugin.transform !== \"function\") throw new Error(\"transform hook not callable\");\n\t\t\tvar inputCode = `import { useState } from 'react'\n\nexport function Counter() {\n const [count, setCount] = useState(0)\n return <button onClick={() => setCount(count + 1)}>{count}</button>\n}\n`;\n\t\t\tvar id = \"/project/Counter.tsx\";\n\t\t\tvar result = await Reflect.apply(plugin.transform, void 0, [inputCode, id]);\n\t\t\texpect(result).toBeDefined();\n\t\t\texpect(result.map).toBeDefined();\n\t\t\tvar tracer = new TraceMap2(result.map);\n\t\t\tvar counterLineIndex = result.code.split(\"\\n\").findIndex(function(l) {\n\t\t\t\treturn l.includes(\"function Counter\");\n\t\t\t});\n\t\t\texpect(counterLineIndex).toBeGreaterThan(0);\n\t\t\tvar pos = originalPositionFor2(tracer, {\n\t\t\t\tline: counterLineIndex + 1,\n\t\t\t\tcolumn: 16\n\t\t\t});\n\t\t\texpect(pos.source).toBe(id);\n\t\t\texpect(pos.line).toBe(3);\n\t\t} finally {\n\t\t\tcompiler.configureVXRNCompilerPlugin({ enableCompiler: false });\n\t\t}\n\t});\n\tit(\"composes source maps accurately across mixed path (React Compiler + Babel + Fast Refresh + module wrapper)\", async function() {\n\t\tvar { TraceMap: TraceMap2, originalPositionFor: originalPositionFor2 } = await import(\"@jridgewell/trace-mapping\");\n\t\tvar compiler = await import(\"@vxrn/compiler\");\n\t\tvar origEnv = process.env.VXRN_USE_BABEL_FOR_GENERATORS;\n\t\tprocess.env.VXRN_USE_BABEL_FOR_GENERATORS = \"1\";\n\t\tcompiler.configureVXRNCompilerPlugin({\n\t\t\tenableCompiler: true,\n\t\t\tenableReanimated: false\n\t\t});\n\t\ttry {\n\t\t\tvar plugin = vxrnCompilerPlugin(\"ios\", true, \"/project\", true);\n\t\t\tif (typeof plugin.transform !== \"function\") throw new Error(\"transform hook not callable\");\n\t\t\tvar inputCode = `export function Counter() { return <View />; }\n\n\n\n\n\n\n\nexport async function* probe() { throw new Error(\"MARKER\"); }\n`;\n\t\t\tvar id = \"/project/Counter.tsx\";\n\t\t\tvar result = await Reflect.apply(plugin.transform, void 0, [inputCode, id]);\n\t\t\texpect(result).toBeDefined();\n\t\t\texpect(result.map).toBeDefined();\n\t\t\texpect(result.code.includes(\"_wrapAsyncGenerator\") || result.code.includes(\"regeneratorRuntime\")).toBe(true);\n\t\t\tvar tracer = new TraceMap2(result.map);\n\t\t\tvar lines = result.code.split(\"\\n\");\n\t\t\tvar markerLineIndex = lines.findIndex(function(l) {\n\t\t\t\treturn l.includes(\"MARKER\");\n\t\t\t});\n\t\t\texpect(markerLineIndex).toBeGreaterThan(0);\n\t\t\tvar markerCol = lines[markerLineIndex].indexOf(\"throw\");\n\t\t\tvar pos = originalPositionFor2(tracer, {\n\t\t\t\tline: markerLineIndex + 1,\n\t\t\t\tcolumn: markerCol\n\t\t\t});\n\t\t\texpect(pos.source).toBe(id);\n\t\t\texpect(pos.line).toBe(9);\n\t\t\texpect(pos.column).toBe(33);\n\t\t\tvar compilerOut = await compiler.transformOxcReactCompiler(id, inputCode, \"19\", true);\n\t\t\tvar remapping = (await import(\"@jridgewell/remapping\")).default;\n\t\t\tvar badPos = originalPositionFor2(new TraceMap2(remapping([result.map, compilerOut.map], function() {\n\t\t\t\treturn null;\n\t\t\t})), {\n\t\t\t\tline: markerLineIndex + 1,\n\t\t\t\tcolumn: markerCol\n\t\t\t});\n\t\t\texpect(badPos.source).toBeNull();\n\t\t\texpect(badPos.line).toBeNull();\n\t\t} finally {\n\t\t\tcompiler.configureVXRNCompilerPlugin({ enableCompiler: false });\n\t\t\tif (origEnv !== void 0) process.env.VXRN_USE_BABEL_FOR_GENERATORS = origEnv;\n\t\t\telse delete process.env.VXRN_USE_BABEL_FOR_GENERATORS;\n\t\t}\n\t});\n\tit(\"transforms worklets via native Rust/Wasm SWC with zero Babel execution and accurate sourcemaps\", async function() {\n\t\tvar { TraceMap: TraceMap2, originalPositionFor: originalPositionFor2 } = await import(\"@jridgewell/trace-mapping\");\n\t\tvar compiler = await import(\"@vxrn/compiler\");\n\t\tvar { vi: vi2 } = await import(\"vitest\");\n\t\tvar babelSpy = vi2.spyOn(compiler, \"transformBabel\");\n\t\tcompiler.configureVXRNCompilerPlugin({\n\t\t\tenableReanimated: true,\n\t\t\tenableNativeWorklets: true,\n\t\t\tenableCompiler: false\n\t\t});\n\t\ttry {\n\t\t\tvar projectRoot = process.cwd();\n\t\t\tvar plugin = vxrnCompilerPlugin(\"ios\", true, projectRoot, true);\n\t\t\tif (typeof plugin.transform !== \"function\") throw new Error(\"transform hook not callable\");\n\t\t\tvar inputCode = `import { useAnimatedStyle } from 'react-native-reanimated'\n\nexport function Box() {\n const animatedStyle = useAnimatedStyle(() => {\n return { opacity: 1 }\n })\n return <div style={animatedStyle} />\n}\n`;\n\t\t\tvar id = join(projectRoot, \"Box.tsx\");\n\t\t\tvar result = await Reflect.apply(plugin.transform, void 0, [inputCode, id]);\n\t\t\texpect(result).toBeDefined();\n\t\t\texpect(result.code).toContain(\"__workletHash\");\n\t\t\texpect(result.code).toContain(\"__closure\");\n\t\t\texpect(babelSpy).not.toHaveBeenCalled();\n\t\t\texpect(result.map).toBeDefined();\n\t\t\tvar tracer = new TraceMap2(result.map);\n\t\t\tvar boxLineIndex = result.code.split(\"\\n\").findIndex(function(l) {\n\t\t\t\treturn l.includes(\"export function Box\");\n\t\t\t});\n\t\t\texpect(boxLineIndex).toBeGreaterThan(0);\n\t\t\tvar pos = originalPositionFor2(tracer, {\n\t\t\t\tline: boxLineIndex + 1,\n\t\t\t\tcolumn: 16\n\t\t\t});\n\t\t\texpect(pos.source).toBe(id);\n\t\t\texpect(pos.line).toBe(3);\n\t\t} finally {\n\t\t\tbabelSpy.mockRestore();\n\t\t\tcompiler.configureVXRNCompilerPlugin({\n\t\t\t\tenableReanimated: false,\n\t\t\t\tenableNativeWorklets: false\n\t\t\t});\n\t\t}\n\t});\n\tit(\"retains the existing Babel backend by default when enableNativeWorklets is false for auto-detected Reanimated and ordinary configured worklets plugin\", async function() {\n\t\tvar compiler = await import(\"@vxrn/compiler\");\n\t\tvar { vi: vi2 } = await import(\"vitest\");\n\t\tvar babelSpy = vi2.spyOn(compiler, \"transformBabel\").mockResolvedValue({ code: \"/* babel transformed */\" });\n\t\tvar workletSpy = vi2.spyOn(compiler, \"transformWorklets\");\n\t\tcompiler.configureVXRNCompilerPlugin({\n\t\t\tenableReanimated: true,\n\t\t\tenableNativeWorklets: false\n\t\t});\n\t\tvar getBabelOptionsSpy = vi2.spyOn(compiler, \"getBabelOptions\").mockReturnValue({ plugins: [\"react-native-reanimated/plugin\"] });\n\t\ttry {\n\t\t\tvar projectRoot = process.cwd();\n\t\t\tvar plugin = vxrnCompilerPlugin(\"ios\", true, projectRoot, false);\n\t\t\tif (typeof plugin.transform !== \"function\") throw new Error(\"transform hook not callable\");\n\t\t\tvar inputCode = `export function fn() { 'worklet'; return 1 }`;\n\t\t\tvar id = join(projectRoot, \"DefaultWorklet.tsx\");\n\t\t\texpect(await Reflect.apply(plugin.transform, void 0, [inputCode, id])).toBeDefined();\n\t\t\texpect(babelSpy).toHaveBeenCalledWith(id, inputCode, expect.objectContaining({ plugins: expect.arrayContaining([\"react-native-reanimated/plugin\"]) }));\n\t\t\texpect(workletSpy).not.toHaveBeenCalled();\n\t\t} finally {\n\t\t\tbabelSpy.mockRestore();\n\t\t\tworkletSpy.mockRestore();\n\t\t\tgetBabelOptionsSpy.mockRestore();\n\t\t\tcompiler.configureVXRNCompilerPlugin({\n\t\t\t\tenableReanimated: false,\n\t\t\t\tenableNativeWorklets: false\n\t\t\t});\n\t\t}\n\t});\n\tit(\"intercepts tuple worklet plugins with options, executes native SWC with options, and skips Babel when enableNativeWorklets is true\", async function() {\n\t\tvar compiler = await import(\"@vxrn/compiler\");\n\t\tvar { vi: vi2 } = await import(\"vitest\");\n\t\tvar babelSpy = vi2.spyOn(compiler, \"transformBabel\");\n\t\tvar workletSpy = vi2.spyOn(compiler, \"transformWorklets\");\n\t\tcompiler.configureVXRNCompilerPlugin({\n\t\t\tenableReanimated: true,\n\t\t\tenableNativeWorklets: true\n\t\t});\n\t\tvar getBabelOptionsSpy = vi2.spyOn(compiler, \"getBabelOptions\").mockReturnValue({ plugins: [[\"react-native-reanimated/plugin\", { globals: [\"customGlobal\"] }]] });\n\t\ttry {\n\t\t\tvar projectRoot = process.cwd();\n\t\t\tvar plugin = vxrnCompilerPlugin(\"ios\", true, projectRoot, false);\n\t\t\tif (typeof plugin.transform !== \"function\") throw new Error(\"transform hook not callable\");\n\t\t\tvar inputCode = `export function fn() { 'worklet'; return customGlobal * 2 }`;\n\t\t\tvar id = join(projectRoot, \"TupleWorklet.tsx\");\n\t\t\tvar result = await Reflect.apply(plugin.transform, void 0, [inputCode, id]);\n\t\t\texpect(result).toBeDefined();\n\t\t\texpect(result.code).toContain(\"__workletHash\");\n\t\t\texpect(workletSpy).toHaveBeenCalledWith(id, expect.any(String), false, expect.objectContaining({\n\t\t\t\tglobals: [\"customGlobal\"],\n\t\t\t\tprojectRoot\n\t\t\t}));\n\t\t\texpect(babelSpy).not.toHaveBeenCalled();\n\t\t} finally {\n\t\t\tbabelSpy.mockRestore();\n\t\t\tworkletSpy.mockRestore();\n\t\t\tgetBabelOptionsSpy.mockRestore();\n\t\t\tcompiler.configureVXRNCompilerPlugin({\n\t\t\t\tenableReanimated: false,\n\t\t\t\tenableNativeWorklets: false\n\t\t\t});\n\t\t}\n\t});\n});\ndescribe(\"native production minification\", function() {\n\tasync function writeMinifyFixture() {\n\t\tvar root2 = await mkdtemp(join(tmpdir(), \"vxrn-native-minify-\"));\n\t\tvar dep = join(root2, \"node_modules\", \"legacy-color\");\n\t\tawait mkdir(dep, { recursive: true });\n\t\tawait writeFile(join(dep, \"package.json\"), JSON.stringify({\n\t\t\tname: \"legacy-color\",\n\t\t\tmain: \"index.js\"\n\t\t}));\n\t\tawait writeFile(join(dep, \"index.js\"), `function LegacyColor(value) { this.value = value }\nLegacyColor.prototype.describe = function () { return 'legacy:' + this.value }\nmodule.exports = LegacyColor`);\n\t\tawait writeFile(join(root2, \"views.js\"), `'use strict';\nimport LegacyColor from 'legacy-color'\nimport { level } from './entry.js'\nexport const describeHeader = () => new LegacyColor(level()).describe()`);\n\t\tawait writeFile(join(root2, \"entry.js\"), `import { describeHeader } from './views.js'\nexport const level = () => 'header'\nglobalThis.minifyProbe = describeHeader()`);\n\t\treturn root2;\n\t}\n\tfunction runFixture(code) {\n\t\tvar context = { console };\n\t\trunInNewContext(code, context);\n\t\treturn Reflect.get(context, \"minifyProbe\");\n\t}\n\tit(\"minifies when asked, leaves the bundle alone when not, and both behave the same\", async function() {\n\t\tvar root2 = await writeMinifyFixture();\n\t\ttry {\n\t\t\tvar [plain, minified] = await Promise.all([false, true].map(function(minify) {\n\t\t\t\treturn buildNativeBundle({\n\t\t\t\t\troot: root2,\n\t\t\t\t\tplatform: \"ios\",\n\t\t\t\t\tentryFile: \"entry.js\",\n\t\t\t\t\tminify\n\t\t\t\t});\n\t\t\t}));\n\t\t\texpect(plain.code).toContain(\"__toESM\");\n\t\t\texpect(plain.code).toContain(\"describeHeader\");\n\t\t\texpect(plain.code.split(\"\\n\").length).toBeGreaterThan(40);\n\t\t\texpect(minified.code).not.toContain(\"describeHeader\");\n\t\t\texpect(minified.code).not.toContain(\"//#region\");\n\t\t\texpect(minified.code.length).toBeLessThan(plain.code.length * .7);\n\t\t\texpect(runFixture(minified.code)).toBe(\"legacy:header\");\n\t\t\texpect(runFixture(plain.code)).toBe(\"legacy:header\");\n\t\t} finally {\n\t\t\tawait rm(root2, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t}\n\t});\n\tit(\"defaults to react native's rule: minify a production bundle, never a dev one\", async function() {\n\t\tvar root2 = await writeMinifyFixture();\n\t\ttry {\n\t\t\tvar [prod, devBundle, explicitOff] = await Promise.all([\n\t\t\t\tbuildNativeBundle({\n\t\t\t\t\troot: root2,\n\t\t\t\t\tplatform: \"ios\",\n\t\t\t\t\tentryFile: \"entry.js\"\n\t\t\t\t}),\n\t\t\t\tbuildNativeBundle({\n\t\t\t\t\troot: root2,\n\t\t\t\t\tplatform: \"ios\",\n\t\t\t\t\tentryFile: \"entry.js\",\n\t\t\t\t\tdev: true\n\t\t\t\t}),\n\t\t\t\tbuildNativeBundle({\n\t\t\t\t\troot: root2,\n\t\t\t\t\tplatform: \"ios\",\n\t\t\t\t\tentryFile: \"entry.js\",\n\t\t\t\t\tminify: false\n\t\t\t\t})\n\t\t\t]);\n\t\t\texpect(prod.code).not.toContain(\"describeHeader\");\n\t\t\texpect(devBundle.code).toContain(\"describeHeader\");\n\t\t\texpect(explicitOff.code).toContain(\"describeHeader\");\n\t\t\texpect(prod.code.length).toBeLessThan(explicitOff.code.length);\n\t\t} finally {\n\t\t\tawait rm(root2, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t}\n\t});\n});\ndescribe(\"native production assets\", function() {\n\tit(\"registers scale siblings and keeps monorepo assets inside assetsDest\", async function() {\n\t\tvar testRoot = await mkdtemp(join(tmpdir(), \"vxrn-native-assets-\"));\n\t\tvar appRoot = join(testRoot, \"workspace/apps/native-app\");\n\t\tvar appAssets = join(appRoot, \"assets\");\n\t\tvar packageAssets = join(testRoot, \"workspace/node_modules/example/assets\");\n\t\tvar assetsDest = join(testRoot, \"output\");\n\t\tawait mkdir(appAssets, { recursive: true });\n\t\tawait mkdir(packageAssets, { recursive: true });\n\t\tawait writeFile(join(appAssets, \"icon.png\"), \"icon-1x\");\n\t\tawait writeFile(join(appAssets, \"icon@2x.png\"), \"icon-2x\");\n\t\tawait writeFile(join(appAssets, \"icon@3x.png\"), \"icon-3x\");\n\t\tawait writeFile(join(packageAssets, \"back.png\"), \"back-1x\");\n\t\tawait writeFile(join(packageAssets, \"back@2x.png\"), \"back-2x\");\n\t\tawait writeFile(join(appRoot, \"entry.js\"), `\nimport icon from './assets/icon.png'\nimport back from '../../node_modules/example/assets/back.png'\nglobalThis.__nativeAssetProbe = [icon, back]\n`);\n\t\ttry {\n\t\t\tvar _registry_resolve;\n\t\t\tvar assetData = await getNativeAssetData(join(appAssets, \"icon.png\"), appRoot, \"ios\");\n\t\t\texpect(assetData.scales).toEqual([\n\t\t\t\t1,\n\t\t\t\t2,\n\t\t\t\t3\n\t\t\t]);\n\t\t\texpect(assetData.files.map(function(file2) {\n\t\t\t\treturn file2.slice(appAssets.length + 1);\n\t\t\t})).toEqual([\n\t\t\t\t\"icon.png\",\n\t\t\t\t\"icon@2x.png\",\n\t\t\t\t\"icon@3x.png\"\n\t\t\t]);\n\t\t\texpect(assetData.hash).not.toBe(\"\");\n\t\t\tvar registry = createNativeDevAssetRegistry();\n\t\t\tregistry.register(assetData);\n\t\t\texpect((_registry_resolve = registry.resolve(\"/assets/assets/icon@2x.png\", assetData.hash)) === null || _registry_resolve === void 0 ? void 0 : _registry_resolve.filePath).toBe(join(appAssets, \"icon@2x.png\"));\n\t\t\texpect(registry.resolve(\"/assets/assets/icon.png\", \"stale-content-hash\")).toBeUndefined();\n\t\t\texpect(registry.resolve(\"/assets/../../package.json\", assetData.hash)).toBeUndefined();\n\t\t\tvar result = await buildNativeBundle({\n\t\t\t\troot: appRoot,\n\t\t\t\tplatform: \"ios\",\n\t\t\t\tentryFile: \"entry.js\",\n\t\t\t\tassetsDest\n\t\t\t});\n\t\t\tvar registered = [];\n\t\t\trunInNewContext(result.code, {\n\t\t\t\tconsole,\n\t\t\t\trequire: function(id) {\n\t\t\t\t\treturn id === \"react-native/Libraries/Image/AssetRegistry\" ? { registerAsset: function(asset) {\n\t\t\t\t\t\tregistered.push(asset);\n\t\t\t\t\t\treturn asset;\n\t\t\t\t\t} } : {};\n\t\t\t\t}\n\t\t\t});\n\t\t\texpect(registered.map(function(asset) {\n\t\t\t\treturn [asset.name, asset.scales];\n\t\t\t})).toEqual([[\"icon\", [\n\t\t\t\t1,\n\t\t\t\t2,\n\t\t\t\t3\n\t\t\t]], [\"back\", [1, 2]]]);\n\t\t\tfor (var _i = 0, _iter = [\n\t\t\t\t\"icon.png\",\n\t\t\t\t\"icon@2x.png\",\n\t\t\t\t\"icon@3x.png\"\n\t\t\t]; _i < _iter.length; _i++) {\n\t\t\t\tvar file = _iter[_i];\n\t\t\t\texpect(existsSync(join(assetsDest, \"assets/assets\", file))).toBe(true);\n\t\t\t}\n\t\t\tfor (var _i1 = 0, _iter1 = [\"back.png\", \"back@2x.png\"]; _i1 < _iter1.length; _i1++) {\n\t\t\t\tvar file1 = _iter1[_i1];\n\t\t\t\texpect(existsSync(join(assetsDest, \"assets/_/_/node_modules/example/assets\", file1))).toBe(true);\n\t\t\t}\n\t\t\texpect(existsSync(join(testRoot, \"node_modules/example/assets/back.png\"))).toBe(false);\n\t\t} finally {\n\t\t\tawait rm(testRoot, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t}\n\t});\n});\ndescribe(\"native conditional exports\", function() {\n\tit(\"uses the require condition for CommonJS calls\", async function() {\n\t\tvar testRoot = await mkdtemp(join(tmpdir(), \"vxrn-native-conditions-\"));\n\t\tvar packageRoot = join(testRoot, \"node_modules/conditional-helper\");\n\t\tawait mkdir(packageRoot, { recursive: true });\n\t\tawait writeFile(join(packageRoot, \"package.json\"), JSON.stringify({\n\t\t\tname: \"conditional-helper\",\n\t\t\texports: { \".\": {\n\t\t\t\timport: \"./esm.js\",\n\t\t\t\trequire: \"./cjs.cjs\"\n\t\t\t} },\n\t\t\ttype: \"module\"\n\t\t}));\n\t\tawait writeFile(join(packageRoot, \"esm.js\"), `export default function helper() { return 'import' }`);\n\t\tawait writeFile(join(packageRoot, \"cjs.cjs\"), `module.exports = function helper() { return 'require' }`);\n\t\tawait writeFile(join(testRoot, \"entry.cjs\"), `\nconst helper = require('conditional-helper')\nglobalThis.__vxrnConditionalExportProbe = helper()\n`);\n\t\ttry {\n\t\t\tvar result = await buildNativeBundle({\n\t\t\t\troot: testRoot,\n\t\t\t\tplatform: \"ios\",\n\t\t\t\tentryFile: \"entry.cjs\",\n\t\t\t\tdev: true\n\t\t\t});\n\t\t\tvar context = {\n\t\t\t\tclearTimeout,\n\t\t\t\tconsole,\n\t\t\t\tprocess: { env: {} },\n\t\t\t\tsetTimeout\n\t\t\t};\n\t\t\trunInNewContext(result.code, context);\n\t\t\texpect(Reflect.get(context, \"__vxrnConditionalExportProbe\")).toBe(\"require\");\n\t\t} finally {\n\t\t\tawait rm(testRoot, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t}\n\t});\n\tit(\"unwraps the default export of Babel CommonJS modules in dev output\", { timeout: 3e4 }, async function() {\n\t\tvar testRoot = await mkdtemp(join(tmpdir(), \"vxrn-native-cjs-default-\"));\n\t\tvar packageRoot = join(testRoot, \"node_modules/default-export-helper\");\n\t\tawait mkdir(packageRoot, { recursive: true });\n\t\tawait writeFile(join(packageRoot, \"package.json\"), JSON.stringify({\n\t\t\tname: \"default-export-helper\",\n\t\t\tmain: \"./index.js\"\n\t\t}));\n\t\tawait writeFile(join(packageRoot, \"index.js\"), `Object.defineProperty(exports, '__esModule', { value: true }); exports.default = function Component() {}`);\n\t\tawait writeFile(join(testRoot, \"entry.js\"), `import Component from 'default-export-helper'; globalThis.__vxrnCjsDefaultProbe = typeof Component`);\n\t\tvar resolveOutput;\n\t\tvar output = new Promise(function(resolve) {\n\t\t\tresolveOutput = resolve;\n\t\t});\n\t\tvar engine = await dev({\n\t\t\tcwd: testRoot,\n\t\t\tinput: join(testRoot, \"entry.js\"),\n\t\t\texperimental: { devMode: { implement: getHmrRuntimeSource() } }\n\t\t}, {\n\t\t\tformat: \"esm\",\n\t\t\tcodeSplitting: false,\n\t\t\tstrictExecutionOrder: true\n\t\t}, { onOutput: resolveOutput });\n\t\ttry {\n\t\t\tawait engine.run();\n\t\t\tvar result = await output;\n\t\t\tif (_instanceof(result, Error)) throw result;\n\t\t\tvar chunk = result.output.find(function(item) {\n\t\t\t\treturn item.type === \"chunk\" && item.isEntry;\n\t\t\t});\n\t\t\tif (!chunk || chunk.type !== \"chunk\") throw new Error(\"Rolldown did not emit a native dev entry chunk\");\n\t\t\tvar nodeModeCode = chunk.code.replace(/(\\b__toESM(?:\\$\\d+)?\\(\\s*require[\\w$]*\\(\\)\\s*)\\)/, \"$1, 1)\");\n\t\t\texpect(nodeModeCode).not.toBe(chunk.code);\n\t\t\tReflect.deleteProperty(globalThis, \"__rolldown_runtime__\");\n\t\t\tawait import(`data:text/javascript;base64,${Buffer.from(nodeModeCode).toString(\"base64\")}`);\n\t\t\texpect(Reflect.get(globalThis, \"__vxrnCjsDefaultProbe\")).toBe(\"object\");\n\t\t\tReflect.deleteProperty(globalThis, \"__rolldown_runtime__\");\n\t\t\tReflect.deleteProperty(globalThis, \"__vxrnCjsDefaultProbe\");\n\t\t\tvar normalized = normalizeNativeCommonJSInterop(nodeModeCode);\n\t\t\tawait import(`data:text/javascript;base64,${Buffer.from(normalized).toString(\"base64\")}`);\n\t\t\texpect(Reflect.get(globalThis, \"__vxrnCjsDefaultProbe\")).toBe(\"function\");\n\t\t} finally {\n\t\t\tawait engine.close();\n\t\t\tReflect.deleteProperty(globalThis, \"__rolldown_runtime__\");\n\t\t\tReflect.deleteProperty(globalThis, \"__vxrnCjsDefaultProbe\");\n\t\t\tawait rm(testRoot, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t}\n\t});\n\tit(\"unwraps the default export of Babel CommonJS modules in production output\", async function() {\n\t\tvar testRoot = await mkdtemp(join(tmpdir(), \"vxrn-native-prod-cjs-default-\"));\n\t\tvar packageRoot = join(testRoot, \"node_modules/default-export-helper\");\n\t\tawait mkdir(packageRoot, { recursive: true });\n\t\tawait writeFile(join(packageRoot, \"package.json\"), JSON.stringify({\n\t\t\tname: \"default-export-helper\",\n\t\t\tmain: \"./index.js\"\n\t\t}));\n\t\tawait writeFile(join(packageRoot, \"index.js\"), `Object.defineProperty(exports, '__esModule', { value: true }); exports.default = function Component() {}`);\n\t\tawait writeFile(join(testRoot, \"entry.js\"), `import Component from 'default-export-helper'; globalThis.__vxrnProdCjsDefaultProbe = typeof Component`);\n\t\ttry {\n\t\t\tvar result = await buildNativeBundle({\n\t\t\t\troot: testRoot,\n\t\t\t\tplatform: \"ios\",\n\t\t\t\tentryFile: \"entry.js\"\n\t\t\t});\n\t\t\tvar context = {\n\t\t\t\tclearTimeout,\n\t\t\t\tconsole,\n\t\t\t\tprocess: { env: {} },\n\t\t\t\tsetTimeout\n\t\t\t};\n\t\t\trunInNewContext(result.code, context);\n\t\t\texpect(Reflect.get(context, \"__vxrnProdCjsDefaultProbe\")).toBe(\"function\");\n\t\t} finally {\n\t\t\tawait rm(testRoot, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t}\n\t});\n});\ndescribe(\"native Flow sources\", function() {\n\tit.each([\"\", `/* ${\"license text \".repeat(150)} */\n`])(\"strips third-party Flow following a license header (%#)\", async function(license) {\n\t\tvar testRoot = await mkdtemp(join(tmpdir(), \"vxrn-native-flow-\"));\n\t\tvar packageRoot = join(testRoot, \"node_modules/@flowy-scope/flowy-lib\");\n\t\tawait mkdir(packageRoot, { recursive: true });\n\t\tawait writeFile(join(packageRoot, \"package.json\"), JSON.stringify({\n\t\t\tname: \"@flowy-scope/flowy-lib\",\n\t\t\tmain: \"./js/Flowy.js\"\n\t\t}));\n\t\tawait mkdir(join(packageRoot, \"js\"), { recursive: true });\n\t\tawait writeFile(join(packageRoot, \"js/Flowy.js\"), `${license}/**\n * @flow\n * @format\n */\n\ntype FlowyProps = {|\n +value: number,\n|}\n\nexport default class Flowy {\n _seen: boolean = false\n\n measure(props: FlowyProps): number {\n const { value, ...rest }: FlowyProps = props\n this._seen = true\n return ((value: any): number) + Object.keys(rest).length\n }\n}\n`);\n\t\tawait writeFile(join(testRoot, \"entry.js\"), `import Flowy from '@flowy-scope/flowy-lib'\nglobalThis.__vxrnFlowProbe = new Flowy().measure({ value: 41 }) + 1\n`);\n\t\ttry {\n\t\t\tvar result = await buildNativeBundle({\n\t\t\t\troot: testRoot,\n\t\t\t\tplatform: \"ios\",\n\t\t\t\tentryFile: \"entry.js\"\n\t\t\t});\n\t\t\tvar context = {\n\t\t\t\tclearTimeout,\n\t\t\t\tconsole,\n\t\t\t\tprocess: { env: {} },\n\t\t\t\tsetTimeout\n\t\t\t};\n\t\t\trunInNewContext(result.code, context);\n\t\t\texpect(Reflect.get(context, \"__vxrnFlowProbe\")).toBe(42);\n\t\t} finally {\n\t\t\tawait rm(testRoot, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t}\n\t});\n});\ndescribe(\"native bundle source maps\", function() {\n\tvar generatedPositionOf = function(code, marker) {\n\t\tvar _ref;\n\t\tvar _before_match;\n\t\tvar index = code.indexOf(marker);\n\t\texpect(index).toBeGreaterThan(-1);\n\t\tvar before = code.slice(0, index);\n\t\tvar lastNewline = before.lastIndexOf(\"\\n\");\n\t\treturn {\n\t\t\tline: ((_ref = (_before_match = before.match(/\\n/g)) === null || _before_match === void 0 ? void 0 : _before_match.length) !== null && _ref !== void 0 ? _ref : 0) + 1,\n\t\t\tcolumn: index - lastNewline - 1\n\t\t};\n\t};\n\tit(\"resolves a frame to the authored file and line across an app file and a package file\", { timeout: 6e4 }, async function() {\n\t\tvar testRoot = realpathSync(await mkdtemp(join(tmpdir(), \"vxrn-native-sourcemap-\")));\n\t\tvar packageRoot = join(testRoot, \"node_modules/probe-package\");\n\t\tawait mkdir(packageRoot, { recursive: true });\n\t\tawait writeFile(join(packageRoot, \"package.json\"), JSON.stringify({\n\t\t\tname: \"probe-package\",\n\t\t\tmain: \"index.js\",\n\t\t\ttype: \"module\"\n\t\t}));\n\t\tawait writeFile(join(packageRoot, \"index.js\"), [\n\t\t\t`function packageThrow() {`,\n\t\t\t` throw new Error('__probe_package__')`,\n\t\t\t`}`,\n\t\t\t``,\n\t\t\t`export default packageThrow`\n\t\t].join(\"\\n\"));\n\t\tawait writeFile(join(testRoot, \"entry.js\"), [\n\t\t\t`import packageThrow from 'probe-package'`,\n\t\t\t``,\n\t\t\t`function appThrow() {`,\n\t\t\t` throw new Error('__probe_app__')`,\n\t\t\t`}`,\n\t\t\t``,\n\t\t\t`globalThis.__probe = [appThrow, packageThrow]`\n\t\t].join(\"\\n\"));\n\t\ttry {\n\t\t\tvar _app_source, _pkg_source;\n\t\t\tvar result = await buildNativeBundle({\n\t\t\t\troot: testRoot,\n\t\t\t\tplatform: \"ios\",\n\t\t\t\tentryFile: \"entry.js\",\n\t\t\t\tdev: true,\n\t\t\t\tsourcemap: true\n\t\t\t});\n\t\t\texpect(result.map).toBeTruthy();\n\t\t\tvar traced = new TraceMap(JSON.parse(result.map));\n\t\t\tvar app = originalPositionFor(traced, generatedPositionOf(result.code, \"__probe_app__\"));\n\t\t\tvar pkg = originalPositionFor(traced, generatedPositionOf(result.code, \"__probe_package__\"));\n\t\t\texpect((_app_source = app.source) === null || _app_source === void 0 ? void 0 : _app_source.endsWith(\"/entry.js\")).toBe(true);\n\t\t\texpect(app.line).toBe(4);\n\t\t\texpect((_pkg_source = pkg.source) === null || _pkg_source === void 0 ? void 0 : _pkg_source.endsWith(\"/index.js\")).toBe(true);\n\t\t\texpect(pkg.line).toBe(2);\n\t\t\texpect(app.source).toBe(normalizePath(join(testRoot, \"entry.js\")));\n\t\t\texpect(pkg.source).toBe(normalizePath(join(packageRoot, \"index.js\")));\n\t\t} finally {\n\t\t\tawait rm(testRoot, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t}\n\t});\n});\ndescribe(\"postProcessNativeBundle\", function() {\n\tvar lines = function(code) {\n\t\treturn code.split(\"\\n\").length;\n\t};\n\tit(\"keeps the blank line above an export default\", function() {\n\t\tvar input = [\n\t\t\t\"var a = 1;\",\n\t\t\t\"\",\n\t\t\t\"export default a;\",\n\t\t\t\"var b = 2;\",\n\t\t\t\"\"\n\t\t].join(\"\\n\");\n\t\tvar out = postProcessNativeBundle(input);\n\t\texpect(lines(out)).toBe(lines(input));\n\t\texpect(out.split(\"\\n\")[2]).toBe(\"a;\");\n\t});\n\tit(\"keeps the lines of a multi-line export statement\", function() {\n\t\tvar input = [\n\t\t\t\"var a = 1;\",\n\t\t\t\"export {\",\n\t\t\t\" a\",\n\t\t\t\"};\",\n\t\t\t\"var b = 2;\",\n\t\t\t\"\"\n\t\t].join(\"\\n\");\n\t\tvar out = postProcessNativeBundle(input);\n\t\texpect(lines(out)).toBe(lines(input));\n\t\texpect(out).not.toContain(\"export {\");\n\t\texpect(out.split(\"\\n\")[4]).toBe(\"var b = 2;\");\n\t});\n});\n\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { afterEach, describe, expect, it, vi } from "vitest";
|
|
2
|
-
import { createNativeDevEngine } from "./createNativeDevEngine.mjs";
|
|
3
|
-
const rolldownState = vi.hoisted(() => ({
|
|
4
|
-
firstBuildError: new Error("first native build failed")
|
|
5
|
-
}));
|
|
6
|
-
vi.mock("rolldown/experimental", () => ({
|
|
7
|
-
viteImportGlobPlugin: () => ({
|
|
8
|
-
name: "test:import-glob"
|
|
9
|
-
}),
|
|
10
|
-
dev: async (_input, _output, callbacks) => ({
|
|
11
|
-
async run() {
|
|
12
|
-
await callbacks.onOutput(rolldownState.firstBuildError);
|
|
13
|
-
},
|
|
14
|
-
async ensureLatestBuildOutput() {},
|
|
15
|
-
async close() {}
|
|
16
|
-
})
|
|
17
|
-
}));
|
|
18
|
-
afterEach(() => {
|
|
19
|
-
vi.restoreAllMocks();
|
|
20
|
-
vi.useRealTimers();
|
|
21
|
-
});
|
|
22
|
-
describe("createNativeDevEngine initial build failure", () => {
|
|
23
|
-
it("rejects the bundle request immediately with the Rolldown error", async () => {
|
|
24
|
-
vi.useFakeTimers();
|
|
25
|
-
vi.spyOn(console, "error").mockImplementation(() => {});
|
|
26
|
-
const engine = await createNativeDevEngine({
|
|
27
|
-
root: "/tmp/vxrn-native-build-error-test",
|
|
28
|
-
port: 4400,
|
|
29
|
-
platform: "ios"
|
|
30
|
-
});
|
|
31
|
-
let settled = false;
|
|
32
|
-
const bundleResult = engine.getBundle().then(() => new Error("bundle request unexpectedly resolved"), error => {
|
|
33
|
-
settled = true;
|
|
34
|
-
return error;
|
|
35
|
-
});
|
|
36
|
-
await vi.advanceTimersByTimeAsync(0);
|
|
37
|
-
const settledBeforeTimeout = settled;
|
|
38
|
-
await vi.advanceTimersByTimeAsync(12e4);
|
|
39
|
-
expect(settledBeforeTimeout).toBe(true);
|
|
40
|
-
expect(await bundleResult).toBe(rolldownState.firstBuildError);
|
|
41
|
-
await engine.close();
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
//# sourceMappingURL=createNativeDevEngineFailure.test.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["afterEach","describe","expect","it","vi","createNativeDevEngine","rolldownState","hoisted","firstBuildError","Error","mock","viteImportGlobPlugin","name","dev","_input","_output","callbacks","run","onOutput","ensureLatestBuildOutput","close","restoreAllMocks","useRealTimers","useFakeTimers","spyOn","console","mockImplementation","engine","root","port","platform","settled","bundleResult","getBundle","then","error","advanceTimersByTimeAsync","settledBeforeTimeout","toBe"],"sources":["../../src/utils/createNativeDevEngineFailure.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,EAAWC,QAAA,EAAUC,MAAA,EAAQC,EAAA,EAAIC,EAAA,QAAU;AAqBpD,SAASC,qBAAA,QAA6B;AAnBtC,MAAMC,aAAA,GAAgBF,EAAA,CAAGG,OAAA,CAAQ,OAAO;EACtCC,eAAA,EAAiB,IAAIC,KAAA,CAAM,2BAA2B;AACxD,EAAE;AAEFL,EAAA,CAAGM,IAAA,CAAK,yBAAyB,OAAO;EACtCC,oBAAA,EAAsBA,CAAA,MAAO;IAAEC,IAAA,EAAM;EAAmB;EACxDC,GAAA,EAAK,MAAAA,CACHC,MAAA,EACAC,OAAA,EACAC,SAAA,MACI;IACJ,MAAMC,IAAA,EAAM;MACV,MAAMD,SAAA,CAAUE,QAAA,CAASZ,aAAA,CAAcE,eAAe;IACxD;IACA,MAAMW,wBAAA,EAA0B,CAAC;IACjC,MAAMC,MAAA,EAAQ,CAAC;EACjB;AACF,EAAE;AAIFpB,SAAA,CAAU,MAAM;EACdI,EAAA,CAAGiB,eAAA,CAAgB;EACnBjB,EAAA,CAAGkB,aAAA,CAAc;AACnB,CAAC;AAEDrB,QAAA,CAAS,+CAA+C,MAAM;EAC5DE,EAAA,CAAG,kEAAkE,YAAY;IAC/EC,EAAA,CAAGmB,aAAA,CAAc;IACjBnB,EAAA,CAAGoB,KAAA,CAAMC,OAAA,EAAS,OAAO,EAAEC,kBAAA,CAAmB,MAAM,CAAC,CAAC;IAEtD,MAAMC,MAAA,GAAS,MAAMtB,qBAAA,CAAsB;MACzCuB,IAAA,EAAM;MACNC,IAAA,EAAM;MACNC,QAAA,EAAU;IACZ,CAAC;IAED,IAAIC,OAAA,GAAU;IACd,MAAMC,YAAA,GAAeL,MAAA,CAAOM,SAAA,CAAU,EAAEC,IAAA,CACtC,MAAM,IAAIzB,KAAA,CAAM,sCAAsC,GACrD0B,KAAA,IAAU;MACTJ,OAAA,GAAU;MACV,OAAOI,KAAA;IACT,CACF;IAEA,MAAM/B,EAAA,CAAGgC,wBAAA,CAAyB,CAAC;IACnC,MAAMC,oBAAA,GAAuBN,OAAA;IAC7B,MAAM3B,EAAA,CAAGgC,wBAAA,CAAyB,IAAO;IAEzClC,MAAA,CAAOmC,oBAAoB,EAAEC,IAAA,CAAK,IAAI;IACtCpC,MAAA,CAAO,MAAM8B,YAAY,EAAEM,IAAA,CAAKhC,aAAA,CAAcE,eAAe;IAC7D,MAAMmB,MAAA,CAAOP,KAAA,CAAM;EACrB,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { afterEach, describe, expect, it, vi } from "vitest";
|
|
2
|
-
import { createNativeDevEngine } from "./createNativeDevEngine.native.js";
|
|
3
|
-
var rolldownState = vi.hoisted(function () {
|
|
4
|
-
return {
|
|
5
|
-
firstBuildError: new Error("first native build failed")
|
|
6
|
-
};
|
|
7
|
-
});
|
|
8
|
-
vi.mock("rolldown/experimental", function () {
|
|
9
|
-
return {
|
|
10
|
-
viteImportGlobPlugin: function () {
|
|
11
|
-
return {
|
|
12
|
-
name: "test:import-glob"
|
|
13
|
-
};
|
|
14
|
-
},
|
|
15
|
-
dev: async function (_input, _output, callbacks) {
|
|
16
|
-
return {
|
|
17
|
-
async run() {
|
|
18
|
-
await callbacks.onOutput(rolldownState.firstBuildError);
|
|
19
|
-
},
|
|
20
|
-
async ensureLatestBuildOutput() {},
|
|
21
|
-
async close() {}
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
});
|
|
26
|
-
afterEach(function () {
|
|
27
|
-
vi.restoreAllMocks();
|
|
28
|
-
vi.useRealTimers();
|
|
29
|
-
});
|
|
30
|
-
describe("createNativeDevEngine initial build failure", function () {
|
|
31
|
-
it("rejects the bundle request immediately with the Rolldown error", async function () {
|
|
32
|
-
vi.useFakeTimers();
|
|
33
|
-
vi.spyOn(console, "error").mockImplementation(function () {});
|
|
34
|
-
var engine = await createNativeDevEngine({
|
|
35
|
-
root: "/tmp/vxrn-native-build-error-test",
|
|
36
|
-
port: 4400,
|
|
37
|
-
platform: "ios"
|
|
38
|
-
});
|
|
39
|
-
var settled = false;
|
|
40
|
-
var bundleResult = engine.getBundle().then(function () {
|
|
41
|
-
return new Error("bundle request unexpectedly resolved");
|
|
42
|
-
}, function (error) {
|
|
43
|
-
settled = true;
|
|
44
|
-
return error;
|
|
45
|
-
});
|
|
46
|
-
await vi.advanceTimersByTimeAsync(0);
|
|
47
|
-
var settledBeforeTimeout = settled;
|
|
48
|
-
await vi.advanceTimersByTimeAsync(12e4);
|
|
49
|
-
expect(settledBeforeTimeout).toBe(true);
|
|
50
|
-
expect(await bundleResult).toBe(rolldownState.firstBuildError);
|
|
51
|
-
await engine.close();
|
|
52
|
-
});
|
|
53
|
-
});
|
|
54
|
-
//# sourceMappingURL=createNativeDevEngineFailure.test.native.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["afterEach","describe","expect","it","vi","createNativeDevEngine","rolldownState","hoisted","firstBuildError","Error","mock","viteImportGlobPlugin","name","dev","_input","_output","callbacks","run","onOutput","ensureLatestBuildOutput","close","restoreAllMocks","useRealTimers","useFakeTimers","spyOn","console","mockImplementation","engine","root","port","platform","settled","bundleResult","getBundle","then","error"],"sources":["../../src/utils/createNativeDevEngineFailure.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,EAAWC,QAAA,EAAUC,MAAA,EAAQC,EAAA,EAAIC,EAAA,QAAU;AAqBpD,SAASC,qBAAA,QAA6B;AAnBtC,IAAAC,aAAM,GAAAF,EAAgB,CAAAG,OAAG,aAAe;EACtC;IACAC,eAAA,MAAAC,KAAA;EAEF,CAAG;AAAqC,EACtC;AAAwDL,EACxD,CAAAM,IAAK,wBAGH;EACI,OACJ;IACEC,oBAAgB,WAAAA,CAAA,EAAS;MAC3B;QACAC,IAAM;MAA2B;IACjC;IAAeC,GAAA,iBAAAA,CAAAC,MAAA,EAAAC,OAAA,EAAAC,SAAA;MACjB;QACA,MAAAC,IAAA;UAIQ,MAAMD,SAAA,CAAAE,QAAA,CAAAZ,aAAA,CAAAE,eAAA;QACX;QACA,MAAAW,uBAAcA,CAAA,GAClB;QAED,MAASC,MAAA,GACJ;MACD,CAAG;IACH;EAAoD;AAEpD;AAA2CpB,SACzC,aAAM;EAAAI,EAAA,CAAAiB,eACA;EAAAjB,EAAA,CAAAkB,aACI;AAAA;AAGZrB,QAAI,8CAAU;EACdE,EAAA,iEAAwC;IAAAC,EACtC,CAAAmB,aAAU,EAAM;IAAsCnB,EACtD,CAACoB,KAAA,CAAAC,OAAU,WAAAC,kBAAA,cACT;IACA,IAAAC,MAAA,GAAO,MAAAtB,qBAAA;MACTuB,IAAA;MACFC,IAAA;MAEAC,QAAS;IACT;IACA,IAAAC,OAAS;IAET,IAAAC,YAAO,GAAAL,MAAA,CAAAM,SAA2B,GAAIC,IAAA;MACtC,OAAO,IAAMzB,KAAA,uCAAiC;IAC9C,aAAM0B,KAAO,EAAM;MACpBJ,OAAA;MACF,OAAAI,KAAA","ignoreList":[]}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { createServer } from "node:http";
|
|
2
|
-
import { describe, expect, it } from "vitest";
|
|
3
|
-
import { getBoundPort } from "./getBoundPort.mjs";
|
|
4
|
-
function fakeServer(opts) {
|
|
5
|
-
return {
|
|
6
|
-
httpServer: opts.address === void 0 ? void 0 : {
|
|
7
|
-
address: () => opts.address ?? null
|
|
8
|
-
},
|
|
9
|
-
config: {
|
|
10
|
-
server: {
|
|
11
|
-
port: opts.configPort
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
describe("getBoundPort", () => {
|
|
17
|
-
it("returns the actually-bound port from httpServer.address(), ignoring a stale/undefined config port (the 8081 trap)", () => {
|
|
18
|
-
expect(getBoundPort(fakeServer({
|
|
19
|
-
address: {
|
|
20
|
-
port: 8082
|
|
21
|
-
},
|
|
22
|
-
configPort: void 0
|
|
23
|
-
}))).toBe(8082);
|
|
24
|
-
});
|
|
25
|
-
it("prefers the bound port even when config.server.port disagrees", () => {
|
|
26
|
-
expect(getBoundPort(fakeServer({
|
|
27
|
-
address: {
|
|
28
|
-
port: 8082
|
|
29
|
-
},
|
|
30
|
-
configPort: 8081
|
|
31
|
-
}))).toBe(8082);
|
|
32
|
-
});
|
|
33
|
-
it("falls back to config.server.port when the server is not yet listening", () => {
|
|
34
|
-
expect(getBoundPort(fakeServer({
|
|
35
|
-
address: null,
|
|
36
|
-
configPort: 8085
|
|
37
|
-
}))).toBe(8085);
|
|
38
|
-
});
|
|
39
|
-
it("falls back to 8081 when nothing is available", () => {
|
|
40
|
-
expect(getBoundPort(fakeServer({
|
|
41
|
-
address: null,
|
|
42
|
-
configPort: void 0
|
|
43
|
-
}))).toBe(8081);
|
|
44
|
-
});
|
|
45
|
-
it("ignores a unix-socket/pipe address (string) and falls back to config", () => {
|
|
46
|
-
expect(getBoundPort(fakeServer({
|
|
47
|
-
address: "/tmp/some.sock",
|
|
48
|
-
configPort: 8090
|
|
49
|
-
}))).toBe(8090);
|
|
50
|
-
});
|
|
51
|
-
it("reads the real bound port from a live http server, not the config value", async () => {
|
|
52
|
-
const real = createServer();
|
|
53
|
-
await new Promise(res => real.listen(0, "127.0.0.1", () => res()));
|
|
54
|
-
try {
|
|
55
|
-
const boundPort = real.address().port;
|
|
56
|
-
const server = {
|
|
57
|
-
httpServer: real,
|
|
58
|
-
config: {
|
|
59
|
-
server: {
|
|
60
|
-
port: 8081
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
expect(getBoundPort(server)).toBe(boundPort);
|
|
65
|
-
expect(getBoundPort(server)).not.toBe(8081);
|
|
66
|
-
} finally {
|
|
67
|
-
await new Promise(res => real.close(() => res()));
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
});
|
|
71
|
-
//# sourceMappingURL=getBoundPort.test.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["createServer","describe","expect","it","getBoundPort","fakeServer","opts","httpServer","address","config","server","port","configPort","toBe","real","Promise","res","listen","boundPort","not","close"],"sources":["../../src/utils/getBoundPort.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,YAAA,QAAoB;AAE7B,SAASC,QAAA,EAAUC,MAAA,EAAQC,EAAA,QAAU;AACrC,SAASC,YAAA,QAAoB;AAG7B,SAASC,WAAWC,IAAA,EAGF;EAChB,OAAO;IACLC,UAAA,EACED,IAAA,CAAKE,OAAA,KAAY,SAAY,SAAY;MAAEA,OAAA,EAASA,CAAA,KAAMF,IAAA,CAAKE,OAAA,IAAW;IAAK;IACjFC,MAAA,EAAQ;MAAEC,MAAA,EAAQ;QAAEC,IAAA,EAAML,IAAA,CAAKM;MAAW;IAAE;EAC9C;AACF;AAEAX,QAAA,CAAS,gBAAgB,MAAM;EAC7BE,EAAA,CAAG,qHAAqH,MAAM;IAE5HD,MAAA,CACEE,YAAA,CAAaC,UAAA,CAAW;MAAEG,OAAA,EAAS;QAAEG,IAAA,EAAM;MAAK;MAAGC,UAAA,EAAY;IAAU,CAAC,CAAC,CAC7E,EAAEC,IAAA,CAAK,IAAI;EACb,CAAC;EAEDV,EAAA,CAAG,iEAAiE,MAAM;IACxED,MAAA,CAAOE,YAAA,CAAaC,UAAA,CAAW;MAAEG,OAAA,EAAS;QAAEG,IAAA,EAAM;MAAK;MAAGC,UAAA,EAAY;IAAK,CAAC,CAAC,CAAC,EAAEC,IAAA,CAC9E,IACF;EACF,CAAC;EAEDV,EAAA,CAAG,yEAAyE,MAAM;IAChFD,MAAA,CAAOE,YAAA,CAAaC,UAAA,CAAW;MAAEG,OAAA,EAAS;MAAMI,UAAA,EAAY;IAAK,CAAC,CAAC,CAAC,EAAEC,IAAA,CAAK,IAAI;EACjF,CAAC;EAEDV,EAAA,CAAG,gDAAgD,MAAM;IACvDD,MAAA,CAAOE,YAAA,CAAaC,UAAA,CAAW;MAAEG,OAAA,EAAS;MAAMI,UAAA,EAAY;IAAU,CAAC,CAAC,CAAC,EAAEC,IAAA,CAAK,IAAI;EACtF,CAAC;EAEDV,EAAA,CAAG,wEAAwE,MAAM;IAC/ED,MAAA,CACEE,YAAA,CAAaC,UAAA,CAAW;MAAEG,OAAA,EAAS;MAAkBI,UAAA,EAAY;IAAK,CAAC,CAAC,CAC1E,EAAEC,IAAA,CAAK,IAAI;EACb,CAAC;EAGDV,EAAA,CAAG,2EAA2E,YAAY;IACxF,MAAMW,IAAA,GAAOd,YAAA,CAAa;IAC1B,MAAM,IAAIe,OAAA,CAAeC,GAAA,IAAQF,IAAA,CAAKG,MAAA,CAAO,GAAG,aAAa,MAAMD,GAAA,CAAI,CAAC,CAAC;IACzE,IAAI;MACF,MAAME,SAAA,GAAaJ,IAAA,CAAKN,OAAA,CAAQ,EAAuBG,IAAA;MAEvD,MAAMD,MAAA,GAAS;QACbH,UAAA,EAAYO,IAAA;QACZL,MAAA,EAAQ;UAAEC,MAAA,EAAQ;YAAEC,IAAA,EAAM;UAAK;QAAE;MACnC;MACAT,MAAA,CAAOE,YAAA,CAAaM,MAAM,CAAC,EAAEG,IAAA,CAAKK,SAAS;MAC3ChB,MAAA,CAAOE,YAAA,CAAaM,MAAM,CAAC,EAAES,GAAA,CAAIN,IAAA,CAAK,IAAI;IAC5C,UAAE;MACA,MAAM,IAAIE,OAAA,CAAeC,GAAA,IAAQF,IAAA,CAAKM,KAAA,CAAM,MAAMJ,GAAA,CAAI,CAAC,CAAC;IAC1D;EACF,CAAC;AACH,CAAC","ignoreList":[]}
|