vxrn 1.25.5 → 1.25.7
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 +288 -0
- package/dist/cli.mjs.map +1 -0
- package/dist/cli.native.js +292 -0
- package/dist/cli.native.js.map +1 -0
- package/dist/config/getAdditionalViteConfig.mjs +67 -0
- package/dist/config/getAdditionalViteConfig.mjs.map +1 -0
- package/dist/config/getAdditionalViteConfig.native.js +67 -0
- package/dist/config/getAdditionalViteConfig.native.js.map +1 -0
- package/dist/config/getBaseViteConfigOnly.mjs +84 -0
- package/dist/config/getBaseViteConfigOnly.mjs.map +1 -0
- package/dist/config/getBaseViteConfigOnly.native.js +86 -0
- package/dist/config/getBaseViteConfigOnly.native.js.map +1 -0
- package/dist/config/getBaseViteConfigWithPlugins.mjs +10 -0
- package/dist/config/getBaseViteConfigWithPlugins.mjs.map +1 -0
- package/dist/config/getBaseViteConfigWithPlugins.native.js +10 -0
- package/dist/config/getBaseViteConfigWithPlugins.native.js.map +1 -0
- package/dist/config/getBaseVitePlugins.mjs +141 -0
- package/dist/config/getBaseVitePlugins.mjs.map +1 -0
- package/dist/config/getBaseVitePlugins.native.js +163 -0
- package/dist/config/getBaseVitePlugins.native.js.map +1 -0
- package/dist/config/getNonCliModeOnlyVitePlugins.mjs +8 -0
- package/dist/config/getNonCliModeOnlyVitePlugins.mjs.map +1 -0
- package/dist/config/getNonCliModeOnlyVitePlugins.native.js +6 -0
- package/dist/config/getNonCliModeOnlyVitePlugins.native.js.map +1 -0
- package/dist/config/getOptimizeDeps.mjs +47 -0
- package/dist/config/getOptimizeDeps.mjs.map +1 -0
- package/dist/config/getOptimizeDeps.native.js +47 -0
- package/dist/config/getOptimizeDeps.native.js.map +1 -0
- package/dist/config/getOptimizeDeps.test.mjs +20 -0
- package/dist/config/getOptimizeDeps.test.mjs.map +1 -0
- package/dist/config/getOptimizeDeps.test.native.js +39 -0
- package/dist/config/getOptimizeDeps.test.native.js.map +1 -0
- package/dist/config/getOptionsFilled.mjs +69 -0
- package/dist/config/getOptionsFilled.mjs.map +1 -0
- package/dist/config/getOptionsFilled.native.js +73 -0
- package/dist/config/getOptionsFilled.native.js.map +1 -0
- package/dist/config/getReactNativePlugins.mjs +23 -0
- package/dist/config/getReactNativePlugins.mjs.map +1 -0
- package/dist/config/getReactNativePlugins.native.js +25 -0
- package/dist/config/getReactNativePlugins.native.js.map +1 -0
- package/dist/config/getServerOptionsFilled.mjs +40 -0
- package/dist/config/getServerOptionsFilled.mjs.map +1 -0
- package/dist/config/getServerOptionsFilled.native.js +43 -0
- package/dist/config/getServerOptionsFilled.native.js.map +1 -0
- package/dist/config/getServerOptionsFilled.test.mjs +20 -0
- package/dist/config/getServerOptionsFilled.test.mjs.map +1 -0
- package/dist/config/getServerOptionsFilled.test.native.js +20 -0
- package/dist/config/getServerOptionsFilled.test.native.js.map +1 -0
- package/dist/config/getViteServerConfig.mjs +51 -0
- package/dist/config/getViteServerConfig.mjs.map +1 -0
- package/dist/config/getViteServerConfig.native.js +52 -0
- package/dist/config/getViteServerConfig.native.js.map +1 -0
- package/dist/config/mergeUserConfig.mjs +37 -0
- package/dist/config/mergeUserConfig.mjs.map +1 -0
- package/dist/config/mergeUserConfig.native.js +47 -0
- package/dist/config/mergeUserConfig.native.js.map +1 -0
- package/dist/config/mergeUserConfig.test.mjs +108 -0
- package/dist/config/mergeUserConfig.test.mjs.map +1 -0
- package/dist/config/mergeUserConfig.test.native.js +108 -0
- package/dist/config/mergeUserConfig.test.native.js.map +1 -0
- package/dist/constants/defaults.mjs +15 -0
- package/dist/constants/defaults.mjs.map +1 -0
- package/dist/constants/defaults.native.js +15 -0
- package/dist/constants/defaults.native.js.map +1 -0
- package/dist/constants.mjs +10 -0
- package/dist/constants.mjs.map +1 -0
- package/dist/constants.native.js +10 -0
- package/dist/constants.native.js.map +1 -0
- package/dist/exports/build.mjs +294 -0
- package/dist/exports/build.mjs.map +1 -0
- package/dist/exports/build.native.js +307 -0
- package/dist/exports/build.native.js.map +1 -0
- package/dist/exports/clean.mjs +99 -0
- package/dist/exports/clean.mjs.map +1 -0
- package/dist/exports/clean.native.js +111 -0
- package/dist/exports/clean.native.js.map +1 -0
- package/dist/exports/clean.test.mjs +81 -0
- package/dist/exports/clean.test.mjs.map +1 -0
- package/dist/exports/clean.test.native.js +88 -0
- package/dist/exports/clean.test.native.js.map +1 -0
- package/dist/exports/createServer.mjs +56 -0
- package/dist/exports/createServer.mjs.map +1 -0
- package/dist/exports/createServer.native.js +57 -0
- package/dist/exports/createServer.native.js.map +1 -0
- package/dist/exports/dev.mjs +204 -0
- package/dist/exports/dev.mjs.map +1 -0
- package/dist/exports/dev.native.js +218 -0
- package/dist/exports/dev.native.js.map +1 -0
- package/dist/exports/loadEnv.mjs +65 -0
- package/dist/exports/loadEnv.mjs.map +1 -0
- package/dist/exports/loadEnv.native.js +74 -0
- package/dist/exports/loadEnv.native.js.map +1 -0
- package/dist/exports/loadEnv.test.mjs +65 -0
- package/dist/exports/loadEnv.test.mjs.map +1 -0
- package/dist/exports/loadEnv.test.native.js +65 -0
- package/dist/exports/loadEnv.test.native.js.map +1 -0
- package/dist/exports/patch.mjs +12 -0
- package/dist/exports/patch.mjs.map +1 -0
- package/dist/exports/patch.native.js +12 -0
- package/dist/exports/patch.native.js.map +1 -0
- package/dist/exports/prebuild.mjs +212 -0
- package/dist/exports/prebuild.mjs.map +1 -0
- package/dist/exports/prebuild.native.js +215 -0
- package/dist/exports/prebuild.native.js.map +1 -0
- package/dist/exports/prebuildWithoutExpo.mjs +53 -0
- package/dist/exports/prebuildWithoutExpo.mjs.map +1 -0
- package/dist/exports/prebuildWithoutExpo.native.js +54 -0
- package/dist/exports/prebuildWithoutExpo.native.js.map +1 -0
- package/dist/exports/runAndroid.mjs +14 -0
- package/dist/exports/runAndroid.mjs.map +1 -0
- package/dist/exports/runAndroid.native.js +15 -0
- package/dist/exports/runAndroid.native.js.map +1 -0
- package/dist/exports/runIos.mjs +14 -0
- package/dist/exports/runIos.mjs.map +1 -0
- package/dist/exports/runIos.native.js +15 -0
- package/dist/exports/runIos.native.js.map +1 -0
- package/dist/exports/serve.mjs +37 -0
- package/dist/exports/serve.mjs.map +1 -0
- package/dist/exports/serve.native.js +40 -0
- package/dist/exports/serve.native.js.map +1 -0
- package/dist/exports/serveStaticAssets.mjs +133 -0
- package/dist/exports/serveStaticAssets.mjs.map +1 -0
- package/dist/exports/serveStaticAssets.native.js +213 -0
- package/dist/exports/serveStaticAssets.native.js.map +1 -0
- package/dist/index.js +22 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +22 -0
- package/dist/index.mjs.map +1 -0
- package/dist/index.native.js +22 -0
- package/dist/index.native.js.map +1 -0
- package/dist/patches/builtInDepPatches.mjs +483 -0
- package/dist/patches/builtInDepPatches.mjs.map +1 -0
- package/dist/patches/builtInDepPatches.native.js +486 -0
- package/dist/patches/builtInDepPatches.native.js.map +1 -0
- package/dist/plugins/applyBuiltInPatchesPlugin.mjs +17 -0
- package/dist/plugins/applyBuiltInPatchesPlugin.mjs.map +1 -0
- package/dist/plugins/applyBuiltInPatchesPlugin.native.js +17 -0
- package/dist/plugins/applyBuiltInPatchesPlugin.native.js.map +1 -0
- package/dist/plugins/autoDepOptimizePlugin.mjs +108 -0
- package/dist/plugins/autoDepOptimizePlugin.mjs.map +1 -0
- package/dist/plugins/autoDepOptimizePlugin.native.js +121 -0
- package/dist/plugins/autoDepOptimizePlugin.native.js.map +1 -0
- package/dist/plugins/autoDepOptimizePlugin.test.mjs +31 -0
- package/dist/plugins/autoDepOptimizePlugin.test.mjs.map +1 -0
- package/dist/plugins/autoDepOptimizePlugin.test.native.js +39 -0
- package/dist/plugins/autoDepOptimizePlugin.test.native.js.map +1 -0
- package/dist/plugins/clientInjectPlugin.mjs +16 -0
- package/dist/plugins/clientInjectPlugin.mjs.map +1 -0
- package/dist/plugins/clientInjectPlugin.native.js +16 -0
- package/dist/plugins/clientInjectPlugin.native.js.map +1 -0
- package/dist/plugins/defaultDepOptimizePlugin.mjs +30 -0
- package/dist/plugins/defaultDepOptimizePlugin.mjs.map +1 -0
- package/dist/plugins/defaultDepOptimizePlugin.native.js +30 -0
- package/dist/plugins/defaultDepOptimizePlugin.native.js.map +1 -0
- package/dist/plugins/expoManifestRequestHandlerPlugin.mjs +189 -0
- package/dist/plugins/expoManifestRequestHandlerPlugin.mjs.map +1 -0
- package/dist/plugins/expoManifestRequestHandlerPlugin.native.js +202 -0
- package/dist/plugins/expoManifestRequestHandlerPlugin.native.js.map +1 -0
- package/dist/plugins/getResolvedConfigSubset.mjs +12 -0
- package/dist/plugins/getResolvedConfigSubset.mjs.map +1 -0
- package/dist/plugins/getResolvedConfigSubset.native.js +12 -0
- package/dist/plugins/getResolvedConfigSubset.native.js.map +1 -0
- package/dist/plugins/reactNativeCommonJsPlugin.mjs +194 -0
- package/dist/plugins/reactNativeCommonJsPlugin.mjs.map +1 -0
- package/dist/plugins/reactNativeCommonJsPlugin.native.js +275 -0
- package/dist/plugins/reactNativeCommonJsPlugin.native.js.map +1 -0
- package/dist/plugins/reactNativeDevAssetPlugin.mjs +99 -0
- package/dist/plugins/reactNativeDevAssetPlugin.mjs.map +1 -0
- package/dist/plugins/reactNativeDevAssetPlugin.native.js +108 -0
- package/dist/plugins/reactNativeDevAssetPlugin.native.js.map +1 -0
- package/dist/plugins/reactNativeDevServer.mjs +221 -0
- package/dist/plugins/reactNativeDevServer.mjs.map +1 -0
- package/dist/plugins/reactNativeDevServer.native.js +263 -0
- package/dist/plugins/reactNativeDevServer.native.js.map +1 -0
- package/dist/plugins/resolveIdScan.test.mjs +31 -0
- package/dist/plugins/resolveIdScan.test.mjs.map +1 -0
- package/dist/plugins/resolveIdScan.test.native.js +38 -0
- package/dist/plugins/resolveIdScan.test.native.js.map +1 -0
- package/dist/plugins/rollupRemoveUnusedImports.mjs +11 -0
- package/dist/plugins/rollupRemoveUnusedImports.mjs.map +1 -0
- package/dist/plugins/rollupRemoveUnusedImports.native.js +11 -0
- package/dist/plugins/rollupRemoveUnusedImports.native.js.map +1 -0
- package/dist/plugins/serverExtensions.test.mjs +106 -0
- package/dist/plugins/serverExtensions.test.mjs.map +1 -0
- package/dist/plugins/serverExtensions.test.native.js +117 -0
- package/dist/plugins/serverExtensions.test.native.js.map +1 -0
- package/dist/rn-commands/bundle/buildBundle.mjs +68 -0
- package/dist/rn-commands/bundle/buildBundle.mjs.map +1 -0
- package/dist/rn-commands/bundle/buildBundle.native.js +75 -0
- package/dist/rn-commands/bundle/buildBundle.native.js.map +1 -0
- package/dist/runtime/hmr-client.mjs +145 -0
- package/dist/runtime/hmr-client.mjs.map +1 -0
- package/dist/runtime/hmr-client.native.js +237 -0
- package/dist/runtime/hmr-client.native.js.map +1 -0
- package/dist/runtime/hmr-runtime.mjs +200 -0
- package/dist/runtime/hmr-runtime.mjs.map +1 -0
- package/dist/runtime/hmr-runtime.native.js +441 -0
- package/dist/runtime/hmr-runtime.native.js.map +1 -0
- package/dist/runtime/hmr-types.mjs +2 -0
- package/dist/runtime/hmr-types.mjs.map +1 -0
- package/dist/runtime/hmr-types.native.js +2 -0
- package/dist/runtime/hmr-types.native.js.map +1 -0
- package/dist/runtime/native-prelude.mjs +94 -0
- package/dist/runtime/native-prelude.mjs.map +1 -0
- package/dist/runtime/native-prelude.native.js +94 -0
- package/dist/runtime/native-prelude.native.js.map +1 -0
- package/dist/runtime/react-refresh-utils.mjs +29 -0
- package/dist/runtime/react-refresh-utils.mjs.map +1 -0
- package/dist/runtime/react-refresh-utils.native.js +34 -0
- package/dist/runtime/react-refresh-utils.native.js.map +1 -0
- package/dist/serve/node.mjs +62 -0
- package/dist/serve/node.mjs.map +1 -0
- package/dist/serve/node.native.js +107 -0
- package/dist/serve/node.native.js.map +1 -0
- package/dist/serve/node.test.mjs +60 -0
- package/dist/serve/node.test.mjs.map +1 -0
- package/dist/serve/node.test.native.js +72 -0
- package/dist/serve/node.test.native.js.map +1 -0
- package/dist/types.mjs +2 -0
- package/dist/types.mjs.map +1 -0
- package/dist/types.native.js +2 -0
- package/dist/types.native.js.map +1 -0
- package/dist/user-interface/index.mjs +312 -0
- package/dist/user-interface/index.mjs.map +1 -0
- package/dist/user-interface/index.native.js +349 -0
- package/dist/user-interface/index.native.js.map +1 -0
- package/dist/utils/assert.mjs +12 -0
- package/dist/utils/assert.mjs.map +1 -0
- package/dist/utils/assert.native.js +24 -0
- package/dist/utils/assert.native.js.map +1 -0
- package/dist/utils/bindKeypressInput.mjs +47 -0
- package/dist/utils/bindKeypressInput.mjs.map +1 -0
- package/dist/utils/bindKeypressInput.native.js +47 -0
- package/dist/utils/bindKeypressInput.native.js.map +1 -0
- package/dist/utils/bindKeypressInput.test.mjs +48 -0
- package/dist/utils/bindKeypressInput.test.mjs.map +1 -0
- package/dist/utils/bindKeypressInput.test.native.js +48 -0
- package/dist/utils/bindKeypressInput.test.native.js.map +1 -0
- package/dist/utils/coerceToArray.mjs +5 -0
- package/dist/utils/coerceToArray.mjs.map +1 -0
- package/dist/utils/coerceToArray.native.js +5 -0
- package/dist/utils/coerceToArray.native.js.map +1 -0
- package/dist/utils/connectedNativeClients.mjs +9 -0
- package/dist/utils/connectedNativeClients.mjs.map +1 -0
- package/dist/utils/connectedNativeClients.native.js +9 -0
- package/dist/utils/connectedNativeClients.native.js.map +1 -0
- package/dist/utils/createNativeDevEngine.mjs +939 -0
- package/dist/utils/createNativeDevEngine.mjs.map +1 -0
- package/dist/utils/createNativeDevEngine.native.js +999 -0
- package/dist/utils/createNativeDevEngine.native.js.map +1 -0
- package/dist/utils/createNativeDevEngine.test.mjs +169 -0
- package/dist/utils/createNativeDevEngine.test.mjs.map +1 -0
- package/dist/utils/createNativeDevEngine.test.native.js +203 -0
- package/dist/utils/createNativeDevEngine.test.native.js.map +1 -0
- package/dist/utils/dispose.mjs +9 -0
- package/dist/utils/dispose.mjs.map +1 -0
- package/dist/utils/dispose.native.js +11 -0
- package/dist/utils/dispose.native.js.map +1 -0
- package/dist/utils/environmentUtils.mjs +14 -0
- package/dist/utils/environmentUtils.mjs.map +1 -0
- package/dist/utils/environmentUtils.native.js +14 -0
- package/dist/utils/environmentUtils.native.js.map +1 -0
- package/dist/utils/execSync.mjs +9 -0
- package/dist/utils/execSync.mjs.map +1 -0
- package/dist/utils/execSync.native.js +9 -0
- package/dist/utils/execSync.native.js.map +1 -0
- package/dist/utils/expoRun.mjs +48 -0
- package/dist/utils/expoRun.mjs.map +1 -0
- package/dist/utils/expoRun.native.js +49 -0
- package/dist/utils/expoRun.native.js.map +1 -0
- package/dist/utils/filterViteServerResolvedUrls.mjs +29 -0
- package/dist/utils/filterViteServerResolvedUrls.mjs.map +1 -0
- package/dist/utils/filterViteServerResolvedUrls.native.js +70 -0
- package/dist/utils/filterViteServerResolvedUrls.native.js.map +1 -0
- package/dist/utils/getBoundPort.mjs +9 -0
- package/dist/utils/getBoundPort.mjs.map +1 -0
- package/dist/utils/getBoundPort.native.js +16 -0
- package/dist/utils/getBoundPort.native.js.map +1 -0
- package/dist/utils/getBoundPort.test.mjs +71 -0
- package/dist/utils/getBoundPort.test.mjs.map +1 -0
- package/dist/utils/getBoundPort.test.native.js +82 -0
- package/dist/utils/getBoundPort.test.native.js.map +1 -0
- package/dist/utils/getCacheDir.mjs +6 -0
- package/dist/utils/getCacheDir.mjs.map +1 -0
- package/dist/utils/getCacheDir.native.js +6 -0
- package/dist/utils/getCacheDir.native.js.map +1 -0
- package/dist/utils/getServerEntry.mjs +10 -0
- package/dist/utils/getServerEntry.mjs.map +1 -0
- package/dist/utils/getServerEntry.native.js +17 -0
- package/dist/utils/getServerEntry.native.js.map +1 -0
- package/dist/utils/getVitePath.mjs +49 -0
- package/dist/utils/getVitePath.mjs.map +1 -0
- package/dist/utils/getVitePath.native.js +48 -0
- package/dist/utils/getVitePath.native.js.map +1 -0
- package/dist/utils/globDir.mjs +18 -0
- package/dist/utils/globDir.mjs.map +1 -0
- package/dist/utils/globDir.native.js +21 -0
- package/dist/utils/globDir.native.js.map +1 -0
- package/dist/utils/imageSizePatch.test.mjs +29 -0
- package/dist/utils/imageSizePatch.test.mjs.map +1 -0
- package/dist/utils/imageSizePatch.test.native.js +30 -0
- package/dist/utils/imageSizePatch.test.native.js.map +1 -0
- package/dist/utils/isWithin.mjs +7 -0
- package/dist/utils/isWithin.mjs.map +1 -0
- package/dist/utils/isWithin.native.js +7 -0
- package/dist/utils/isWithin.native.js.map +1 -0
- package/dist/utils/patches.mjs +279 -0
- package/dist/utils/patches.mjs.map +1 -0
- package/dist/utils/patches.native.js +508 -0
- package/dist/utils/patches.native.js.map +1 -0
- package/dist/utils/patches.test.mjs +214 -0
- package/dist/utils/patches.test.mjs.map +1 -0
- package/dist/utils/patches.test.native.js +224 -0
- package/dist/utils/patches.test.native.js.map +1 -0
- package/dist/utils/printServerUrls.mjs +12 -0
- package/dist/utils/printServerUrls.mjs.map +1 -0
- package/dist/utils/printServerUrls.native.js +56 -0
- package/dist/utils/printServerUrls.native.js.map +1 -0
- package/dist/utils/removeUndefined.mjs +11 -0
- package/dist/utils/removeUndefined.mjs.map +1 -0
- package/dist/utils/removeUndefined.native.js +11 -0
- package/dist/utils/removeUndefined.native.js.map +1 -0
- package/dist/utils/scanDepsToOptimize.mjs +176 -0
- package/dist/utils/scanDepsToOptimize.mjs.map +1 -0
- package/dist/utils/scanDepsToOptimize.native.js +212 -0
- package/dist/utils/scanDepsToOptimize.native.js.map +1 -0
- package/dist/utils/state.mjs +28 -0
- package/dist/utils/state.mjs.map +1 -0
- package/dist/utils/state.native.js +28 -0
- package/dist/utils/state.native.js.map +1 -0
- package/dist/utils/uniq.mjs +5 -0
- package/dist/utils/uniq.mjs.map +1 -0
- package/dist/utils/uniq.native.js +5 -0
- package/dist/utils/uniq.native.js.map +1 -0
- package/dist/utils/utils.mjs +32 -0
- package/dist/utils/utils.mjs.map +1 -0
- package/dist/utils/utils.native.js +53 -0
- package/dist/utils/utils.native.js.map +1 -0
- package/dist/vendor/debugger-app/index.mjs +2 -0
- package/dist/vendor/debugger-app/index.mjs.map +1 -0
- package/dist/vendor/debugger-app/index.native.js +2 -0
- package/dist/vendor/debugger-app/index.native.js.map +1 -0
- package/dist/vendor/debugger-app/src/debuggerWorker.mjs +2 -0
- package/dist/vendor/debugger-app/src/debuggerWorker.mjs.map +1 -0
- package/dist/vendor/debugger-app/src/debuggerWorker.native.js +2 -0
- package/dist/vendor/debugger-app/src/debuggerWorker.native.js.map +1 -0
- package/dist/vendor/debugger-app/src/index.css +41 -0
- package/dist/vendor/debugger-app/src/index.css.map +6 -0
- package/dist/vendor/debugger-app/src/index.mjs +2 -0
- package/dist/vendor/debugger-app/src/index.mjs.map +1 -0
- package/dist/vendor/debugger-app/src/index.native.js +2 -0
- package/dist/vendor/debugger-app/src/index.native.js.map +1 -0
- package/dist/vxrn-vite-plugin.mjs +44 -0
- package/dist/vxrn-vite-plugin.mjs.map +1 -0
- package/dist/vxrn-vite-plugin.native.js +45 -0
- package/dist/vxrn-vite-plugin.native.js.map +1 -0
- package/package.json +11 -11
- package/types/cli.d.ts.map +1 -0
- package/types/config/getAdditionalViteConfig.d.ts.map +1 -0
- package/types/config/getBaseViteConfigOnly.d.ts.map +1 -0
- package/types/config/getBaseViteConfigWithPlugins.d.ts.map +1 -0
- package/types/config/getBaseVitePlugins.d.ts.map +1 -0
- package/types/config/getNonCliModeOnlyVitePlugins.d.ts.map +1 -0
- package/types/config/getOptimizeDeps.d.ts.map +1 -0
- package/types/config/getOptimizeDeps.test.d.ts.map +1 -0
- package/types/config/getOptionsFilled.d.ts.map +1 -0
- package/types/config/getReactNativePlugins.d.ts.map +1 -0
- package/types/config/getServerOptionsFilled.d.ts.map +1 -0
- package/types/config/getServerOptionsFilled.test.d.ts.map +1 -0
- package/types/config/getViteServerConfig.d.ts.map +1 -0
- package/types/config/mergeUserConfig.d.ts.map +1 -0
- package/types/config/mergeUserConfig.test.d.ts.map +1 -0
- package/types/constants/defaults.d.ts.map +1 -0
- package/types/constants.d.ts.map +1 -0
- package/types/exports/build.d.ts.map +1 -0
- package/types/exports/clean.d.ts.map +1 -0
- package/types/exports/clean.test.d.ts.map +1 -0
- package/types/exports/createServer.d.ts.map +1 -0
- package/types/exports/dev.d.ts.map +1 -0
- package/types/exports/loadEnv.d.ts.map +1 -0
- package/types/exports/loadEnv.test.d.ts.map +1 -0
- package/types/exports/patch.d.ts.map +1 -0
- package/types/exports/prebuild.d.ts.map +1 -0
- package/types/exports/prebuildWithoutExpo.d.ts.map +1 -0
- package/types/exports/runAndroid.d.ts.map +1 -0
- package/types/exports/runIos.d.ts.map +1 -0
- package/types/exports/serve.d.ts.map +1 -0
- package/types/exports/serveStaticAssets.d.ts.map +1 -0
- package/types/index.d.ts.map +1 -0
- package/types/patches/builtInDepPatches.d.ts.map +1 -0
- package/types/plugins/applyBuiltInPatchesPlugin.d.ts.map +1 -0
- package/types/plugins/autoDepOptimizePlugin.d.ts.map +1 -0
- package/types/plugins/autoDepOptimizePlugin.test.d.ts.map +1 -0
- package/types/plugins/clientInjectPlugin.d.ts.map +1 -0
- package/types/plugins/defaultDepOptimizePlugin.d.ts.map +1 -0
- package/types/plugins/expoManifestRequestHandlerPlugin.d.ts.map +1 -0
- package/types/plugins/getResolvedConfigSubset.d.ts.map +1 -0
- package/types/plugins/reactNativeCommonJsPlugin.d.ts.map +1 -0
- package/types/plugins/reactNativeDevAssetPlugin.d.ts.map +1 -0
- package/types/plugins/reactNativeDevServer.d.ts.map +1 -0
- package/types/plugins/resolveIdScan.test.d.ts.map +1 -0
- package/types/plugins/rollupRemoveUnusedImports.d.ts.map +1 -0
- package/types/plugins/serverExtensions.test.d.ts.map +1 -0
- package/types/rn-commands/bundle/buildBundle.d.ts.map +1 -0
- package/types/runtime/hmr-client.d.ts.map +1 -0
- package/types/runtime/hmr-runtime.d.ts.map +1 -0
- package/types/runtime/hmr-types.d.ts.map +1 -0
- package/types/runtime/native-prelude.d.ts.map +1 -0
- package/types/runtime/react-refresh-utils.d.ts.map +1 -0
- package/types/serve/node.d.ts.map +1 -0
- package/types/serve/node.test.d.ts.map +1 -0
- package/types/types.d.ts.map +1 -0
- package/types/user-interface/index.d.ts.map +1 -0
- package/types/utils/assert.d.ts.map +1 -0
- package/types/utils/bindKeypressInput.d.ts.map +1 -0
- package/types/utils/bindKeypressInput.test.d.ts.map +1 -0
- package/types/utils/coerceToArray.d.ts.map +1 -0
- package/types/utils/connectedNativeClients.d.ts.map +1 -0
- package/types/utils/createNativeDevEngine.d.ts.map +1 -0
- package/types/utils/createNativeDevEngine.test.d.ts.map +1 -0
- package/types/utils/dispose.d.ts.map +1 -0
- package/types/utils/environmentUtils.d.ts.map +1 -0
- package/types/utils/execSync.d.ts.map +1 -0
- package/types/utils/expoRun.d.ts.map +1 -0
- package/types/utils/filterViteServerResolvedUrls.d.ts.map +1 -0
- package/types/utils/getBoundPort.d.ts.map +1 -0
- package/types/utils/getBoundPort.test.d.ts.map +1 -0
- package/types/utils/getCacheDir.d.ts.map +1 -0
- package/types/utils/getServerEntry.d.ts.map +1 -0
- package/types/utils/getVitePath.d.ts.map +1 -0
- package/types/utils/globDir.d.ts.map +1 -0
- package/types/utils/imageSizePatch.test.d.ts.map +1 -0
- package/types/utils/isWithin.d.ts.map +1 -0
- package/types/utils/patches.d.ts.map +1 -0
- package/types/utils/patches.test.d.ts.map +1 -0
- package/types/utils/printServerUrls.d.ts.map +1 -0
- package/types/utils/removeUndefined.d.ts.map +1 -0
- package/types/utils/scanDepsToOptimize.d.ts.map +1 -0
- package/types/utils/state.d.ts.map +1 -0
- package/types/utils/uniq.d.ts.map +1 -0
- package/types/utils/utils.d.ts.map +1 -0
- package/types/vxrn-vite-plugin.d.ts.map +1 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { mkdir, readFile, rm, writeFile } from "node:fs/promises";
|
|
2
|
+
import { dirname, join } from "node:path";
|
|
3
|
+
import { fillOptions } from "../config/getOptionsFilled.mjs";
|
|
4
|
+
import { getSSRExternalsCachePath } from "../plugins/autoDepOptimizePlugin.mjs";
|
|
5
|
+
import { getCacheDir } from "../utils/getCacheDir.mjs";
|
|
6
|
+
import { readState, writeState } from "../utils/state.mjs";
|
|
7
|
+
const CLEAN_LOCK_WAIT_MS = 25;
|
|
8
|
+
const CLEAN_LOCK_TIMEOUT_MS = 6e4;
|
|
9
|
+
function getErrorCode(err) {
|
|
10
|
+
if (err instanceof Error && "code" in err && typeof err.code === "string") {
|
|
11
|
+
return err.code;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
async function withCacheCleanLock(cacheDir, action) {
|
|
15
|
+
const lockPath = join(dirname(cacheDir), ".vxrn-clean.lock");
|
|
16
|
+
const startedAt = Date.now();
|
|
17
|
+
await mkdir(dirname(lockPath), {
|
|
18
|
+
recursive: true
|
|
19
|
+
});
|
|
20
|
+
while (true) {
|
|
21
|
+
try {
|
|
22
|
+
await writeFile(lockPath, `${process.pid}
|
|
23
|
+
`, {
|
|
24
|
+
flag: "wx"
|
|
25
|
+
});
|
|
26
|
+
break;
|
|
27
|
+
} catch (err) {
|
|
28
|
+
if (getErrorCode(err) !== "EEXIST") {
|
|
29
|
+
throw err;
|
|
30
|
+
}
|
|
31
|
+
if (Date.now() - startedAt >= CLEAN_LOCK_TIMEOUT_MS) {
|
|
32
|
+
let owner = "unknown process";
|
|
33
|
+
try {
|
|
34
|
+
owner = `process ${(await readFile(lockPath, "utf8")).trim()}`;
|
|
35
|
+
} catch (readErr) {
|
|
36
|
+
if (getErrorCode(readErr) === "ENOENT") {
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
throw readErr;
|
|
40
|
+
}
|
|
41
|
+
throw new Error(`Timed out waiting for VXRN cache cleanup lock held by ${owner}`);
|
|
42
|
+
}
|
|
43
|
+
await new Promise(resolve => setTimeout(resolve, CLEAN_LOCK_WAIT_MS));
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
try {
|
|
47
|
+
return await action();
|
|
48
|
+
} finally {
|
|
49
|
+
await rm(lockPath, {
|
|
50
|
+
force: true
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
async function removeCachePaths(root, only) {
|
|
55
|
+
const removeVxrnCache = process.env.VXRN_DONT_CLEAN_SELF ? rm(getSSRExternalsCachePath(root)).catch(throwIfNotMissingError) : rm(getCacheDir(root), {
|
|
56
|
+
recursive: true,
|
|
57
|
+
force: true
|
|
58
|
+
}).catch(throwIfNotMissingError);
|
|
59
|
+
console.info(`[vxrn] cleaning`);
|
|
60
|
+
await Promise.all([rm(join(root, "node_modules", ".vite"), {
|
|
61
|
+
recursive: true,
|
|
62
|
+
force: true
|
|
63
|
+
}).catch(throwIfNotMissingError), removeVxrnCache, only === "vite" ? null : rm(join(root, "dist"), {
|
|
64
|
+
recursive: true,
|
|
65
|
+
force: true
|
|
66
|
+
}).catch(throwIfNotMissingError)]);
|
|
67
|
+
}
|
|
68
|
+
async function prepareCacheForVersion({
|
|
69
|
+
root,
|
|
70
|
+
cacheDir,
|
|
71
|
+
versionHash,
|
|
72
|
+
forceClean = false
|
|
73
|
+
}) {
|
|
74
|
+
return withCacheCleanLock(cacheDir, async () => {
|
|
75
|
+
const state = await readState(cacheDir);
|
|
76
|
+
const versionChanged = !!state.versionHash && state.versionHash !== versionHash;
|
|
77
|
+
const shouldClean = forceClean || versionChanged;
|
|
78
|
+
if (shouldClean) {
|
|
79
|
+
await removeCachePaths(root, "vite");
|
|
80
|
+
}
|
|
81
|
+
if (shouldClean || state.versionHash !== versionHash) {
|
|
82
|
+
await writeState(cacheDir, {
|
|
83
|
+
versionHash
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
return shouldClean;
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
const clean = async (rest, only) => {
|
|
90
|
+
const options = await fillOptions(rest);
|
|
91
|
+
await withCacheCleanLock(options.cacheDir, () => removeCachePaths(options.root, only));
|
|
92
|
+
};
|
|
93
|
+
function throwIfNotMissingError(err) {
|
|
94
|
+
if (getErrorCode(err) !== "ENOENT") {
|
|
95
|
+
throw err;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
export { clean, prepareCacheForVersion };
|
|
99
|
+
//# sourceMappingURL=clean.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["mkdir","readFile","rm","writeFile","dirname","join","fillOptions","getSSRExternalsCachePath","getCacheDir","readState","writeState","CLEAN_LOCK_WAIT_MS","CLEAN_LOCK_TIMEOUT_MS","getErrorCode","err","Error","code","withCacheCleanLock","cacheDir","action","lockPath","startedAt","Date","now","recursive","process","pid","flag","owner","trim","readErr","Promise","resolve","setTimeout","force","removeCachePaths","root","only","removeVxrnCache","env","VXRN_DONT_CLEAN_SELF","catch","throwIfNotMissingError","console","info","all","prepareCacheForVersion","versionHash","forceClean","state","versionChanged","shouldClean","clean","rest","options"],"sources":["../../src/exports/clean.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { mkdir, readFile, rm, writeFile } from "fs/promises";
|
|
2
|
+
import { dirname, join } from "path";
|
|
3
|
+
import { fillOptions } from "../config/getOptionsFilled.native.js";
|
|
4
|
+
import { getSSRExternalsCachePath } from "../plugins/autoDepOptimizePlugin.native.js";
|
|
5
|
+
import { getCacheDir } from "../utils/getCacheDir.native.js";
|
|
6
|
+
import { readState, writeState } from "../utils/state.native.js";
|
|
7
|
+
function _instanceof(left, right) {
|
|
8
|
+
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
|
9
|
+
return !!right[Symbol.hasInstance](left);
|
|
10
|
+
} else {
|
|
11
|
+
return left instanceof right;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
var CLEAN_LOCK_WAIT_MS = 25;
|
|
15
|
+
var CLEAN_LOCK_TIMEOUT_MS = 6e4;
|
|
16
|
+
function getErrorCode(err) {
|
|
17
|
+
if (_instanceof(err, Error) && "code" in err && typeof err.code === "string") {
|
|
18
|
+
return err.code;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
async function withCacheCleanLock(cacheDir, action) {
|
|
22
|
+
var lockPath = join(dirname(cacheDir), ".vxrn-clean.lock");
|
|
23
|
+
var startedAt = Date.now();
|
|
24
|
+
await mkdir(dirname(lockPath), {
|
|
25
|
+
recursive: true
|
|
26
|
+
});
|
|
27
|
+
while (true) {
|
|
28
|
+
try {
|
|
29
|
+
await writeFile(lockPath, `${process.pid}
|
|
30
|
+
`, {
|
|
31
|
+
flag: "wx"
|
|
32
|
+
});
|
|
33
|
+
break;
|
|
34
|
+
} catch (err) {
|
|
35
|
+
if (getErrorCode(err) !== "EEXIST") {
|
|
36
|
+
throw err;
|
|
37
|
+
}
|
|
38
|
+
if (Date.now() - startedAt >= CLEAN_LOCK_TIMEOUT_MS) {
|
|
39
|
+
var owner = "unknown process";
|
|
40
|
+
try {
|
|
41
|
+
owner = `process ${(await readFile(lockPath, "utf8")).trim()}`;
|
|
42
|
+
} catch (readErr) {
|
|
43
|
+
if (getErrorCode(readErr) === "ENOENT") {
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
throw readErr;
|
|
47
|
+
}
|
|
48
|
+
throw new Error(`Timed out waiting for VXRN cache cleanup lock held by ${owner}`);
|
|
49
|
+
}
|
|
50
|
+
await new Promise(function (resolve) {
|
|
51
|
+
return setTimeout(resolve, CLEAN_LOCK_WAIT_MS);
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
try {
|
|
56
|
+
return await action();
|
|
57
|
+
} finally {
|
|
58
|
+
await rm(lockPath, {
|
|
59
|
+
force: true
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
async function removeCachePaths(root, only) {
|
|
64
|
+
var removeVxrnCache = process.env.VXRN_DONT_CLEAN_SELF ? rm(getSSRExternalsCachePath(root)).catch(throwIfNotMissingError) : rm(getCacheDir(root), {
|
|
65
|
+
recursive: true,
|
|
66
|
+
force: true
|
|
67
|
+
}).catch(throwIfNotMissingError);
|
|
68
|
+
console.info(`[vxrn] cleaning`);
|
|
69
|
+
await Promise.all([rm(join(root, "node_modules", ".vite"), {
|
|
70
|
+
recursive: true,
|
|
71
|
+
force: true
|
|
72
|
+
}).catch(throwIfNotMissingError), removeVxrnCache, only === "vite" ? null : rm(join(root, "dist"), {
|
|
73
|
+
recursive: true,
|
|
74
|
+
force: true
|
|
75
|
+
}).catch(throwIfNotMissingError)]);
|
|
76
|
+
}
|
|
77
|
+
async function prepareCacheForVersion(param) {
|
|
78
|
+
var {
|
|
79
|
+
root,
|
|
80
|
+
cacheDir,
|
|
81
|
+
versionHash,
|
|
82
|
+
forceClean = false
|
|
83
|
+
} = param;
|
|
84
|
+
return withCacheCleanLock(cacheDir, async function () {
|
|
85
|
+
var state = await readState(cacheDir);
|
|
86
|
+
var versionChanged = !!state.versionHash && state.versionHash !== versionHash;
|
|
87
|
+
var shouldClean = forceClean || versionChanged;
|
|
88
|
+
if (shouldClean) {
|
|
89
|
+
await removeCachePaths(root, "vite");
|
|
90
|
+
}
|
|
91
|
+
if (shouldClean || state.versionHash !== versionHash) {
|
|
92
|
+
await writeState(cacheDir, {
|
|
93
|
+
versionHash
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
return shouldClean;
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
var clean = async function (rest, only) {
|
|
100
|
+
var options = await fillOptions(rest);
|
|
101
|
+
await withCacheCleanLock(options.cacheDir, function () {
|
|
102
|
+
return removeCachePaths(options.root, only);
|
|
103
|
+
});
|
|
104
|
+
};
|
|
105
|
+
function throwIfNotMissingError(err) {
|
|
106
|
+
if (getErrorCode(err) !== "ENOENT") {
|
|
107
|
+
throw err;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
export { clean, prepareCacheForVersion };
|
|
111
|
+
//# sourceMappingURL=clean.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["mkdir","readFile","rm","writeFile","dirname","join","fillOptions","getSSRExternalsCachePath","getCacheDir","readState","writeState","_instanceof","left","right","Symbol","hasInstance","CLEAN_LOCK_WAIT_MS","CLEAN_LOCK_TIMEOUT_MS","getErrorCode","err","Error","code","withCacheCleanLock","cacheDir","action","lockPath","startedAt","Date","now","recursive","process","pid","flag","owner","trim","readErr","Promise","resolve","setTimeout","force","removeCachePaths","root","only","removeVxrnCache","env","VXRN_DONT_CLEAN_SELF","catch","throwIfNotMissingError","console","info","all","prepareCacheForVersion","param","versionHash","forceClean","state","versionChanged","shouldClean"],"sources":["../../src/exports/clean.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { execFile } from "node:child_process";
|
|
2
|
+
import { mkdtemp, mkdir, readFile, rm, writeFile } from "node:fs/promises";
|
|
3
|
+
import { tmpdir } from "node:os";
|
|
4
|
+
import { dirname, join } from "node:path";
|
|
5
|
+
import { pathToFileURL } from "node:url";
|
|
6
|
+
import { promisify } from "node:util";
|
|
7
|
+
import { afterEach, describe, expect, it } from "vitest";
|
|
8
|
+
const execFileAsync = promisify(execFile);
|
|
9
|
+
describe("prepareCacheForVersion", () => {
|
|
10
|
+
let root;
|
|
11
|
+
afterEach(async () => {
|
|
12
|
+
if (root) {
|
|
13
|
+
await rm(root, {
|
|
14
|
+
recursive: true,
|
|
15
|
+
force: true
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
it("lets one process clean a stale same-root cache", async () => {
|
|
20
|
+
root = await mkdtemp(join(tmpdir(), "vxrn-concurrent-clean-"));
|
|
21
|
+
const cacheDir = join(root, "node_modules", ".vxrn");
|
|
22
|
+
const viteDir = join(root, "node_modules", ".vite");
|
|
23
|
+
const participantsDir = join(root, "participants");
|
|
24
|
+
const participantCount = 4;
|
|
25
|
+
await Promise.all([mkdir(cacheDir, {
|
|
26
|
+
recursive: true
|
|
27
|
+
}), mkdir(viteDir, {
|
|
28
|
+
recursive: true
|
|
29
|
+
}), mkdir(participantsDir, {
|
|
30
|
+
recursive: true
|
|
31
|
+
})]);
|
|
32
|
+
await Promise.all([writeFile(join(cacheDir, "state.json"), JSON.stringify({
|
|
33
|
+
versionHash: "old"
|
|
34
|
+
})), writeFile(join(cacheDir, "stale"), "stale"), writeFile(join(viteDir, "stale"), "stale")]);
|
|
35
|
+
const moduleUrl = pathToFileURL(join(dirname(import.meta.filename), "clean.ts")).href;
|
|
36
|
+
const workerScript = participant => `
|
|
37
|
+
import { readdir, writeFile } from 'node:fs/promises'
|
|
38
|
+
import { join } from 'node:path'
|
|
39
|
+
import { prepareCacheForVersion } from ${JSON.stringify(moduleUrl)}
|
|
40
|
+
|
|
41
|
+
const root = ${JSON.stringify(root)}
|
|
42
|
+
const participantsDir = ${JSON.stringify(participantsDir)}
|
|
43
|
+
await writeFile(join(participantsDir, ${JSON.stringify(String(participant))}), '')
|
|
44
|
+
while ((await readdir(participantsDir)).length < ${participantCount}) {
|
|
45
|
+
await Bun.sleep(5)
|
|
46
|
+
}
|
|
47
|
+
const cleaned = await prepareCacheForVersion({
|
|
48
|
+
root,
|
|
49
|
+
cacheDir: join(root, 'node_modules', '.vxrn'),
|
|
50
|
+
versionHash: 'new',
|
|
51
|
+
})
|
|
52
|
+
console.info(cleaned ? 'cleaned-by-worker' : 'cache-already-current')
|
|
53
|
+
`;
|
|
54
|
+
const results = await Promise.all(Array.from({
|
|
55
|
+
length: participantCount
|
|
56
|
+
}, (_, participant) => execFileAsync("bun", ["-e", workerScript(participant)], {
|
|
57
|
+
env: {
|
|
58
|
+
...process.env,
|
|
59
|
+
VXRN_DONT_CLEAN_SELF: ""
|
|
60
|
+
}
|
|
61
|
+
})));
|
|
62
|
+
const output = results.map(({
|
|
63
|
+
stdout
|
|
64
|
+
}) => stdout).join("\n");
|
|
65
|
+
expect(output.match(/\[vxrn\] cleaning/g)).toHaveLength(1);
|
|
66
|
+
expect(output.match(/cleaned-by-worker/g)).toHaveLength(1);
|
|
67
|
+
expect(JSON.parse(await readFile(join(cacheDir, "state.json"), "utf8"))).toEqual({
|
|
68
|
+
versionHash: "new"
|
|
69
|
+
});
|
|
70
|
+
await expect(readFile(join(cacheDir, "stale"))).rejects.toMatchObject({
|
|
71
|
+
code: "ENOENT"
|
|
72
|
+
});
|
|
73
|
+
await expect(readFile(join(viteDir, "stale"))).rejects.toMatchObject({
|
|
74
|
+
code: "ENOENT"
|
|
75
|
+
});
|
|
76
|
+
await expect(readFile(join(root, "node_modules", ".vxrn-clean.lock"))).rejects.toMatchObject({
|
|
77
|
+
code: "ENOENT"
|
|
78
|
+
});
|
|
79
|
+
}, 2e4);
|
|
80
|
+
});
|
|
81
|
+
//# sourceMappingURL=clean.test.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["execFile","mkdtemp","mkdir","readFile","rm","writeFile","tmpdir","dirname","join","pathToFileURL","promisify","afterEach","describe","expect","it","execFileAsync","root","recursive","force","cacheDir","viteDir","participantsDir","participantCount","Promise","all","JSON","stringify","versionHash","moduleUrl","import","meta","filename","href","workerScript","participant","String","results","Array","from","length","_","env","process","VXRN_DONT_CLEAN_SELF","output","map","stdout","match","toHaveLength","parse","toEqual","rejects","toMatchObject","code"],"sources":["../../src/exports/clean.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { execFile } from "child_process";
|
|
2
|
+
import { mkdtemp, mkdir, readFile, rm, writeFile } from "fs/promises";
|
|
3
|
+
import { tmpdir } from "os";
|
|
4
|
+
import { dirname, join } from "path";
|
|
5
|
+
import { pathToFileURL } from "url";
|
|
6
|
+
import { promisify } from "util";
|
|
7
|
+
import { afterEach, describe, expect, it } from "vitest";
|
|
8
|
+
var execFileAsync = promisify(execFile);
|
|
9
|
+
describe("prepareCacheForVersion", function () {
|
|
10
|
+
var root;
|
|
11
|
+
afterEach(async function () {
|
|
12
|
+
if (root) {
|
|
13
|
+
await rm(root, {
|
|
14
|
+
recursive: true,
|
|
15
|
+
force: true
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
it("lets one process clean a stale same-root cache", async function () {
|
|
20
|
+
root = await mkdtemp(join(tmpdir(), "vxrn-concurrent-clean-"));
|
|
21
|
+
var cacheDir = join(root, "node_modules", ".vxrn");
|
|
22
|
+
var viteDir = join(root, "node_modules", ".vite");
|
|
23
|
+
var participantsDir = join(root, "participants");
|
|
24
|
+
var participantCount = 4;
|
|
25
|
+
await Promise.all([mkdir(cacheDir, {
|
|
26
|
+
recursive: true
|
|
27
|
+
}), mkdir(viteDir, {
|
|
28
|
+
recursive: true
|
|
29
|
+
}), mkdir(participantsDir, {
|
|
30
|
+
recursive: true
|
|
31
|
+
})]);
|
|
32
|
+
await Promise.all([writeFile(join(cacheDir, "state.json"), JSON.stringify({
|
|
33
|
+
versionHash: "old"
|
|
34
|
+
})), writeFile(join(cacheDir, "stale"), "stale"), writeFile(join(viteDir, "stale"), "stale")]);
|
|
35
|
+
var moduleUrl = pathToFileURL(join(dirname(import.meta.filename), "clean.ts")).href;
|
|
36
|
+
var workerScript = function (participant) {
|
|
37
|
+
return `
|
|
38
|
+
import { readdir, writeFile } from 'node:fs/promises'
|
|
39
|
+
import { join } from 'node:path'
|
|
40
|
+
import { prepareCacheForVersion } from ${JSON.stringify(moduleUrl)}
|
|
41
|
+
|
|
42
|
+
const root = ${JSON.stringify(root)}
|
|
43
|
+
const participantsDir = ${JSON.stringify(participantsDir)}
|
|
44
|
+
await writeFile(join(participantsDir, ${JSON.stringify(String(participant))}), '')
|
|
45
|
+
while ((await readdir(participantsDir)).length < ${participantCount}) {
|
|
46
|
+
await Bun.sleep(5)
|
|
47
|
+
}
|
|
48
|
+
const cleaned = await prepareCacheForVersion({
|
|
49
|
+
root,
|
|
50
|
+
cacheDir: join(root, 'node_modules', '.vxrn'),
|
|
51
|
+
versionHash: 'new',
|
|
52
|
+
})
|
|
53
|
+
console.info(cleaned ? 'cleaned-by-worker' : 'cache-already-current')
|
|
54
|
+
`;
|
|
55
|
+
};
|
|
56
|
+
var results = await Promise.all(Array.from({
|
|
57
|
+
length: participantCount
|
|
58
|
+
}, function (_, participant) {
|
|
59
|
+
return execFileAsync("bun", ["-e", workerScript(participant)], {
|
|
60
|
+
env: {
|
|
61
|
+
...process.env,
|
|
62
|
+
VXRN_DONT_CLEAN_SELF: ""
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
}));
|
|
66
|
+
var output = results.map(function (param) {
|
|
67
|
+
var {
|
|
68
|
+
stdout
|
|
69
|
+
} = param;
|
|
70
|
+
return stdout;
|
|
71
|
+
}).join("\n");
|
|
72
|
+
expect(output.match(/\[vxrn\] cleaning/g)).toHaveLength(1);
|
|
73
|
+
expect(output.match(/cleaned-by-worker/g)).toHaveLength(1);
|
|
74
|
+
expect(JSON.parse(await readFile(join(cacheDir, "state.json"), "utf8"))).toEqual({
|
|
75
|
+
versionHash: "new"
|
|
76
|
+
});
|
|
77
|
+
await expect(readFile(join(cacheDir, "stale"))).rejects.toMatchObject({
|
|
78
|
+
code: "ENOENT"
|
|
79
|
+
});
|
|
80
|
+
await expect(readFile(join(viteDir, "stale"))).rejects.toMatchObject({
|
|
81
|
+
code: "ENOENT"
|
|
82
|
+
});
|
|
83
|
+
await expect(readFile(join(root, "node_modules", ".vxrn-clean.lock"))).rejects.toMatchObject({
|
|
84
|
+
code: "ENOENT"
|
|
85
|
+
});
|
|
86
|
+
}, 2e4);
|
|
87
|
+
});
|
|
88
|
+
//# sourceMappingURL=clean.test.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["execFile","mkdtemp","mkdir","readFile","rm","writeFile","tmpdir","dirname","join","pathToFileURL","promisify","afterEach","describe","expect","it","execFileAsync","root","recursive","force","cacheDir","viteDir","participantsDir","participantCount","Promise","all","JSON","stringify","versionHash","moduleUrl","import","meta","filename","href","workerScript","participant","String","results","Array","from","length","_","env","process","VXRN_DONT_CLEAN_SELF"],"sources":["../../src/exports/clean.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,QAAgB;AACzB,SAASC,OAAA,EAASC,KAAA,EAAOC,QAAA,EAAUC,EAAA,EAAIC,SAAA,QAAiB;AACxD,SAASC,MAAA,QAAc;AACvB,SAASC,OAAA,EAASC,IAAA,QAAY;AAC9B,SAASC,aAAA,QAAqB;AAC9B,SAASC,SAAA,QAAiB;AAC1B,SAASC,SAAA,EAAWC,QAAA,EAAUC,MAAA,EAAQC,EAAA,QAAU;AAEhD,IAAAC,aAAM,GAAAL,SAAgB,CAAAV,QAAU;AAEhCY,QAAA,CAAS,0BAA0B,YAAM;EACvC,IAAII,IAAA;EAEJL,SAAA,CAAU,kBAAY;IACpB,IAAIK,IAAA,EAAM;MACR,MAAMZ,EAAA,CAAGY,IAAA,EAAM;QACjBC,SAAA;QACDC,KAAA;MAEE;IACD;EACA;EACAJ,EAAA,iDAA2C,EAAO;IAClDE,IAAA,GAAM,MAAAf,OAAA,CAAAO,IAAkB,CAAAF,MAAK,IAAM,wBAAc;IACjD,IAAAa,QAAM,GAAAX,IAAA,CAAAQ,IAAA,EAAmB;IAEzB,IAAAI,OAAM,GAAQZ,IAAI,CAAAQ,IAAA;IAAA,IAChBK,eAAgB,GAAEb,IAAA,CAAAQ,IAAW,gBAAM;IAAA,IACnCM,gBAAiB;IAAiB,MAClCC,OAAM,CAAAC,GAAA,EACPtB,KAAA,CAAAiB,QAAA;MACDF,SAAM,EAAQ;IACZ,IACAf,KAAA,CAAAkB,OAAU,EAAK;MACfH,SAAU;IACX,IAEDf,KAAM,CAAAmB,eAAY;MAClBJ,SAAM;IAAwC;IAAA,MAAAM,OAAA,CAAAC,GAAA,EAGsBnB,SAAA,CAAAG,IAAA,CAAAW,QAAA,iBAAAM,IAAA,CAAAC,SAAA;MAAAC,WAAA,EAEnD;IAAoB,KACsBtB,SAAA,CAAAG,IAAA,CAAAW,QAAA,mBACjB,GAAmCd,SAAA,CAAAG,IAAA,CAAAY,OAAA,qBACR;IAAA,IAAAQ,SAAA,GAAAnB,aAAA,CAAAD,IAAA,CAAAD,OAAA,CAAAsB,MAAA,CAAAC,IAAA,CAAAC,QAAA,gBAAAC,IAAA;IAAA,IAAAC,YAAA,YAAAA,CAAAC,WAAA;MAAA;AAAA;AAAA;AAAA,+CAAAT,IAAA,CAAAC,SAAA,CAAAE,SAAA;AAAA;AAAA,qBAAAH,IAAA,CAAAC,SAAA,CAAAV,IAAA;AAWrE,gCAAsBS,IAAQ,CAAAC,SAAA,CAAAL,eAAA;AAAA,8CACtBI,IAAA,CAAAC,SAAA,CAAAS,MAAA,CAAAD,WAAA;AAAA,yDAAgCZ,gBAAA;AAAA;AACoB;AACN;AACjD;AACH;AAEF;AAEA;AACA;AACA;IAAiF;IAEjF,IAACc,OAAA,SAAAb,OAAA,CAAAC,GAAA,CAAAa,KAAA,CAAAC,IAAA;MACDC,MAAM,EAAAjB;IAAgE,GACpE,UAAMkB,CAAA,EAAAN,WAAA;MACP,OAAAnB,aAAA,SACD,IAAM,EACJkB,YAAM,CAAAC,WAAA,EACP;QACDO,GAAM;UACJ,GAAAC,OAAc,CAAAD,GAAA;UACdE,oBAAwB;QACnB;MACV","ignoreList":[]}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { serveStatic } from "@hono/node-server/serve-static";
|
|
2
|
+
import { compress } from "hono/compress";
|
|
3
|
+
import { dirname, join } from "node:path";
|
|
4
|
+
import { compileCacheRules, serveStaticAssets } from "./serveStaticAssets.mjs";
|
|
5
|
+
const staticExtRe = /\.\w{2,5}$/;
|
|
6
|
+
const applyCompression = (app, options) => {
|
|
7
|
+
if (options.compress !== false) {
|
|
8
|
+
app.use(compress());
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
const createProdServer = async (app, options, {
|
|
12
|
+
skipCompression,
|
|
13
|
+
outDir = "dist"
|
|
14
|
+
} = {}) => {
|
|
15
|
+
if (!skipCompression) {
|
|
16
|
+
applyCompression(app, options);
|
|
17
|
+
}
|
|
18
|
+
const cacheRules = options.cacheControl ? compileCacheRules(options.cacheControl) : void 0;
|
|
19
|
+
app.use("*", async (context, next) => {
|
|
20
|
+
const path = context.req.path;
|
|
21
|
+
if (!staticExtRe.test(path) && !path.startsWith("/assets/")) {
|
|
22
|
+
return await next();
|
|
23
|
+
}
|
|
24
|
+
return await serveStaticAssets({
|
|
25
|
+
context,
|
|
26
|
+
next,
|
|
27
|
+
outDir,
|
|
28
|
+
cacheRules
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
app.notFound(async c => {
|
|
32
|
+
const path = c.req.path;
|
|
33
|
+
let currentDir = dirname(path);
|
|
34
|
+
while (true) {
|
|
35
|
+
const response = await serveStatic({
|
|
36
|
+
root: `./${outDir}/client`,
|
|
37
|
+
path: join(currentDir, "+not-found.html")
|
|
38
|
+
})(c, async () => {});
|
|
39
|
+
if (response && response.body) {
|
|
40
|
+
c.status(404);
|
|
41
|
+
return c.body(response.body);
|
|
42
|
+
}
|
|
43
|
+
const nextDir = dirname(currentDir);
|
|
44
|
+
if (nextDir === currentDir) {
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
currentDir = nextDir;
|
|
48
|
+
}
|
|
49
|
+
return c.text("404 Not Found", {
|
|
50
|
+
status: 404
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
return app;
|
|
54
|
+
};
|
|
55
|
+
export { applyCompression, createProdServer };
|
|
56
|
+
//# sourceMappingURL=createServer.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["serveStatic","compress","dirname","join","compileCacheRules","serveStaticAssets","staticExtRe","applyCompression","app","options","use","createProdServer","skipCompression","outDir","cacheRules","cacheControl","context","next","path","req","test","startsWith","notFound","c","currentDir","response","root","body","status","nextDir","text"],"sources":["../../src/exports/createServer.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAA,QAAmB;AAC5B,SAASC,QAAA,QAAgB;AACzB,SAASC,OAAA,EAASC,IAAA,QAAY;AAG9B,SAASC,iBAAA,EAAmBC,iBAAA,QAAyB;AAGrD,MAAMC,WAAA,GAAc;AAEb,MAAMC,gBAAA,GAAmBA,CAACC,GAAA,EAAWC,OAAA,KAA8B;EACxE,IAAIA,OAAA,CAAQR,QAAA,KAAa,OAAO;IAC9BO,GAAA,CAAIE,GAAA,CAAIT,QAAA,CAAS,CAAC;EACpB;AACF;AAEO,MAAMU,gBAAA,GAAmB,MAAAA,CAC9BH,GAAA,EACAC,OAAA,EACA;EACEG,eAAA;EACAC,MAAA,GAAS;AACX,IAAoD,CAAC,MAClD;EACH,IAAI,CAACD,eAAA,EAAiB;IACpBL,gBAAA,CAAiBC,GAAA,EAAKC,OAAO;EAC/B;EAGA,MAAMK,UAAA,GAAaL,OAAA,CAAQM,YAAA,GACvBX,iBAAA,CAAkBK,OAAA,CAAQM,YAAY,IACtC;EAGJP,GAAA,CAAIE,GAAA,CAAI,KAAK,OAAOM,OAAA,EAASC,IAAA,KAAS;IACpC,MAAMC,IAAA,GAAOF,OAAA,CAAQG,GAAA,CAAID,IAAA;IACzB,IAAI,CAACZ,WAAA,CAAYc,IAAA,CAAKF,IAAI,KAAK,CAACA,IAAA,CAAKG,UAAA,CAAW,UAAU,GAAG;MAC3D,OAAO,MAAMJ,IAAA,CAAK;IACpB;IACA,OAAO,MAAMZ,iBAAA,CAAkB;MAAEW,OAAA;MAASC,IAAA;MAAMJ,MAAA;MAAQC;IAAW,CAAC;EACtE,CAAC;EAEDN,GAAA,CAAIc,QAAA,CAAS,MAAOC,CAAA,IAAM;IACxB,MAAML,IAAA,GAAOK,CAAA,CAAEJ,GAAA,CAAID,IAAA;IACnB,IAAIM,UAAA,GAAatB,OAAA,CAAQgB,IAAI;IAE7B,OAAO,MAAM;MACX,MAAMO,QAAA,GAAW,MAAMzB,WAAA,CAAY;QACjC0B,IAAA,EAAM,KAAKb,MAAM;QACjBK,IAAA,EAAMf,IAAA,CAAKqB,UAAA,EAAY,iBAAiB;MAC1C,CAAC,EAAED,CAAA,EAAG,YAAY,CAAC,CAAC;MAEpB,IAAIE,QAAA,IAAYA,QAAA,CAASE,IAAA,EAAM;QAC7BJ,CAAA,CAAEK,MAAA,CAAO,GAAG;QACZ,OAAOL,CAAA,CAAEI,IAAA,CAAKF,QAAA,CAASE,IAAI;MAC7B;MAEA,MAAME,OAAA,GAAU3B,OAAA,CAAQsB,UAAU;MAClC,IAAIK,OAAA,KAAYL,UAAA,EAAY;QAC1B;MACF;MACAA,UAAA,GAAaK,OAAA;IACf;IAEA,OAAON,CAAA,CAAEO,IAAA,CAAK,iBAAiB;MAAEF,MAAA,EAAQ;IAAI,CAAC;EAChD,CAAC;EAED,OAAOpB,GAAA;AACT","ignoreList":[]}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { serveStatic } from "@hono/node-server/serve-static";
|
|
2
|
+
import { compress } from "hono/compress";
|
|
3
|
+
import { dirname, join } from "path";
|
|
4
|
+
import { compileCacheRules, serveStaticAssets } from "./serveStaticAssets.native.js";
|
|
5
|
+
var staticExtRe = /\.\w{2,5}$/;
|
|
6
|
+
var applyCompression = function (app, options) {
|
|
7
|
+
if (options.compress !== false) {
|
|
8
|
+
app.use(compress());
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
var createProdServer = async function (app, options) {
|
|
12
|
+
var {
|
|
13
|
+
skipCompression,
|
|
14
|
+
outDir = "dist"
|
|
15
|
+
} = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
16
|
+
if (!skipCompression) {
|
|
17
|
+
applyCompression(app, options);
|
|
18
|
+
}
|
|
19
|
+
var cacheRules = options.cacheControl ? compileCacheRules(options.cacheControl) : void 0;
|
|
20
|
+
app.use("*", async function (context, next) {
|
|
21
|
+
var path = context.req.path;
|
|
22
|
+
if (!staticExtRe.test(path) && !path.startsWith("/assets/")) {
|
|
23
|
+
return await next();
|
|
24
|
+
}
|
|
25
|
+
return await serveStaticAssets({
|
|
26
|
+
context,
|
|
27
|
+
next,
|
|
28
|
+
outDir,
|
|
29
|
+
cacheRules
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
app.notFound(async function (c) {
|
|
33
|
+
var path = c.req.path;
|
|
34
|
+
var currentDir = dirname(path);
|
|
35
|
+
while (true) {
|
|
36
|
+
var response = await serveStatic({
|
|
37
|
+
root: `./${outDir}/client`,
|
|
38
|
+
path: join(currentDir, "+not-found.html")
|
|
39
|
+
})(c, async function () {});
|
|
40
|
+
if (response && response.body) {
|
|
41
|
+
c.status(404);
|
|
42
|
+
return c.body(response.body);
|
|
43
|
+
}
|
|
44
|
+
var nextDir = dirname(currentDir);
|
|
45
|
+
if (nextDir === currentDir) {
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
currentDir = nextDir;
|
|
49
|
+
}
|
|
50
|
+
return c.text("404 Not Found", {
|
|
51
|
+
status: 404
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
return app;
|
|
55
|
+
};
|
|
56
|
+
export { applyCompression, createProdServer };
|
|
57
|
+
//# sourceMappingURL=createServer.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["serveStatic","compress","dirname","join","compileCacheRules","serveStaticAssets","staticExtRe","applyCompression","app","options","use","createProdServer","skipCompression","outDir","arguments","length","cacheRules","cacheControl","context","next","path","req","test","startsWith","notFound","c","currentDir","response","root","body","status","nextDir","text"],"sources":["../../src/exports/createServer.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAA,QAAmB;AAC5B,SAASC,QAAA,QAAgB;AACzB,SAASC,OAAA,EAASC,IAAA,QAAY;AAG9B,SAASC,iBAAA,EAAmBC,iBAAA,QAAyB;AAGrD,IAAAC,WAAM,eAAc;AAEb,IAAAC,gBAAM,YAAAA,CAA+BC,GAAA,EAAAC,OAA8B;EACxE,IAAIA,OAAA,CAAQR,QAAA,KAAa,OAAO;IAC9BO,GAAA,CAAIE,GAAA,CAAIT,QAAA,CAAS,CAAC;EACpB;AACF;AAEO,IAAAU,gBAAM,kBAAAA,CAEXH,GAAA,EAAAC,OACA;EACE;IAAAG,eAAA;IAAAC,MAAA;EAAA,IAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA;EACA,KAAAF,eAAS;IACyCL,gBACjD,CAAAC,GAAA,EAAAC,OAAA;EACH;EACE,IAAAO,UAAA,GAAAP,OAAsB,CAAAQ,YAAO,GAAAb,iBAAA,CAAAK,OAAA,CAAAQ,YAAA;EAC/BT,GAAA,CAAAE,GAAA,sBAAAQ,OAAA,EAAAC,IAAA;IAGA,IAAMC,IAAA,GAAAF,OAAa,CAAAG,GAAA,CAAAD,IAAQ;IAK3B,IAAI,CAAAd,WAAS,CAAAgB,IAAO,CAAAF,IAAA,CAAS,KAAAA,IAAS,CAAAG,UAAA;MACpC,OAAM,MAAOJ,IAAA,EAAQ;IACrB;IACE,aAAOd,iBAAW;MACpBa,OAAA;MACAC,IAAA;MACDN,MAAA;MAEGG;IACF;EACA;EAEAR,GAAA,CAAAgB,QAAO,iBAAMC,CAAA;IACX,IAAAL,IAAM,GAAAK,CAAA,CAAAJ,GAAA,CAAAD,IAAW;IAAkB,IACjCM,UAAM,GAAKxB,OAAM,CAAAkB,IAAA;IAAA,OACjB,IAAM;MACR,IAAGO,QAAG,SAAY3B,WAAA;QAAE4B,IAAA,OAAAf,MAAA;QAEpBO,IAAI,EAAAjB,IAAA,CAAAuB,UAAY,EAAS,iBAAM;MAC7B,GAAAD,CAAE,oBAAU,CACZ;MACF,IAAAE,QAAA,IAAAA,QAAA,CAAAE,IAAA;QAEAJ,CAAA,CAAAK,MAAM;QACN,OAAIL,CAAA,CAAAI,IAAA,CAAYF,QAAA,CAAAE,IAAY;MAC1B;MACF,IAAAE,OAAA,GAAA7B,OAAA,CAAAwB,UAAA;MACA,IAAAK,OAAA,KAAaL,UAAA;QACf;MAEA;MACDA,UAAA,GAAAK,OAAA;IAED;IACF,OAAAN,CAAA,CAAAO,IAAA","ignoreList":[]}
|