vxrn 0.1.50 → 0.1.52
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/cjs/exports/bindKeypressInput.js +58 -0
- package/dist/cjs/exports/bindKeypressInput.js.map +6 -0
- package/dist/cjs/exports/bindKeypressInput.native.js +63 -0
- package/dist/cjs/exports/bindKeypressInput.native.js.map +6 -0
- package/dist/cjs/exports/build.js +26 -93
- package/dist/cjs/exports/build.js.map +2 -2
- package/dist/cjs/exports/build.native.js +70 -360
- package/dist/cjs/exports/build.native.js.map +2 -2
- package/dist/cjs/exports/coerceToArray.js +23 -0
- package/dist/cjs/exports/coerceToArray.js.map +6 -0
- package/dist/cjs/exports/connectedNativeClients.js +21 -0
- package/dist/cjs/exports/connectedNativeClients.js.map +6 -0
- package/dist/cjs/exports/dev.js +10 -416
- package/dist/cjs/exports/dev.js.map +2 -2
- package/dist/cjs/exports/dev.native.js +16 -732
- package/dist/cjs/exports/dev.native.js.map +2 -2
- package/dist/cjs/exports/entryRoot.js +69 -0
- package/dist/cjs/exports/entryRoot.js.map +6 -0
- package/dist/cjs/exports/getIndexJsonResponse.js +71 -0
- package/dist/cjs/exports/getIndexJsonResponse.js.map +6 -0
- package/dist/cjs/exports/getIndexJsonResponse.native.js +99 -0
- package/dist/cjs/exports/getIndexJsonResponse.native.js.map +6 -0
- package/dist/cjs/exports/getReactNativeBundle.js +160 -0
- package/dist/cjs/exports/getReactNativeBundle.js.map +6 -0
- package/dist/cjs/exports/getViteServerConfig.js +77 -0
- package/dist/cjs/exports/getViteServerConfig.js.map +6 -0
- package/dist/cjs/exports/getViteServerConfig.native.js +253 -0
- package/dist/cjs/exports/getViteServerConfig.native.js.map +6 -0
- package/dist/cjs/exports/hotUpdateCache.js +21 -0
- package/dist/cjs/exports/hotUpdateCache.js.map +6 -0
- package/dist/cjs/exports/isBuildingNativeBundle.js +21 -0
- package/dist/cjs/exports/isBuildingNativeBundle.js.map +6 -0
- package/dist/cjs/exports/isWithin.js +25 -0
- package/dist/cjs/exports/isWithin.js.map +6 -0
- package/dist/cjs/exports/reactNativeHMRPlugin.js +69 -0
- package/dist/cjs/exports/reactNativeHMRPlugin.js.map +6 -0
- package/dist/cjs/exports/resolveFile.js +28 -0
- package/dist/cjs/exports/resolveFile.js.map +6 -0
- package/dist/cjs/exports/resolveFile.native.js +34 -0
- package/dist/cjs/exports/resolveFile.native.js.map +6 -0
- package/dist/cjs/exports/serve.js +1 -1
- package/dist/cjs/exports/serve.js.map +1 -1
- package/dist/cjs/exports/serve.native.js +1 -1
- package/dist/cjs/exports/serve.native.js.map +1 -1
- package/dist/cjs/exports/swapPrebuiltReactModules.js +100 -0
- package/dist/cjs/exports/swapPrebuiltReactModules.js.map +6 -0
- package/dist/cjs/exports/uniq.js +23 -0
- package/dist/cjs/exports/uniq.js.map +6 -0
- package/dist/cjs/index.js +4 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/index.native.js +8 -0
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/plugins/reactNativeCommonJsPlugin.js.map +1 -1
- package/dist/cjs/plugins/reactNativeCommonJsPlugin.native.js.map +1 -1
- package/dist/cjs/plugins/reactNativeHMRPlugin.js +67 -0
- package/dist/cjs/plugins/reactNativeHMRPlugin.js.map +6 -0
- package/dist/cjs/plugins/reactNativeHMRPlugin.native.js +307 -0
- package/dist/cjs/plugins/reactNativeHMRPlugin.native.js.map +6 -0
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/cjs/utils/bindKeypressInput.js +58 -0
- package/dist/cjs/utils/bindKeypressInput.js.map +6 -0
- package/dist/cjs/utils/bindKeypressInput.native.js +63 -0
- package/dist/cjs/utils/bindKeypressInput.native.js.map +6 -0
- package/dist/cjs/utils/coerceToArray.js +23 -0
- package/dist/cjs/utils/coerceToArray.js.map +6 -0
- package/dist/cjs/utils/coerceToArray.native.js +30 -0
- package/dist/cjs/utils/coerceToArray.native.js.map +6 -0
- package/dist/cjs/utils/connectedNativeClients.js +29 -0
- package/dist/cjs/utils/connectedNativeClients.js.map +6 -0
- package/dist/cjs/utils/connectedNativeClients.native.js +36 -0
- package/dist/cjs/utils/connectedNativeClients.native.js.map +6 -0
- package/dist/cjs/utils/getIndexJsonResponse.js +71 -0
- package/dist/cjs/utils/getIndexJsonResponse.js.map +6 -0
- package/dist/cjs/utils/getIndexJsonResponse.native.js +99 -0
- package/dist/cjs/utils/getIndexJsonResponse.native.js.map +6 -0
- package/dist/cjs/utils/getOptimizeDeps.js +8 -7
- package/dist/cjs/utils/getOptimizeDeps.js.map +1 -1
- package/dist/cjs/utils/getOptimizeDeps.native.js +8 -7
- package/dist/cjs/utils/getOptimizeDeps.native.js.map +1 -1
- package/dist/cjs/utils/getOptionsFilled.js.map +1 -1
- package/dist/cjs/utils/getOptionsFilled.native.js.map +1 -1
- package/dist/cjs/utils/getReactNativeBundle.js +165 -0
- package/dist/cjs/utils/getReactNativeBundle.js.map +6 -0
- package/dist/cjs/utils/getReactNativeBundle.native.js +389 -0
- package/dist/cjs/utils/getReactNativeBundle.native.js.map +6 -0
- package/dist/cjs/utils/getVitePath.js +2 -2
- package/dist/cjs/utils/getVitePath.js.map +2 -2
- package/dist/cjs/utils/getVitePath.native.js +8 -8
- package/dist/cjs/utils/getVitePath.native.js.map +2 -2
- package/dist/cjs/utils/getViteServerConfig.js +80 -0
- package/dist/cjs/utils/getViteServerConfig.js.map +6 -0
- package/dist/cjs/utils/getViteServerConfig.native.js +256 -0
- package/dist/cjs/utils/getViteServerConfig.native.js.map +6 -0
- package/dist/cjs/utils/hotUpdateCache.js +21 -0
- package/dist/cjs/utils/hotUpdateCache.js.map +6 -0
- package/dist/cjs/utils/hotUpdateCache.native.js +26 -0
- package/dist/cjs/utils/hotUpdateCache.native.js.map +6 -0
- package/dist/cjs/utils/isBuildingNativeBundle.js +25 -0
- package/dist/cjs/utils/isBuildingNativeBundle.js.map +6 -0
- package/dist/cjs/utils/isBuildingNativeBundle.native.js +32 -0
- package/dist/cjs/utils/isBuildingNativeBundle.native.js.map +6 -0
- package/dist/cjs/utils/isWithin.js +25 -0
- package/dist/cjs/utils/isWithin.js.map +6 -0
- package/dist/cjs/utils/isWithin.native.js +30 -0
- package/dist/cjs/utils/isWithin.native.js.map +6 -0
- package/dist/cjs/utils/readVXRNConfig.js +15 -18
- package/dist/cjs/utils/readVXRNConfig.js.map +2 -2
- package/dist/cjs/utils/readVXRNConfig.native.js +104 -49
- package/dist/cjs/utils/readVXRNConfig.native.js.map +2 -2
- package/dist/cjs/utils/resolveFile.js +28 -0
- package/dist/cjs/utils/resolveFile.js.map +6 -0
- package/dist/cjs/utils/resolveFile.native.js +34 -0
- package/dist/cjs/utils/resolveFile.native.js.map +6 -0
- package/dist/cjs/utils/swapPrebuiltReactModules.js +108 -0
- package/dist/cjs/utils/swapPrebuiltReactModules.js.map +6 -0
- package/dist/cjs/utils/swapPrebuiltReactModules.native.js +272 -0
- package/dist/cjs/utils/swapPrebuiltReactModules.native.js.map +6 -0
- package/dist/cjs/utils/uniq.js +23 -0
- package/dist/cjs/utils/uniq.js.map +6 -0
- package/dist/cjs/utils/uniq.native.js +59 -0
- package/dist/cjs/utils/uniq.native.js.map +6 -0
- package/dist/esm/exports/bindKeypressInput.js +34 -0
- package/dist/esm/exports/bindKeypressInput.js.map +6 -0
- package/dist/esm/exports/bindKeypressInput.mjs +31 -0
- package/dist/esm/exports/bindKeypressInput.native.js +34 -0
- package/dist/esm/exports/bindKeypressInput.native.js.map +6 -0
- package/dist/esm/exports/build.js +27 -98
- package/dist/esm/exports/build.js.map +1 -1
- package/dist/esm/exports/build.mjs +38 -135
- package/dist/esm/exports/build.native.js +71 -366
- package/dist/esm/exports/build.native.js.map +2 -2
- package/dist/esm/exports/coerceToArray.js +7 -0
- package/dist/esm/exports/coerceToArray.js.map +6 -0
- package/dist/esm/exports/coerceToArray.mjs +4 -0
- package/dist/esm/exports/connectedNativeClients.js +5 -0
- package/dist/esm/exports/connectedNativeClients.js.map +6 -0
- package/dist/esm/exports/connectedNativeClients.mjs +2 -0
- package/dist/esm/exports/dev.js +17 -431
- package/dist/esm/exports/dev.js.map +2 -2
- package/dist/esm/exports/dev.mjs +15 -430
- package/dist/esm/exports/dev.native.js +19 -738
- package/dist/esm/exports/dev.native.js.map +2 -2
- package/dist/esm/exports/entryRoot.js +58 -0
- package/dist/esm/exports/entryRoot.js.map +6 -0
- package/dist/esm/exports/entryRoot.mjs +62 -0
- package/dist/esm/exports/getIndexJsonResponse.js +55 -0
- package/dist/esm/exports/getIndexJsonResponse.js.map +6 -0
- package/dist/esm/exports/getIndexJsonResponse.mjs +71 -0
- package/dist/esm/exports/getIndexJsonResponse.native.js +78 -0
- package/dist/esm/exports/getIndexJsonResponse.native.js.map +6 -0
- package/dist/esm/exports/getReactNativeBundle.js +146 -0
- package/dist/esm/exports/getReactNativeBundle.js.map +6 -0
- package/dist/esm/exports/getReactNativeBundle.mjs +136 -0
- package/dist/esm/exports/getViteServerConfig.js +64 -0
- package/dist/esm/exports/getViteServerConfig.js.map +6 -0
- package/dist/esm/exports/getViteServerConfig.mjs +44 -0
- package/dist/esm/exports/getViteServerConfig.native.js +235 -0
- package/dist/esm/exports/getViteServerConfig.native.js.map +6 -0
- package/dist/esm/exports/hotUpdateCache.js +5 -0
- package/dist/esm/exports/hotUpdateCache.js.map +6 -0
- package/dist/esm/exports/hotUpdateCache.mjs +2 -0
- package/dist/esm/exports/isBuildingNativeBundle.js +5 -0
- package/dist/esm/exports/isBuildingNativeBundle.js.map +6 -0
- package/dist/esm/exports/isBuildingNativeBundle.mjs +2 -0
- package/dist/esm/exports/isWithin.js +9 -0
- package/dist/esm/exports/isWithin.js.map +6 -0
- package/dist/esm/exports/isWithin.mjs +6 -0
- package/dist/esm/exports/reactNativeHMRPlugin.js +58 -0
- package/dist/esm/exports/reactNativeHMRPlugin.js.map +6 -0
- package/dist/esm/exports/reactNativeHMRPlugin.mjs +62 -0
- package/dist/esm/exports/resolveFile.js +12 -0
- package/dist/esm/exports/resolveFile.js.map +6 -0
- package/dist/esm/exports/resolveFile.mjs +9 -0
- package/dist/esm/exports/resolveFile.native.js +12 -0
- package/dist/esm/exports/resolveFile.native.js.map +6 -0
- package/dist/esm/exports/serve.js +1 -1
- package/dist/esm/exports/serve.js.map +1 -1
- package/dist/esm/exports/serve.mjs +1 -1
- package/dist/esm/exports/serve.native.js +1 -1
- package/dist/esm/exports/serve.native.js.map +1 -1
- package/dist/esm/exports/swapPrebuiltReactModules.js +87 -0
- package/dist/esm/exports/swapPrebuiltReactModules.js.map +6 -0
- package/dist/esm/exports/swapPrebuiltReactModules.mjs +73 -0
- package/dist/esm/exports/uniq.js +7 -0
- package/dist/esm/exports/uniq.js.map +6 -0
- package/dist/esm/exports/uniq.mjs +4 -0
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +4 -0
- package/dist/esm/index.native.js +4 -0
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/plugins/reactNativeCommonJsPlugin.js.map +1 -1
- package/dist/esm/plugins/reactNativeCommonJsPlugin.native.js.map +1 -1
- package/dist/esm/plugins/reactNativeHMRPlugin.js +57 -0
- package/dist/esm/plugins/reactNativeHMRPlugin.js.map +6 -0
- package/dist/esm/plugins/reactNativeHMRPlugin.mjs +62 -0
- package/dist/esm/plugins/reactNativeHMRPlugin.native.js +292 -0
- package/dist/esm/plugins/reactNativeHMRPlugin.native.js.map +6 -0
- package/dist/esm/utils/bindKeypressInput.js +34 -0
- package/dist/esm/utils/bindKeypressInput.js.map +6 -0
- package/dist/esm/utils/bindKeypressInput.mjs +31 -0
- package/dist/esm/utils/bindKeypressInput.native.js +34 -0
- package/dist/esm/utils/bindKeypressInput.native.js.map +6 -0
- package/dist/esm/utils/coerceToArray.js +7 -0
- package/dist/esm/utils/coerceToArray.js.map +6 -0
- package/dist/esm/utils/coerceToArray.mjs +4 -0
- package/dist/esm/utils/coerceToArray.native.js +9 -0
- package/dist/esm/utils/coerceToArray.native.js.map +6 -0
- package/dist/esm/utils/connectedNativeClients.js +13 -0
- package/dist/esm/utils/connectedNativeClients.js.map +6 -0
- package/dist/esm/utils/connectedNativeClients.mjs +8 -0
- package/dist/esm/utils/connectedNativeClients.native.js +13 -0
- package/dist/esm/utils/connectedNativeClients.native.js.map +6 -0
- package/dist/esm/utils/getIndexJsonResponse.js +55 -0
- package/dist/esm/utils/getIndexJsonResponse.js.map +6 -0
- package/dist/esm/utils/getIndexJsonResponse.mjs +71 -0
- package/dist/esm/utils/getIndexJsonResponse.native.js +78 -0
- package/dist/esm/utils/getIndexJsonResponse.native.js.map +6 -0
- package/dist/esm/utils/getOptimizeDeps.js +8 -7
- package/dist/esm/utils/getOptimizeDeps.js.map +1 -1
- package/dist/esm/utils/getOptimizeDeps.mjs +2 -2
- package/dist/esm/utils/getOptimizeDeps.native.js +8 -7
- package/dist/esm/utils/getOptimizeDeps.native.js.map +1 -1
- package/dist/esm/utils/getOptionsFilled.js.map +1 -1
- package/dist/esm/utils/getOptionsFilled.native.js.map +1 -1
- package/dist/esm/utils/getReactNativeBundle.js +153 -0
- package/dist/esm/utils/getReactNativeBundle.js.map +6 -0
- package/dist/esm/utils/getReactNativeBundle.mjs +142 -0
- package/dist/esm/utils/getReactNativeBundle.native.js +371 -0
- package/dist/esm/utils/getReactNativeBundle.native.js.map +6 -0
- package/dist/esm/utils/getVitePath.js +2 -2
- package/dist/esm/utils/getVitePath.js.map +1 -1
- package/dist/esm/utils/getVitePath.mjs +2 -2
- package/dist/esm/utils/getVitePath.native.js +8 -8
- package/dist/esm/utils/getVitePath.native.js.map +2 -2
- package/dist/esm/utils/getViteServerConfig.js +69 -0
- package/dist/esm/utils/getViteServerConfig.js.map +6 -0
- package/dist/esm/utils/getViteServerConfig.mjs +49 -0
- package/dist/esm/utils/getViteServerConfig.native.js +240 -0
- package/dist/esm/utils/getViteServerConfig.native.js.map +6 -0
- package/dist/esm/utils/hotUpdateCache.js +5 -0
- package/dist/esm/utils/hotUpdateCache.js.map +6 -0
- package/dist/esm/utils/hotUpdateCache.mjs +2 -0
- package/dist/esm/utils/hotUpdateCache.native.js +5 -0
- package/dist/esm/utils/hotUpdateCache.native.js.map +6 -0
- package/dist/esm/utils/isBuildingNativeBundle.js +9 -0
- package/dist/esm/utils/isBuildingNativeBundle.js.map +6 -0
- package/dist/esm/utils/isBuildingNativeBundle.mjs +5 -0
- package/dist/esm/utils/isBuildingNativeBundle.native.js +10 -0
- package/dist/esm/utils/isBuildingNativeBundle.native.js.map +6 -0
- package/dist/esm/utils/isWithin.js +9 -0
- package/dist/esm/utils/isWithin.js.map +6 -0
- package/dist/esm/utils/isWithin.mjs +6 -0
- package/dist/esm/utils/isWithin.native.js +9 -0
- package/dist/esm/utils/isWithin.native.js.map +6 -0
- package/dist/esm/utils/readVXRNConfig.js +16 -19
- package/dist/esm/utils/readVXRNConfig.js.map +1 -1
- package/dist/esm/utils/readVXRNConfig.mjs +17 -21
- package/dist/esm/utils/readVXRNConfig.native.js +105 -50
- package/dist/esm/utils/readVXRNConfig.native.js.map +2 -2
- package/dist/esm/utils/resolveFile.js +12 -0
- package/dist/esm/utils/resolveFile.js.map +6 -0
- package/dist/esm/utils/resolveFile.mjs +9 -0
- package/dist/esm/utils/resolveFile.native.js +12 -0
- package/dist/esm/utils/resolveFile.native.js.map +6 -0
- package/dist/esm/utils/swapPrebuiltReactModules.js +89 -0
- package/dist/esm/utils/swapPrebuiltReactModules.js.map +6 -0
- package/dist/esm/utils/swapPrebuiltReactModules.mjs +75 -0
- package/dist/esm/utils/swapPrebuiltReactModules.native.js +248 -0
- package/dist/esm/utils/swapPrebuiltReactModules.native.js.map +6 -0
- package/dist/esm/utils/uniq.js +7 -0
- package/dist/esm/utils/uniq.js.map +6 -0
- package/dist/esm/utils/uniq.mjs +4 -0
- package/dist/esm/utils/uniq.native.js +38 -0
- package/dist/esm/utils/uniq.native.js.map +6 -0
- package/package.json +8 -8
- package/src/exports/build.ts +46 -183
- package/src/exports/dev.ts +18 -646
- package/src/exports/serve.ts +4 -0
- package/src/index.ts +5 -0
- package/src/plugins/reactNativeCommonJsPlugin.ts +0 -2
- package/src/plugins/reactNativeHMRPlugin.ts +105 -0
- package/src/types.ts +9 -0
- package/src/utils/bindKeypressInput.ts +46 -0
- package/src/utils/coerceToArray.ts +3 -0
- package/src/utils/connectedNativeClients.ts +9 -0
- package/src/utils/getIndexJsonResponse.ts +52 -0
- package/src/utils/getOptimizeDeps.ts +9 -8
- package/src/utils/getOptionsFilled.ts +0 -1
- package/src/utils/getReactNativeBundle.ts +228 -0
- package/src/utils/getVitePath.ts +3 -3
- package/src/utils/getViteServerConfig.ts +104 -0
- package/src/utils/hotUpdateCache.ts +1 -0
- package/src/utils/isBuildingNativeBundle.ts +7 -0
- package/src/utils/isWithin.ts +6 -0
- package/src/utils/readVXRNConfig.ts +81 -25
- package/src/utils/resolveFile.ts +9 -0
- package/src/utils/swapPrebuiltReactModules.ts +126 -0
- package/src/utils/uniq.ts +3 -0
- package/types/exports/bindKeypressInput.d.ts +2 -0
- package/types/exports/coerceToArray.d.ts +2 -0
- package/types/exports/connectedNativeClients.d.ts +2 -0
- package/types/exports/dev.d.ts +0 -2
- package/types/exports/entryRoot.d.ts +11 -0
- package/types/exports/getIndexJsonResponse.d.ts +68 -0
- package/types/exports/getReactNativeBundle.d.ts +3 -0
- package/types/exports/getViteServerConfig.d.ts +4 -0
- package/types/exports/hotUpdateCache.d.ts +2 -0
- package/types/exports/isBuildingNativeBundle.d.ts +2 -0
- package/types/exports/isWithin.d.ts +2 -0
- package/types/exports/reactNativeHMRPlugin.d.ts +11 -0
- package/types/exports/resolveFile.d.ts +2 -0
- package/types/exports/swapPrebuiltReactModules.d.ts +7 -0
- package/types/exports/uniq.d.ts +2 -0
- package/types/index.d.ts +4 -0
- package/types/plugins/reactNativeHMRPlugin.d.ts +10 -0
- package/types/types.d.ts +4 -0
- package/types/utils/bindKeypressInput.d.ts +2 -0
- package/types/utils/coerceToArray.d.ts +2 -0
- package/types/utils/connectedNativeClients.d.ts +4 -0
- package/types/utils/getIndexJsonResponse.d.ts +68 -0
- package/types/utils/getOptionsFilled.d.ts +2 -0
- package/types/utils/getReactNativeBundle.d.ts +4 -0
- package/types/utils/getViteServerConfig.d.ts +4 -0
- package/types/utils/hotUpdateCache.d.ts +2 -0
- package/types/utils/isBuildingNativeBundle.d.ts +3 -0
- package/types/utils/isWithin.d.ts +2 -0
- package/types/utils/resolveFile.d.ts +2 -0
- package/types/utils/swapPrebuiltReactModules.d.ts +7 -0
- package/types/utils/uniq.d.ts +2 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { swcTransform, transformForBuild } from "@vxrn/vite-native-swc";
|
|
2
|
+
import { parse } from "es-module-lexer";
|
|
3
|
+
import { getVitePath } from "../utils/getVitePath.mjs";
|
|
4
|
+
import { connectedNativeClients } from "../utils/connectedNativeClients.mjs";
|
|
5
|
+
import { hotUpdateCache } from "./hotUpdateCache.mjs";
|
|
6
|
+
import { isWithin } from "../utils/isWithin.mjs";
|
|
7
|
+
let entryRoot = "";
|
|
8
|
+
function reactNativeHMRPlugin({
|
|
9
|
+
root
|
|
10
|
+
}) {
|
|
11
|
+
return {
|
|
12
|
+
name: "client-transform",
|
|
13
|
+
async handleHotUpdate({
|
|
14
|
+
read,
|
|
15
|
+
modules,
|
|
16
|
+
file
|
|
17
|
+
}) {
|
|
18
|
+
try {
|
|
19
|
+
if (!isWithin(root, file) || !connectedNativeClients) return;
|
|
20
|
+
const [module] = modules;
|
|
21
|
+
if (!module) return;
|
|
22
|
+
const id = module?.url || file.replace(root, ""),
|
|
23
|
+
code = await read();
|
|
24
|
+
if (code.startsWith("'use strict';") || !code) return;
|
|
25
|
+
let source = code;
|
|
26
|
+
source = (await transformForBuild(id, source))?.code || "";
|
|
27
|
+
const importsMap = {},
|
|
28
|
+
[imports] = parse(source);
|
|
29
|
+
let accumulatedSliceOffset = 0;
|
|
30
|
+
for (const specifier of imports) {
|
|
31
|
+
const {
|
|
32
|
+
n: importName,
|
|
33
|
+
s: start
|
|
34
|
+
} = specifier;
|
|
35
|
+
if (importName) {
|
|
36
|
+
const id2 = await getVitePath(entryRoot, file, importName);
|
|
37
|
+
if (!id2) {
|
|
38
|
+
console.warn("???");
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
importsMap[id2] = id2.replace(/^(\.\.\/)+/, "");
|
|
42
|
+
const len = importName.length,
|
|
43
|
+
extraLen = id2.length - len;
|
|
44
|
+
source = source.slice(0, start + accumulatedSliceOffset) + id2 + source.slice(start + accumulatedSliceOffset + len), accumulatedSliceOffset += extraLen;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
if (source = (await swcTransform(id, source, {
|
|
48
|
+
mode: "serve-cjs"
|
|
49
|
+
}))?.code || "", !source) throw "\u274C no source";
|
|
50
|
+
importsMap.currentPath = id;
|
|
51
|
+
const hotUpdateSource = `exports = ((exports) => {
|
|
52
|
+
const require = createRequire(${JSON.stringify(importsMap, null, 2)})
|
|
53
|
+
${source.replace("import.meta.hot.accept(() => {})", "").replaceAll(/import.meta.glob\(.*\)/gi, "globalThis['__importMetaGlobbed'] || {}")};
|
|
54
|
+
return exports })({})`;
|
|
55
|
+
process.env.DEBUG && console.info("Sending hot update", hotUpdateSource), hotUpdateCache.set(id, hotUpdateSource);
|
|
56
|
+
} catch (err) {
|
|
57
|
+
console.error("Error processing hmr update:", err);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
export { entryRoot, reactNativeHMRPlugin };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { resolve as importMetaResolve } from "import-meta-resolve";
|
|
2
|
+
const resolveFile = (path) => {
|
|
3
|
+
try {
|
|
4
|
+
return importMetaResolve(path, import.meta.url).replace("file://", "");
|
|
5
|
+
} catch {
|
|
6
|
+
return require.resolve(path);
|
|
7
|
+
}
|
|
8
|
+
};
|
|
9
|
+
export {
|
|
10
|
+
resolveFile
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=resolveFile.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/exports/resolveFile.ts"],
|
|
4
|
+
"mappings": "AAAA,SAAS,WAAW,yBAAyB;AAEtC,MAAM,cAAc,CAAC,SAAiB;AAC3C,MAAI;AACF,WAAO,kBAAkB,MAAM,YAAY,GAAG,EAAE,QAAQ,WAAW,EAAE;AAAA,EACvE,QAAQ;AACN,WAAO,QAAQ,QAAQ,IAAI;AAAA,EAC7B;AACF;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { resolve as importMetaResolve } from "import-meta-resolve";
|
|
2
|
+
var resolveFile = function(path) {
|
|
3
|
+
try {
|
|
4
|
+
return importMetaResolve(path, import.meta.url).replace("file://", "");
|
|
5
|
+
} catch {
|
|
6
|
+
return require.resolve(path);
|
|
7
|
+
}
|
|
8
|
+
};
|
|
9
|
+
export {
|
|
10
|
+
resolveFile
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=resolveFile.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/exports/Users/n8/vxrn/packages/vxrn/src/exports/resolveFile.ts"],
|
|
4
|
+
"mappings": "AAAA,SAASA,WAAWC,yBAAyB;AAEtC,IAAMC,cAAc,SAACC,MAAAA;AAC1B,MAAI;AACF,WAAOF,kBAAkBE,MAAM,YAAYC,GAAG,EAAEC,QAAQ,WAAW,EAAA;EACrE,QAAQ;AACN,WAAOC,QAAQN,QAAQG,IAAAA;EACzB;AACF;",
|
|
5
|
+
"names": ["resolve", "importMetaResolve", "resolveFile", "path", "url", "replace", "require"]
|
|
6
|
+
}
|
|
@@ -6,7 +6,7 @@ const serve = async (optionsIn) => {
|
|
|
6
6
|
const options = await getOptionsFilled(optionsIn), app = createApp(), sirvStaticMiddleware = sirv("dist/static", {
|
|
7
7
|
gzip: !0
|
|
8
8
|
});
|
|
9
|
-
app.use(
|
|
9
|
+
options.serve && options.serve(options, app), app.use(
|
|
10
10
|
defineEventHandler(async ({ node: { req, res } }) => {
|
|
11
11
|
await new Promise((response) => {
|
|
12
12
|
sirvStaticMiddleware(req, res, () => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/exports/serve.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,oBAAoB;AAC7B,OAAO,UAAU;AAEjB,SAAS,wBAAwB;AACjC,SAAS,WAAW,oBAAoB,sBAAsB;AAEvD,MAAM,QAAQ,OAAO,cAA0B;AACpD,QAAM,UAAU,MAAM,iBAAiB,SAAS,GAE1C,MAAM,UAAU,GAEhB,uBAAuB,KAAK,eAAe;AAAA,IAC/C,MAAM;AAAA,EACR,CAAC;AAED,
|
|
4
|
+
"mappings": "AAAA,SAAS,oBAAoB;AAC7B,OAAO,UAAU;AAEjB,SAAS,wBAAwB;AACjC,SAAS,WAAW,oBAAoB,sBAAsB;AAEvD,MAAM,QAAQ,OAAO,cAA0B;AACpD,QAAM,UAAU,MAAM,iBAAiB,SAAS,GAE1C,MAAM,UAAU,GAEhB,uBAAuB,KAAK,eAAe;AAAA,IAC/C,MAAM;AAAA,EACR,CAAC;AAED,EAAI,QAAQ,SACV,QAAQ,MAAM,SAAS,GAAG,GAG5B,IAAI;AAAA,IACF,mBAAmB,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,EAAE,MAAM;AACnD,YAAM,IAAI,QAAc,CAAC,aAAa;AACpC,6BAAqB,KAAK,KAAK,MAAM;AACnC,mBAAS;AAAA,QACX,CAAC;AAAA,MACH,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAEA,QAAM,iBAAiB,KAAK,eAAe;AAAA,IACzC,MAAM;AAAA,EACR,CAAC;AAED,MAAI;AAAA,IACF,mBAAmB,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,EAAE,MAAM;AACnD,YAAM,IAAI,QAAc,CAAC,aAAa;AACpC,uBAAe,KAAK,KAAK,MAAM;AAC7B,mBAAS;AAAA,QACX,CAAC;AAAA,MACH,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAEA,QAAM,SAAS,aAAa,eAAe,GAAG,CAAC;AAC/C,SAAO,OAAO,IAAI,GAClB,QAAQ,KAAK,oCAAoC,GAEjD,MAAM,IAAI,QAAc,CAAC,QAAQ;AAC/B,WAAO,GAAG,SAAS,MAAM;AACvB,UAAI;AAAA,IACN,CAAC;AAAA,EACH,CAAC;AACH;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -130,7 +130,7 @@ var serve = function() {
|
|
|
130
130
|
case 1:
|
|
131
131
|
return options = _state.sent(), app = createApp(), sirvStaticMiddleware = sirv("dist/static", {
|
|
132
132
|
gzip: !0
|
|
133
|
-
}), app.use(defineEventHandler(function() {
|
|
133
|
+
}), options.serve && options.serve(options, app), app.use(defineEventHandler(function() {
|
|
134
134
|
var _ref2 = _async_to_generator(function(param) {
|
|
135
135
|
var _param_node, req, res;
|
|
136
136
|
return _ts_generator(this, function(_state2) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/exports/Users/n8/vxrn/packages/vxrn/src/exports/serve.ts"],
|
|
4
|
-
"mappings": "AAAA,SAASA,oBAAoB;AAC7B,OAAOC,UAAU;AAEjB,SAASC,wBAAwB;AACjC,SAASC,WAAWC,oBAAoBC,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEvD,IAAMC,QAAAA,WAAAA;aAAQ,oBAAA,SAAOC,WAAAA;QACpBC,SAEAC,KAEAC,
|
|
4
|
+
"mappings": "AAAA,SAASA,oBAAoB;AAC7B,OAAOC,UAAU;AAEjB,SAASC,wBAAwB;AACjC,SAASC,WAAWC,oBAAoBC,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEvD,IAAMC,QAAAA,WAAAA;aAAQ,oBAAA,SAAOC,WAAAA;QACpBC,SAEAC,KAEAC,sBAkBAC,gBAcAC;;;;AApCU,iBAAA;;YAAMV,iBAAiBK,SAAAA;;;AAAjCC,2BAAU,OAAA,KAAA,GAEVC,MAAMN,UAAAA,GAENO,uBAAuBT,KAAK,eAAe;YAC/CY,MAAM;UACR,CAAA,GAEIL,QAAQF,SACVE,QAAQF,MAAME,SAASC,GAAAA,GAGzBA,IAAIK,IACFV,mBAAAA,WAAAA;wBAAmB,oBAAA,SAAA,OAAA;+BAAiBW,KAAKC;;;;+CAAbC,MAAQF,MAAAA,YAAAA,KAAKC,MAAAA,YAAAA,KACvC;;sBAAM,IAAIE,QAAc,SAACC,UAAAA;AACvBT,6CAAqBK,KAAKC,KAAK,WAAA;AAC7BG,mCAAAA;wBACF,CAAA;sBACF,CAAA;;;AAJA,2BAAAC,QAAA,KAAA;;;;;YAKF,CAAA;;;;iBAGIT,iBAAiBV,KAAK,eAAe;YACzCY,MAAM;UACR,CAAA,GAEAJ,IAAIK,IACFV,mBAAAA,WAAAA;wBAAmB,oBAAA,SAAA,OAAA;+BAAiBW,KAAKC;;;;+CAAbC,MAAQF,MAAAA,YAAAA,KAAKC,MAAAA,YAAAA,KACvC;;sBAAM,IAAIE,QAAc,SAACC,UAAAA;AACvBR,uCAAeI,KAAKC,KAAK,WAAA;AACvBG,mCAAAA;wBACF,CAAA;sBACF,CAAA;;;AAJA,2BAAAC,QAAA,KAAA;;;;;YAKF,CAAA;;;;iBAGIR,SAASZ,aAAaK,eAAeI,GAAAA,CAAAA,GAC3CG,OAAOS,OAAO,IAAA,GACdC,QAAQC,KAAM,oCAAA,GAEd;;YAAM,IAAIL,QAAc,SAACF,KAAAA;AACvBJ,qBAAOY,GAAG,SAAS,WAAA;AACjBR,oBAAAA;cACF,CAAA;YACF,CAAA;;;AAJA,wBAAA,KAAA;;;;;EAKF,CAAA;kBA9C4BT,WAAAA;;;;",
|
|
5
5
|
"names": ["createServer", "sirv", "getOptionsFilled", "createApp", "defineEventHandler", "toNodeListener", "serve", "optionsIn", "options", "app", "sirvStaticMiddleware", "sirvMiddleware", "server", "gzip", "use", "req", "res", "node", "Promise", "response", "_state", "listen", "console", "info", "on"]
|
|
6
6
|
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { readFile } from "node:fs/promises";
|
|
2
|
+
import { dirname, join, resolve } from "node:path";
|
|
3
|
+
import { buildReact, buildReactJSX, buildReactNative } from "@vxrn/react-native-prebuilt";
|
|
4
|
+
import { resolveFile, isBuildingNativeBundle } from "./dev";
|
|
5
|
+
async function swapPrebuiltReactModules(cacheDir) {
|
|
6
|
+
const prebuilds = {
|
|
7
|
+
reactJSX: join(cacheDir, "react-jsx-runtime.js"),
|
|
8
|
+
react: join(cacheDir, "react.js"),
|
|
9
|
+
reactNative: join(cacheDir, "react-native.js")
|
|
10
|
+
};
|
|
11
|
+
await pathExists(prebuilds.reactNative) || (console.info("Pre-building react, react-native react/jsx-runtime (one time cost)..."), await Promise.all([
|
|
12
|
+
buildReactNative({
|
|
13
|
+
entryPoints: [resolveFile("react-native")],
|
|
14
|
+
outfile: prebuilds.reactNative
|
|
15
|
+
}),
|
|
16
|
+
buildReact({
|
|
17
|
+
entryPoints: [resolveFile("react")],
|
|
18
|
+
outfile: prebuilds.react
|
|
19
|
+
}),
|
|
20
|
+
buildReactJSX({
|
|
21
|
+
entryPoints: [resolveFile("react/jsx-dev-runtime")],
|
|
22
|
+
outfile: prebuilds.reactJSX
|
|
23
|
+
})
|
|
24
|
+
]));
|
|
25
|
+
const jsxRuntime = {
|
|
26
|
+
// alias: 'virtual:react-jsx',
|
|
27
|
+
alias: prebuilds.reactJSX,
|
|
28
|
+
contents: await readFile(prebuilds.reactJSX, "utf-8")
|
|
29
|
+
}, virtualModules = {
|
|
30
|
+
"react-native": {
|
|
31
|
+
// alias: 'virtual:react-native',
|
|
32
|
+
alias: prebuilds.reactNative,
|
|
33
|
+
contents: await readFile(prebuilds.reactNative, "utf-8")
|
|
34
|
+
},
|
|
35
|
+
react: {
|
|
36
|
+
// alias: 'virtual:react',
|
|
37
|
+
alias: prebuilds.react,
|
|
38
|
+
contents: await readFile(prebuilds.react, "utf-8")
|
|
39
|
+
},
|
|
40
|
+
"react/jsx-runtime": jsxRuntime,
|
|
41
|
+
"react/jsx-dev-runtime": jsxRuntime
|
|
42
|
+
};
|
|
43
|
+
return {
|
|
44
|
+
name: "swap-react-native",
|
|
45
|
+
enforce: "pre",
|
|
46
|
+
resolveId(id, importer = "") {
|
|
47
|
+
if (id.startsWith("react-native/Libraries"))
|
|
48
|
+
return `virtual:rn-internals:${id}`;
|
|
49
|
+
if (id === "react-native-web")
|
|
50
|
+
return prebuilds.reactNative;
|
|
51
|
+
for (const targetId in virtualModules)
|
|
52
|
+
if (id === targetId || id.includes(`node_modules/${targetId}/`))
|
|
53
|
+
return virtualModules[targetId].alias;
|
|
54
|
+
if (isBuildingNativeBundle && id[0] === ".") {
|
|
55
|
+
const absolutePath = resolve(dirname(importer), id), nativePath = absolutePath.replace(/(.m?js)/, ".native.js");
|
|
56
|
+
if (nativePath === id)
|
|
57
|
+
return;
|
|
58
|
+
try {
|
|
59
|
+
const directoryPath = absolutePath + "/index.native.js", directoryNonNativePath = absolutePath + "/index.js";
|
|
60
|
+
if (pathExistsSync(directoryPath))
|
|
61
|
+
return directoryPath;
|
|
62
|
+
if (pathExistsSync(directoryNonNativePath))
|
|
63
|
+
return directoryNonNativePath;
|
|
64
|
+
if (pathExistsSync(nativePath))
|
|
65
|
+
return nativePath;
|
|
66
|
+
} catch (err) {
|
|
67
|
+
console.warn("error probably fine", err);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
load(id) {
|
|
72
|
+
if (id.startsWith("virtual:rn-internals"))
|
|
73
|
+
return `const ___val = __cachedModules["${id.replace("virtual:rn-internals:", "")}"]
|
|
74
|
+
const ___defaultVal = ___val ? ___val.default || ___val : ___val
|
|
75
|
+
export default ___defaultVal`;
|
|
76
|
+
for (const targetId in virtualModules) {
|
|
77
|
+
const info = virtualModules[targetId];
|
|
78
|
+
if (id === info.alias)
|
|
79
|
+
return info.contents;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
export {
|
|
85
|
+
swapPrebuiltReactModules
|
|
86
|
+
};
|
|
87
|
+
//# sourceMappingURL=swapPrebuiltReactModules.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/exports/swapPrebuiltReactModules.ts"],
|
|
4
|
+
"mappings": "AAAA,SAAS,gBAAgB;AACzB,SAAS,SAAS,MAAM,eAAe;AACvC,SAAS,YAAY,eAAe,wBAAwB;AAE5D,SAAS,aAAa,8BAA8B;AAKpD,eAAsB,yBAAyB,UAAkB;AAC/D,QAAM,YAAY;AAAA,IAChB,UAAU,KAAK,UAAU,sBAAsB;AAAA,IAC/C,OAAO,KAAK,UAAU,UAAU;AAAA,IAChC,aAAa,KAAK,UAAU,iBAAiB;AAAA,EAC/C;AAEA,EAAM,MAAM,WAAW,UAAU,WAAW,MAC1C,QAAQ,KAAK,uEAAuE,GACpF,MAAM,QAAQ,IAAI;AAAA,IAChB,iBAAiB;AAAA,MACf,aAAa,CAAC,YAAY,cAAc,CAAC;AAAA,MACzC,SAAS,UAAU;AAAA,IACrB,CAAC;AAAA,IACD,WAAW;AAAA,MACT,aAAa,CAAC,YAAY,OAAO,CAAC;AAAA,MAClC,SAAS,UAAU;AAAA,IACrB,CAAC;AAAA,IACD,cAAc;AAAA,MACZ,aAAa,CAAC,YAAY,uBAAuB,CAAC;AAAA,MAClD,SAAS,UAAU;AAAA,IACrB,CAAC;AAAA,EACH,CAAC;AAIH,QAAM,aAAa;AAAA;AAAA,IAEjB,OAAO,UAAU;AAAA,IACjB,UAAU,MAAM,SAAS,UAAU,UAAU,OAAO;AAAA,EACtD,GAEM,iBAAiB;AAAA,IACrB,gBAAgB;AAAA;AAAA,MAEd,OAAO,UAAU;AAAA,MACjB,UAAU,MAAM,SAAS,UAAU,aAAa,OAAO;AAAA,IACzD;AAAA,IACA,OAAO;AAAA;AAAA,MAEL,OAAO,UAAU;AAAA,MACjB,UAAU,MAAM,SAAS,UAAU,OAAO,OAAO;AAAA,IACnD;AAAA,IACA,qBAAqB;AAAA,IACrB,yBAAyB;AAAA,EAC3B;AAEA,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IAET,UAAU,IAAI,WAAW,IAAI;AAC3B,UAAI,GAAG,WAAW,wBAAwB;AACxC,eAAO,wBAAwB,EAAE;AAInC,UAAI,OAAO;AACT,eAAO,UAAU;AAGnB,iBAAW,YAAY;AACrB,YAAI,OAAO,YAAY,GAAG,SAAS,gBAAgB,QAAQ,GAAG;AAG5D,iBAFa,eAAe,QAAQ,EAExB;AAQhB,UAAI,0BACE,GAAG,CAAC,MAAM,KAAK;AACjB,cAAM,eAAe,QAAQ,QAAQ,QAAQ,GAAG,EAAE,GAC5C,aAAa,aAAa,QAAQ,WAAW,YAAY;AAC/D,YAAI,eAAe;AAAI;AACvB,YAAI;AACF,gBAAM,gBAAgB,eAAe,oBAC/B,yBAAyB,eAAe;AAC9C,cAAI,eAAe,aAAa;AAC9B,mBAAO;AAET,cAAI,eAAe,sBAAsB;AACvC,mBAAO;AAET,cAAI,eAAe,UAAU;AAC3B,mBAAO;AAAA,QAEX,SAAS,KAAK;AACZ,kBAAQ,KAAK,uBAAuB,GAAG;AAAA,QACzC;AAAA,MACF;AAAA,IAEJ;AAAA,IAEA,KAAK,IAAI;AACP,UAAI,GAAG,WAAW,sBAAsB;AAKtC,eAHU,mCADI,GAAG,QAAQ,yBAAyB,EAAE,CACF;AAAA;AAAA;AAMpD,iBAAW,YAAY,gBAAgB;AACrC,cAAM,OAAO,eAAe,QAAuC;AACnE,YAAI,OAAO,KAAK;AACd,iBAAO,KAAK;AAAA,MAEhB;AAAA,IACF;AAAA,EACF;AACF;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { readFile } from "node:fs/promises";
|
|
2
|
+
import { dirname, join, resolve } from "node:path";
|
|
3
|
+
import { buildReact, buildReactJSX, buildReactNative } from "@vxrn/react-native-prebuilt";
|
|
4
|
+
import { resolveFile, isBuildingNativeBundle } from "./dev.mjs";
|
|
5
|
+
async function swapPrebuiltReactModules(cacheDir) {
|
|
6
|
+
const prebuilds = {
|
|
7
|
+
reactJSX: join(cacheDir, "react-jsx-runtime.js"),
|
|
8
|
+
react: join(cacheDir, "react.js"),
|
|
9
|
+
reactNative: join(cacheDir, "react-native.js")
|
|
10
|
+
};
|
|
11
|
+
(await pathExists(prebuilds.reactNative)) || (console.info("Pre-building react, react-native react/jsx-runtime (one time cost)..."), await Promise.all([buildReactNative({
|
|
12
|
+
entryPoints: [resolveFile("react-native")],
|
|
13
|
+
outfile: prebuilds.reactNative
|
|
14
|
+
}), buildReact({
|
|
15
|
+
entryPoints: [resolveFile("react")],
|
|
16
|
+
outfile: prebuilds.react
|
|
17
|
+
}), buildReactJSX({
|
|
18
|
+
entryPoints: [resolveFile("react/jsx-dev-runtime")],
|
|
19
|
+
outfile: prebuilds.reactJSX
|
|
20
|
+
})]));
|
|
21
|
+
const jsxRuntime = {
|
|
22
|
+
// alias: 'virtual:react-jsx',
|
|
23
|
+
alias: prebuilds.reactJSX,
|
|
24
|
+
contents: await readFile(prebuilds.reactJSX, "utf-8")
|
|
25
|
+
},
|
|
26
|
+
virtualModules = {
|
|
27
|
+
"react-native": {
|
|
28
|
+
// alias: 'virtual:react-native',
|
|
29
|
+
alias: prebuilds.reactNative,
|
|
30
|
+
contents: await readFile(prebuilds.reactNative, "utf-8")
|
|
31
|
+
},
|
|
32
|
+
react: {
|
|
33
|
+
// alias: 'virtual:react',
|
|
34
|
+
alias: prebuilds.react,
|
|
35
|
+
contents: await readFile(prebuilds.react, "utf-8")
|
|
36
|
+
},
|
|
37
|
+
"react/jsx-runtime": jsxRuntime,
|
|
38
|
+
"react/jsx-dev-runtime": jsxRuntime
|
|
39
|
+
};
|
|
40
|
+
return {
|
|
41
|
+
name: "swap-react-native",
|
|
42
|
+
enforce: "pre",
|
|
43
|
+
resolveId(id, importer = "") {
|
|
44
|
+
if (id.startsWith("react-native/Libraries")) return `virtual:rn-internals:${id}`;
|
|
45
|
+
if (id === "react-native-web") return prebuilds.reactNative;
|
|
46
|
+
for (const targetId in virtualModules) if (id === targetId || id.includes(`node_modules/${targetId}/`)) return virtualModules[targetId].alias;
|
|
47
|
+
if (isBuildingNativeBundle && id[0] === ".") {
|
|
48
|
+
const absolutePath = resolve(dirname(importer), id),
|
|
49
|
+
nativePath = absolutePath.replace(/(.m?js)/, ".native.js");
|
|
50
|
+
if (nativePath === id) return;
|
|
51
|
+
try {
|
|
52
|
+
const directoryPath = absolutePath + "/index.native.js",
|
|
53
|
+
directoryNonNativePath = absolutePath + "/index.js";
|
|
54
|
+
if (pathExistsSync(directoryPath)) return directoryPath;
|
|
55
|
+
if (pathExistsSync(directoryNonNativePath)) return directoryNonNativePath;
|
|
56
|
+
if (pathExistsSync(nativePath)) return nativePath;
|
|
57
|
+
} catch (err) {
|
|
58
|
+
console.warn("error probably fine", err);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
load(id) {
|
|
63
|
+
if (id.startsWith("virtual:rn-internals")) return `const ___val = __cachedModules["${id.replace("virtual:rn-internals:", "")}"]
|
|
64
|
+
const ___defaultVal = ___val ? ___val.default || ___val : ___val
|
|
65
|
+
export default ___defaultVal`;
|
|
66
|
+
for (const targetId in virtualModules) {
|
|
67
|
+
const info = virtualModules[targetId];
|
|
68
|
+
if (id === info.alias) return info.contents;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
export { swapPrebuiltReactModules };
|
package/dist/esm/index.js
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { build } from "./exports/build";
|
|
2
2
|
import { dev } from "./exports/dev";
|
|
3
|
+
export * from "./utils/getHtml";
|
|
4
|
+
export * from "./utils/getOptionsFilled";
|
|
5
|
+
export * from "./utils/getOptimizeDeps";
|
|
6
|
+
export * from "./utils/getBaseViteConfig";
|
|
3
7
|
export * from "./types";
|
|
4
8
|
export {
|
|
5
9
|
build,
|
package/dist/esm/index.js.map
CHANGED
package/dist/esm/index.mjs
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { build } from "./exports/build.mjs";
|
|
2
2
|
import { dev } from "./exports/dev.mjs";
|
|
3
|
+
export * from "./utils/getHtml.mjs";
|
|
4
|
+
export * from "./utils/getOptionsFilled.mjs";
|
|
5
|
+
export * from "./utils/getOptimizeDeps.mjs";
|
|
6
|
+
export * from "./utils/getBaseViteConfig.mjs";
|
|
3
7
|
export * from "./types.mjs";
|
|
4
8
|
export { build, dev };
|
package/dist/esm/index.native.js
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { build } from "./exports/build";
|
|
2
2
|
import { dev } from "./exports/dev";
|
|
3
|
+
export * from "./utils/getHtml";
|
|
4
|
+
export * from "./utils/getOptionsFilled";
|
|
5
|
+
export * from "./utils/getOptimizeDeps";
|
|
6
|
+
export * from "./utils/getBaseViteConfig";
|
|
3
7
|
export * from "./types";
|
|
4
8
|
export {
|
|
5
9
|
build,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Users/n8/vxrn/packages/vxrn/src/index.ts"],
|
|
4
|
-
"mappings": "AAAA,SAASA,aAAa;AACtB,SAASC,WAAW;AAEpB,cAAc;",
|
|
4
|
+
"mappings": "AAAA,SAASA,aAAa;AACtB,SAASC,WAAW;AAEpB,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd,cAAc;",
|
|
5
5
|
"names": ["build", "dev"]
|
|
6
6
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/plugins/reactNativeCommonJsPlugin.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,eAAe;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/plugins/Users/n8/vxrn/packages/vxrn/src/plugins/reactNativeCommonJsPlugin.ts"],
|
|
4
|
-
"mappings": "AAAA,SAASA,eAAe;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["dirname", "parse", "getVitePath", "extensions", "reactNativeCommonJsPlugin", "options", "name", "enforce", "config", "updateOutputOptions", "o", "define", "JSON", "stringify", "port", "build", "modulePreload", "polyfill", "assetsInlineLimit", "chunkSizeWarningLimit", "cssCodeSplit", "reportCompressedSize", "base", "undefined", "resolve", "conditions", "optimizeDeps", "noDiscovery", "include", "esbuildOptions", "resolveExtensions", "plugins", "loader", "push", "setup", "onResolve", "filter", "path", "namespace", "external", "rollupOptions", "output", "Array", "isArray", "mode", "transform", "code", "id", "imports", "exports", "forceExports", "counts", "imp", "err", "n", "root", "_state", "map", "e", "out", "ln", "join", "console", "warn", "process", "env", "DEBUG", "info", "preserveModules", "entryFileNames", "chunkInfo", "manualChunks"]
|
|
6
6
|
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { swcTransform, transformForBuild } from "@vxrn/vite-native-swc";
|
|
2
|
+
import { parse } from "es-module-lexer";
|
|
3
|
+
import { connectedNativeClients } from "../utils/connectedNativeClients";
|
|
4
|
+
import { entryRoot } from "../utils/getReactNativeBundle";
|
|
5
|
+
import { getVitePath } from "../utils/getVitePath";
|
|
6
|
+
import { hotUpdateCache } from "../utils/hotUpdateCache";
|
|
7
|
+
import { isWithin } from "../utils/isWithin";
|
|
8
|
+
function reactNativeHMRPlugin({ root }) {
|
|
9
|
+
return {
|
|
10
|
+
name: "client-transform",
|
|
11
|
+
async handleHotUpdate({ read, modules, file }) {
|
|
12
|
+
try {
|
|
13
|
+
if (!isWithin(root, file) || !connectedNativeClients)
|
|
14
|
+
return;
|
|
15
|
+
const [module] = modules;
|
|
16
|
+
if (!module)
|
|
17
|
+
return;
|
|
18
|
+
const id = module?.url || file.replace(root, ""), code = await read();
|
|
19
|
+
if (code.startsWith("'use strict';") || !code)
|
|
20
|
+
return;
|
|
21
|
+
let source = code;
|
|
22
|
+
source = (await transformForBuild(id, source))?.code || "";
|
|
23
|
+
const importsMap = {}, [imports] = parse(source);
|
|
24
|
+
let accumulatedSliceOffset = 0;
|
|
25
|
+
for (const specifier of imports) {
|
|
26
|
+
const { n: importName, s: start } = specifier;
|
|
27
|
+
if (importName) {
|
|
28
|
+
const id2 = await getVitePath(entryRoot, file, importName);
|
|
29
|
+
if (!id2) {
|
|
30
|
+
console.warn("???");
|
|
31
|
+
continue;
|
|
32
|
+
}
|
|
33
|
+
importsMap[id2] = id2.replace(/^(\.\.\/)+/, "");
|
|
34
|
+
const len = importName.length, extraLen = id2.length - len;
|
|
35
|
+
source = source.slice(0, start + accumulatedSliceOffset) + id2 + source.slice(start + accumulatedSliceOffset + len), accumulatedSliceOffset += extraLen;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
if (source = (await swcTransform(id, source, {
|
|
39
|
+
mode: "serve-cjs"
|
|
40
|
+
}))?.code || "", !source)
|
|
41
|
+
throw "\u274C no source";
|
|
42
|
+
importsMap.currentPath = id;
|
|
43
|
+
const hotUpdateSource = `exports = ((exports) => {
|
|
44
|
+
const require = createRequire(${JSON.stringify(importsMap, null, 2)})
|
|
45
|
+
${source.replace("import.meta.hot.accept(() => {})", "").replaceAll(/import.meta.glob\(.*\)/gi, "globalThis['__importMetaGlobbed'] || {}")};
|
|
46
|
+
return exports })({})`;
|
|
47
|
+
process.env.DEBUG && console.info("Sending hot update", hotUpdateSource), hotUpdateCache.set(id, hotUpdateSource);
|
|
48
|
+
} catch (err) {
|
|
49
|
+
console.error("Error processing hmr update:", err);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
export {
|
|
55
|
+
reactNativeHMRPlugin
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=reactNativeHMRPlugin.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/plugins/reactNativeHMRPlugin.ts"],
|
|
4
|
+
"mappings": "AAAA,SAAS,cAAc,yBAAyB;AAChD,SAAS,aAAa;AACtB,SAAS,8BAA8B;AAEvC,SAAS,iBAAiB;AAC1B,SAAS,mBAAmB;AAC5B,SAAS,sBAAsB;AAC/B,SAAS,gBAAgB;AAElB,SAAS,qBAAqB,EAAE,KAAK,GAAqB;AAC/D,SAAO;AAAA,IACL,MAAM;AAAA,IAEN,MAAM,gBAAgB,EAAE,MAAM,SAAS,KAAK,GAAG;AAC7C,UAAI;AAIF,YAHI,CAAC,SAAS,MAAM,IAAI,KAGpB,CAAC;AACH;AAGF,cAAM,CAAC,MAAM,IAAI;AACjB,YAAI,CAAC;AAAQ;AAEb,cAAM,KAAK,QAAQ,OAAO,KAAK,QAAQ,MAAM,EAAE,GAEzC,OAAO,MAAM,KAAK;AAKxB,YAFI,KAAK,WAAW,eAAe,KAE/B,CAAC;AACH;AAGF,YAAI,SAAS;AAGb,kBAAU,MAAM,kBAAkB,IAAI,MAAM,IAAI,QAAQ;AAExD,cAAM,aAAa,CAAC,GAId,CAAC,OAAO,IAAI,MAAM,MAAM;AAE9B,YAAI,yBAAyB;AAE7B,mBAAW,aAAa,SAAS;AAC/B,gBAAM,EAAE,GAAG,YAAY,GAAG,MAAM,IAAI;AAEpC,cAAI,YAAY;AACd,kBAAMA,MAAK,MAAM,YAAY,WAAW,MAAM,UAAU;AACxD,gBAAI,CAACA,KAAI;AACP,sBAAQ,KAAK,KAAK;AAClB;AAAA,YACF;AAEA,uBAAWA,GAAE,IAAIA,IAAG,QAAQ,cAAc,EAAE;AAG5C,kBAAM,MAAM,WAAW,QACjB,WAAWA,IAAG,SAAS;AAC7B,qBACE,OAAO,MAAM,GAAG,QAAQ,sBAAsB,IAC9CA,MACA,OAAO,MAAM,QAAQ,yBAAyB,GAAG,GACnD,0BAA0B;AAAA,UAC5B;AAAA,QACF;AAUA,YAPA,UAEI,MAAM,aAAa,IAAI,QAAQ;AAAA,UAC7B,MAAM;AAAA,QACR,CAAC,IACA,QAAQ,IAET,CAAC;AACH,gBAAM;AAGR,mBAAW,cAAiB;AAE5B,cAAM,kBAAkB;AAAA,0CACU,KAAK,UAAU,YAAY,MAAM,CAAC,CAAC;AAAA,YACjE,OACC,QAAQ,oCAAoC,EAAE,EAE9C,WAAW,4BAA4B,yCAAyC,CAAC;AAAA;AAGtF,QAAI,QAAQ,IAAI,SACd,QAAQ,KAAK,sBAAsB,eAAe,GAGpD,eAAe,IAAI,IAAI,eAAe;AAAA,MACxC,SAAS,KAAK;AACZ,gBAAQ,MAAM,gCAAgC,GAAG;AAAA,MACnD;AAAA,IACF;AAAA,EACF;AACF;",
|
|
5
|
+
"names": ["id"]
|
|
6
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { swcTransform, transformForBuild } from "@vxrn/vite-native-swc";
|
|
2
|
+
import { parse } from "es-module-lexer";
|
|
3
|
+
import { connectedNativeClients } from "../utils/connectedNativeClients.mjs";
|
|
4
|
+
import { entryRoot } from "../utils/getReactNativeBundle.mjs";
|
|
5
|
+
import { getVitePath } from "../utils/getVitePath.mjs";
|
|
6
|
+
import { hotUpdateCache } from "../utils/hotUpdateCache.mjs";
|
|
7
|
+
import { isWithin } from "../utils/isWithin.mjs";
|
|
8
|
+
function reactNativeHMRPlugin({
|
|
9
|
+
root
|
|
10
|
+
}) {
|
|
11
|
+
return {
|
|
12
|
+
name: "client-transform",
|
|
13
|
+
async handleHotUpdate({
|
|
14
|
+
read,
|
|
15
|
+
modules,
|
|
16
|
+
file
|
|
17
|
+
}) {
|
|
18
|
+
try {
|
|
19
|
+
if (!isWithin(root, file) || !connectedNativeClients) return;
|
|
20
|
+
const [module] = modules;
|
|
21
|
+
if (!module) return;
|
|
22
|
+
const id = module?.url || file.replace(root, ""),
|
|
23
|
+
code = await read();
|
|
24
|
+
if (code.startsWith("'use strict';") || !code) return;
|
|
25
|
+
let source = code;
|
|
26
|
+
source = (await transformForBuild(id, source))?.code || "";
|
|
27
|
+
const importsMap = {},
|
|
28
|
+
[imports] = parse(source);
|
|
29
|
+
let accumulatedSliceOffset = 0;
|
|
30
|
+
for (const specifier of imports) {
|
|
31
|
+
const {
|
|
32
|
+
n: importName,
|
|
33
|
+
s: start
|
|
34
|
+
} = specifier;
|
|
35
|
+
if (importName) {
|
|
36
|
+
const id2 = await getVitePath(entryRoot, file, importName);
|
|
37
|
+
if (!id2) {
|
|
38
|
+
console.warn("???");
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
importsMap[id2] = id2.replace(/^(\.\.\/)+/, "");
|
|
42
|
+
const len = importName.length,
|
|
43
|
+
extraLen = id2.length - len;
|
|
44
|
+
source = source.slice(0, start + accumulatedSliceOffset) + id2 + source.slice(start + accumulatedSliceOffset + len), accumulatedSliceOffset += extraLen;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
if (source = (await swcTransform(id, source, {
|
|
48
|
+
mode: "serve-cjs"
|
|
49
|
+
}))?.code || "", !source) throw "\u274C no source";
|
|
50
|
+
importsMap.currentPath = id;
|
|
51
|
+
const hotUpdateSource = `exports = ((exports) => {
|
|
52
|
+
const require = createRequire(${JSON.stringify(importsMap, null, 2)})
|
|
53
|
+
${source.replace("import.meta.hot.accept(() => {})", "").replaceAll(/import.meta.glob\(.*\)/gi, "globalThis['__importMetaGlobbed'] || {}")};
|
|
54
|
+
return exports })({})`;
|
|
55
|
+
process.env.DEBUG && console.info("Sending hot update", hotUpdateSource), hotUpdateCache.set(id, hotUpdateSource);
|
|
56
|
+
} catch (err) {
|
|
57
|
+
console.error("Error processing hmr update:", err);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
export { reactNativeHMRPlugin };
|