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 +1 @@
|
|
|
1
|
-
{"version":3,"names":["WebSocketServer","createMessageSocket","addConnectedNativeClient","removeConnectedNativeClient","URL","readFile","createDevMiddleware","createNativeDevEngine","getBoundPort","getNativeFramePlatform","isNativeBundleFrame","symbolicateNativeStack","_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","getNativeAssetContentType","type","toLowerCase","createReactNativeDevServerPlugin","options","name","configureServer","server","_server_httpServer","host","config","root","hmrWSS","noServer","clientWSS","messageWSS","validPlatforms","ios","android","devEngines","devEngineCreating","warnedProdBundleRequest","Set","pendingReloadPlatforms","devToolsSocketEndpoints","reactNativeDevToolsUrl","middleware","websocketEndpoints","serverBaseUrl","logger","console","unstable_experiments","enableStandaloneFuseboxShell","middlewares","use","req","res","next","method","rawUrl","url","rawPathname","split","startsWith","headers","platform","searchParams","get","engine","pathname","decodeURIComponent","unused","writeHead","end","asset","getAsset","contents","filePath","String","byteLength","error","Error","message","httpServer","on","socket","head","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_loop","endpoint","_step","value","wss","handleUpgrade","ws","emit","v","_iterator","iterator","done","_ret","err","return","hmrUrl","clientId","destroy","Object","assign","vxrnClientId","vxrnPlatform","currentEngine","close","registerClient","has","send","JSON","stringify","toString","update","parse","removeClient","catch","messageRaw","_message_data_","level","data","info","warn","getDevEngine","creating","port","serverUrl","onHmrUpdate","msg","target","add","clients","forEach","client","nativeClient","readyState","handleRNBundle","platformString","bundle","getBundle","once","delete","code","stack","_req_url","endsWith"],"sources":["../../src/plugins/reactNativeDevServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"reactNativeDevServer.native.js","names":[],"sources":["plugins/reactNativeDevServer.native.js"],"sourcesContent":["import { WebSocketServer } from \"ws\";\nimport { createMessageSocket } from \"@vxrn/utils\";\nimport { addConnectedNativeClient, removeConnectedNativeClient } from \"../utils/connectedNativeClients\";\nimport { URL } from \"url\";\nimport { readFile } from \"fs/promises\";\nimport { createDevMiddleware } from \"@react-native/dev-middleware\";\nimport { createNativeDevEngine } from \"../utils/createNativeDevEngine\";\nimport { getBoundPort } from \"../utils/getBoundPort\";\nimport { getNativeFramePlatform, isNativeBundleFrame, symbolicateNativeStack } from \"../utils/symbolicateNativeStack\";\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction getNativeAssetContentType(type) {\n switch (type.toLowerCase()) {\n case \"bmp\":\n return \"image/bmp\";\n case \"gif\":\n return \"image/gif\";\n case \"jpeg\":\n case \"jpg\":\n return \"image/jpeg\";\n case \"json\":\n return \"application/json\";\n case \"otf\":\n return \"font/otf\";\n case \"png\":\n return \"image/png\";\n case \"svg\":\n return \"image/svg+xml\";\n case \"ttf\":\n return \"font/ttf\";\n case \"webp\":\n return \"image/webp\";\n case \"woff\":\n return \"font/woff\";\n case \"woff2\":\n return \"font/woff2\";\n default:\n return \"application/octet-stream\";\n }\n}\nfunction createReactNativeDevServerPlugin(options) {\n return {\n name: \"vite-plugin-react-native-server\",\n configureServer(server) {\n var _server_httpServer;\n var { host } = server.config.server;\n var { root } = server.config;\n var hmrWSS = new WebSocketServer({\n noServer: true\n });\n var clientWSS = new WebSocketServer({\n noServer: true\n });\n var messageWSS = createMessageSocket();\n var validPlatforms = {\n ios: \"ios\",\n android: \"android\"\n };\n var devEngines = {};\n var devEngineCreating = {};\n var warnedProdBundleRequest = /* @__PURE__ */ new Set();\n var pendingReloadPlatforms = /* @__PURE__ */ new Set();\n var devToolsSocketEndpoints = [\n \"/inspector/device\",\n \"/inspector/debug\"\n ];\n var reactNativeDevToolsUrl = `http://${host}:${getBoundPort(server)}`;\n var { middleware, websocketEndpoints } = createDevMiddleware({\n serverBaseUrl: reactNativeDevToolsUrl,\n logger: console,\n unstable_experiments: {\n enableStandaloneFuseboxShell: false\n }\n });\n server.middlewares.use(async function(req, res, next) {\n if (req.method !== \"GET\" && req.method !== \"HEAD\") return next();\n var rawUrl = req.url || \"/\";\n var rawPathname = rawUrl.split(\"?\", 1)[0];\n if (!rawPathname.startsWith(\"/assets/\")) return next();\n var url = new URL(rawUrl, `http://${req.headers.host || \"localhost\"}`);\n var platform = validPlatforms[url.searchParams.get(\"platform\") || \"\"];\n var engine = platform ? devEngines[platform] : void 0;\n if (!engine) return next();\n var pathname;\n try {\n pathname = decodeURIComponent(rawPathname);\n } catch (unused) {\n res.writeHead(400, {\n \"Content-Type\": \"text/plain\"\n });\n res.end(\"Invalid native asset path\");\n return;\n }\n var asset = engine.getAsset(pathname, url.searchParams.get(\"hash\") || void 0);\n if (!asset) {\n res.writeHead(404, {\n \"Content-Type\": \"text/plain\"\n });\n res.end(\"Native asset not found\");\n return;\n }\n try {\n var contents = await readFile(asset.filePath);\n res.writeHead(200, {\n \"Cache-Control\": \"no-cache\",\n \"Content-Length\": String(contents.byteLength),\n \"Content-Type\": getNativeAssetContentType(asset.type)\n });\n res.end(req.method === \"HEAD\" ? void 0 : contents);\n } catch (error) {\n console.error(`[vxrn] failed to serve native asset ${pathname}: ${error instanceof Error ? error.message : String(error)}`);\n res.writeHead(500, {\n \"Content-Type\": \"text/plain\"\n });\n res.end(\"Failed to read native asset\");\n }\n });\n server.middlewares.use(middleware);\n (_server_httpServer = server.httpServer) === null || _server_httpServer === void 0 ? void 0 : _server_httpServer.on(\"upgrade\", function(req, socket, head) {\n var url = req.url || \"\";\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n var _loop = function() {\n var endpoint = _step.value;\n if (url.startsWith(endpoint)) {\n var wss = websocketEndpoints[endpoint];\n wss.handleUpgrade(req, socket, head, function(ws) {\n wss.emit(\"connection\", ws, req);\n });\n return {\n v: void 0\n };\n }\n };\n for (var _iterator = devToolsSocketEndpoints[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var _ret = _loop();\n if (_type_of(_ret) === \"object\") return _ret.v;\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n if (url.startsWith(\"/hot\")) {\n var hmrUrl = new URL(url, `http://${req.headers.host || \"localhost\"}`);\n var platform = validPlatforms[hmrUrl.searchParams.get(\"platform\") || \"\"];\n var clientId = hmrUrl.searchParams.get(\"clientId\");\n if (!platform || !clientId) {\n socket.destroy();\n return;\n }\n hmrWSS.handleUpgrade(req, socket, head, function(ws) {\n Object.assign(ws, {\n vxrnClientId: clientId,\n vxrnPlatform: platform\n });\n hmrWSS.emit(\"connection\", ws, req);\n });\n return;\n }\n if (url === \"/message\" || url.startsWith(\"/message?\")) {\n messageWSS.handleUpgrade(req, socket, head, function(ws) {\n messageWSS.emit(\"connection\", ws, req);\n });\n return;\n }\n if (url === \"/__client\") {\n clientWSS.handleUpgrade(req, socket, head, function(ws) {\n clientWSS.emit(\"connection\", ws, req);\n });\n }\n });\n hmrWSS.on(\"connection\", async function(socket) {\n var currentEngine = devEngines[socket.vxrnPlatform];\n if (!currentEngine) {\n socket.close(1013, \"native dev engine unavailable\");\n return;\n }\n try {\n await currentEngine.engine.registerClient(socket.vxrnClientId);\n } catch (error) {\n console.error(\"[hmr] failed to register native client\", error);\n socket.close(1011, \"native HMR registration failed\");\n return;\n }\n addConnectedNativeClient();\n if (pendingReloadPlatforms.has(socket.vxrnPlatform)) {\n socket.send(JSON.stringify({\n type: \"hmr:reload\"\n }));\n }\n socket.on(\"message\", function(message) {\n var value = message.toString();\n if (value === \"ping\") {\n socket.send(\"pong\");\n return;\n }\n var update;\n try {\n update = JSON.parse(value);\n } catch (unused) {\n return;\n }\n if (update.type === \"hmr:invalidate\") {\n socket.send(JSON.stringify({\n type: \"hmr:reload\"\n }));\n }\n });\n socket.on(\"close\", function() {\n removeConnectedNativeClient();\n currentEngine.engine.removeClient(socket.vxrnClientId).catch(function(error) {\n console.error(\"[hmr] failed to remove native client\", error);\n });\n });\n socket.on(\"error\", function(error) {\n console.error(\"[hmr] error\", error);\n });\n });\n clientWSS.on(\"connection\", function(socket) {\n socket.on(\"message\", function(messageRaw) {\n var message = JSON.parse(messageRaw.toString());\n switch (message.type) {\n case \"client-log\": {\n var _message_data_;\n if (message.level === \"warn\" && ((_message_data_ = message.data[0]) === null || _message_data_ === void 0 ? void 0 : _message_data_.startsWith(\"Sending `appearanceChanged` with no listeners registered.\"))) {\n return;\n }\n console.info(` \\u2460 ${message.level === \"info\" ? \"\" : ` [${message.level}]`}`, ...message.data);\n return;\n }\n default: {\n console.warn(` \\u2460 Unknown message type`, message);\n }\n }\n });\n });\n var getDevEngine = async function(platform) {\n while (!devEngines[platform]) {\n if (!devEngineCreating[platform]) {\n var creating = (async function() {\n try {\n console.info(`[vxrn] creating rolldown DevEngine for ${platform}...`);\n devEngines[platform] = await createNativeDevEngine({\n root,\n port: getBoundPort(server),\n host: typeof host === \"string\" ? host : \"localhost\",\n platform,\n serverUrl: `http://${typeof host === \"string\" && host !== \"0.0.0.0\" ? host : \"localhost\"}:${getBoundPort(server)}`,\n onHmrUpdate: function(update) {\n var msg = JSON.stringify(update);\n var target = \"clientId\" in update ? update.clientId : void 0;\n if (update.type === \"hmr:reload\" && !target) {\n pendingReloadPlatforms.add(platform);\n }\n hmrWSS.clients.forEach(function(client) {\n var nativeClient = client;\n if (nativeClient.readyState === 1 && nativeClient.vxrnPlatform === platform && (!target || nativeClient.vxrnClientId === target)) {\n client.send(msg);\n }\n });\n }\n });\n console.info(`[vxrn] rolldown DevEngine ready for ${platform}`);\n } finally {\n devEngineCreating[platform] = null;\n }\n })();\n devEngineCreating[platform] = creating;\n }\n await devEngineCreating[platform];\n }\n return devEngines[platform];\n };\n var handleRNBundle = async function(req, res) {\n var url = new URL(req.url, `http://${req.headers.host}`);\n var platformString = url.searchParams.get(\"platform\") || \"\";\n var platform = validPlatforms[platformString];\n if (!platform) {\n return;\n }\n if (url.searchParams.get(\"dev\") === \"false\" && !warnedProdBundleRequest.has(platform)) {\n warnedProdBundleRequest.add(platform);\n console.warn(`[vxrn] ${platform} bundle requested with dev=false, but the dev server only builds dev bundles. Serving a dev bundle. Use the build command for a production one.`);\n }\n try {\n var bundle = await (await getDevEngine(platform)).getBundle();\n res.once(\"finish\", function() {\n return pendingReloadPlatforms.delete(platform);\n });\n res.writeHead(200, {\n \"Cache-Control\": \"no-store\",\n \"Content-Type\": \"text/javascript\"\n });\n res.end(bundle.code);\n } catch (err) {\n console.error(` Error building React Native bundle`);\n console.error(err);\n console.error(`\n\n Note, some errors may happen due to a stale Vite cache, you may want to try re-running with the \"--clean\" flag`);\n res.writeHead(500, {\n \"Content-Type\": \"text/plain\"\n });\n res.end(err instanceof Error ? err.stack || err.message : String(err));\n }\n };\n server.middlewares.use(function(req, res, next) {\n var _req_url;\n if ((_req_url = req.url) === null || _req_url === void 0 ? void 0 : _req_url.split(\"?\")[0].endsWith(\".bundle\")) {\n handleRNBundle(req, res, next);\n } else {\n next();\n }\n });\n server.middlewares.use(\"/symbolicate\", async function(req, res) {\n try {\n var chunks = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = req[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var chunk = _step.value;\n chunks.push(chunk);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var body = JSON.parse(Buffer.concat(chunks).toString(\"utf8\"));\n var stack = body.stack;\n if (!Array.isArray(stack)) {\n throw new Error(\"expected a `stack` array in the request body\");\n }\n var bundleFrame = stack.find(function(frame) {\n return isNativeBundleFrame(frame.file);\n });\n if (!bundleFrame) {\n res.writeHead(200, {\n \"Content-Type\": \"application/json\"\n });\n res.end(JSON.stringify({\n stack,\n codeFrame: null\n }));\n return;\n }\n var framePlatform = getNativeFramePlatform(bundleFrame.file);\n var platform = validPlatforms[framePlatform !== null && framePlatform !== void 0 ? framePlatform : \"\"];\n if (!platform) {\n throw new Error(`could not tell which platform \"${bundleFrame.file}\" was bundled for`);\n }\n var bundle = await (await getDevEngine(platform)).getBundle();\n res.writeHead(200, {\n \"Content-Type\": \"application/json\"\n });\n res.end(JSON.stringify(symbolicateNativeStack(stack, bundle.map)));\n } catch (err) {\n console.error(`[vxrn] symbolicate failed`, err);\n res.writeHead(500, {\n \"Content-Type\": \"application/json\"\n });\n res.end(JSON.stringify({\n error: err instanceof Error ? err.message : String(err)\n }));\n }\n });\n }\n };\n}\nexport {\n createReactNativeDevServerPlugin,\n getNativeAssetContentType\n};\n//# sourceMappingURL=reactNativeDevServer.js.map\n"],"mappings":"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"}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import { transformReactNativeCodegen } from "@vxrn/compiler";
|
|
2
|
-
|
|
1
|
+
import { transformReactNativeCodegen, transformReactNativeCodegen as transformReactNativeCodegen2 } from "@vxrn/compiler";
|
|
2
|
+
|
|
3
3
|
function rnCodegenPlugin(options) {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
4
|
+
return {
|
|
5
|
+
name: "vxrn:rn-codegen",
|
|
6
|
+
enforce: "pre",
|
|
7
|
+
transform: {
|
|
8
|
+
order: "pre",
|
|
9
|
+
handler(code, id) {
|
|
10
|
+
return transformReactNativeCodegen(code, id, options?.projectRoot);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
14
|
}
|
|
15
|
+
|
|
15
16
|
export { rnCodegenPlugin, transformReactNativeCodegen2 as transformReactNativeCodegen };
|
|
16
17
|
//# sourceMappingURL=rnCodegenPlugin.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"rnCodegenPlugin.js","names":[],"sources":["plugins/rnCodegenPlugin.js"],"sourcesContent":["import { transformReactNativeCodegen } from \"@vxrn/compiler\";\nimport { transformReactNativeCodegen as transformReactNativeCodegen2 } from \"@vxrn/compiler\";\nfunction rnCodegenPlugin(options) {\n return {\n name: \"vxrn:rn-codegen\",\n enforce: \"pre\",\n transform: {\n order: \"pre\",\n handler(code, id) {\n return transformReactNativeCodegen(code, id, options?.projectRoot);\n }\n }\n };\n}\nexport {\n rnCodegenPlugin,\n transformReactNativeCodegen2 as transformReactNativeCodegen\n};\n//# sourceMappingURL=rnCodegenPlugin.js.map\n"],"mappings":";;;AAEA,SAAS,gBAAgB,SAAS;CAChC,OAAO;EACL,MAAM;EACN,SAAS;EACT,WAAW;GACT,OAAO;GACP,QAAQ,MAAM,IAAI;IAChB,OAAO,4BAA4B,MAAM,IAAI,SAAS,WAAW;GACnE;EACF;CACF;AACF"}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import { transformReactNativeCodegen } from "@vxrn/compiler";
|
|
2
|
-
|
|
1
|
+
import { transformReactNativeCodegen, transformReactNativeCodegen as transformReactNativeCodegen2 } from "@vxrn/compiler";
|
|
2
|
+
|
|
3
3
|
function rnCodegenPlugin(options) {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
4
|
+
return {
|
|
5
|
+
name: "vxrn:rn-codegen",
|
|
6
|
+
enforce: "pre",
|
|
7
|
+
transform: {
|
|
8
|
+
order: "pre",
|
|
9
|
+
handler(code, id) {
|
|
10
|
+
return transformReactNativeCodegen(code, id, options === null || options === void 0 ? void 0 : options.projectRoot);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
14
|
}
|
|
15
|
+
|
|
15
16
|
export { rnCodegenPlugin, transformReactNativeCodegen2 as transformReactNativeCodegen };
|
|
16
17
|
//# sourceMappingURL=rnCodegenPlugin.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"rnCodegenPlugin.native.js","names":[],"sources":["plugins/rnCodegenPlugin.native.js"],"sourcesContent":["import { transformReactNativeCodegen } from \"@vxrn/compiler\";\nimport { transformReactNativeCodegen as transformReactNativeCodegen2 } from \"@vxrn/compiler\";\nfunction rnCodegenPlugin(options) {\n return {\n name: \"vxrn:rn-codegen\",\n enforce: \"pre\",\n transform: {\n order: \"pre\",\n handler(code, id) {\n return transformReactNativeCodegen(code, id, options === null || options === void 0 ? void 0 : options.projectRoot);\n }\n }\n };\n}\nexport {\n rnCodegenPlugin,\n transformReactNativeCodegen2 as transformReactNativeCodegen\n};\n//# sourceMappingURL=rnCodegenPlugin.js.map\n"],"mappings":";;;AAEA,SAAS,gBAAgB,SAAS;CAChC,OAAO;EACL,MAAM;EACN,SAAS;EACT,WAAW;GACT,OAAO;GACP,QAAQ,MAAM,IAAI;IAChB,OAAO,4BAA4B,MAAM,IAAI,YAAY,QAAQ,YAAY,KAAK,IAAI,KAAK,IAAI,QAAQ,WAAW;GACpH;EACF;CACF;AACF"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
const rollupRemoveUnusedImportsPlugin = {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
name: "remove-unused-imports",
|
|
3
|
+
renderChunk(code) {
|
|
4
|
+
return {
|
|
5
|
+
code: code.replace(/import\s+['"][a-zA-Z0-9_\-@]+['"];\n/g, ""),
|
|
6
|
+
map: null
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
9
|
};
|
|
10
|
+
|
|
10
11
|
export { rollupRemoveUnusedImportsPlugin };
|
|
11
12
|
//# sourceMappingURL=rollupRemoveUnusedImports.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"rollupRemoveUnusedImports.js","names":[],"sources":["plugins/rollupRemoveUnusedImports.js"],"sourcesContent":["const rollupRemoveUnusedImportsPlugin = {\n name: \"remove-unused-imports\",\n renderChunk(code) {\n return {\n code: code.replace(/import\\s+['\"][a-zA-Z0-9_\\-@]+['\"];\\n/g, \"\"),\n map: null\n };\n }\n};\nexport {\n rollupRemoveUnusedImportsPlugin\n};\n//# sourceMappingURL=rollupRemoveUnusedImports.js.map\n"],"mappings":";AAAA,MAAM,kCAAkC;CACtC,MAAM;CACN,YAAY,MAAM;EAChB,OAAO;GACL,MAAM,KAAK,QAAQ,yCAAyC,EAAE;GAC9D,KAAK;EACP;CACF;AACF"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
var rollupRemoveUnusedImportsPlugin = {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
name: "remove-unused-imports",
|
|
3
|
+
renderChunk(code) {
|
|
4
|
+
return {
|
|
5
|
+
code: code.replace(/import\s+['"][a-zA-Z0-9_\-@]+['"];\n/g, ""),
|
|
6
|
+
map: null
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
9
|
};
|
|
10
|
+
|
|
10
11
|
export { rollupRemoveUnusedImportsPlugin };
|
|
11
12
|
//# sourceMappingURL=rollupRemoveUnusedImports.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"rollupRemoveUnusedImports.native.js","names":[],"sources":["plugins/rollupRemoveUnusedImports.native.js"],"sourcesContent":["var rollupRemoveUnusedImportsPlugin = {\n name: \"remove-unused-imports\",\n renderChunk(code) {\n return {\n code: code.replace(/import\\s+['\"][a-zA-Z0-9_\\-@]+['\"];\\n/g, \"\"),\n map: null\n };\n }\n};\nexport {\n rollupRemoveUnusedImportsPlugin\n};\n//# sourceMappingURL=rollupRemoveUnusedImports.js.map\n"],"mappings":";AAAA,IAAI,kCAAkC;CACpC,MAAM;CACN,YAAY,MAAM;EAChB,OAAO;GACL,MAAM,KAAK,QAAQ,yCAAyC,EAAE;GAC9D,KAAK;EACP;CACF;AACF"}
|
|
@@ -4,123 +4,119 @@ import { dirname, isAbsolute, join } from "node:path";
|
|
|
4
4
|
import { statSync } from "node:fs";
|
|
5
5
|
import { rolldown } from "rolldown";
|
|
6
6
|
import { parseSync } from "oxc-parser";
|
|
7
|
-
import {
|
|
7
|
+
import { JS_GLOBALS, getClosureVariables, transformHermesLoops } from "@vxrn/compiler";
|
|
8
8
|
import { hermesCompatSWCPlugin, hermesLoopsPlugin } from "../utils/createNativeDevEngine.mjs";
|
|
9
|
+
|
|
9
10
|
function workletImportsPlugin(imports) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
} finally {
|
|
120
|
-
await bundle.close();
|
|
121
|
-
}
|
|
122
|
-
const loader = `__oneLoadWorkletModule_${selected.key}`;
|
|
123
|
-
const loaderCode = `function ${loader}() {
|
|
11
|
+
const selections = new Map(Object.entries(imports).map(([source, names]) => [source, [...new Set(names)]]));
|
|
12
|
+
const rejectRuntimeDependency = (source) => {
|
|
13
|
+
const normalized = source.replace(/\\/g, "/");
|
|
14
|
+
if (isBuiltin(source) || /(?:^|\/node_modules\/)(?:react|react-native|react-native-worklets|react-native-reanimated|expo-modules-core)(?:\/|$)/.test(normalized) || /(?:^|\/node_modules\/)@react-native\//.test(normalized)) {
|
|
15
|
+
throw new Error(`[worklet imports] runtime dependency ${source} is not pure JavaScript`);
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
return {
|
|
19
|
+
name: "vxrn:worklet-imports",
|
|
20
|
+
options(nativeOptions) {
|
|
21
|
+
const modules = /* @__PURE__ */ new Map();
|
|
22
|
+
const instance = {
|
|
23
|
+
name: "vxrn:worklet-imports:bundle",
|
|
24
|
+
async resolveId(source, importer, options) {
|
|
25
|
+
const names = selections.get(source);
|
|
26
|
+
if (!names) return;
|
|
27
|
+
if (!names.length) throw new Error(`[worklet imports] no exports selected for ${source}`);
|
|
28
|
+
if (options.kind !== "import-statement") {
|
|
29
|
+
throw new Error(`[worklet imports] ${source} requires a static ESM import`);
|
|
30
|
+
}
|
|
31
|
+
rejectRuntimeDependency(source);
|
|
32
|
+
const resolved = await this.resolve(source, importer, { skipSelf: true });
|
|
33
|
+
if (!resolved || resolved.external || !isAbsolute(resolved.id) || !statSync(resolved.id, { throwIfNoEntry: false })?.isFile()) {
|
|
34
|
+
throw new Error(`[worklet imports] ${source} must resolve to a JavaScript file`);
|
|
35
|
+
}
|
|
36
|
+
rejectRuntimeDependency(resolved.id);
|
|
37
|
+
const key = createHash("sha256").update(JSON.stringify([resolved.id, names])).digest("hex").slice(0, 16);
|
|
38
|
+
const id = join(dirname(resolved.id), `__one_worklet_imports_${key}.js`);
|
|
39
|
+
modules.set(id, {
|
|
40
|
+
entry: resolved.id,
|
|
41
|
+
names,
|
|
42
|
+
key
|
|
43
|
+
});
|
|
44
|
+
return id;
|
|
45
|
+
},
|
|
46
|
+
moduleParsed(info) {
|
|
47
|
+
if (!info.code || ![...selections.keys()].some((source) => info.code.includes(source))) return;
|
|
48
|
+
const { program, errors } = parseSync(info.id, info.code, { lang: /\.[cm]?ts$/.test(info.id) ? "ts" : info.id.endsWith(".tsx") ? "tsx" : "jsx" });
|
|
49
|
+
if (errors.length) throw new Error(errors[0].message);
|
|
50
|
+
for (const node of program.body) {
|
|
51
|
+
if (node.type !== "ImportDeclaration" && node.type !== "ExportNamedDeclaration") continue;
|
|
52
|
+
const source = node.source?.value;
|
|
53
|
+
if (!source) continue;
|
|
54
|
+
const names = selections.get(source);
|
|
55
|
+
if (!names) continue;
|
|
56
|
+
for (const specifier of node.specifiers) {
|
|
57
|
+
const imported = specifier.type === "ImportDefaultSpecifier" ? "default" : specifier.type === "ImportSpecifier" ? specifier.imported.type === "Identifier" ? specifier.imported.name : specifier.imported.value : specifier.type === "ExportSpecifier" ? specifier.local.type === "Identifier" ? specifier.local.name : specifier.local.value : void 0;
|
|
58
|
+
if (imported !== void 0 && !names.includes(imported)) {
|
|
59
|
+
throw new Error(`[worklet imports] ${info.id} imports unselected export ${imported} from ${source}`);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
async load(id) {
|
|
65
|
+
const selected = modules.get(id);
|
|
66
|
+
if (!selected) return;
|
|
67
|
+
const outerContext = this;
|
|
68
|
+
const innerEntry = "\0one-worklet-import-entry";
|
|
69
|
+
const bundle = await rolldown({
|
|
70
|
+
cwd: nativeOptions.cwd,
|
|
71
|
+
input: innerEntry,
|
|
72
|
+
platform: "neutral",
|
|
73
|
+
resolve: nativeOptions.resolve,
|
|
74
|
+
transform: nativeOptions.transform,
|
|
75
|
+
shimMissingExports: false,
|
|
76
|
+
plugins: [
|
|
77
|
+
{
|
|
78
|
+
name: "vxrn:pure-worklet-module",
|
|
79
|
+
resolveId(source, _importer, options) {
|
|
80
|
+
if (source === innerEntry) return source;
|
|
81
|
+
if (options.kind === "dynamic-import") {
|
|
82
|
+
throw new Error(`[worklet imports] dynamic imports are unsupported in ${selected.entry}`);
|
|
83
|
+
}
|
|
84
|
+
rejectRuntimeDependency(source);
|
|
85
|
+
},
|
|
86
|
+
load(source) {
|
|
87
|
+
if (source === innerEntry) {
|
|
88
|
+
return `export { ${selected.names.map((name, index) => `${JSON.stringify(name)} as __export${index}`).join(", ")} } from ${JSON.stringify(selected.entry)};`;
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
moduleParsed(info) {
|
|
92
|
+
rejectRuntimeDependency(info.id);
|
|
93
|
+
if (isAbsolute(info.id)) outerContext.addWatchFile(info.id);
|
|
94
|
+
if (info.packageJsonPath) outerContext.addWatchFile(info.packageJsonPath);
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
hermesCompatSWCPlugin(false),
|
|
98
|
+
hermesLoopsPlugin()
|
|
99
|
+
]
|
|
100
|
+
});
|
|
101
|
+
let code;
|
|
102
|
+
try {
|
|
103
|
+
const output = await bundle.generate({
|
|
104
|
+
format: "iife",
|
|
105
|
+
name: "__oneWorkletBundle"
|
|
106
|
+
});
|
|
107
|
+
const chunk = output.output[0];
|
|
108
|
+
if (output.output.length !== 1 || chunk.type !== "chunk" || chunk.imports.length || chunk.dynamicImports.length) {
|
|
109
|
+
throw new Error(`[worklet imports] ${selected.entry} must produce one self-contained JavaScript module`);
|
|
110
|
+
}
|
|
111
|
+
code = transformHermesLoops(chunk.code, id)?.code ?? chunk.code;
|
|
112
|
+
for (const file of await bundle.watchFiles) {
|
|
113
|
+
if (isAbsolute(file)) outerContext.addWatchFile(file);
|
|
114
|
+
}
|
|
115
|
+
} finally {
|
|
116
|
+
await bundle.close();
|
|
117
|
+
}
|
|
118
|
+
const loader = `__oneLoadWorkletModule_${selected.key}`;
|
|
119
|
+
const loaderCode = `function ${loader}() {
|
|
124
120
|
'worklet';
|
|
125
121
|
const cache = globalThis.__oneWorkletImportCache || (globalThis.__oneWorkletImportCache = new WeakMap());
|
|
126
122
|
let namespace = cache.get(${loader});
|
|
@@ -131,15 +127,13 @@ function workletImportsPlugin(imports) {
|
|
|
131
127
|
}
|
|
132
128
|
return namespace;
|
|
133
129
|
}`;
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
}
|
|
142
|
-
return `${loaderCode}
|
|
130
|
+
const parsed = parseSync(id, loaderCode, { lang: "js" });
|
|
131
|
+
if (parsed.errors.length) throw new Error(parsed.errors[0].message);
|
|
132
|
+
const captures = getClosureVariables(parsed.program.body[0], /* @__PURE__ */ new Set([...JS_GLOBALS, "arguments"]));
|
|
133
|
+
if (captures.length) {
|
|
134
|
+
throw new Error(`[worklet imports] ${selected.entry} requires unsupported runtime globals: ${captures.join(", ")}`);
|
|
135
|
+
}
|
|
136
|
+
return `${loaderCode}
|
|
143
137
|
${selected.names.map((name, index) => `
|
|
144
138
|
function __oneExport${index}(...args) {
|
|
145
139
|
'worklet';
|
|
@@ -147,14 +141,15 @@ function __oneExport${index}(...args) {
|
|
|
147
141
|
}
|
|
148
142
|
export { __oneExport${index} as ${JSON.stringify(name)} };
|
|
149
143
|
`).join("\n")}`;
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
return {
|
|
147
|
+
...nativeOptions,
|
|
148
|
+
plugins: [instance, nativeOptions.plugins]
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
};
|
|
158
152
|
}
|
|
153
|
+
|
|
159
154
|
export { workletImportsPlugin };
|
|
160
155
|
//# sourceMappingURL=workletImportsPlugin.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createHash","isBuiltin","dirname","isAbsolute","join","statSync","rolldown","parseSync","getClosureVariables","JS_GLOBALS","transformHermesLoops","hermesCompatSWCPlugin","hermesLoopsPlugin","workletImportsPlugin","imports","selections","Map","Object","entries","map","source","names","Set","rejectRuntimeDependency","normalized","replace","test","Error","name","options","nativeOptions","modules","instance","resolveId","importer","get","length","kind","resolved","resolve","skipSelf","external","id","throwIfNoEntry","isFile","key","update","JSON","stringify","digest","slice","set","entry","moduleParsed","info","code","keys","some","includes","program","errors","lang","endsWith","message","node","body","type","value","specifier","specifiers","imported","local","load","selected","outerContext","innerEntry","bundle","cwd","input","platform","transform","shimMissingExports","plugins","_importer","index","addWatchFile","packageJsonPath","output","generate","format","chunk","dynamicImports","file","watchFiles","close","loader","loaderCode","parsed","captures"],"sources":["../../src/plugins/workletImportsPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"workletImportsPlugin.js","names":[],"sources":["plugins/workletImportsPlugin.js"],"sourcesContent":["import { createHash } from \"node:crypto\";\nimport { isBuiltin } from \"node:module\";\nimport { dirname, isAbsolute, join } from \"node:path\";\nimport { statSync } from \"node:fs\";\nimport { rolldown } from \"rolldown\";\nimport { parseSync } from \"oxc-parser\";\nimport { getClosureVariables, JS_GLOBALS, transformHermesLoops } from \"@vxrn/compiler\";\nimport { hermesCompatSWCPlugin, hermesLoopsPlugin } from \"../utils/createNativeDevEngine\";\nfunction workletImportsPlugin(imports) {\n const selections = new Map(\n Object.entries(imports).map(([source, names]) => [source, [...new Set(names)]])\n );\n const rejectRuntimeDependency = (source) => {\n const normalized = source.replace(/\\\\/g, \"/\");\n if (isBuiltin(source) || /(?:^|\\/node_modules\\/)(?:react|react-native|react-native-worklets|react-native-reanimated|expo-modules-core)(?:\\/|$)/.test(\n normalized\n ) || /(?:^|\\/node_modules\\/)@react-native\\//.test(normalized)) {\n throw new Error(\n `[worklet imports] runtime dependency ${source} is not pure JavaScript`\n );\n }\n };\n return {\n name: \"vxrn:worklet-imports\",\n options(nativeOptions) {\n const modules = /* @__PURE__ */ new Map();\n const instance = {\n name: \"vxrn:worklet-imports:bundle\",\n async resolveId(source, importer, options) {\n const names = selections.get(source);\n if (!names) return;\n if (!names.length)\n throw new Error(`[worklet imports] no exports selected for ${source}`);\n if (options.kind !== \"import-statement\") {\n throw new Error(`[worklet imports] ${source} requires a static ESM import`);\n }\n rejectRuntimeDependency(source);\n const resolved = await this.resolve(source, importer, { skipSelf: true });\n if (!resolved || resolved.external || !isAbsolute(resolved.id) || !statSync(resolved.id, { throwIfNoEntry: false })?.isFile()) {\n throw new Error(\n `[worklet imports] ${source} must resolve to a JavaScript file`\n );\n }\n rejectRuntimeDependency(resolved.id);\n const key = createHash(\"sha256\").update(JSON.stringify([resolved.id, names])).digest(\"hex\").slice(0, 16);\n const id = join(dirname(resolved.id), `__one_worklet_imports_${key}.js`);\n modules.set(id, { entry: resolved.id, names, key });\n return id;\n },\n moduleParsed(info) {\n if (!info.code || ![...selections.keys()].some((source) => info.code.includes(source)))\n return;\n const { program, errors } = parseSync(info.id, info.code, {\n lang: /\\.[cm]?ts$/.test(info.id) ? \"ts\" : info.id.endsWith(\".tsx\") ? \"tsx\" : \"jsx\"\n });\n if (errors.length) throw new Error(errors[0].message);\n for (const node of program.body) {\n if (node.type !== \"ImportDeclaration\" && node.type !== \"ExportNamedDeclaration\")\n continue;\n const source = node.source?.value;\n if (!source) continue;\n const names = selections.get(source);\n if (!names) continue;\n for (const specifier of node.specifiers) {\n const imported = specifier.type === \"ImportDefaultSpecifier\" ? \"default\" : specifier.type === \"ImportSpecifier\" ? specifier.imported.type === \"Identifier\" ? specifier.imported.name : specifier.imported.value : specifier.type === \"ExportSpecifier\" ? specifier.local.type === \"Identifier\" ? specifier.local.name : specifier.local.value : void 0;\n if (imported !== void 0 && !names.includes(imported)) {\n throw new Error(\n `[worklet imports] ${info.id} imports unselected export ${imported} from ${source}`\n );\n }\n }\n }\n },\n async load(id) {\n const selected = modules.get(id);\n if (!selected) return;\n const outerContext = this;\n const innerEntry = \"\\0one-worklet-import-entry\";\n const bundle = await rolldown({\n cwd: nativeOptions.cwd,\n input: innerEntry,\n platform: \"neutral\",\n resolve: nativeOptions.resolve,\n transform: nativeOptions.transform,\n shimMissingExports: false,\n plugins: [\n {\n name: \"vxrn:pure-worklet-module\",\n resolveId(source, _importer, options) {\n if (source === innerEntry) return source;\n if (options.kind === \"dynamic-import\") {\n throw new Error(\n `[worklet imports] dynamic imports are unsupported in ${selected.entry}`\n );\n }\n rejectRuntimeDependency(source);\n },\n load(source) {\n if (source === innerEntry) {\n return `export { ${selected.names.map((name, index) => `${JSON.stringify(name)} as __export${index}`).join(\", \")} } from ${JSON.stringify(selected.entry)};`;\n }\n },\n moduleParsed(info) {\n rejectRuntimeDependency(info.id);\n if (isAbsolute(info.id)) outerContext.addWatchFile(info.id);\n if (info.packageJsonPath)\n outerContext.addWatchFile(info.packageJsonPath);\n }\n },\n hermesCompatSWCPlugin(false),\n hermesLoopsPlugin()\n ]\n });\n let code;\n try {\n const output = await bundle.generate({\n format: \"iife\",\n name: \"__oneWorkletBundle\"\n });\n const chunk = output.output[0];\n if (output.output.length !== 1 || chunk.type !== \"chunk\" || chunk.imports.length || chunk.dynamicImports.length) {\n throw new Error(\n `[worklet imports] ${selected.entry} must produce one self-contained JavaScript module`\n );\n }\n code = transformHermesLoops(chunk.code, id)?.code ?? chunk.code;\n for (const file of await bundle.watchFiles) {\n if (isAbsolute(file)) outerContext.addWatchFile(file);\n }\n } finally {\n await bundle.close();\n }\n const loader = `__oneLoadWorkletModule_${selected.key}`;\n const loaderCode = `function ${loader}() {\n 'worklet';\n const cache = globalThis.__oneWorkletImportCache || (globalThis.__oneWorkletImportCache = new WeakMap());\n let namespace = cache.get(${loader});\n if (namespace === undefined) {\n ${code}\n namespace = __oneWorkletBundle;\n cache.set(${loader}, namespace);\n }\n return namespace;\n}`;\n const parsed = parseSync(id, loaderCode, { lang: \"js\" });\n if (parsed.errors.length) throw new Error(parsed.errors[0].message);\n const captures = getClosureVariables(\n parsed.program.body[0],\n /* @__PURE__ */ new Set([...JS_GLOBALS, \"arguments\"])\n );\n if (captures.length) {\n throw new Error(\n `[worklet imports] ${selected.entry} requires unsupported runtime globals: ${captures.join(\", \")}`\n );\n }\n return `${loaderCode}\n${selected.names.map(\n (name, index) => `\nfunction __oneExport${index}(...args) {\n 'worklet';\n return (0, ${loader}().__export${index})(...args);\n}\nexport { __oneExport${index} as ${JSON.stringify(name)} };\n`\n ).join(\"\\n\")}`;\n }\n };\n return {\n ...nativeOptions,\n plugins: [instance, nativeOptions.plugins]\n };\n }\n };\n}\nexport {\n workletImportsPlugin\n};\n//# sourceMappingURL=workletImportsPlugin.js.map\n"],"mappings":"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"}
|