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
package/dist/utils/patches.mjs
CHANGED
|
@@ -9,278 +9,256 @@ import { rename } from "node:fs/promises";
|
|
|
9
9
|
import semver from "semver";
|
|
10
10
|
import { builtInDepPatches } from "../patches/builtInDepPatches.mjs";
|
|
11
11
|
import { globDir } from "./globDir.mjs";
|
|
12
|
-
|
|
12
|
+
|
|
13
|
+
var Bail = class extends Error {};
|
|
13
14
|
function bailIfUnchanged(obj1, obj2) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
if (JSON.stringify(obj1) === JSON.stringify(obj2)) {
|
|
16
|
+
throw new Bail();
|
|
17
|
+
}
|
|
17
18
|
}
|
|
18
19
|
function bailIfExists(haystack, needle) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
if (haystack.includes(needle)) {
|
|
21
|
+
throw new Bail();
|
|
22
|
+
}
|
|
22
23
|
}
|
|
23
24
|
async function applyBuiltInPatches(options, extraPatches) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
root: options.root
|
|
46
|
-
});
|
|
25
|
+
const all = [...builtInDepPatches];
|
|
26
|
+
if (extraPatches) {
|
|
27
|
+
for (const key in extraPatches) {
|
|
28
|
+
const extraPatchFiles = extraPatches[key];
|
|
29
|
+
const existing = all.find((x) => x.module === key);
|
|
30
|
+
if (existing) {
|
|
31
|
+
for (const patchKey in extraPatchFiles) {
|
|
32
|
+
if (existing.patchFiles[patchKey]) {
|
|
33
|
+
console.warn(`Warning: Overwriting One built-in patch with user patch`, key, patchKey);
|
|
34
|
+
}
|
|
35
|
+
existing.patchFiles[patchKey] = extraPatchFiles[patchKey];
|
|
36
|
+
}
|
|
37
|
+
} else {
|
|
38
|
+
all.push({
|
|
39
|
+
module: key,
|
|
40
|
+
patchFiles: extraPatchFiles
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
await applyDependencyPatches(all, { root: options.root });
|
|
47
46
|
}
|
|
48
47
|
const STATS_FILE = ".vxrn.patch-stats.json";
|
|
49
48
|
function getOriginalPath(fullPath) {
|
|
50
|
-
|
|
49
|
+
return fullPath + ".vxrn.original";
|
|
51
50
|
}
|
|
52
51
|
async function readPatchStats(nodeModulesDir) {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
52
|
+
try {
|
|
53
|
+
return await FSExtra.readJSON(join(nodeModulesDir, STATS_FILE));
|
|
54
|
+
} catch {
|
|
55
|
+
return {};
|
|
56
|
+
}
|
|
58
57
|
}
|
|
59
58
|
async function writePatchStats(nodeModulesDir, stats) {
|
|
60
|
-
|
|
59
|
+
await FSExtra.writeJSON(join(nodeModulesDir, STATS_FILE), stats);
|
|
61
60
|
}
|
|
62
61
|
function moduleToPnpmStorePattern(moduleName) {
|
|
63
|
-
|
|
62
|
+
return moduleName.replace("/", "+");
|
|
64
63
|
}
|
|
65
|
-
async function applyDependencyPatches(patches, {
|
|
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
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
}));
|
|
258
|
-
if (didApplyPatch) {
|
|
259
|
-
results.set(patch.module, "applied");
|
|
260
|
-
} else if (!results.has(patch.module)) {
|
|
261
|
-
results.set(patch.module, "ok");
|
|
262
|
-
}
|
|
263
|
-
} catch (err) {
|
|
264
|
-
console.error(`\u{1F6A8} Error applying patch to`, patch.module);
|
|
265
|
-
console.error(err);
|
|
266
|
-
}
|
|
267
|
-
}));
|
|
268
|
-
if (statsChanged) {
|
|
269
|
-
await writePatchStats(nodeModulesDir, patchStats);
|
|
270
|
-
}
|
|
271
|
-
}));
|
|
272
|
-
for (const [module, result] of results) {
|
|
273
|
-
if (result === "applied") {
|
|
274
|
-
console.info(` \u{1FA79} ${module}`);
|
|
275
|
-
} else if (result === "ok" && process.env.VXRN_FORCE_PATCH) {
|
|
276
|
-
console.info(` \u2713 ${module}`);
|
|
277
|
-
}
|
|
278
|
-
}
|
|
64
|
+
async function applyDependencyPatches(patches, { root = process.cwd() } = {}) {
|
|
65
|
+
const patchModuleNames = [...new Set(patches.map((p) => p.module))];
|
|
66
|
+
const nodeModulesDirs = findNodeModules({ cwd: root }).flatMap((relativePath) => {
|
|
67
|
+
const dir = join(root, relativePath);
|
|
68
|
+
const dirs = [dir];
|
|
69
|
+
const pnpmBase = join(dir, ".pnpm");
|
|
70
|
+
if (!FSExtra.existsSync(pnpmBase)) return dirs;
|
|
71
|
+
const pnpmHoistedDir = join(pnpmBase, "node_modules");
|
|
72
|
+
if (FSExtra.existsSync(pnpmHoistedDir)) {
|
|
73
|
+
dirs.push(pnpmHoistedDir);
|
|
74
|
+
}
|
|
75
|
+
for (const moduleName of patchModuleNames) {
|
|
76
|
+
const storePattern = moduleToPnpmStorePattern(moduleName);
|
|
77
|
+
const storeMatches = Glob.sync(`${storePattern}@*/node_modules`, {
|
|
78
|
+
cwd: pnpmBase,
|
|
79
|
+
onlyDirectories: true
|
|
80
|
+
});
|
|
81
|
+
for (const match of storeMatches) {
|
|
82
|
+
dirs.push(join(pnpmBase, match));
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return dirs;
|
|
86
|
+
});
|
|
87
|
+
const results = /* @__PURE__ */ new Map();
|
|
88
|
+
const transformWarnedModules = /* @__PURE__ */ new Set();
|
|
89
|
+
const patchedRealPaths = /* @__PURE__ */ new Set();
|
|
90
|
+
await Promise.all(nodeModulesDirs.map(async (nodeModulesDir) => {
|
|
91
|
+
const patchStats = await readPatchStats(nodeModulesDir);
|
|
92
|
+
let statsChanged = false;
|
|
93
|
+
await Promise.all(patches.map(async (patch) => {
|
|
94
|
+
try {
|
|
95
|
+
const nodeModuleDir = join(nodeModulesDir, patch.module);
|
|
96
|
+
if (!FSExtra.existsSync(nodeModuleDir)) return;
|
|
97
|
+
let realModuleDir;
|
|
98
|
+
try {
|
|
99
|
+
realModuleDir = realpathSync(nodeModuleDir);
|
|
100
|
+
} catch {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
const patchIdx = patches.indexOf(patch);
|
|
104
|
+
const dedupKey = `${patchIdx}\0${realModuleDir}`;
|
|
105
|
+
if (patchedRealPaths.has(dedupKey)) return;
|
|
106
|
+
patchedRealPaths.add(dedupKey);
|
|
107
|
+
const version = patch.patchFiles.version;
|
|
108
|
+
if (typeof version === "string") {
|
|
109
|
+
const pkgJSON = await FSExtra.readJSON(join(nodeModuleDir, "package.json"));
|
|
110
|
+
if (!semver.satisfies(pkgJSON.version, version)) return;
|
|
111
|
+
}
|
|
112
|
+
const filePatches = [];
|
|
113
|
+
for (const file in patch.patchFiles) {
|
|
114
|
+
if (file === "version") continue;
|
|
115
|
+
const filesToApply = file.includes("*") ? globDir(nodeModuleDir, file) : [file];
|
|
116
|
+
for (const relativePath of filesToApply) {
|
|
117
|
+
filePatches.push({
|
|
118
|
+
relativePath,
|
|
119
|
+
patchDefinition: patch.patchFiles[file]
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
const fileStatsResults = await Promise.all(filePatches.map(async ({ relativePath }) => {
|
|
124
|
+
const fullPath = join(nodeModuleDir, relativePath);
|
|
125
|
+
try {
|
|
126
|
+
const stat = await FSExtra.stat(fullPath);
|
|
127
|
+
return {
|
|
128
|
+
relativePath,
|
|
129
|
+
fullPath,
|
|
130
|
+
stat,
|
|
131
|
+
exists: true
|
|
132
|
+
};
|
|
133
|
+
} catch {
|
|
134
|
+
return {
|
|
135
|
+
relativePath,
|
|
136
|
+
fullPath,
|
|
137
|
+
stat: null,
|
|
138
|
+
exists: false
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
}));
|
|
142
|
+
const filesToProcess = fileStatsResults.filter(({ fullPath, stat, exists }) => {
|
|
143
|
+
if (!exists || !stat) return false;
|
|
144
|
+
if (process.env.VXRN_FORCE_PATCH) return true;
|
|
145
|
+
const cached = patchStats[fullPath];
|
|
146
|
+
if (!cached) return true;
|
|
147
|
+
return stat.size !== cached.size || stat.mtimeMs !== cached.mtimeMs;
|
|
148
|
+
});
|
|
149
|
+
if (filesToProcess.length === 0) {
|
|
150
|
+
if (!results.has(patch.module)) {
|
|
151
|
+
results.set(patch.module, "ok");
|
|
152
|
+
}
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
let didApplyPatch = false;
|
|
156
|
+
await Promise.all(filesToProcess.map(async ({ relativePath, fullPath }) => {
|
|
157
|
+
try {
|
|
158
|
+
const patchDef = filePatches.find((p) => p.relativePath === relativePath).patchDefinition;
|
|
159
|
+
const originalPath = getOriginalPath(fullPath);
|
|
160
|
+
const [targetContent, originalContent] = await Promise.all([FSExtra.readFile(fullPath, "utf-8"), FSExtra.readFile(originalPath, "utf-8").catch(() => null)]);
|
|
161
|
+
const sourceContent = originalContent ?? targetContent;
|
|
162
|
+
let patchedContent = null;
|
|
163
|
+
if (typeof patchDef === "string") {
|
|
164
|
+
patchedContent = patchDef;
|
|
165
|
+
} else if (Array.isArray(patchDef)) {
|
|
166
|
+
try {
|
|
167
|
+
let contents = sourceContent;
|
|
168
|
+
for (const strategy of patchDef) {
|
|
169
|
+
if (strategy === "flow") {
|
|
170
|
+
contents = await transformFlowBabel(contents);
|
|
171
|
+
}
|
|
172
|
+
if (strategy === "swc" || strategy === "jsx") {
|
|
173
|
+
contents = (await transformSWC(fullPath, contents, {
|
|
174
|
+
mode: "build",
|
|
175
|
+
environment: "ios",
|
|
176
|
+
forceJSX: strategy === "jsx",
|
|
177
|
+
noHMR: true,
|
|
178
|
+
fixNonTypeSpecificImports: true,
|
|
179
|
+
production: true
|
|
180
|
+
}))?.code || contents;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
if (contents !== sourceContent) {
|
|
184
|
+
patchedContent = contents;
|
|
185
|
+
}
|
|
186
|
+
} catch (transformErr) {
|
|
187
|
+
if (!transformWarnedModules.has(patch.module)) {
|
|
188
|
+
transformWarnedModules.add(patch.module);
|
|
189
|
+
console.warn(` \u26A0 Patch transform failed for ${patch.module} in ${relativePath}, skipping non-critical patch: ${transformErr?.stack ?? transformErr}`);
|
|
190
|
+
}
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
} else {
|
|
194
|
+
const out = await patchDef(sourceContent);
|
|
195
|
+
if (typeof out === "string" && out !== sourceContent) {
|
|
196
|
+
patchedContent = out;
|
|
197
|
+
} else if (typeof out === "string") {
|
|
198
|
+
console.warn(`[vxrn] patch for ${patch.module} matched nothing in ${relativePath} \u2014 it is stale and is no longer protecting anything`);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
if (patchedContent !== null) {
|
|
202
|
+
if (targetContent === patchedContent) {
|
|
203
|
+
const stat2 = await FSExtra.stat(fullPath);
|
|
204
|
+
patchStats[fullPath] = {
|
|
205
|
+
size: stat2.size,
|
|
206
|
+
mtimeMs: stat2.mtimeMs
|
|
207
|
+
};
|
|
208
|
+
statsChanged = true;
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
await Promise.all([originalContent === null && atomicWriteFile(originalPath, sourceContent), atomicWriteFile(fullPath, patchedContent)]);
|
|
212
|
+
const stat = await FSExtra.stat(fullPath);
|
|
213
|
+
patchStats[fullPath] = {
|
|
214
|
+
size: stat.size,
|
|
215
|
+
mtimeMs: stat.mtimeMs
|
|
216
|
+
};
|
|
217
|
+
statsChanged = true;
|
|
218
|
+
didApplyPatch = true;
|
|
219
|
+
if (process.env.DEBUG) {
|
|
220
|
+
console.info(` - Applied patch to ${patch.module}: ${relativePath}`);
|
|
221
|
+
}
|
|
222
|
+
} else {
|
|
223
|
+
const stat = await FSExtra.stat(fullPath);
|
|
224
|
+
patchStats[fullPath] = {
|
|
225
|
+
size: stat.size,
|
|
226
|
+
mtimeMs: stat.mtimeMs
|
|
227
|
+
};
|
|
228
|
+
statsChanged = true;
|
|
229
|
+
}
|
|
230
|
+
} catch (err) {
|
|
231
|
+
if (err instanceof Bail) return;
|
|
232
|
+
throw err;
|
|
233
|
+
}
|
|
234
|
+
}));
|
|
235
|
+
if (didApplyPatch) {
|
|
236
|
+
results.set(patch.module, "applied");
|
|
237
|
+
} else if (!results.has(patch.module)) {
|
|
238
|
+
results.set(patch.module, "ok");
|
|
239
|
+
}
|
|
240
|
+
} catch (err) {
|
|
241
|
+
console.error(`\u{1F6A8} Error applying patch to`, patch.module);
|
|
242
|
+
console.error(err);
|
|
243
|
+
}
|
|
244
|
+
}));
|
|
245
|
+
if (statsChanged) {
|
|
246
|
+
await writePatchStats(nodeModulesDir, patchStats);
|
|
247
|
+
}
|
|
248
|
+
}));
|
|
249
|
+
for (const [module, result] of results) {
|
|
250
|
+
if (result === "applied") {
|
|
251
|
+
console.info(` \u{1FA79} ${module}`);
|
|
252
|
+
} else if (result === "ok" && process.env.VXRN_FORCE_PATCH) {
|
|
253
|
+
console.info(` \u2713 ${module}`);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
279
256
|
}
|
|
280
257
|
async function atomicWriteFile(filePath, contents) {
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
258
|
+
const tempPath = filePath + ".vxrn.tmp." + process.pid + "." + Date.now();
|
|
259
|
+
await FSExtra.writeFile(tempPath, contents);
|
|
260
|
+
await rename(tempPath, filePath);
|
|
284
261
|
}
|
|
262
|
+
|
|
285
263
|
export { applyBuiltInPatches, applyDependencyPatches, bailIfExists, bailIfUnchanged, moduleToPnpmStorePattern };
|
|
286
264
|
//# sourceMappingURL=patches.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["transformSWC","transformFlowBabel","Glob","findNodeModules","FSExtra","realpathSync","join","rename","semver","builtInDepPatches","globDir","Bail","Error","bailIfUnchanged","obj1","obj2","JSON","stringify","bailIfExists","haystack","needle","includes","applyBuiltInPatches","options","extraPatches","all","key","extraPatchFiles","existing","find","x","module","patchKey","patchFiles","console","warn","push","applyDependencyPatches","root","STATS_FILE","getOriginalPath","fullPath","readPatchStats","nodeModulesDir","readJSON","writePatchStats","stats","writeJSON","moduleToPnpmStorePattern","moduleName","replace","patches","process","cwd","patchModuleNames","Set","map","p","nodeModulesDirs","flatMap","relativePath","dir","dirs","pnpmBase","existsSync","pnpmHoistedDir","storePattern","storeMatches","sync","onlyDirectories","match","results","Map","transformWarnedModules","patchedRealPaths","Promise","patchStats","statsChanged","patch","nodeModuleDir","realModuleDir","patchIdx","indexOf","dedupKey","has","add","version","pkgJSON","satisfies","filePatches","file","filesToApply","patchDefinition","fileStatsResults","stat","exists","filesToProcess","filter","env","VXRN_FORCE_PATCH","cached","size","mtimeMs","length","set","didApplyPatch","patchDef","originalPath","targetContent","originalContent","readFile","catch","sourceContent","patchedContent","Array","isArray","contents","strategy","mode","environment","forceJSX","noHMR","fixNonTypeSpecificImports","production","code","transformErr","stack","out","stat2","atomicWriteFile","DEBUG","info","err","error","result","filePath","tempPath","pid","Date","now","writeFile"],"sources":["../../src/utils/patches.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"patches.js","names":[],"sources":["utils/patches.js"],"sourcesContent":["import { transformSWC } from \"@vxrn/compiler\";\nimport { transformFlowBabel } from \"@vxrn/vite-flow\";\nimport Glob from \"fast-glob\";\nimport findNodeModules from \"find-node-modules\";\nimport FSExtra from \"fs-extra\";\nimport { realpathSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { rename } from \"node:fs/promises\";\nimport semver from \"semver\";\nimport { builtInDepPatches } from \"../patches/builtInDepPatches\";\nimport { globDir } from \"./globDir\";\nclass Bail extends Error {\n}\nfunction bailIfUnchanged(obj1, obj2) {\n if (JSON.stringify(obj1) === JSON.stringify(obj2)) {\n throw new Bail();\n }\n}\nfunction bailIfExists(haystack, needle) {\n if (haystack.includes(needle)) {\n throw new Bail();\n }\n}\nasync function applyBuiltInPatches(options, extraPatches) {\n const all = [...builtInDepPatches];\n if (extraPatches) {\n for (const key in extraPatches) {\n const extraPatchFiles = extraPatches[key];\n const existing = all.find((x) => x.module === key);\n if (existing) {\n for (const patchKey in extraPatchFiles) {\n if (existing.patchFiles[patchKey]) {\n console.warn(\n `Warning: Overwriting One built-in patch with user patch`,\n key,\n patchKey\n );\n }\n existing.patchFiles[patchKey] = extraPatchFiles[patchKey];\n }\n } else {\n all.push({ module: key, patchFiles: extraPatchFiles });\n }\n }\n }\n await applyDependencyPatches(all, { root: options.root });\n}\nconst STATS_FILE = \".vxrn.patch-stats.json\";\nfunction getOriginalPath(fullPath) {\n return fullPath + \".vxrn.original\";\n}\nasync function readPatchStats(nodeModulesDir) {\n try {\n return await FSExtra.readJSON(join(nodeModulesDir, STATS_FILE));\n } catch {\n return {};\n }\n}\nasync function writePatchStats(nodeModulesDir, stats) {\n await FSExtra.writeJSON(join(nodeModulesDir, STATS_FILE), stats);\n}\nfunction moduleToPnpmStorePattern(moduleName) {\n return moduleName.replace(\"/\", \"+\");\n}\nasync function applyDependencyPatches(patches, { root = process.cwd() } = {}) {\n const patchModuleNames = [...new Set(patches.map((p) => p.module))];\n const nodeModulesDirs = findNodeModules({ cwd: root }).flatMap((relativePath) => {\n const dir = join(root, relativePath);\n const dirs = [dir];\n const pnpmBase = join(dir, \".pnpm\");\n if (!FSExtra.existsSync(pnpmBase)) return dirs;\n const pnpmHoistedDir = join(pnpmBase, \"node_modules\");\n if (FSExtra.existsSync(pnpmHoistedDir)) {\n dirs.push(pnpmHoistedDir);\n }\n for (const moduleName of patchModuleNames) {\n const storePattern = moduleToPnpmStorePattern(moduleName);\n const storeMatches = Glob.sync(`${storePattern}@*/node_modules`, {\n cwd: pnpmBase,\n onlyDirectories: true\n });\n for (const match of storeMatches) {\n dirs.push(join(pnpmBase, match));\n }\n }\n return dirs;\n });\n const results = /* @__PURE__ */ new Map();\n const transformWarnedModules = /* @__PURE__ */ new Set();\n const patchedRealPaths = /* @__PURE__ */ new Set();\n await Promise.all(\n nodeModulesDirs.map(async (nodeModulesDir) => {\n const patchStats = await readPatchStats(nodeModulesDir);\n let statsChanged = false;\n await Promise.all(\n patches.map(async (patch) => {\n try {\n const nodeModuleDir = join(nodeModulesDir, patch.module);\n if (!FSExtra.existsSync(nodeModuleDir)) return;\n let realModuleDir;\n try {\n realModuleDir = realpathSync(nodeModuleDir);\n } catch {\n return;\n }\n const patchIdx = patches.indexOf(patch);\n const dedupKey = `${patchIdx}\\0${realModuleDir}`;\n if (patchedRealPaths.has(dedupKey)) return;\n patchedRealPaths.add(dedupKey);\n const version = patch.patchFiles.version;\n if (typeof version === \"string\") {\n const pkgJSON = await FSExtra.readJSON(join(nodeModuleDir, \"package.json\"));\n if (!semver.satisfies(pkgJSON.version, version)) return;\n }\n const filePatches = [];\n for (const file in patch.patchFiles) {\n if (file === \"version\") continue;\n const filesToApply = file.includes(\"*\") ? globDir(nodeModuleDir, file) : [file];\n for (const relativePath of filesToApply) {\n filePatches.push({\n relativePath,\n patchDefinition: patch.patchFiles[file]\n });\n }\n }\n const fileStatsResults = await Promise.all(\n filePatches.map(async ({ relativePath }) => {\n const fullPath = join(nodeModuleDir, relativePath);\n try {\n const stat = await FSExtra.stat(fullPath);\n return { relativePath, fullPath, stat, exists: true };\n } catch {\n return { relativePath, fullPath, stat: null, exists: false };\n }\n })\n );\n const filesToProcess = fileStatsResults.filter(\n ({ fullPath, stat, exists }) => {\n if (!exists || !stat) return false;\n if (process.env.VXRN_FORCE_PATCH) return true;\n const cached = patchStats[fullPath];\n if (!cached) return true;\n return stat.size !== cached.size || stat.mtimeMs !== cached.mtimeMs;\n }\n );\n if (filesToProcess.length === 0) {\n if (!results.has(patch.module)) {\n results.set(patch.module, \"ok\");\n }\n return;\n }\n let didApplyPatch = false;\n await Promise.all(\n filesToProcess.map(async ({ relativePath, fullPath }) => {\n try {\n const patchDef = filePatches.find(\n (p) => p.relativePath === relativePath\n ).patchDefinition;\n const originalPath = getOriginalPath(fullPath);\n const [targetContent, originalContent] = await Promise.all([\n FSExtra.readFile(fullPath, \"utf-8\"),\n FSExtra.readFile(originalPath, \"utf-8\").catch(() => null)\n ]);\n const sourceContent = originalContent ?? targetContent;\n let patchedContent = null;\n if (typeof patchDef === \"string\") {\n patchedContent = patchDef;\n } else if (Array.isArray(patchDef)) {\n try {\n let contents = sourceContent;\n for (const strategy of patchDef) {\n if (strategy === \"flow\") {\n contents = await transformFlowBabel(contents);\n }\n if (strategy === \"swc\" || strategy === \"jsx\") {\n contents = (await transformSWC(fullPath, contents, {\n mode: \"build\",\n environment: \"ios\",\n forceJSX: strategy === \"jsx\",\n noHMR: true,\n fixNonTypeSpecificImports: true,\n // a patch is written to node_modules ONCE and then read by\n // every later build, dev and production alike, so its output\n // has to be valid in both. the automatic JSX runtime is not:\n // its dev form emits `jsxDEV` from react/jsx-dev-runtime, and\n // React's production build exports `jsxDEV = void 0`, so a\n // patched dependency that renders JSX throws \"undefined is not\n // a function\" from render in any production bundle. `jsx`/`jsxs`\n // work in both builds, and refresh is already off for\n // node_modules, so the stable runtime is the only correct output.\n production: true\n }))?.code || contents;\n }\n }\n if (contents !== sourceContent) {\n patchedContent = contents;\n }\n } catch (transformErr) {\n if (!transformWarnedModules.has(patch.module)) {\n transformWarnedModules.add(patch.module);\n console.warn(\n ` \\u26A0 Patch transform failed for ${patch.module} in ${relativePath}, skipping non-critical patch: ${transformErr?.stack ?? transformErr}`\n );\n }\n return;\n }\n } else {\n const out = await patchDef(sourceContent);\n if (typeof out === \"string\" && out !== sourceContent) {\n patchedContent = out;\n } else if (typeof out === \"string\") {\n console.warn(\n `[vxrn] patch for ${patch.module} matched nothing in ${relativePath} \\u2014 it is stale and is no longer protecting anything`\n );\n }\n }\n if (patchedContent !== null) {\n if (targetContent === patchedContent) {\n const stat2 = await FSExtra.stat(fullPath);\n patchStats[fullPath] = { size: stat2.size, mtimeMs: stat2.mtimeMs };\n statsChanged = true;\n return;\n }\n await Promise.all([\n originalContent === null && atomicWriteFile(originalPath, sourceContent),\n atomicWriteFile(fullPath, patchedContent)\n ]);\n const stat = await FSExtra.stat(fullPath);\n patchStats[fullPath] = { size: stat.size, mtimeMs: stat.mtimeMs };\n statsChanged = true;\n didApplyPatch = true;\n if (process.env.DEBUG) {\n console.info(\n ` - Applied patch to ${patch.module}: ${relativePath}`\n );\n }\n } else {\n const stat = await FSExtra.stat(fullPath);\n patchStats[fullPath] = { size: stat.size, mtimeMs: stat.mtimeMs };\n statsChanged = true;\n }\n } catch (err) {\n if (err instanceof Bail) return;\n throw err;\n }\n })\n );\n if (didApplyPatch) {\n results.set(patch.module, \"applied\");\n } else if (!results.has(patch.module)) {\n results.set(patch.module, \"ok\");\n }\n } catch (err) {\n console.error(`\\u{1F6A8} Error applying patch to`, patch.module);\n console.error(err);\n }\n })\n );\n if (statsChanged) {\n await writePatchStats(nodeModulesDir, patchStats);\n }\n })\n );\n for (const [module, result] of results) {\n if (result === \"applied\") {\n console.info(` \\u{1FA79} ${module}`);\n } else if (result === \"ok\" && process.env.VXRN_FORCE_PATCH) {\n console.info(` \\u2713 ${module}`);\n }\n }\n}\nasync function atomicWriteFile(filePath, contents) {\n const tempPath = filePath + \".vxrn.tmp.\" + process.pid + \".\" + Date.now();\n await FSExtra.writeFile(tempPath, contents);\n await rename(tempPath, filePath);\n}\nexport {\n applyBuiltInPatches,\n applyDependencyPatches,\n bailIfExists,\n bailIfUnchanged,\n moduleToPnpmStorePattern\n};\n//# sourceMappingURL=patches.js.map\n"],"mappings":"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"}
|