vxrn 1.12.8 → 1.13.0
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/config/getAdditionalViteConfig.mjs +1 -4
- package/dist/config/getAdditionalViteConfig.mjs.map +1 -1
- package/dist/config/getAdditionalViteConfig.native.js +1 -4
- package/dist/config/getAdditionalViteConfig.native.js.map +1 -1
- package/dist/config/getReactNativePlugins.mjs +1 -5
- package/dist/config/getReactNativePlugins.mjs.map +1 -1
- package/dist/config/getReactNativePlugins.native.js +1 -5
- package/dist/config/getReactNativePlugins.native.js.map +1 -1
- package/dist/exports/build.mjs +5 -0
- package/dist/exports/build.mjs.map +1 -1
- package/dist/exports/build.native.js +5 -0
- package/dist/exports/build.native.js.map +1 -1
- package/dist/exports/createServer.mjs +30 -25
- package/dist/exports/createServer.mjs.map +1 -1
- package/dist/exports/createServer.native.js +6 -3
- package/dist/exports/createServer.native.js.map +1 -1
- package/dist/exports/prebuild.mjs +25 -1
- package/dist/exports/prebuild.mjs.map +1 -1
- package/dist/exports/prebuild.native.js +30 -1
- package/dist/exports/prebuild.native.js.map +1 -1
- package/dist/exports/serve.mjs +2 -2
- package/dist/exports/serve.mjs.map +1 -1
- package/dist/exports/serve.native.js +2 -2
- package/dist/exports/serve.native.js.map +1 -1
- package/dist/exports/serveStaticAssets.mjs +43 -11
- package/dist/exports/serveStaticAssets.mjs.map +1 -1
- package/dist/exports/serveStaticAssets.native.js +69 -6
- package/dist/exports/serveStaticAssets.native.js.map +1 -1
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -2
- package/dist/index.mjs.map +1 -1
- package/dist/index.native.js +1 -2
- package/dist/index.native.js.map +1 -1
- package/dist/patches/builtInDepPatches.mjs +14 -0
- package/dist/patches/builtInDepPatches.mjs.map +1 -1
- package/dist/patches/builtInDepPatches.native.js +14 -0
- package/dist/patches/builtInDepPatches.native.js.map +1 -1
- package/dist/plugins/clientInjectPlugin.mjs +2 -62
- package/dist/plugins/clientInjectPlugin.mjs.map +1 -1
- package/dist/plugins/clientInjectPlugin.native.js +2 -75
- package/dist/plugins/clientInjectPlugin.native.js.map +1 -1
- package/dist/plugins/reactNativeDevAssetPlugin.mjs +1 -3
- package/dist/plugins/reactNativeDevAssetPlugin.mjs.map +1 -1
- package/dist/plugins/reactNativeDevAssetPlugin.native.js +1 -3
- package/dist/plugins/reactNativeDevAssetPlugin.native.js.map +1 -1
- package/dist/plugins/reactNativeDevServer.mjs +55 -77
- package/dist/plugins/reactNativeDevServer.mjs.map +1 -1
- package/dist/plugins/reactNativeDevServer.native.js +73 -84
- package/dist/plugins/reactNativeDevServer.native.js.map +1 -1
- package/dist/plugins/serverExtensions.test.mjs +12 -6
- package/dist/plugins/serverExtensions.test.mjs.map +1 -1
- package/dist/plugins/serverExtensions.test.native.js +12 -6
- package/dist/plugins/serverExtensions.test.native.js.map +1 -1
- package/dist/rn-commands/bundle/buildBundle.mjs +11 -35
- package/dist/rn-commands/bundle/buildBundle.mjs.map +1 -1
- package/dist/rn-commands/bundle/buildBundle.native.js +9 -36
- package/dist/rn-commands/bundle/buildBundle.native.js.map +1 -1
- package/dist/runtime/hmr-client.mjs +125 -0
- package/dist/runtime/hmr-client.mjs.map +1 -0
- package/dist/runtime/hmr-client.native.js +197 -0
- package/dist/runtime/hmr-client.native.js.map +1 -0
- package/dist/runtime/hmr-runtime.mjs +162 -0
- package/dist/runtime/hmr-runtime.mjs.map +1 -0
- package/dist/runtime/hmr-runtime.native.js +348 -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 +97 -0
- package/dist/runtime/native-prelude.mjs.map +1 -0
- package/dist/runtime/native-prelude.native.js +97 -0
- package/dist/runtime/native-prelude.native.js.map +1 -0
- package/dist/runtime/react-refresh-utils.mjs +19 -0
- package/dist/runtime/react-refresh-utils.mjs.map +1 -0
- package/dist/runtime/react-refresh-utils.native.js +24 -0
- package/dist/runtime/react-refresh-utils.native.js.map +1 -0
- package/dist/utils/createNativeDevEngine.mjs +661 -0
- package/dist/utils/createNativeDevEngine.mjs.map +1 -0
- package/dist/utils/createNativeDevEngine.native.js +702 -0
- package/dist/utils/createNativeDevEngine.native.js.map +1 -0
- package/dist/utils/patches.mjs +6 -2
- package/dist/utils/patches.mjs.map +1 -1
- package/dist/utils/patches.native.js +6 -2
- package/dist/utils/patches.native.js.map +1 -1
- package/dist/utils/scanDepsToOptimize.mjs +4 -3
- package/dist/utils/scanDepsToOptimize.mjs.map +1 -1
- package/dist/utils/scanDepsToOptimize.native.js +4 -3
- package/dist/utils/scanDepsToOptimize.native.js.map +1 -1
- package/expo-plugin.cjs +122 -0
- package/package.json +15 -19
- package/src/config/getAdditionalViteConfig.ts +1 -3
- package/src/config/getReactNativePlugins.ts +0 -6
- package/src/exports/build.ts +5 -0
- package/src/exports/createServer.ts +7 -2
- package/src/exports/prebuild.ts +45 -0
- package/src/exports/serve.ts +2 -1
- package/src/exports/serveStaticAssets.ts +67 -4
- package/src/index.ts +0 -2
- package/src/patches/builtInDepPatches.ts +29 -0
- package/src/plugins/clientInjectPlugin.ts +2 -109
- package/src/plugins/reactNativeDevAssetPlugin.ts +0 -21
- package/src/plugins/reactNativeDevServer.ts +57 -84
- package/src/plugins/serverExtensions.test.ts +6 -8
- package/src/rn-commands/bundle/buildBundle.ts +9 -62
- package/src/runtime/hmr-client.ts +215 -0
- package/src/runtime/hmr-runtime.ts +276 -0
- package/src/runtime/hmr-types.ts +84 -0
- package/src/runtime/native-prelude.ts +110 -0
- package/src/runtime/react-refresh-utils.ts +36 -0
- package/src/types.ts +22 -4
- package/src/utils/createNativeDevEngine.ts +942 -0
- package/src/utils/patches.ts +36 -18
- package/src/utils/scanDepsToOptimize.ts +2 -3
- package/types/config/getAdditionalViteConfig.d.ts.map +1 -1
- package/types/config/getOptionsFilled.d.ts +2 -18
- package/types/config/getOptionsFilled.d.ts.map +1 -1
- package/types/config/getReactNativePlugins.d.ts.map +1 -1
- package/types/exports/build.d.ts +1 -9
- package/types/exports/build.d.ts.map +1 -1
- package/types/exports/createServer.d.ts.map +1 -1
- package/types/exports/prebuild.d.ts.map +1 -1
- package/types/exports/serve.d.ts +2 -1
- package/types/exports/serve.d.ts.map +1 -1
- package/types/exports/serveStaticAssets.d.ts +12 -1
- package/types/exports/serveStaticAssets.d.ts.map +1 -1
- package/types/index.d.ts +0 -1
- package/types/index.d.ts.map +1 -1
- package/types/patches/builtInDepPatches.d.ts.map +1 -1
- package/types/plugins/clientInjectPlugin.d.ts +1 -7
- package/types/plugins/clientInjectPlugin.d.ts.map +1 -1
- package/types/plugins/reactNativeDevAssetPlugin.d.ts.map +1 -1
- package/types/plugins/reactNativeDevServer.d.ts.map +1 -1
- package/types/rn-commands/bundle/buildBundle.d.ts.map +1 -1
- package/types/runtime/hmr-client.d.ts +40 -0
- package/types/runtime/hmr-client.d.ts.map +1 -0
- package/types/runtime/hmr-runtime.d.ts +69 -0
- package/types/runtime/hmr-runtime.d.ts.map +1 -0
- package/types/runtime/hmr-types.d.ts +76 -0
- package/types/runtime/hmr-types.d.ts.map +1 -0
- package/types/runtime/native-prelude.d.ts +11 -0
- package/types/runtime/native-prelude.d.ts.map +1 -0
- package/types/runtime/react-refresh-utils.d.ts +3 -0
- package/types/runtime/react-refresh-utils.d.ts.map +1 -0
- package/types/types.d.ts +15 -1
- package/types/types.d.ts.map +1 -1
- package/types/utils/createNativeDevEngine.d.ts +42 -0
- package/types/utils/createNativeDevEngine.d.ts.map +1 -0
- package/types/utils/patches.d.ts.map +1 -1
- package/types/utils/scanDepsToOptimize.d.ts.map +1 -1
- package/dist/config/getReactNativeBuildConfig.mjs +0 -200
- package/dist/config/getReactNativeBuildConfig.mjs.map +0 -1
- package/dist/config/getReactNativeBuildConfig.native.js +0 -204
- package/dist/config/getReactNativeBuildConfig.native.js.map +0 -1
- package/dist/plugins/reactNativeHMRPlugin.mjs +0 -120
- package/dist/plugins/reactNativeHMRPlugin.mjs.map +0 -1
- package/dist/plugins/reactNativeHMRPlugin.native.js +0 -151
- package/dist/plugins/reactNativeHMRPlugin.native.js.map +0 -1
- package/dist/utils/filterPluginsForNative.mjs +0 -27
- package/dist/utils/filterPluginsForNative.mjs.map +0 -1
- package/dist/utils/filterPluginsForNative.native.js +0 -33
- package/dist/utils/filterPluginsForNative.native.js.map +0 -1
- package/dist/utils/getReactNativeBundle.mjs +0 -104
- package/dist/utils/getReactNativeBundle.mjs.map +0 -1
- package/dist/utils/getReactNativeBundle.native.js +0 -135
- package/dist/utils/getReactNativeBundle.native.js.map +0 -1
- package/dist/utils/hotUpdateCache.mjs +0 -3
- package/dist/utils/hotUpdateCache.mjs.map +0 -1
- package/dist/utils/hotUpdateCache.native.js +0 -3
- package/dist/utils/hotUpdateCache.native.js.map +0 -1
- package/dist/utils/isBuildingNativeBundle.mjs +0 -6
- package/dist/utils/isBuildingNativeBundle.mjs.map +0 -1
- package/dist/utils/isBuildingNativeBundle.native.js +0 -7
- package/dist/utils/isBuildingNativeBundle.native.js.map +0 -1
- package/dist/utils/swapPrebuiltReactModules.mjs +0 -168
- package/dist/utils/swapPrebuiltReactModules.mjs.map +0 -1
- package/dist/utils/swapPrebuiltReactModules.native.js +0 -181
- package/dist/utils/swapPrebuiltReactModules.native.js.map +0 -1
- package/dist/worker.mjs +0 -55
- package/dist/worker.mjs.map +0 -1
- package/dist/worker.native.js +0 -55
- package/dist/worker.native.js.map +0 -1
- package/react-native-template.js +0 -375
- package/src/config/getReactNativeBuildConfig.ts +0 -349
- package/src/plugins/reactNativeHMRPlugin.ts +0 -237
- package/src/utils/filterPluginsForNative.ts +0 -55
- package/src/utils/getReactNativeBundle.ts +0 -243
- package/src/utils/hotUpdateCache.ts +0 -1
- package/src/utils/isBuildingNativeBundle.ts +0 -7
- package/src/utils/swapPrebuiltReactModules.ts +0 -341
- package/src/worker.ts +0 -90
- package/types/config/getReactNativeBuildConfig.d.ts +0 -72
- package/types/config/getReactNativeBuildConfig.d.ts.map +0 -1
- package/types/plugins/reactNativeHMRPlugin.d.ts +0 -10
- package/types/plugins/reactNativeHMRPlugin.d.ts.map +0 -1
- package/types/utils/filterPluginsForNative.d.ts +0 -8
- package/types/utils/filterPluginsForNative.d.ts.map +0 -1
- package/types/utils/getReactNativeBundle.d.ts +0 -12
- package/types/utils/getReactNativeBundle.d.ts.map +0 -1
- package/types/utils/hotUpdateCache.d.ts +0 -2
- package/types/utils/hotUpdateCache.d.ts.map +0 -1
- package/types/utils/isBuildingNativeBundle.d.ts +0 -3
- package/types/utils/isBuildingNativeBundle.d.ts.map +0 -1
- package/types/utils/swapPrebuiltReactModules.d.ts +0 -9
- package/types/utils/swapPrebuiltReactModules.d.ts.map +0 -1
- package/types/worker.d.ts +0 -13
- package/types/worker.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["path","FSExtra","colors","isNativeEnvironment","_instanceof","left","right","Symbol","hasInstance","
|
|
1
|
+
{"version":3,"names":["path","FSExtra","colors","isNativeEnvironment","_instanceof","left","right","Symbol","hasInstance","ASSET_DEST_DIR","DEV_ASSET_DEST_PATH","reactNativeDevAssetPlugin","options","assetExts","assetExtsRegExp","RegExp","join","isAssetFile","id","test","config","getAssetData","projectRoot","root","relativeAssetPath","relative","assetUrlPath","sep","replaceAll","relativeAssetDir","dirname","assetBasename","basename","assetExt","extname","slice","assetName","length","assetData","__packager_asset","fileSystemLocation","relativeFileSystemLocation","httpServerLocation","mode","scales","name","type","enforce","configResolved","resolvedConfig","load","_options","environment","assetsDest","assetsDestDir","ensureDir","copyFile","assetModuleCode","JSON","stringify","configureServer","server","logger","defaultLogOptions","timestamp","middlewares","use","req","res","next","_req_url","url","startsWith","URL","pathname","assetPath","replace","asset","readFile","setHeader","write","end","e","error","red","Error","message","statusCode","code"],"sources":["../../src/plugins/reactNativeDevAssetPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,16 +1,9 @@
|
|
|
1
1
|
import { WebSocketServer } from "ws";
|
|
2
2
|
import { addConnectedNativeClient, removeConnectedNativeClient } from "../utils/connectedNativeClients.mjs";
|
|
3
|
-
import { clearCachedBundle, getReactNativeBundle } from "../utils/getReactNativeBundle.mjs";
|
|
4
|
-
import { hotUpdateCache } from "../utils/hotUpdateCache.mjs";
|
|
5
3
|
import { URL } from "node:url";
|
|
6
|
-
import { existsSync } from "node:fs";
|
|
7
|
-
import { readFile, writeFile } from "node:fs/promises";
|
|
8
4
|
import { createDevMiddleware } from "@react-native/dev-middleware";
|
|
9
|
-
import {
|
|
10
|
-
import { getCacheDir } from "../utils/getCacheDir.mjs";
|
|
11
|
-
import { debounce } from "perfect-debounce";
|
|
5
|
+
import { createNativeDevEngine } from "../utils/createNativeDevEngine.mjs";
|
|
12
6
|
function createReactNativeDevServerPlugin(options) {
|
|
13
|
-
let hmrSocket = null;
|
|
14
7
|
return {
|
|
15
8
|
name: "vite-plugin-react-native-server",
|
|
16
9
|
configureServer(server) {
|
|
@@ -21,7 +14,6 @@ function createReactNativeDevServerPlugin(options) {
|
|
|
21
14
|
{
|
|
22
15
|
root
|
|
23
16
|
} = server.config,
|
|
24
|
-
cacheDir = options?.cacheDir || getCacheDir(root),
|
|
25
17
|
hmrWSS = new WebSocketServer({
|
|
26
18
|
noServer: !0
|
|
27
19
|
}),
|
|
@@ -38,15 +30,29 @@ function createReactNativeDevServerPlugin(options) {
|
|
|
38
30
|
logger: console
|
|
39
31
|
});
|
|
40
32
|
server.middlewares.use(middleware), server.httpServer?.on("upgrade", (req, socket, head) => {
|
|
41
|
-
|
|
33
|
+
const url = req.url || "";
|
|
34
|
+
for (const endpoint of devToolsSocketEndpoints) if (url.startsWith(endpoint)) {
|
|
42
35
|
const wss = websocketEndpoints[endpoint];
|
|
43
36
|
wss.handleUpgrade(req, socket, head, ws => {
|
|
44
37
|
wss.emit("connection", ws, req);
|
|
45
38
|
});
|
|
39
|
+
return;
|
|
46
40
|
}
|
|
47
|
-
|
|
48
|
-
hmrWSS.
|
|
49
|
-
|
|
41
|
+
if (url.startsWith("/hot")) {
|
|
42
|
+
hmrWSS.handleUpgrade(req, socket, head, ws => {
|
|
43
|
+
ws.on("message", async data => {
|
|
44
|
+
try {
|
|
45
|
+
const msg = JSON.parse(data.toString());
|
|
46
|
+
if (msg.type === "hmr:module-registered" && msg.modules) {
|
|
47
|
+
const currentEngine = devEngines.ios || devEngines.android;
|
|
48
|
+
currentEngine?.engine && (await currentEngine.engine.registerModules("vxrn-dev", msg.modules));
|
|
49
|
+
}
|
|
50
|
+
} catch {}
|
|
51
|
+
}), hmrWSS.emit("connection", ws, req);
|
|
52
|
+
});
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
url === "/__client" && clientWSS.handleUpgrade(req, socket, head, ws => {
|
|
50
56
|
clientWSS.emit("connection", ws, req);
|
|
51
57
|
});
|
|
52
58
|
}), hmrWSS.on("connection", socket => {
|
|
@@ -73,69 +79,45 @@ function createReactNativeDevServerPlugin(options) {
|
|
|
73
79
|
});
|
|
74
80
|
});
|
|
75
81
|
const validPlatforms = {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
const
|
|
83
|
-
|
|
84
|
-
|
|
82
|
+
ios: "ios",
|
|
83
|
+
android: "android"
|
|
84
|
+
},
|
|
85
|
+
devEngines = {},
|
|
86
|
+
devEngineCreating = {},
|
|
87
|
+
handleRNBundle = async (req, res) => {
|
|
88
|
+
const platformString = new URL(req.url, `http://${req.headers.host}`).searchParams.get("platform") || "",
|
|
89
|
+
platform = validPlatforms[platformString];
|
|
90
|
+
if (platform) try {
|
|
91
|
+
const bundle = await (async () => (devEngines[platform] || (devEngineCreating[platform] || (devEngineCreating[platform] = (async () => {
|
|
92
|
+
try {
|
|
93
|
+
console.info(`[vxrn] creating rolldown DevEngine for ${platform}...`), devEngines[platform] = await createNativeDevEngine({
|
|
94
|
+
root,
|
|
95
|
+
port: port || 8081,
|
|
96
|
+
host: typeof host == "string" ? host : "localhost",
|
|
97
|
+
platform,
|
|
98
|
+
serverUrl: `http://${typeof host == "string" && host !== "0.0.0.0" ? host : "localhost"}:${port || 8081}`,
|
|
99
|
+
onHmrUpdate: update => {
|
|
100
|
+
const msg = JSON.stringify(update);
|
|
101
|
+
hmrWSS.clients.forEach(client => {
|
|
102
|
+
client.readyState === 1 && client.send(msg);
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
}), console.info(`[vxrn] rolldown DevEngine ready for ${platform}`);
|
|
106
|
+
} catch (err) {
|
|
107
|
+
throw devEngineCreating[platform] = null, err;
|
|
108
|
+
}
|
|
109
|
+
})()), await devEngineCreating[platform]), await devEngines[platform].getBundle().then(r => r.code)))();
|
|
110
|
+
res.writeHead(200, {
|
|
85
111
|
"Content-Type": "text/javascript"
|
|
86
|
-
}), res.end(
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
res.writeHead(200, {
|
|
90
|
-
"Content-Type": "text/javascript"
|
|
91
|
-
}), res.end(source);
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
const handleRNBundle = async (req, res) => {
|
|
95
|
-
const platformString = new URL(req.url, `http://${req.headers.host}`).searchParams.get("platform") || "",
|
|
96
|
-
platform = validPlatforms[platformString];
|
|
97
|
-
if (platform) try {
|
|
98
|
-
const bundle = await (async () => {
|
|
99
|
-
if (typeof options?.debugBundle == "string" && options.debugBundlePaths) {
|
|
100
|
-
const path = options.debugBundlePaths[platform];
|
|
101
|
-
if (existsSync(path)) return console.info(" !!! - serving debug bundle from", path), await readFile(path, "utf-8");
|
|
102
|
-
}
|
|
103
|
-
const getRnBundleOptions = {
|
|
104
|
-
root,
|
|
105
|
-
cacheDir,
|
|
106
|
-
server: {
|
|
107
|
-
port,
|
|
108
|
-
url: `http://${host}:${port}`
|
|
109
|
-
},
|
|
110
|
-
entries: {
|
|
111
|
-
native: options?.entries?.native || "./src/entry-native.tsx"
|
|
112
|
-
},
|
|
113
|
-
...options
|
|
114
|
-
};
|
|
115
|
-
let outBundle = process.env.VXRN_WORKER_BUNDLE ? await runOnWorker("bundle-react-native", {
|
|
116
|
-
options: getRnBundleOptions,
|
|
117
|
-
platform
|
|
118
|
-
}) : await getReactNativeBundle(getRnBundleOptions, platform, {
|
|
119
|
-
mode: process.env.RN_SERVE_PROD_BUNDLE ? "prod" : "dev"
|
|
120
|
-
});
|
|
121
|
-
if (server.config.webSocketToken && (outBundle = `globalThis.__VITE_WS_TOKEN__ = "${server.config.webSocketToken}";
|
|
122
|
-
${outBundle}`), options?.debugBundle && options.debugBundlePaths) {
|
|
123
|
-
const path = options.debugBundlePaths[platform];
|
|
124
|
-
existsSync(path) || (console.info(" !!! - writing debug bundle to", path), await writeFile(path, outBundle));
|
|
125
|
-
}
|
|
126
|
-
return outBundle;
|
|
127
|
-
})();
|
|
128
|
-
res.writeHead(200, {
|
|
129
|
-
"Content-Type": "text/javascript"
|
|
130
|
-
}), res.end(bundle);
|
|
131
|
-
} catch (err) {
|
|
132
|
-
console.error(" Error building React Native bundle"), console.error(err), console.error(`
|
|
112
|
+
}), res.end(bundle);
|
|
113
|
+
} catch (err) {
|
|
114
|
+
console.error(" Error building React Native bundle"), console.error(err), console.error(`
|
|
133
115
|
|
|
134
116
|
Note, some errors may happen due to a stale Vite cache, you may want to try re-running with the "--clean" flag`), res.writeHead(500, {
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
117
|
+
"Content-Type": "text/plain"
|
|
118
|
+
}), res.end(err instanceof Error ? err.stack || err.message : String(err));
|
|
119
|
+
}
|
|
120
|
+
};
|
|
139
121
|
server.middlewares.use((req, res, next) => {
|
|
140
122
|
req.url?.split("?")[0].endsWith(".bundle") ? handleRNBundle(req, res, next) : next();
|
|
141
123
|
}), server.middlewares.use("/status", (_req, res) => {
|
|
@@ -147,10 +129,6 @@ ${outBundle}`), options?.debugBundle && options.debugBundlePaths) {
|
|
|
147
129
|
"Content-Type": "text/plain"
|
|
148
130
|
}), res.end("TODO");
|
|
149
131
|
});
|
|
150
|
-
const debouncedClearCache = debounce(clearCachedBundle, 100);
|
|
151
|
-
server.watcher.on("change", path => {
|
|
152
|
-
path.includes("/dist/") || path.includes("\\dist\\") || debouncedClearCache();
|
|
153
|
-
});
|
|
154
132
|
}
|
|
155
133
|
};
|
|
156
134
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["WebSocketServer","addConnectedNativeClient","removeConnectedNativeClient","
|
|
1
|
+
{"version":3,"names":["WebSocketServer","addConnectedNativeClient","removeConnectedNativeClient","URL","createDevMiddleware","createNativeDevEngine","createReactNativeDevServerPlugin","options","name","configureServer","server","host","port","config","root","hmrWSS","noServer","clientWSS","devToolsSocketEndpoints","reactNativeDevToolsUrl","middleware","websocketEndpoints","serverBaseUrl","logger","console","middlewares","use","httpServer","on","req","socket","head","url","endpoint","startsWith","wss","handleUpgrade","ws","emit","data","msg","JSON","parse","toString","type","modules","currentEngine","devEngines","ios","android","engine","registerModules","message","includes","send","error","messageRaw","level","info","warn","validPlatforms","devEngineCreating","handleRNBundle","res","platformString","headers","searchParams","get","platform","bundle","serverUrl","onHmrUpdate","update","stringify","clients","forEach","client","readyState","err","getBundle","then","r","code","writeHead","end","Error","stack","String","next","split","endsWith","_req"],"sources":["../../src/plugins/reactNativeDevServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
import { WebSocketServer } from "ws";
|
|
2
2
|
import { addConnectedNativeClient, removeConnectedNativeClient } from "../utils/connectedNativeClients.native.js";
|
|
3
|
-
import { clearCachedBundle, getReactNativeBundle } from "../utils/getReactNativeBundle.native.js";
|
|
4
|
-
import { hotUpdateCache } from "../utils/hotUpdateCache.native.js";
|
|
5
3
|
import { URL } from "url";
|
|
6
|
-
import { existsSync } from "fs";
|
|
7
|
-
import { readFile, writeFile } from "fs/promises";
|
|
8
4
|
import { createDevMiddleware } from "@react-native/dev-middleware";
|
|
9
|
-
import {
|
|
10
|
-
import { getCacheDir } from "../utils/getCacheDir.native.js";
|
|
11
|
-
import { debounce } from "perfect-debounce";
|
|
5
|
+
import { createNativeDevEngine } from "../utils/createNativeDevEngine.native.js";
|
|
12
6
|
function _instanceof(left, right) {
|
|
13
7
|
return right != null && typeof Symbol < "u" && right[Symbol.hasInstance] ? !!right[Symbol.hasInstance](left) : left instanceof right;
|
|
14
8
|
}
|
|
9
|
+
function _type_of(obj) {
|
|
10
|
+
"@swc/helpers - typeof";
|
|
11
|
+
|
|
12
|
+
return obj && typeof Symbol < "u" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
13
|
+
}
|
|
15
14
|
function createReactNativeDevServerPlugin(options) {
|
|
16
|
-
var hmrSocket = null;
|
|
17
15
|
return {
|
|
18
16
|
name: "vite-plugin-react-native-server",
|
|
19
17
|
configureServer(server) {
|
|
@@ -25,7 +23,6 @@ function createReactNativeDevServerPlugin(options) {
|
|
|
25
23
|
{
|
|
26
24
|
root
|
|
27
25
|
} = server.config,
|
|
28
|
-
cacheDir = options?.cacheDir || getCacheDir(root),
|
|
29
26
|
hmrWSS = new WebSocketServer({
|
|
30
27
|
noServer: !0
|
|
31
28
|
}),
|
|
@@ -42,19 +39,25 @@ function createReactNativeDevServerPlugin(options) {
|
|
|
42
39
|
logger: console
|
|
43
40
|
});
|
|
44
41
|
server.middlewares.use(middleware), (_server_httpServer = server.httpServer) === null || _server_httpServer === void 0 || _server_httpServer.on("upgrade", function (req, socket, head) {
|
|
45
|
-
var
|
|
42
|
+
var url = req.url || "",
|
|
43
|
+
_iteratorNormalCompletion = !0,
|
|
46
44
|
_didIteratorError = !1,
|
|
47
45
|
_iteratorError = void 0;
|
|
48
46
|
try {
|
|
49
47
|
for (var _loop = function () {
|
|
50
48
|
var endpoint = _step.value;
|
|
51
|
-
if (
|
|
49
|
+
if (url.startsWith(endpoint)) {
|
|
52
50
|
var wss = websocketEndpoints[endpoint];
|
|
53
|
-
wss.handleUpgrade(req, socket, head, function (ws) {
|
|
51
|
+
return wss.handleUpgrade(req, socket, head, function (ws) {
|
|
54
52
|
wss.emit("connection", ws, req);
|
|
55
|
-
})
|
|
53
|
+
}), {
|
|
54
|
+
v: void 0
|
|
55
|
+
};
|
|
56
56
|
}
|
|
57
|
-
}, _iterator = devToolsSocketEndpoints[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0)
|
|
57
|
+
}, _iterator = devToolsSocketEndpoints[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
58
|
+
var _ret = _loop();
|
|
59
|
+
if (_type_of(_ret) === "object") return _ret.v;
|
|
60
|
+
}
|
|
58
61
|
} catch (err) {
|
|
59
62
|
_didIteratorError = !0, _iteratorError = err;
|
|
60
63
|
} finally {
|
|
@@ -64,9 +67,21 @@ function createReactNativeDevServerPlugin(options) {
|
|
|
64
67
|
if (_didIteratorError) throw _iteratorError;
|
|
65
68
|
}
|
|
66
69
|
}
|
|
67
|
-
|
|
68
|
-
hmrWSS.
|
|
69
|
-
|
|
70
|
+
if (url.startsWith("/hot")) {
|
|
71
|
+
hmrWSS.handleUpgrade(req, socket, head, function (ws) {
|
|
72
|
+
ws.on("message", async function (data) {
|
|
73
|
+
try {
|
|
74
|
+
var msg = JSON.parse(data.toString());
|
|
75
|
+
if (msg.type === "hmr:module-registered" && msg.modules) {
|
|
76
|
+
var currentEngine = devEngines.ios || devEngines.android;
|
|
77
|
+
currentEngine?.engine && (await currentEngine.engine.registerModules("vxrn-dev", msg.modules));
|
|
78
|
+
}
|
|
79
|
+
} catch {}
|
|
80
|
+
}), hmrWSS.emit("connection", ws, req);
|
|
81
|
+
});
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
url === "/__client" && clientWSS.handleUpgrade(req, socket, head, function (ws) {
|
|
70
85
|
clientWSS.emit("connection", ws, req);
|
|
71
86
|
});
|
|
72
87
|
}), hmrWSS.on("connection", function (socket) {
|
|
@@ -94,72 +109,50 @@ function createReactNativeDevServerPlugin(options) {
|
|
|
94
109
|
});
|
|
95
110
|
});
|
|
96
111
|
var validPlatforms = {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
root,
|
|
129
|
-
cacheDir,
|
|
130
|
-
server: {
|
|
131
|
-
port,
|
|
132
|
-
url: `http://${host}:${port}`
|
|
133
|
-
},
|
|
134
|
-
entries: {
|
|
135
|
-
native: (options == null || (_options_entries = options.entries) === null || _options_entries === void 0 ? void 0 : _options_entries.native) || "./src/entry-native.tsx"
|
|
136
|
-
},
|
|
137
|
-
...options
|
|
138
|
-
},
|
|
139
|
-
outBundle = process.env.VXRN_WORKER_BUNDLE ? await runOnWorker("bundle-react-native", {
|
|
140
|
-
options: getRnBundleOptions,
|
|
141
|
-
platform
|
|
142
|
-
}) : await getReactNativeBundle(getRnBundleOptions, platform, {
|
|
143
|
-
mode: process.env.RN_SERVE_PROD_BUNDLE ? "prod" : "dev"
|
|
112
|
+
ios: "ios",
|
|
113
|
+
android: "android"
|
|
114
|
+
},
|
|
115
|
+
devEngines = {},
|
|
116
|
+
devEngineCreating = {},
|
|
117
|
+
handleRNBundle = async function (req, res) {
|
|
118
|
+
var url = new URL(req.url, `http://${req.headers.host}`),
|
|
119
|
+
platformString = url.searchParams.get("platform") || "",
|
|
120
|
+
platform = validPlatforms[platformString];
|
|
121
|
+
if (platform) try {
|
|
122
|
+
var bundle = await async function () {
|
|
123
|
+
return devEngines[platform] || (devEngineCreating[platform] || (devEngineCreating[platform] = async function () {
|
|
124
|
+
try {
|
|
125
|
+
console.info(`[vxrn] creating rolldown DevEngine for ${platform}...`), devEngines[platform] = await createNativeDevEngine({
|
|
126
|
+
root,
|
|
127
|
+
port: port || 8081,
|
|
128
|
+
host: typeof host == "string" ? host : "localhost",
|
|
129
|
+
platform,
|
|
130
|
+
serverUrl: `http://${typeof host == "string" && host !== "0.0.0.0" ? host : "localhost"}:${port || 8081}`,
|
|
131
|
+
onHmrUpdate: function (update) {
|
|
132
|
+
var msg = JSON.stringify(update);
|
|
133
|
+
hmrWSS.clients.forEach(function (client) {
|
|
134
|
+
client.readyState === 1 && client.send(msg);
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
}), console.info(`[vxrn] rolldown DevEngine ready for ${platform}`);
|
|
138
|
+
} catch (err) {
|
|
139
|
+
throw devEngineCreating[platform] = null, err;
|
|
140
|
+
}
|
|
141
|
+
}()), await devEngineCreating[platform]), await devEngines[platform].getBundle().then(function (r) {
|
|
142
|
+
return r.code;
|
|
144
143
|
});
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
}();
|
|
152
|
-
res.writeHead(200, {
|
|
153
|
-
"Content-Type": "text/javascript"
|
|
154
|
-
}), res.end(bundle);
|
|
155
|
-
} catch (err) {
|
|
156
|
-
console.error(" Error building React Native bundle"), console.error(err), console.error(`
|
|
144
|
+
}();
|
|
145
|
+
res.writeHead(200, {
|
|
146
|
+
"Content-Type": "text/javascript"
|
|
147
|
+
}), res.end(bundle);
|
|
148
|
+
} catch (err) {
|
|
149
|
+
console.error(" Error building React Native bundle"), console.error(err), console.error(`
|
|
157
150
|
|
|
158
151
|
Note, some errors may happen due to a stale Vite cache, you may want to try re-running with the "--clean" flag`), res.writeHead(500, {
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
152
|
+
"Content-Type": "text/plain"
|
|
153
|
+
}), res.end(_instanceof(err, Error) ? err.stack || err.message : String(err));
|
|
154
|
+
}
|
|
155
|
+
};
|
|
163
156
|
server.middlewares.use(function (req, res, next) {
|
|
164
157
|
var _req_url;
|
|
165
158
|
!((_req_url = req.url) === null || _req_url === void 0) && _req_url.split("?")[0].endsWith(".bundle") ? handleRNBundle(req, res, next) : next();
|
|
@@ -172,10 +165,6 @@ ${outBundle}`), options?.debugBundle && options.debugBundlePaths) {
|
|
|
172
165
|
"Content-Type": "text/plain"
|
|
173
166
|
}), res.end("TODO");
|
|
174
167
|
});
|
|
175
|
-
var debouncedClearCache = debounce(clearCachedBundle, 100);
|
|
176
|
-
server.watcher.on("change", function (path) {
|
|
177
|
-
path.includes("/dist/") || path.includes("\\dist\\") || debouncedClearCache();
|
|
178
|
-
});
|
|
179
168
|
}
|
|
180
169
|
};
|
|
181
170
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["WebSocketServer","addConnectedNativeClient","removeConnectedNativeClient","
|
|
1
|
+
{"version":3,"names":["WebSocketServer","addConnectedNativeClient","removeConnectedNativeClient","URL","createDevMiddleware","createNativeDevEngine","_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","createReactNativeDevServerPlugin","options","name","configureServer","server","_server_httpServer","host","port","config","root","hmrWSS","noServer","clientWSS","devToolsSocketEndpoints","reactNativeDevToolsUrl","middleware","websocketEndpoints","serverBaseUrl","logger","console","middlewares","use","httpServer","on","req","socket","head","url","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_loop","endpoint","_step","value","startsWith","wss","handleUpgrade","ws","emit","v","_iterator","iterator","next","done","_ret","err","return","data","msg","JSON","parse","toString","type","modules","currentEngine","devEngines","ios","android","engine","registerModules","message","includes","send","error","messageRaw","_message_data_","level","info","warn","validPlatforms","devEngineCreating","handleRNBundle","res","headers","platformString","searchParams","get","platform","bundle","serverUrl","onHmrUpdate","update","stringify","clients","forEach","client","readyState"],"sources":["../../src/plugins/reactNativeDevServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -37,14 +37,20 @@ describe("platform-specific-resolve", () => {
|
|
|
37
37
|
expect(result).toEqual({
|
|
38
38
|
id: "/src/db.web.ts"
|
|
39
39
|
}), vi.restoreAllMocks();
|
|
40
|
-
}), it("
|
|
40
|
+
}), it("stubs .server file when explicitly imported on client", async () => {
|
|
41
41
|
const resolveId = (await getPlatformResolvePlugin()).resolveId,
|
|
42
|
-
ctx = createMockContext("client", "/src/db.server.ts")
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
ctx = createMockContext("client", "/src/db.server.ts"),
|
|
43
|
+
result = await resolveId.call(ctx, "./db.server", "/src/page.tsx", {});
|
|
44
|
+
expect(result).toEqual({
|
|
45
|
+
id: "\0server-only-stub:./db.server"
|
|
46
|
+
});
|
|
47
|
+
}), it("stubs .server file when explicitly imported on ios", async () => {
|
|
45
48
|
const resolveId = (await getPlatformResolvePlugin()).resolveId,
|
|
46
|
-
ctx = createMockContext("ios", "/src/db.server.ts")
|
|
47
|
-
|
|
49
|
+
ctx = createMockContext("ios", "/src/db.server.ts"),
|
|
50
|
+
result = await resolveId.call(ctx, "./db.server", "/src/page.tsx", {});
|
|
51
|
+
expect(result).toEqual({
|
|
52
|
+
id: "\0server-only-stub:./db.server"
|
|
53
|
+
});
|
|
48
54
|
}), it("allows .server file import on ssr", async () => {
|
|
49
55
|
const resolveId = (await getPlatformResolvePlugin()).resolveId,
|
|
50
56
|
FSExtra = await import("fs-extra");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["describe","expect","it","vi","getPlatformResolvePlugin","getBaseVitePlugins","plugin","find","p","name","Error","createMockContext","envName","resolvedId","resolve","fn","mockResolvedValue","id","environment","resolveId","FSExtra","spyOn","default","mockImplementation","path","String","includes","ctx","result","call","toEqual","restoreAllMocks","
|
|
1
|
+
{"version":3,"names":["describe","expect","it","vi","getPlatformResolvePlugin","getBaseVitePlugins","plugin","find","p","name","Error","createMockContext","envName","resolvedId","resolve","fn","mockResolvedValue","id","environment","resolveId","FSExtra","spyOn","default","mockImplementation","path","String","includes","ctx","result","call","toEqual","restoreAllMocks","toBeUndefined","ssrExts","config","environments","ssr","extensions","toContain","clientExts","client","not"],"sources":["../../src/plugins/serverExtensions.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -51,16 +51,22 @@ describe("platform-specific-resolve", function () {
|
|
|
51
51
|
expect(result).toEqual({
|
|
52
52
|
id: "/src/db.web.ts"
|
|
53
53
|
}), vi.restoreAllMocks();
|
|
54
|
-
}), it("
|
|
54
|
+
}), it("stubs .server file when explicitly imported on client", async function () {
|
|
55
55
|
var plugin = await getPlatformResolvePlugin(),
|
|
56
56
|
resolveId = plugin.resolveId,
|
|
57
|
-
ctx = createMockContext("client", "/src/db.server.ts")
|
|
58
|
-
|
|
59
|
-
|
|
57
|
+
ctx = createMockContext("client", "/src/db.server.ts"),
|
|
58
|
+
result = await resolveId.call(ctx, "./db.server", "/src/page.tsx", {});
|
|
59
|
+
expect(result).toEqual({
|
|
60
|
+
id: "\0server-only-stub:./db.server"
|
|
61
|
+
});
|
|
62
|
+
}), it("stubs .server file when explicitly imported on ios", async function () {
|
|
60
63
|
var plugin = await getPlatformResolvePlugin(),
|
|
61
64
|
resolveId = plugin.resolveId,
|
|
62
|
-
ctx = createMockContext("ios", "/src/db.server.ts")
|
|
63
|
-
|
|
65
|
+
ctx = createMockContext("ios", "/src/db.server.ts"),
|
|
66
|
+
result = await resolveId.call(ctx, "./db.server", "/src/page.tsx", {});
|
|
67
|
+
expect(result).toEqual({
|
|
68
|
+
id: "\0server-only-stub:./db.server"
|
|
69
|
+
});
|
|
64
70
|
}), it("allows .server file import on ssr", async function () {
|
|
65
71
|
var plugin = await getPlatformResolvePlugin(),
|
|
66
72
|
resolveId = plugin.resolveId,
|