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 @@
|
|
|
1
|
+
{"version":3,"names":["afterEach","beforeEach","describe","expect","it","loadEnv","originalEnv","process","env","ONE_PUBLIC_TEST_KEY","clientEnvDefine","toBe","not","toHaveProperty","SECRET_KEY","toBeUndefined","VITE_APP_TITLE","TAMAGUI_TARGET","CUSTOM_PUBLIC_FOO","cwd"],"sources":["loadEnv.test.mjs"],"sourcesContent":["import { afterEach, beforeEach, describe, expect, it } from \"vitest\";\nimport { loadEnv } from \"./loadEnv\";\n\ndescribe(\"loadEnv\", () => {\n\tconst originalEnv = { ...process.env };\n\tbeforeEach(() => {\n\t\tprocess.env.ONE_PUBLIC_TEST_KEY = \"test-value\";\n\t});\n\tafterEach(() => {\n\t\tprocess.env = { ...originalEnv };\n\t});\n\tit(\"generates dot-notation define keys for process.env\", async () => {\n\t\tconst { clientEnvDefine } = await loadEnv(\"test\");\n\t\texpect(clientEnvDefine[\"process.env.ONE_PUBLIC_TEST_KEY\"]).toBe(\"\\\"test-value\\\"\");\n\t});\n\tit(\"generates dot-notation define keys for import.meta.env\", async () => {\n\t\tconst { clientEnvDefine } = await loadEnv(\"test\");\n\t\texpect(clientEnvDefine[\"import.meta.env.ONE_PUBLIC_TEST_KEY\"]).toBe(\"\\\"test-value\\\"\");\n\t});\n\tit(\"does not generate bracket-notation keys (rolldown/oxc rejects them in define)\", async () => {\n\t\tconst { clientEnvDefine } = await loadEnv(\"test\");\n\t\texpect(clientEnvDefine).not.toHaveProperty(\"process.env[\\\"ONE_PUBLIC_TEST_KEY\\\"]\");\n\t\texpect(clientEnvDefine).not.toHaveProperty(\"process.env['ONE_PUBLIC_TEST_KEY']\");\n\t\texpect(clientEnvDefine).not.toHaveProperty(\"import.meta.env[\\\"ONE_PUBLIC_TEST_KEY\\\"]\");\n\t\texpect(clientEnvDefine).not.toHaveProperty(\"import.meta.env['ONE_PUBLIC_TEST_KEY']\");\n\t});\n\tit(\"does not generate define keys for non-public env vars\", async () => {\n\t\tprocess.env.SECRET_KEY = \"secret\";\n\t\tconst { clientEnvDefine } = await loadEnv(\"test\");\n\t\texpect(clientEnvDefine[\"process.env.SECRET_KEY\"]).toBeUndefined();\n\t});\n\tit(\"includes VITE_ prefixed vars in clientEnvDefine\", async () => {\n\t\tprocess.env.VITE_APP_TITLE = \"My App\";\n\t\tconst { clientEnvDefine } = await loadEnv(\"test\");\n\t\texpect(clientEnvDefine[\"process.env.VITE_APP_TITLE\"]).toBe(\"\\\"My App\\\"\");\n\t});\n\tit(\"includes TAMAGUI_ prefixed vars in clientEnvDefine\", async () => {\n\t\tprocess.env.TAMAGUI_TARGET = \"web\";\n\t\tconst { clientEnvDefine } = await loadEnv(\"test\");\n\t\texpect(clientEnvDefine[\"process.env.TAMAGUI_TARGET\"]).toBe(\"\\\"web\\\"\");\n\t});\n\tit(\"includes vars matching custom userPrefix\", async () => {\n\t\tprocess.env.CUSTOM_PUBLIC_FOO = \"bar\";\n\t\tconst { clientEnvDefine } = await loadEnv(\"test\", process.cwd(), \"CUSTOM_PUBLIC_\");\n\t\texpect(clientEnvDefine[\"process.env.CUSTOM_PUBLIC_FOO\"]).toBe(\"\\\"bar\\\"\");\n\t});\n});\n\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { afterEach, beforeEach, describe, expect, it } from "vitest";
|
|
2
|
+
import { loadEnv } from "./loadEnv.native.js";
|
|
3
|
+
describe("loadEnv", function () {
|
|
4
|
+
var originalEnv = {
|
|
5
|
+
...process.env
|
|
6
|
+
};
|
|
7
|
+
beforeEach(function () {
|
|
8
|
+
process.env.ONE_PUBLIC_TEST_KEY = "test-value";
|
|
9
|
+
});
|
|
10
|
+
afterEach(function () {
|
|
11
|
+
process.env = {
|
|
12
|
+
...originalEnv
|
|
13
|
+
};
|
|
14
|
+
});
|
|
15
|
+
it("generates dot-notation define keys for process.env", async function () {
|
|
16
|
+
var {
|
|
17
|
+
clientEnvDefine
|
|
18
|
+
} = await loadEnv("test");
|
|
19
|
+
expect(clientEnvDefine["process.env.ONE_PUBLIC_TEST_KEY"]).toBe("\"test-value\"");
|
|
20
|
+
});
|
|
21
|
+
it("generates dot-notation define keys for import.meta.env", async function () {
|
|
22
|
+
var {
|
|
23
|
+
clientEnvDefine
|
|
24
|
+
} = await loadEnv("test");
|
|
25
|
+
expect(clientEnvDefine["import.meta.env.ONE_PUBLIC_TEST_KEY"]).toBe("\"test-value\"");
|
|
26
|
+
});
|
|
27
|
+
it("does not generate bracket-notation keys (rolldown/oxc rejects them in define)", async function () {
|
|
28
|
+
var {
|
|
29
|
+
clientEnvDefine
|
|
30
|
+
} = await loadEnv("test");
|
|
31
|
+
expect(clientEnvDefine).not.toHaveProperty("process.env[\"ONE_PUBLIC_TEST_KEY\"]");
|
|
32
|
+
expect(clientEnvDefine).not.toHaveProperty("process.env['ONE_PUBLIC_TEST_KEY']");
|
|
33
|
+
expect(clientEnvDefine).not.toHaveProperty("import.meta.env[\"ONE_PUBLIC_TEST_KEY\"]");
|
|
34
|
+
expect(clientEnvDefine).not.toHaveProperty("import.meta.env['ONE_PUBLIC_TEST_KEY']");
|
|
35
|
+
});
|
|
36
|
+
it("does not generate define keys for non-public env vars", async function () {
|
|
37
|
+
process.env.SECRET_KEY = "secret";
|
|
38
|
+
var {
|
|
39
|
+
clientEnvDefine
|
|
40
|
+
} = await loadEnv("test");
|
|
41
|
+
expect(clientEnvDefine["process.env.SECRET_KEY"]).toBeUndefined();
|
|
42
|
+
});
|
|
43
|
+
it("includes VITE_ prefixed vars in clientEnvDefine", async function () {
|
|
44
|
+
process.env.VITE_APP_TITLE = "My App";
|
|
45
|
+
var {
|
|
46
|
+
clientEnvDefine
|
|
47
|
+
} = await loadEnv("test");
|
|
48
|
+
expect(clientEnvDefine["process.env.VITE_APP_TITLE"]).toBe("\"My App\"");
|
|
49
|
+
});
|
|
50
|
+
it("includes TAMAGUI_ prefixed vars in clientEnvDefine", async function () {
|
|
51
|
+
process.env.TAMAGUI_TARGET = "web";
|
|
52
|
+
var {
|
|
53
|
+
clientEnvDefine
|
|
54
|
+
} = await loadEnv("test");
|
|
55
|
+
expect(clientEnvDefine["process.env.TAMAGUI_TARGET"]).toBe("\"web\"");
|
|
56
|
+
});
|
|
57
|
+
it("includes vars matching custom userPrefix", async function () {
|
|
58
|
+
process.env.CUSTOM_PUBLIC_FOO = "bar";
|
|
59
|
+
var {
|
|
60
|
+
clientEnvDefine
|
|
61
|
+
} = await loadEnv("test", process.cwd(), "CUSTOM_PUBLIC_");
|
|
62
|
+
expect(clientEnvDefine["process.env.CUSTOM_PUBLIC_FOO"]).toBe("\"bar\"");
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
//# sourceMappingURL=loadEnv.test.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["afterEach","beforeEach","describe","expect","it","loadEnv","originalEnv","process","env","ONE_PUBLIC_TEST_KEY","clientEnvDefine","toBe","not","toHaveProperty","SECRET_KEY","toBeUndefined","VITE_APP_TITLE","TAMAGUI_TARGET","CUSTOM_PUBLIC_FOO","cwd"],"sources":["loadEnv.test.native.js"],"sourcesContent":["import { afterEach, beforeEach, describe, expect, it } from \"vitest\";\nimport { loadEnv } from \"./loadEnv\";\n\ndescribe(\"loadEnv\", function() {\n\tvar originalEnv = { ...process.env };\n\tbeforeEach(function() {\n\t\tprocess.env.ONE_PUBLIC_TEST_KEY = \"test-value\";\n\t});\n\tafterEach(function() {\n\t\tprocess.env = { ...originalEnv };\n\t});\n\tit(\"generates dot-notation define keys for process.env\", async function() {\n\t\tvar { clientEnvDefine } = await loadEnv(\"test\");\n\t\texpect(clientEnvDefine[\"process.env.ONE_PUBLIC_TEST_KEY\"]).toBe(\"\\\"test-value\\\"\");\n\t});\n\tit(\"generates dot-notation define keys for import.meta.env\", async function() {\n\t\tvar { clientEnvDefine } = await loadEnv(\"test\");\n\t\texpect(clientEnvDefine[\"import.meta.env.ONE_PUBLIC_TEST_KEY\"]).toBe(\"\\\"test-value\\\"\");\n\t});\n\tit(\"does not generate bracket-notation keys (rolldown/oxc rejects them in define)\", async function() {\n\t\tvar { clientEnvDefine } = await loadEnv(\"test\");\n\t\texpect(clientEnvDefine).not.toHaveProperty(\"process.env[\\\"ONE_PUBLIC_TEST_KEY\\\"]\");\n\t\texpect(clientEnvDefine).not.toHaveProperty(\"process.env['ONE_PUBLIC_TEST_KEY']\");\n\t\texpect(clientEnvDefine).not.toHaveProperty(\"import.meta.env[\\\"ONE_PUBLIC_TEST_KEY\\\"]\");\n\t\texpect(clientEnvDefine).not.toHaveProperty(\"import.meta.env['ONE_PUBLIC_TEST_KEY']\");\n\t});\n\tit(\"does not generate define keys for non-public env vars\", async function() {\n\t\tprocess.env.SECRET_KEY = \"secret\";\n\t\tvar { clientEnvDefine } = await loadEnv(\"test\");\n\t\texpect(clientEnvDefine[\"process.env.SECRET_KEY\"]).toBeUndefined();\n\t});\n\tit(\"includes VITE_ prefixed vars in clientEnvDefine\", async function() {\n\t\tprocess.env.VITE_APP_TITLE = \"My App\";\n\t\tvar { clientEnvDefine } = await loadEnv(\"test\");\n\t\texpect(clientEnvDefine[\"process.env.VITE_APP_TITLE\"]).toBe(\"\\\"My App\\\"\");\n\t});\n\tit(\"includes TAMAGUI_ prefixed vars in clientEnvDefine\", async function() {\n\t\tprocess.env.TAMAGUI_TARGET = \"web\";\n\t\tvar { clientEnvDefine } = await loadEnv(\"test\");\n\t\texpect(clientEnvDefine[\"process.env.TAMAGUI_TARGET\"]).toBe(\"\\\"web\\\"\");\n\t});\n\tit(\"includes vars matching custom userPrefix\", async function() {\n\t\tprocess.env.CUSTOM_PUBLIC_FOO = \"bar\";\n\t\tvar { clientEnvDefine } = await loadEnv(\"test\", process.cwd(), \"CUSTOM_PUBLIC_\");\n\t\texpect(clientEnvDefine[\"process.env.CUSTOM_PUBLIC_FOO\"]).toBe(\"\\\"bar\\\"\");\n\t});\n});\n\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { fillOptions } from "../config/getOptionsFilled.mjs";
|
|
2
|
+
import { applyBuiltInPatches } from "../utils/patches.mjs";
|
|
3
|
+
const patch = async optionsIn => {
|
|
4
|
+
process.env.IS_VXRN_CLI = "true";
|
|
5
|
+
if (optionsIn.force) {
|
|
6
|
+
process.env.VXRN_FORCE_PATCH = "1";
|
|
7
|
+
}
|
|
8
|
+
const options = await fillOptions(optionsIn);
|
|
9
|
+
await applyBuiltInPatches(options, optionsIn.deps);
|
|
10
|
+
};
|
|
11
|
+
export { patch };
|
|
12
|
+
//# sourceMappingURL=patch.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["fillOptions","applyBuiltInPatches","patch","optionsIn","process","env","IS_VXRN_CLI","force","VXRN_FORCE_PATCH","options","deps"],"sources":["../../src/exports/patch.ts"],"sourcesContent":[null],"mappings":"AACA,SAASA,WAAA,QAAmB;AAC5B,SAASC,mBAAA,QAAsD;AAOxD,MAAMC,KAAA,GAAQ,MAAOC,SAAA,IAA4B;EACtDC,OAAA,CAAQC,GAAA,CAAIC,WAAA,GAAc;EAC1B,IAAIH,SAAA,CAAUI,KAAA,EAAO;IACnBH,OAAA,CAAQC,GAAA,CAAIG,gBAAA,GAAmB;EACjC;EACA,MAAMC,OAAA,GAAU,MAAMT,WAAA,CAAYG,SAAS;EAC3C,MAAMF,mBAAA,CAAoBQ,OAAA,EAASN,SAAA,CAAUO,IAAI;AACnD","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { fillOptions } from "../config/getOptionsFilled.native.js";
|
|
2
|
+
import { applyBuiltInPatches } from "../utils/patches.native.js";
|
|
3
|
+
var patch = async function (optionsIn) {
|
|
4
|
+
process.env.IS_VXRN_CLI = "true";
|
|
5
|
+
if (optionsIn.force) {
|
|
6
|
+
process.env.VXRN_FORCE_PATCH = "1";
|
|
7
|
+
}
|
|
8
|
+
var options = await fillOptions(optionsIn);
|
|
9
|
+
await applyBuiltInPatches(options, optionsIn.deps);
|
|
10
|
+
};
|
|
11
|
+
export { patch };
|
|
12
|
+
//# sourceMappingURL=patch.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["fillOptions","applyBuiltInPatches","patch","optionsIn","process","env","IS_VXRN_CLI","force","VXRN_FORCE_PATCH","options","deps"],"sources":["../../src/exports/patch.ts"],"sourcesContent":[null],"mappings":"AACA,SAASA,WAAA,QAAmB;AAC5B,SAASC,mBAAA,QAAsD;AAOxD,IAAAC,KAAM,kBAAAA,CAAeC,SAA4B;EACtDC,OAAA,CAAQC,GAAA,CAAIC,WAAA,GAAc;EAC1B,IAAIH,SAAA,CAAUI,KAAA,EAAO;IACnBH,OAAA,CAAQC,GAAA,CAAIG,gBAAA,GAAmB;EACjC;EACA,IAAAC,OAAM,SAAUT,WAAM,CAAAG,SAAY;EAClC,MAAMF,mBAAA,CAAoBQ,OAAA,EAASN,SAAA,CAAUO,IAAI;AACnD","ignoreList":[]}
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
import { resolvePath } from "@vxrn/resolve";
|
|
2
|
+
import { detectPackageManager } from "@vxrn/utils";
|
|
3
|
+
import FSExtra from "fs-extra";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
import { pathToFileURL } from "node:url";
|
|
6
|
+
import colors from "picocolors";
|
|
7
|
+
import { fillOptions } from "../config/getOptionsFilled.mjs";
|
|
8
|
+
import { applyBuiltInPatches } from "../utils/patches.mjs";
|
|
9
|
+
import { generateForPlatform } from "./prebuildWithoutExpo.mjs";
|
|
10
|
+
const prebuild = async ({
|
|
11
|
+
root,
|
|
12
|
+
platform,
|
|
13
|
+
"no-install": noInstall = false,
|
|
14
|
+
expo = true
|
|
15
|
+
}) => {
|
|
16
|
+
const options = await fillOptions({
|
|
17
|
+
root
|
|
18
|
+
});
|
|
19
|
+
await applyBuiltInPatches(options);
|
|
20
|
+
const doesIOSExist = FSExtra.existsSync(path.resolve("ios"));
|
|
21
|
+
const doesAndroidExist = FSExtra.existsSync(path.resolve("android"));
|
|
22
|
+
if (expo) {
|
|
23
|
+
try {
|
|
24
|
+
const importPath = resolvePath("@expo/cli/build/src/prebuild/index.js", root);
|
|
25
|
+
const expoPrebuild = (await import(pathToFileURL(importPath).href)).default.expoPrebuild;
|
|
26
|
+
await expoPrebuild([...(platform ? ["--platform", platform] : []), ...(noInstall ? ["--no-install"] : []), "--skip-dependency-update", "react,react-native,expo"]);
|
|
27
|
+
try {
|
|
28
|
+
const packageJsonPath = path.join(root, "package.json");
|
|
29
|
+
let packageJsonContents = await FSExtra.readFile(packageJsonPath, "utf8");
|
|
30
|
+
packageJsonContents = packageJsonContents.replace(/expo run:ios/g, "one run:ios");
|
|
31
|
+
packageJsonContents = packageJsonContents.replace(/expo run:android/g, "one run:android");
|
|
32
|
+
await FSExtra.writeFile(packageJsonPath, packageJsonContents, "utf8");
|
|
33
|
+
} catch (error) {
|
|
34
|
+
console.error("Error updating package.json", error);
|
|
35
|
+
}
|
|
36
|
+
try {
|
|
37
|
+
FSExtra.removeSync(path.join(root, "ios", ".xcode.env.local"));
|
|
38
|
+
} catch (e) {}
|
|
39
|
+
} catch (e) {
|
|
40
|
+
throw new Error(`Failed to prebuild native project: ${e}
|
|
41
|
+
Is "expo" listed in your dependencies?`);
|
|
42
|
+
}
|
|
43
|
+
if (!platform || platform === "ios") {
|
|
44
|
+
const isMetro = process.env.ONE_METRO_MODE || globalThis["__vxrnMetroOptions__"] || globalThis["__vxrnPluginConfig__"]?.native?.bundler === "metro";
|
|
45
|
+
if (!isMetro) {
|
|
46
|
+
ensureRolldownPodfileProperties(root);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
if (!platform || platform === "ios") {
|
|
50
|
+
validateSwift6Workaround(root);
|
|
51
|
+
}
|
|
52
|
+
if (!platform || platform === "ios") {
|
|
53
|
+
console.info(`
|
|
54
|
+
iOS:
|
|
55
|
+
|
|
56
|
+
Run \`open ios/*.xcworkspace\` in your terminal to open the prebuilt iOS project.
|
|
57
|
+
Then you can either run it via Xcode or archive it for distribution.
|
|
58
|
+
|
|
59
|
+
See https://onestack.dev/docs/guides-ios-native for more information.
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
`);
|
|
63
|
+
}
|
|
64
|
+
} else {
|
|
65
|
+
try {
|
|
66
|
+
const packageJsonPath = path.join(root, "package.json");
|
|
67
|
+
let packageJsonContents = await FSExtra.readFile(packageJsonPath, "utf8");
|
|
68
|
+
let {
|
|
69
|
+
devDependencies
|
|
70
|
+
} = JSON.parse(packageJsonContents);
|
|
71
|
+
if (!devDependencies["@react-native-community/template"]) {
|
|
72
|
+
const installCommand = await (async () => {
|
|
73
|
+
const found = await detectPackageManager();
|
|
74
|
+
switch (true) {
|
|
75
|
+
case found.bun:
|
|
76
|
+
return `bun add -D @react-native-community/template`;
|
|
77
|
+
case found.pnpm:
|
|
78
|
+
return `pnpm install -D @react-native-community/template`;
|
|
79
|
+
case found.yarn:
|
|
80
|
+
return `yarn add -D @react-native-community/template`;
|
|
81
|
+
default:
|
|
82
|
+
return `npm install -D @react-native-community/template`;
|
|
83
|
+
}
|
|
84
|
+
})();
|
|
85
|
+
throw new Error(`"@react-native-community/template" is not found in package.json, please install "@react-native-community/template" as dev dependency:
|
|
86
|
+
\`${installCommand}\``);
|
|
87
|
+
}
|
|
88
|
+
} catch (error) {
|
|
89
|
+
throw new Error("package.json checks are failing:\n" + error);
|
|
90
|
+
}
|
|
91
|
+
let appConfig;
|
|
92
|
+
try {
|
|
93
|
+
const appConfigPath = path.resolve("app.json");
|
|
94
|
+
const appConfigContents = await FSExtra.readFile(appConfigPath, "utf8");
|
|
95
|
+
appConfig = JSON.parse(appConfigContents);
|
|
96
|
+
} catch (error) {
|
|
97
|
+
throw new Error("app.json checks are failing:\n" + error);
|
|
98
|
+
}
|
|
99
|
+
if (platform == "ios" || !platform) {
|
|
100
|
+
if (!doesIOSExist) {
|
|
101
|
+
await generateForPlatform(root, "ios", appConfig);
|
|
102
|
+
} else {
|
|
103
|
+
console.error("ios/ folder already exists");
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
if (platform == "android" || !platform) {
|
|
107
|
+
if (!doesAndroidExist) {
|
|
108
|
+
await generateForPlatform(root, "android", appConfig);
|
|
109
|
+
} else {
|
|
110
|
+
console.error("android/ folder already exists");
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
if (!platform || platform === "ios") {
|
|
114
|
+
console.info(`Run cd ios && pod install`);
|
|
115
|
+
console.info("Then run `open *.xcworkspace` in your terminal to open the prebuilt iOS project, then you can either run it via Xcode or archive it for distribution.");
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
if (!platform || platform === "android") {
|
|
119
|
+
console.info(`
|
|
120
|
+
Android:
|
|
121
|
+
|
|
122
|
+
\`cd android\` and run \`./gradlew generateCodegenArtifactsFromSchema\`, then \`./gradlew assembleRelease\` or \`./gradlew assembleDebug\` to build the Android project.
|
|
123
|
+
|
|
124
|
+
Afterwards, you can find the built APK at \`android/app/build/outputs/apk/release/app-release.apk\` or
|
|
125
|
+
\`android/app/build/outputs/apk/debug/app-debug.apk\`.
|
|
126
|
+
|
|
127
|
+
`);
|
|
128
|
+
}
|
|
129
|
+
try {
|
|
130
|
+
resolvePath("@react-native-community/cli", root);
|
|
131
|
+
} catch (e) {
|
|
132
|
+
if (isMissingCliDependency(e)) {
|
|
133
|
+
warnMissingCliDependency();
|
|
134
|
+
} else {
|
|
135
|
+
throw e;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
function validateSwift6Workaround(root) {
|
|
140
|
+
const podfilePath = path.join(root, "ios", "Podfile");
|
|
141
|
+
if (!FSExtra.existsSync(podfilePath)) return;
|
|
142
|
+
const propsPath = path.join(root, "ios", "Podfile.properties.json");
|
|
143
|
+
if (FSExtra.existsSync(propsPath)) {
|
|
144
|
+
try {
|
|
145
|
+
const props = JSON.parse(FSExtra.readFileSync(propsPath, "utf8"));
|
|
146
|
+
if (props["one.disableSwift6Workaround"] === "true") return;
|
|
147
|
+
} catch {}
|
|
148
|
+
}
|
|
149
|
+
try {
|
|
150
|
+
const emcPkgPath = resolvePath("expo-modules-core/package.json", root);
|
|
151
|
+
const emcVersion = JSON.parse(FSExtra.readFileSync(emcPkgPath, "utf8")).version;
|
|
152
|
+
const major = Number.parseInt(emcVersion.match(/^(\d+)/)?.[1] || "0", 10);
|
|
153
|
+
if (major >= 56) return;
|
|
154
|
+
} catch {}
|
|
155
|
+
const podfile = FSExtra.readFileSync(podfilePath, "utf8");
|
|
156
|
+
if (!podfile.includes("SWIFT_STRICT_CONCURRENCY")) {
|
|
157
|
+
console.warn(colors.yellow(`
|
|
158
|
+
\u26A0\uFE0F Your ios/Podfile is missing the Swift 6 workaround for expo-modules-core.
|
|
159
|
+
Without this, your iOS build will fail with Swift concurrency errors.
|
|
160
|
+
|
|
161
|
+
Fix: add "vxrn/expo-plugin" to your app.json plugins and re-run prebuild.
|
|
162
|
+
|
|
163
|
+
To disable this check: set "one.disableSwift6Workaround": "true"
|
|
164
|
+
in ios/Podfile.properties.json.
|
|
165
|
+
|
|
166
|
+
See: expo/expo#43199
|
|
167
|
+
`));
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
function isMissingCliDependency(error) {
|
|
171
|
+
return error.code === "MODULE_NOT_FOUND" && /@react-native-community\/cli/.test(error.message);
|
|
172
|
+
}
|
|
173
|
+
function warnMissingCliDependency() {
|
|
174
|
+
console.warn(`
|
|
175
|
+
${colors.red("\u26A0")}\uFE0F To build the app, ${colors.dim("react-native")} depends on ${colors.dim("@react-native-community/cli")} for cli commands. Please update your ${colors.dim("package.json")} to include:
|
|
176
|
+
${colors.white(colors.bold(`
|
|
177
|
+
"devDependencies": {
|
|
178
|
+
"@react-native-community/cli": "latest",
|
|
179
|
+
}`))}`);
|
|
180
|
+
}
|
|
181
|
+
async function replaceInUTF8File(filePath, findThis, replaceWith) {
|
|
182
|
+
const fileContent = await FSExtra.readFile(filePath, "utf8");
|
|
183
|
+
const replacedFileContent = fileContent.replace(findThis, replaceWith);
|
|
184
|
+
if (fileContent !== replacedFileContent) {
|
|
185
|
+
await FSExtra.writeFile(filePath, replacedFileContent, "utf8");
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
function ensureRolldownPodfileProperties(root) {
|
|
189
|
+
const propsPath = path.join(root, "ios", "Podfile.properties.json");
|
|
190
|
+
if (!FSExtra.existsSync(path.join(root, "ios"))) return;
|
|
191
|
+
let props = {};
|
|
192
|
+
if (FSExtra.existsSync(propsPath)) {
|
|
193
|
+
try {
|
|
194
|
+
props = JSON.parse(FSExtra.readFileSync(propsPath, "utf8"));
|
|
195
|
+
} catch {}
|
|
196
|
+
}
|
|
197
|
+
let changed = false;
|
|
198
|
+
if (props["expo.useHermesV1"] !== "true") {
|
|
199
|
+
props["expo.useHermesV1"] = "true";
|
|
200
|
+
changed = true;
|
|
201
|
+
}
|
|
202
|
+
if (props["ios.buildReactNativeFromSource"] !== "true") {
|
|
203
|
+
props["ios.buildReactNativeFromSource"] = "true";
|
|
204
|
+
changed = true;
|
|
205
|
+
}
|
|
206
|
+
if (changed) {
|
|
207
|
+
FSExtra.writeFileSync(propsPath, JSON.stringify(props, null, 2) + "\n", "utf8");
|
|
208
|
+
console.info(colors.cyan(`[vxrn] Updated ios/Podfile.properties.json for rolldown mode (hermes v1 + build from source)`));
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
export { prebuild, replaceInUTF8File };
|
|
212
|
+
//# sourceMappingURL=prebuild.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["resolvePath","detectPackageManager","FSExtra","path","pathToFileURL","colors","fillOptions","applyBuiltInPatches","generateForPlatform","prebuild","root","platform","noInstall","expo","options","doesIOSExist","existsSync","resolve","doesAndroidExist","importPath","expoPrebuild","href","default","packageJsonPath","join","packageJsonContents","readFile","replace","writeFile","error","console","removeSync","e","Error","isMetro","process","env","ONE_METRO_MODE","globalThis","native","bundler","ensureRolldownPodfileProperties","validateSwift6Workaround","info","devDependencies","JSON","parse","installCommand","found","bun","pnpm","yarn","appConfig","appConfigPath","appConfigContents","isMissingCliDependency","warnMissingCliDependency","podfilePath","propsPath","props","readFileSync","emcPkgPath","emcVersion","version","major","Number","parseInt","match","podfile","includes","warn","yellow","code","test","message","red","dim","white","bold","replaceInUTF8File","filePath","findThis","replaceWith","fileContent","replacedFileContent","changed","writeFileSync","stringify","cyan"],"sources":["../../src/exports/prebuild.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
import { resolvePath } from "@vxrn/resolve";
|
|
2
|
+
import { detectPackageManager } from "@vxrn/utils";
|
|
3
|
+
import FSExtra from "fs-extra";
|
|
4
|
+
import path from "path";
|
|
5
|
+
import { pathToFileURL } from "url";
|
|
6
|
+
import colors from "picocolors";
|
|
7
|
+
import { fillOptions } from "../config/getOptionsFilled.native.js";
|
|
8
|
+
import { applyBuiltInPatches } from "../utils/patches.native.js";
|
|
9
|
+
import { generateForPlatform } from "./prebuildWithoutExpo.native.js";
|
|
10
|
+
var prebuild = async function (param) {
|
|
11
|
+
var {
|
|
12
|
+
root,
|
|
13
|
+
platform,
|
|
14
|
+
"no-install": noInstall = false,
|
|
15
|
+
expo = true
|
|
16
|
+
} = param;
|
|
17
|
+
var options = await fillOptions({
|
|
18
|
+
root
|
|
19
|
+
});
|
|
20
|
+
await applyBuiltInPatches(options);
|
|
21
|
+
var doesIOSExist = FSExtra.existsSync(path.resolve("ios"));
|
|
22
|
+
var doesAndroidExist = FSExtra.existsSync(path.resolve("android"));
|
|
23
|
+
if (expo) {
|
|
24
|
+
try {
|
|
25
|
+
var importPath = resolvePath("@expo/cli/build/src/prebuild/index.js", root);
|
|
26
|
+
var expoPrebuild = (await import(pathToFileURL(importPath).href)).default.expoPrebuild;
|
|
27
|
+
await expoPrebuild([...(platform ? ["--platform", platform] : []), ...(noInstall ? ["--no-install"] : []), "--skip-dependency-update", "react,react-native,expo"]);
|
|
28
|
+
try {
|
|
29
|
+
var packageJsonPath = path.join(root, "package.json");
|
|
30
|
+
var packageJsonContents = await FSExtra.readFile(packageJsonPath, "utf8");
|
|
31
|
+
packageJsonContents = packageJsonContents.replace(/expo run:ios/g, "one run:ios");
|
|
32
|
+
packageJsonContents = packageJsonContents.replace(/expo run:android/g, "one run:android");
|
|
33
|
+
await FSExtra.writeFile(packageJsonPath, packageJsonContents, "utf8");
|
|
34
|
+
} catch (error) {
|
|
35
|
+
console.error("Error updating package.json", error);
|
|
36
|
+
}
|
|
37
|
+
try {
|
|
38
|
+
FSExtra.removeSync(path.join(root, "ios", ".xcode.env.local"));
|
|
39
|
+
} catch (e) {}
|
|
40
|
+
} catch (e) {
|
|
41
|
+
throw new Error(`Failed to prebuild native project: ${e}
|
|
42
|
+
Is "expo" listed in your dependencies?`);
|
|
43
|
+
}
|
|
44
|
+
if (!platform || platform === "ios") {
|
|
45
|
+
var _globalThis___vxrnPluginConfig___native, _globalThis___vxrnPluginConfig__;
|
|
46
|
+
var isMetro = process.env.ONE_METRO_MODE || globalThis["__vxrnMetroOptions__"] || ((_globalThis___vxrnPluginConfig__ = globalThis["__vxrnPluginConfig__"]) === null || _globalThis___vxrnPluginConfig__ === void 0 ? void 0 : (_globalThis___vxrnPluginConfig___native = _globalThis___vxrnPluginConfig__.native) === null || _globalThis___vxrnPluginConfig___native === void 0 ? void 0 : _globalThis___vxrnPluginConfig___native.bundler) === "metro";
|
|
47
|
+
if (!isMetro) {
|
|
48
|
+
ensureRolldownPodfileProperties(root);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
if (!platform || platform === "ios") {
|
|
52
|
+
validateSwift6Workaround(root);
|
|
53
|
+
}
|
|
54
|
+
if (!platform || platform === "ios") {
|
|
55
|
+
console.info(`
|
|
56
|
+
iOS:
|
|
57
|
+
|
|
58
|
+
Run \`open ios/*.xcworkspace\` in your terminal to open the prebuilt iOS project.
|
|
59
|
+
Then you can either run it via Xcode or archive it for distribution.
|
|
60
|
+
|
|
61
|
+
See https://onestack.dev/docs/guides-ios-native for more information.
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
`);
|
|
65
|
+
}
|
|
66
|
+
} else {
|
|
67
|
+
try {
|
|
68
|
+
var packageJsonPath1 = path.join(root, "package.json");
|
|
69
|
+
var packageJsonContents1 = await FSExtra.readFile(packageJsonPath1, "utf8");
|
|
70
|
+
var {
|
|
71
|
+
devDependencies
|
|
72
|
+
} = JSON.parse(packageJsonContents1);
|
|
73
|
+
if (!devDependencies["@react-native-community/template"]) {
|
|
74
|
+
var installCommand = await async function () {
|
|
75
|
+
var found = await detectPackageManager();
|
|
76
|
+
switch (true) {
|
|
77
|
+
case found.bun:
|
|
78
|
+
return `bun add -D @react-native-community/template`;
|
|
79
|
+
case found.pnpm:
|
|
80
|
+
return `pnpm install -D @react-native-community/template`;
|
|
81
|
+
case found.yarn:
|
|
82
|
+
return `yarn add -D @react-native-community/template`;
|
|
83
|
+
default:
|
|
84
|
+
return `npm install -D @react-native-community/template`;
|
|
85
|
+
}
|
|
86
|
+
}();
|
|
87
|
+
throw new Error(`"@react-native-community/template" is not found in package.json, please install "@react-native-community/template" as dev dependency:
|
|
88
|
+
\`${installCommand}\``);
|
|
89
|
+
}
|
|
90
|
+
} catch (error) {
|
|
91
|
+
throw new Error("package.json checks are failing:\n" + error);
|
|
92
|
+
}
|
|
93
|
+
var appConfig;
|
|
94
|
+
try {
|
|
95
|
+
var appConfigPath = path.resolve("app.json");
|
|
96
|
+
var appConfigContents = await FSExtra.readFile(appConfigPath, "utf8");
|
|
97
|
+
appConfig = JSON.parse(appConfigContents);
|
|
98
|
+
} catch (error) {
|
|
99
|
+
throw new Error("app.json checks are failing:\n" + error);
|
|
100
|
+
}
|
|
101
|
+
if (platform == "ios" || !platform) {
|
|
102
|
+
if (!doesIOSExist) {
|
|
103
|
+
await generateForPlatform(root, "ios", appConfig);
|
|
104
|
+
} else {
|
|
105
|
+
console.error("ios/ folder already exists");
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
if (platform == "android" || !platform) {
|
|
109
|
+
if (!doesAndroidExist) {
|
|
110
|
+
await generateForPlatform(root, "android", appConfig);
|
|
111
|
+
} else {
|
|
112
|
+
console.error("android/ folder already exists");
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
if (!platform || platform === "ios") {
|
|
116
|
+
console.info(`Run cd ios && pod install`);
|
|
117
|
+
console.info("Then run `open *.xcworkspace` in your terminal to open the prebuilt iOS project, then you can either run it via Xcode or archive it for distribution.");
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
if (!platform || platform === "android") {
|
|
121
|
+
console.info(`
|
|
122
|
+
Android:
|
|
123
|
+
|
|
124
|
+
\`cd android\` and run \`./gradlew generateCodegenArtifactsFromSchema\`, then \`./gradlew assembleRelease\` or \`./gradlew assembleDebug\` to build the Android project.
|
|
125
|
+
|
|
126
|
+
Afterwards, you can find the built APK at \`android/app/build/outputs/apk/release/app-release.apk\` or
|
|
127
|
+
\`android/app/build/outputs/apk/debug/app-debug.apk\`.
|
|
128
|
+
|
|
129
|
+
`);
|
|
130
|
+
}
|
|
131
|
+
try {
|
|
132
|
+
resolvePath("@react-native-community/cli", root);
|
|
133
|
+
} catch (e) {
|
|
134
|
+
if (isMissingCliDependency(e)) {
|
|
135
|
+
warnMissingCliDependency();
|
|
136
|
+
} else {
|
|
137
|
+
throw e;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
function validateSwift6Workaround(root) {
|
|
142
|
+
var podfilePath = path.join(root, "ios", "Podfile");
|
|
143
|
+
if (!FSExtra.existsSync(podfilePath)) return;
|
|
144
|
+
var propsPath = path.join(root, "ios", "Podfile.properties.json");
|
|
145
|
+
if (FSExtra.existsSync(propsPath)) {
|
|
146
|
+
try {
|
|
147
|
+
var props = JSON.parse(FSExtra.readFileSync(propsPath, "utf8"));
|
|
148
|
+
if (props["one.disableSwift6Workaround"] === "true") return;
|
|
149
|
+
} catch (unused) {}
|
|
150
|
+
}
|
|
151
|
+
try {
|
|
152
|
+
var _emcVersion_match;
|
|
153
|
+
var emcPkgPath = resolvePath("expo-modules-core/package.json", root);
|
|
154
|
+
var emcVersion = JSON.parse(FSExtra.readFileSync(emcPkgPath, "utf8")).version;
|
|
155
|
+
var major = Number.parseInt(((_emcVersion_match = emcVersion.match(/^(\d+)/)) === null || _emcVersion_match === void 0 ? void 0 : _emcVersion_match[1]) || "0", 10);
|
|
156
|
+
if (major >= 56) return;
|
|
157
|
+
} catch (unused) {}
|
|
158
|
+
var podfile = FSExtra.readFileSync(podfilePath, "utf8");
|
|
159
|
+
if (!podfile.includes("SWIFT_STRICT_CONCURRENCY")) {
|
|
160
|
+
console.warn(colors.yellow(`
|
|
161
|
+
\u26A0\uFE0F Your ios/Podfile is missing the Swift 6 workaround for expo-modules-core.
|
|
162
|
+
Without this, your iOS build will fail with Swift concurrency errors.
|
|
163
|
+
|
|
164
|
+
Fix: add "vxrn/expo-plugin" to your app.json plugins and re-run prebuild.
|
|
165
|
+
|
|
166
|
+
To disable this check: set "one.disableSwift6Workaround": "true"
|
|
167
|
+
in ios/Podfile.properties.json.
|
|
168
|
+
|
|
169
|
+
See: expo/expo#43199
|
|
170
|
+
`));
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
function isMissingCliDependency(error) {
|
|
174
|
+
return error.code === "MODULE_NOT_FOUND" && /@react-native-community\/cli/.test(error.message);
|
|
175
|
+
}
|
|
176
|
+
function warnMissingCliDependency() {
|
|
177
|
+
console.warn(`
|
|
178
|
+
${colors.red("\u26A0")}\uFE0F To build the app, ${colors.dim("react-native")} depends on ${colors.dim("@react-native-community/cli")} for cli commands. Please update your ${colors.dim("package.json")} to include:
|
|
179
|
+
${colors.white(colors.bold(`
|
|
180
|
+
"devDependencies": {
|
|
181
|
+
"@react-native-community/cli": "latest",
|
|
182
|
+
}`))}`);
|
|
183
|
+
}
|
|
184
|
+
async function replaceInUTF8File(filePath, findThis, replaceWith) {
|
|
185
|
+
var fileContent = await FSExtra.readFile(filePath, "utf8");
|
|
186
|
+
var replacedFileContent = fileContent.replace(findThis, replaceWith);
|
|
187
|
+
if (fileContent !== replacedFileContent) {
|
|
188
|
+
await FSExtra.writeFile(filePath, replacedFileContent, "utf8");
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
function ensureRolldownPodfileProperties(root) {
|
|
192
|
+
var propsPath = path.join(root, "ios", "Podfile.properties.json");
|
|
193
|
+
if (!FSExtra.existsSync(path.join(root, "ios"))) return;
|
|
194
|
+
var props = {};
|
|
195
|
+
if (FSExtra.existsSync(propsPath)) {
|
|
196
|
+
try {
|
|
197
|
+
props = JSON.parse(FSExtra.readFileSync(propsPath, "utf8"));
|
|
198
|
+
} catch (unused) {}
|
|
199
|
+
}
|
|
200
|
+
var changed = false;
|
|
201
|
+
if (props["expo.useHermesV1"] !== "true") {
|
|
202
|
+
props["expo.useHermesV1"] = "true";
|
|
203
|
+
changed = true;
|
|
204
|
+
}
|
|
205
|
+
if (props["ios.buildReactNativeFromSource"] !== "true") {
|
|
206
|
+
props["ios.buildReactNativeFromSource"] = "true";
|
|
207
|
+
changed = true;
|
|
208
|
+
}
|
|
209
|
+
if (changed) {
|
|
210
|
+
FSExtra.writeFileSync(propsPath, JSON.stringify(props, null, 2) + "\n", "utf8");
|
|
211
|
+
console.info(colors.cyan(`[vxrn] Updated ios/Podfile.properties.json for rolldown mode (hermes v1 + build from source)`));
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
export { prebuild, replaceInUTF8File };
|
|
215
|
+
//# sourceMappingURL=prebuild.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["resolvePath","detectPackageManager","FSExtra","path","pathToFileURL","colors","fillOptions","applyBuiltInPatches","generateForPlatform","prebuild","param","root","platform","noInstall","expo","options","doesIOSExist","existsSync","resolve","doesAndroidExist","importPath","expoPrebuild","href","default","packageJsonPath","join","packageJsonContents","readFile","replace","writeFile","error","console","removeSync","e","Error","_globalThis___vxrnPluginConfig___native","_globalThis___vxrnPluginConfig__","isMetro","process","env","ONE_METRO_MODE","globalThis","native","bundler","ensureRolldownPodfileProperties","validateSwift6Workaround","info","packageJsonPath1","packageJsonContents1","devDependencies","JSON","parse","installCommand","found","bun","pnpm","yarn","appConfig","appConfigPath","appConfigContents","isMissingCliDependency","warnMissingCliDependency","podfilePath","propsPath","props","readFileSync","unused","_emcVersion_match","emcPkgPath","emcVersion","version","major","Number","parseInt","match","podfile","includes","warn","yellow","code","test","message","red","dim","white","bold","replaceInUTF8File","filePath","findThis","replaceWith","fileContent","replacedFileContent","changed","writeFileSync","stringify","cyan"],"sources":["../../src/exports/prebuild.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import module from "node:module";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { pathToFileURL } from "node:url";
|
|
4
|
+
import FSExtra from "fs-extra";
|
|
5
|
+
const generateForPlatform = async (root, platform, appConfig) => {
|
|
6
|
+
const dest = path.resolve(platform);
|
|
7
|
+
const appName = appConfig.name;
|
|
8
|
+
const displayName = appConfig.displayName;
|
|
9
|
+
const require2 = module.createRequire(root);
|
|
10
|
+
const importPath = require2.resolve("@react-native-community/cli/build/tools/walk.js", {
|
|
11
|
+
paths: [root]
|
|
12
|
+
});
|
|
13
|
+
const src = path.join(path.dirname(require2.resolve("@react-native-community/template/template/package.json", {
|
|
14
|
+
paths: [root]
|
|
15
|
+
})), platform);
|
|
16
|
+
const walk = (await import(pathToFileURL(importPath).href)).default.default;
|
|
17
|
+
walk(src).forEach(absoluteSrc => {
|
|
18
|
+
const relativeFilePath = transformPath(path.relative(src, absoluteSrc)).replace(/HelloWorld/g, appName).replace(/helloworld/g, appName.toLowerCase());
|
|
19
|
+
const srcPath = absoluteSrc;
|
|
20
|
+
const destPath = path.resolve(dest, relativeFilePath);
|
|
21
|
+
console.info("copying", '"' + srcPath + '"', "to", '"' + destPath + '"');
|
|
22
|
+
const replacements = {
|
|
23
|
+
"Hello App Display Name": displayName || appName,
|
|
24
|
+
HelloWorld: appName,
|
|
25
|
+
helloworld: appName
|
|
26
|
+
};
|
|
27
|
+
if (FSExtra.lstatSync(srcPath).isDirectory()) {
|
|
28
|
+
if (!FSExtra.existsSync(destPath)) {
|
|
29
|
+
FSExtra.mkdirSync(destPath);
|
|
30
|
+
}
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
const extension = path.extname(srcPath);
|
|
34
|
+
if ([".png", ".jar", ".keystore"].includes(extension)) {
|
|
35
|
+
FSExtra.copyFileSync(srcPath, destPath);
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const srcPermissions = FSExtra.statSync(srcPath).mode;
|
|
39
|
+
let content = FSExtra.readFileSync(srcPath, "utf8");
|
|
40
|
+
Object.entries(replacements).forEach(([regex, value]) => {
|
|
41
|
+
content = content.replace(new RegExp(regex, "g"), value);
|
|
42
|
+
});
|
|
43
|
+
FSExtra.writeFileSync(destPath, content, {
|
|
44
|
+
encoding: "utf8",
|
|
45
|
+
mode: srcPermissions
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
const transformPath = filePath => {
|
|
50
|
+
return filePath.replace("_BUCK", "BUCK").replace("_gitignore", ".gitignore").replace("_gitattributes", ".gitattributes").replace("_babelrc", ".babelrc").replace("_editorconfig", ".editorconfig").replace("_eslintrc.js", ".eslintrc.js").replace("_flowconfig", ".flowconfig").replace("_buckconfig", ".buckconfig").replace("_prettierrc.js", ".prettierrc.js").replace("_bundle", ".bundle").replace("_ruby-version", ".ruby-version").replace("_node-version", ".node-version").replace("_watchmanconfig", ".watchmanconfig").replace("_xcode.env", ".xcode.env");
|
|
51
|
+
};
|
|
52
|
+
export { generateForPlatform };
|
|
53
|
+
//# sourceMappingURL=prebuildWithoutExpo.mjs.map
|