vxrn 1.12.2 → 1.12.4

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.
Files changed (178) hide show
  1. package/dist/exports/createServer.mjs +10 -6
  2. package/dist/exports/createServer.mjs.map +1 -1
  3. package/dist/exports/createServer.native.js +4 -2
  4. package/dist/exports/createServer.native.js.map +1 -1
  5. package/dist/index.js +22 -39
  6. package/dist/index.js.map +1 -6
  7. package/dist/patches/builtInDepPatches.mjs +0 -8
  8. package/dist/patches/builtInDepPatches.mjs.map +1 -1
  9. package/dist/patches/builtInDepPatches.native.js +0 -10
  10. package/dist/patches/builtInDepPatches.native.js.map +1 -1
  11. package/dist/serve/node.mjs +27 -11
  12. package/dist/serve/node.mjs.map +1 -1
  13. package/dist/serve/node.native.js +32 -14
  14. package/dist/serve/node.native.js.map +1 -1
  15. package/package.json +13 -13
  16. package/src/exports/createServer.ts +8 -1
  17. package/src/patches/builtInDepPatches.ts +0 -15
  18. package/src/serve/node.ts +36 -10
  19. package/types/exports/createServer.d.ts.map +1 -1
  20. package/types/patches/builtInDepPatches.d.ts.map +1 -1
  21. package/types/serve/node.d.ts +2 -0
  22. package/types/serve/node.d.ts.map +1 -1
  23. package/dist/cli.js +0 -224
  24. package/dist/cli.js.map +0 -6
  25. package/dist/config/getAdditionalViteConfig.js +0 -41
  26. package/dist/config/getAdditionalViteConfig.js.map +0 -6
  27. package/dist/config/getBaseViteConfigOnly.js +0 -110
  28. package/dist/config/getBaseViteConfigOnly.js.map +0 -6
  29. package/dist/config/getBaseViteConfigWithPlugins.js +0 -12
  30. package/dist/config/getBaseViteConfigWithPlugins.js.map +0 -6
  31. package/dist/config/getBaseVitePlugins.js +0 -84
  32. package/dist/config/getBaseVitePlugins.js.map +0 -6
  33. package/dist/config/getNonCliModeOnlyVitePlugins.js +0 -11
  34. package/dist/config/getNonCliModeOnlyVitePlugins.js.map +0 -6
  35. package/dist/config/getOptimizeDeps.js +0 -150
  36. package/dist/config/getOptimizeDeps.js.map +0 -6
  37. package/dist/config/getOptionsFilled.js +0 -52
  38. package/dist/config/getOptionsFilled.js.map +0 -6
  39. package/dist/config/getReactNativeBuildConfig.js +0 -217
  40. package/dist/config/getReactNativeBuildConfig.js.map +0 -6
  41. package/dist/config/getReactNativePlugins.js +0 -37
  42. package/dist/config/getReactNativePlugins.js.map +0 -6
  43. package/dist/config/getServerOptionsFilled.js +0 -28
  44. package/dist/config/getServerOptionsFilled.js.map +0 -6
  45. package/dist/config/getViteServerConfig.js +0 -35
  46. package/dist/config/getViteServerConfig.js.map +0 -6
  47. package/dist/config/mergeUserConfig.js +0 -46
  48. package/dist/config/mergeUserConfig.js.map +0 -6
  49. package/dist/config/mergeUserConfig.test.js +0 -80
  50. package/dist/config/mergeUserConfig.test.js.map +0 -6
  51. package/dist/constants/defaults.js +0 -39
  52. package/dist/constants/defaults.js.map +0 -6
  53. package/dist/constants.js +0 -20
  54. package/dist/constants.js.map +0 -6
  55. package/dist/exports/build.js +0 -250
  56. package/dist/exports/build.js.map +0 -6
  57. package/dist/exports/clean.js +0 -31
  58. package/dist/exports/clean.js.map +0 -6
  59. package/dist/exports/createServer.js +0 -32
  60. package/dist/exports/createServer.js.map +0 -6
  61. package/dist/exports/dev.js +0 -86
  62. package/dist/exports/dev.js.map +0 -6
  63. package/dist/exports/loadEnv.js +0 -60
  64. package/dist/exports/loadEnv.js.map +0 -6
  65. package/dist/exports/patch.js +0 -11
  66. package/dist/exports/patch.js.map +0 -6
  67. package/dist/exports/prebuild.js +0 -131
  68. package/dist/exports/prebuild.js.map +0 -6
  69. package/dist/exports/prebuildWithoutExpo.js +0 -45
  70. package/dist/exports/prebuildWithoutExpo.js.map +0 -6
  71. package/dist/exports/runAndroid.js +0 -6
  72. package/dist/exports/runAndroid.js.map +0 -6
  73. package/dist/exports/runIos.js +0 -6
  74. package/dist/exports/runIos.js.map +0 -6
  75. package/dist/exports/serve.js +0 -28
  76. package/dist/exports/serve.js.map +0 -6
  77. package/dist/exports/serveStaticAssets.js +0 -23
  78. package/dist/exports/serveStaticAssets.js.map +0 -6
  79. package/dist/patches/builtInDepPatches.js +0 -462
  80. package/dist/patches/builtInDepPatches.js.map +0 -6
  81. package/dist/plugins/applyBuiltInPatchesPlugin.js +0 -17
  82. package/dist/plugins/applyBuiltInPatchesPlugin.js.map +0 -6
  83. package/dist/plugins/autoDepOptimizePlugin.js +0 -93
  84. package/dist/plugins/autoDepOptimizePlugin.js.map +0 -6
  85. package/dist/plugins/autoDepOptimizePlugin.test.js +0 -19
  86. package/dist/plugins/autoDepOptimizePlugin.test.js.map +0 -6
  87. package/dist/plugins/clientInjectPlugin.js +0 -61
  88. package/dist/plugins/clientInjectPlugin.js.map +0 -6
  89. package/dist/plugins/defaultDepOptimizePlugin.js +0 -29
  90. package/dist/plugins/defaultDepOptimizePlugin.js.map +0 -6
  91. package/dist/plugins/expoManifestRequestHandlerPlugin.js +0 -140
  92. package/dist/plugins/expoManifestRequestHandlerPlugin.js.map +0 -6
  93. package/dist/plugins/getResolvedConfigSubset.js +0 -14
  94. package/dist/plugins/getResolvedConfigSubset.js.map +0 -6
  95. package/dist/plugins/reactNativeCommonJsPlugin.js +0 -227
  96. package/dist/plugins/reactNativeCommonJsPlugin.js.map +0 -6
  97. package/dist/plugins/reactNativeDevAssetPlugin.js +0 -103
  98. package/dist/plugins/reactNativeDevAssetPlugin.js.map +0 -6
  99. package/dist/plugins/reactNativeDevServer.js +0 -141
  100. package/dist/plugins/reactNativeDevServer.js.map +0 -6
  101. package/dist/plugins/reactNativeHMRPlugin.js +0 -139
  102. package/dist/plugins/reactNativeHMRPlugin.js.map +0 -6
  103. package/dist/plugins/resolveIdScan.test.js +0 -20
  104. package/dist/plugins/resolveIdScan.test.js.map +0 -6
  105. package/dist/plugins/rollupRemoveUnusedImports.js +0 -13
  106. package/dist/plugins/rollupRemoveUnusedImports.js.map +0 -6
  107. package/dist/plugins/serverExtensions.test.js +0 -54
  108. package/dist/plugins/serverExtensions.test.js.map +0 -6
  109. package/dist/rn-commands/bundle/buildBundle.js +0 -75
  110. package/dist/rn-commands/bundle/buildBundle.js.map +0 -6
  111. package/dist/serve/node.js +0 -40
  112. package/dist/serve/node.js.map +0 -6
  113. package/dist/types.js +0 -1
  114. package/dist/types.js.map +0 -6
  115. package/dist/user-interface/index.js +0 -257
  116. package/dist/user-interface/index.js.map +0 -6
  117. package/dist/utils/assert.js +0 -13
  118. package/dist/utils/assert.js.map +0 -6
  119. package/dist/utils/bindKeypressInput.js +0 -47
  120. package/dist/utils/bindKeypressInput.js.map +0 -6
  121. package/dist/utils/coerceToArray.js +0 -7
  122. package/dist/utils/coerceToArray.js.map +0 -6
  123. package/dist/utils/connectedNativeClients.js +0 -13
  124. package/dist/utils/connectedNativeClients.js.map +0 -6
  125. package/dist/utils/dispose.js +0 -12
  126. package/dist/utils/dispose.js.map +0 -6
  127. package/dist/utils/environmentUtils.js +0 -19
  128. package/dist/utils/environmentUtils.js.map +0 -6
  129. package/dist/utils/execSync.js +0 -9
  130. package/dist/utils/execSync.js.map +0 -6
  131. package/dist/utils/expoRun.js +0 -35
  132. package/dist/utils/expoRun.js.map +0 -6
  133. package/dist/utils/filterPluginsForNative.js +0 -29
  134. package/dist/utils/filterPluginsForNative.js.map +0 -6
  135. package/dist/utils/filterViteServerResolvedUrls.js +0 -19
  136. package/dist/utils/filterViteServerResolvedUrls.js.map +0 -6
  137. package/dist/utils/getCacheDir.js +0 -8
  138. package/dist/utils/getCacheDir.js.map +0 -6
  139. package/dist/utils/getReactNativeBundle.js +0 -124
  140. package/dist/utils/getReactNativeBundle.js.map +0 -6
  141. package/dist/utils/getServerEntry.js +0 -13
  142. package/dist/utils/getServerEntry.js.map +0 -6
  143. package/dist/utils/getVitePath.js +0 -37
  144. package/dist/utils/getVitePath.js.map +0 -6
  145. package/dist/utils/globDir.js +0 -13
  146. package/dist/utils/globDir.js.map +0 -6
  147. package/dist/utils/hotUpdateCache.js +0 -5
  148. package/dist/utils/hotUpdateCache.js.map +0 -6
  149. package/dist/utils/isBuildingNativeBundle.js +0 -9
  150. package/dist/utils/isBuildingNativeBundle.js.map +0 -6
  151. package/dist/utils/isWithin.js +0 -9
  152. package/dist/utils/isWithin.js.map +0 -6
  153. package/dist/utils/patches.js +0 -173
  154. package/dist/utils/patches.js.map +0 -6
  155. package/dist/utils/printServerUrls.js +0 -12
  156. package/dist/utils/printServerUrls.js.map +0 -6
  157. package/dist/utils/removeUndefined.js +0 -10
  158. package/dist/utils/removeUndefined.js.map +0 -6
  159. package/dist/utils/scanDepsToOptimize.js +0 -199
  160. package/dist/utils/scanDepsToOptimize.js.map +0 -6
  161. package/dist/utils/state.js +0 -19
  162. package/dist/utils/state.js.map +0 -6
  163. package/dist/utils/swapPrebuiltReactModules.js +0 -205
  164. package/dist/utils/swapPrebuiltReactModules.js.map +0 -6
  165. package/dist/utils/uniq.js +0 -7
  166. package/dist/utils/uniq.js.map +0 -6
  167. package/dist/utils/utils.js +0 -35
  168. package/dist/utils/utils.js.map +0 -6
  169. package/dist/vendor/debugger-app/index.js +0 -1
  170. package/dist/vendor/debugger-app/index.js.map +0 -6
  171. package/dist/vendor/debugger-app/src/debuggerWorker.js +0 -1
  172. package/dist/vendor/debugger-app/src/debuggerWorker.js.map +0 -6
  173. package/dist/vendor/debugger-app/src/index.js +0 -1
  174. package/dist/vendor/debugger-app/src/index.js.map +0 -6
  175. package/dist/vxrn-vite-plugin.js +0 -47
  176. package/dist/vxrn-vite-plugin.js.map +0 -6
  177. package/dist/worker.js +0 -49
  178. package/dist/worker.js.map +0 -6
@@ -1,141 +0,0 @@
1
- import { WebSocketServer } from "ws";
2
- import {
3
- addConnectedNativeClient,
4
- removeConnectedNativeClient
5
- } from "../utils/connectedNativeClients";
6
- import { clearCachedBundle, getReactNativeBundle } from "../utils/getReactNativeBundle";
7
- import { hotUpdateCache } from "../utils/hotUpdateCache";
8
- import { URL } from "node:url";
9
- import { existsSync } from "node:fs";
10
- import { readFile, writeFile } from "node:fs/promises";
11
- import { createDevMiddleware } from "@react-native/dev-middleware";
12
- import { runOnWorker } from "../worker";
13
- import { getCacheDir } from "../utils/getCacheDir";
14
- import { debounce } from "perfect-debounce";
15
- function createReactNativeDevServerPlugin(options) {
16
- let hmrSocket = null;
17
- return {
18
- name: "vite-plugin-react-native-server",
19
- configureServer(server) {
20
- const { host, port } = server.config.server, { root } = server.config, cacheDir = options?.cacheDir || getCacheDir(root), hmrWSS = new WebSocketServer({ noServer: !0 }), clientWSS = new WebSocketServer({ noServer: !0 }), devToolsSocketEndpoints = ["/inspector/device", "/inspector/debug"], reactNativeDevToolsUrl = `http://${host}:${port}`, { middleware, websocketEndpoints } = createDevMiddleware({
21
- serverBaseUrl: reactNativeDevToolsUrl,
22
- logger: console
23
- });
24
- server.middlewares.use(middleware), server.httpServer?.on("upgrade", (req, socket, head) => {
25
- for (const endpoint of devToolsSocketEndpoints)
26
- if (req.url.startsWith(endpoint)) {
27
- const wss = websocketEndpoints[endpoint];
28
- wss.handleUpgrade(req, socket, head, (ws) => {
29
- wss.emit("connection", ws, req);
30
- });
31
- }
32
- req.url.startsWith(
33
- "/__hmr"
34
- ) && hmrWSS.handleUpgrade(req, socket, head, (ws) => {
35
- hmrWSS.emit("connection", ws, req);
36
- }), req.url === "/__client" && clientWSS.handleUpgrade(req, socket, head, (ws) => {
37
- clientWSS.emit("connection", ws, req);
38
- });
39
- }), hmrWSS.on("connection", (socket) => {
40
- addConnectedNativeClient(), socket.on("message", (message) => {
41
- message.toString().includes("ping") && socket.send("pong");
42
- }), socket.on("close", () => {
43
- removeConnectedNativeClient();
44
- }), socket.on("error", (error) => {
45
- console.error("[hmr] error", error);
46
- });
47
- }), clientWSS.on("connection", (socket) => {
48
- socket.on("message", (messageRaw) => {
49
- const message = JSON.parse(messageRaw.toString());
50
- switch (message.type) {
51
- case "client-log": {
52
- if (message.level === "warn" && message.data[0]?.startsWith(
53
- "Sending `appearanceChanged` with no listeners registered."
54
- ))
55
- return;
56
- console.info(
57
- ` \u2460 ${message.level === "info" ? "" : ` [${message.level}]`}`,
58
- ...message.data
59
- );
60
- return;
61
- }
62
- default:
63
- console.warn(" \u2460 Unknown message type", message);
64
- }
65
- });
66
- });
67
- const validPlatforms = {
68
- ios: "ios",
69
- android: "android"
70
- };
71
- server.middlewares.use("/file", async (req, res) => {
72
- const file = new URL(req.url, `http://${req.headers.host}`).searchParams.get("file");
73
- if (file) {
74
- const source = hotUpdateCache.get(file);
75
- if (!source) {
76
- console.warn("No hot source found for", file), res.writeHead(200, { "Content-Type": "text/javascript" }), res.end("");
77
- return;
78
- }
79
- res.writeHead(200, { "Content-Type": "text/javascript" }), res.end(source);
80
- }
81
- });
82
- const handleRNBundle = async (req, res) => {
83
- const platformString = new URL(req.url, `http://${req.headers.host}`).searchParams.get("platform") || "", platform = validPlatforms[platformString];
84
- if (platform)
85
- try {
86
- const bundle = await (async () => {
87
- if (typeof options?.debugBundle == "string" && options.debugBundlePaths) {
88
- const path = options.debugBundlePaths[platform];
89
- if (existsSync(path))
90
- return console.info(" !!! - serving debug bundle from", path), await readFile(path, "utf-8");
91
- }
92
- const getRnBundleOptions = {
93
- root,
94
- cacheDir,
95
- server: {
96
- port,
97
- url: `http://${host}:${port}`
98
- },
99
- entries: { native: options?.entries?.native || "./src/entry-native.tsx" },
100
- ...options
101
- };
102
- let outBundle = process.env.VXRN_WORKER_BUNDLE ? await runOnWorker("bundle-react-native", {
103
- options: getRnBundleOptions,
104
- platform
105
- }) : await getReactNativeBundle(getRnBundleOptions, platform, {
106
- mode: process.env.RN_SERVE_PROD_BUNDLE ? "prod" : "dev"
107
- });
108
- if (server.config.webSocketToken && (outBundle = `globalThis.__VITE_WS_TOKEN__ = "${server.config.webSocketToken}";
109
- ${outBundle}`), options?.debugBundle && options.debugBundlePaths) {
110
- const path = options.debugBundlePaths[platform];
111
- existsSync(path) || (console.info(" !!! - writing debug bundle to", path), await writeFile(path, outBundle));
112
- }
113
- return outBundle;
114
- })();
115
- res.writeHead(200, { "Content-Type": "text/javascript" }), res.end(bundle);
116
- } catch (err) {
117
- console.error(" Error building React Native bundle"), console.error(err), console.error(
118
- `
119
-
120
- Note, some errors may happen due to a stale Vite cache, you may want to try re-running with the "--clean" flag`
121
- ), res.writeHead(500, { "Content-Type": "text/plain" }), res.end(err instanceof Error ? err.stack || err.message : String(err));
122
- }
123
- };
124
- server.middlewares.use((req, res, next) => {
125
- req.url?.split("?")[0].endsWith(".bundle") ? handleRNBundle(req, res, next) : next();
126
- }), server.middlewares.use("/status", (_req, res) => {
127
- res.writeHead(200, { "Content-Type": "text/plain" }), res.end("packager-status:running");
128
- }), server.middlewares.use("/symbolicate", (_req, res) => {
129
- res.writeHead(200, { "Content-Type": "text/plain" }), res.end("TODO");
130
- });
131
- const debouncedClearCache = debounce(clearCachedBundle, 100);
132
- server.watcher.on("change", (path) => {
133
- path.includes("/dist/") || path.includes("\\dist\\") || debouncedClearCache();
134
- });
135
- }
136
- };
137
- }
138
- export {
139
- createReactNativeDevServerPlugin
140
- };
141
- //# sourceMappingURL=reactNativeDevServer.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/plugins/reactNativeDevServer.ts"],
4
- "mappings": "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",
5
- "names": []
6
- }
@@ -1,139 +0,0 @@
1
- import { transformSWC, transformSWCStripJSX } from "@vxrn/compiler";
2
- import { parse } from "es-module-lexer";
3
- import FSExtra from "fs-extra";
4
- import { createIdResolver } from "vite";
5
- import { connectedNativeClients } from "../utils/connectedNativeClients";
6
- import { filterPluginsForNative } from "../utils/filterPluginsForNative";
7
- import { entryRoot } from "../utils/getReactNativeBundle";
8
- import { getReactNativeResolvedConfig } from "../config/getReactNativeBuildConfig";
9
- import { getVitePath } from "../utils/getVitePath";
10
- import { hotUpdateCache } from "../utils/hotUpdateCache";
11
- import { isWithin } from "../utils/isWithin";
12
- import { conditions } from "./reactNativeCommonJsPlugin";
13
- function reactNativeHMRPlugin({
14
- assetExts,
15
- root: rootIn,
16
- mode: modeIn
17
- }) {
18
- let idResolver;
19
- const assetExtsRegExp = new RegExp(`\\.(${assetExts.join("|")})$`), isAssetFile = (id) => assetExtsRegExp.test(id);
20
- let config;
21
- return {
22
- name: "vxrn:native-hmr-transform",
23
- configResolved(resolvedConfig) {
24
- config = resolvedConfig;
25
- },
26
- // TODO see about moving to hotUpdate
27
- // https://deploy-preview-16089--vite-docs-main.netlify.app/guide/api-vite-environment.html#the-hotupdate-hook
28
- async handleHotUpdate({ read, modules, file, server }) {
29
- const root = rootIn || config.root, mode = modeIn || config.mode, environment = server.environments.ios;
30
- if (!idResolver) {
31
- const rnConfig = getReactNativeResolvedConfig();
32
- if (!rnConfig)
33
- return;
34
- const resolverConfig = {
35
- conditions,
36
- mainFields: rnConfig.resolve.mainFields,
37
- extensions: rnConfig.resolve.extensions
38
- };
39
- idResolver = createIdResolver(rnConfig, resolverConfig);
40
- }
41
- try {
42
- if (!isWithin(root, file) || !connectedNativeClients)
43
- return;
44
- const [module] = modules;
45
- if (!module) return;
46
- let id = (module?.url || file).replace(root, "").replace("/@id", "");
47
- if (id[0] !== "/" && (id = `/${id}`), isAssetFile(id))
48
- return;
49
- const code = await read();
50
- if (code.startsWith("'use strict';") || !code)
51
- return;
52
- let source = code;
53
- try {
54
- source = (await new environment.pluginContainer.constructor(
55
- environment,
56
- filterPluginsForNative(environment.plugins, { isNative: !0 }).filter(
57
- (p) => p.name !== "vite:import-analysis"
58
- /* will cause `ERR_OUTDATED_OPTIMIZED_DEP` error */
59
- ),
60
- server.watcher
61
- ).transform(
62
- source,
63
- `vxrn-swc-preprocess:${file}`
64
- )).code;
65
- } catch (e) {
66
- console.warn(
67
- `Error transforming source for HMR: ${e}. Retrying without plugins.`
68
- ), source = (await transformSWCStripJSX(id, source))?.code || "";
69
- }
70
- const clientTreeShakePlugin = environment.plugins.find(
71
- (p) => p.name.endsWith("client-tree-shake")
72
- );
73
- if (clientTreeShakePlugin) {
74
- let clientTreeShakePluginTransformFn = clientTreeShakePlugin.transform;
75
- if (typeof clientTreeShakePluginTransformFn == "function")
76
- try {
77
- clientTreeShakePluginTransformFn = clientTreeShakePluginTransformFn.bind({
78
- environment
79
- });
80
- const result = await clientTreeShakePluginTransformFn(source, id, {});
81
- result && (source = result.code);
82
- } catch (e) {
83
- console.warn(`client-tree-shake failed on HMR: ${e}`);
84
- }
85
- }
86
- const importsMap = {}, [imports] = parse(source);
87
- let accumulatedSliceOffset = 0;
88
- for (const specifier of imports) {
89
- const { n: importName, s: start } = specifier;
90
- if (importName) {
91
- const resolver = idResolver.bind(null, environment);
92
- let id2 = await getVitePath(
93
- entryRoot,
94
- file,
95
- importName,
96
- resolver,
97
- async (id3, importer) => (await environment.pluginContainer.resolveId(
98
- id3,
99
- importer
100
- ))?.id
101
- );
102
- if (!id2) {
103
- console.warn("???");
104
- continue;
105
- }
106
- const nativePath = id2.replace(/(.m?js)/, ".native.js");
107
- try {
108
- nativePath !== id2 && (await FSExtra.stat(nativePath)).isFile() && (id2 = nativePath);
109
- } catch {
110
- }
111
- importsMap[id2] = id2.replace(/^(\.\.\/)+/, "");
112
- const len = importName.length, extraLen = id2.length - len;
113
- source = source.slice(0, start + accumulatedSliceOffset) + id2 + source.slice(start + accumulatedSliceOffset + len), accumulatedSliceOffset += extraLen;
114
- }
115
- }
116
- if (source = (await transformSWC(file, source, {
117
- mode: "serve-cjs",
118
- environment: "ios",
119
- production: mode === "production"
120
- }))?.code || "", !source)
121
- throw "\u274C no source";
122
- const hotUpdateSource = `exports = ((exports) => {
123
- const require = createRequire("${id}", ${JSON.stringify(importsMap, null, 2)})
124
- ${source.replace("import.meta.hot.accept(() => {})", "").replaceAll(
125
- /import.meta.glob\(.*\)/gi,
126
- "globalThis['__importMetaGlobbed'] || {}"
127
- )};
128
- return exports })({})`;
129
- process.env.DEBUG && console.info("Sending hot update", id, hotUpdateSource), hotUpdateCache.set(id, hotUpdateSource);
130
- } catch (err) {
131
- console.error("Error processing hmr update:", err);
132
- }
133
- }
134
- };
135
- }
136
- export {
137
- reactNativeHMRPlugin
138
- };
139
- //# sourceMappingURL=reactNativeHMRPlugin.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/plugins/reactNativeHMRPlugin.ts"],
4
- "mappings": "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",
5
- "names": ["id"]
6
- }
@@ -1,20 +0,0 @@
1
- import { describe, expect, it, vi } from "vitest";
2
- describe("resolveId hooks should skip during dep optimization scan", () => {
3
- describe("platform-specific-resolve", () => {
4
- it("should return undefined when options.scan is true", async () => {
5
- const { getBaseVitePlugins } = await import("../config/getBaseVitePlugins"), plugin = getBaseVitePlugins().find(
6
- (p) => typeof p == "object" && p !== null && "name" in p && p.name === "platform-specific-resolve"
7
- );
8
- if (expect(plugin).toBeDefined(), !plugin || typeof plugin != "object" || !("resolveId" in plugin))
9
- throw new Error("Plugin not found or missing resolveId");
10
- const resolveId = plugin.resolveId, mockContext = {
11
- resolve: vi.fn().mockResolvedValue({ id: "/some/path/file.ts" }),
12
- environment: { name: "client" }
13
- }, result = await resolveId.call(mockContext, "some-module", "/importer.ts", {
14
- scan: !0
15
- });
16
- expect(result).toBeUndefined(), expect(mockContext.resolve).not.toHaveBeenCalled();
17
- });
18
- });
19
- });
20
- //# sourceMappingURL=resolveIdScan.test.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/plugins/resolveIdScan.test.ts"],
4
- "mappings": "AAAA,SAAS,UAAU,QAAQ,IAAI,UAAU;AAazC,SAAS,4DAA4D,MAAM;AACzE,WAAS,6BAA6B,MAAM;AAC1C,OAAG,qDAAqD,YAAY;AAElE,YAAM,EAAE,mBAAmB,IAAI,MAAM,OAAO,8BAA8B,GAIpE,SAHU,mBAAmB,EAGZ;AAAA,QACrB,CAAC,MACC,OAAO,KAAM,YACb,MAAM,QACN,UAAU,KACV,EAAE,SAAS;AAAA,MACf;AAGA,UADA,OAAO,MAAM,EAAE,YAAY,GACvB,CAAC,UAAU,OAAO,UAAW,YAAY,EAAE,eAAe;AAC5D,cAAM,IAAI,MAAM,uCAAuC;AAGzD,YAAM,YAAY,OAAO,WAGnB,cAAc;AAAA,QAClB,SAAS,GAAG,GAAG,EAAE,kBAAkB,EAAE,IAAI,qBAAqB,CAAC;AAAA,QAC/D,aAAa,EAAE,MAAM,SAAS;AAAA,MAChC,GAGM,SAAS,MAAM,UAAU,KAAK,aAAa,eAAe,gBAAgB;AAAA,QAC9E,MAAM;AAAA,MACR,CAAC;AAED,aAAO,MAAM,EAAE,cAAc,GAE7B,OAAO,YAAY,OAAO,EAAE,IAAI,iBAAiB;AAAA,IACnD,CAAC;AAAA,EACH,CAAC;AACH,CAAC;",
5
- "names": []
6
- }
@@ -1,13 +0,0 @@
1
- const rollupRemoveUnusedImportsPlugin = {
2
- name: "remove-unused-imports",
3
- renderChunk(code) {
4
- return {
5
- code: code.replace(/import\s+['"][a-zA-Z0-9_\-@]+['"];\n/g, ""),
6
- map: null
7
- };
8
- }
9
- };
10
- export {
11
- rollupRemoveUnusedImportsPlugin
12
- };
13
- //# sourceMappingURL=rollupRemoveUnusedImports.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/plugins/rollupRemoveUnusedImports.ts"],
4
- "mappings": "AAAO,MAAM,kCAAkC;AAAA,EAC7C,MAAM;AAAA,EACN,YAAY,MAAM;AAGhB,WAAO;AAAA,MACL,MAAM,KAAK,QAAQ,yCAAyC,EAAE;AAAA,MAC9D,KAAK;AAAA,IACP;AAAA,EACF;AACF;",
5
- "names": []
6
- }
@@ -1,54 +0,0 @@
1
- import { describe, expect, it, vi } from "vitest";
2
- async function getPlatformResolvePlugin() {
3
- const { getBaseVitePlugins } = await import("../config/getBaseVitePlugins"), plugin = getBaseVitePlugins().find(
4
- (p) => typeof p == "object" && p !== null && "name" in p && p.name === "platform-specific-resolve"
5
- );
6
- if (!plugin || typeof plugin != "object" || !("resolveId" in plugin))
7
- throw new Error("platform-specific-resolve plugin not found");
8
- return plugin;
9
- }
10
- function createMockContext(envName, resolvedId) {
11
- return {
12
- resolve: vi.fn().mockResolvedValue(resolvedId ? { id: resolvedId } : null),
13
- environment: { name: envName }
14
- };
15
- }
16
- describe("platform-specific-resolve", () => {
17
- describe(".server extension", () => {
18
- it("ssr resolves .server files", async () => {
19
- const resolveId = (await getPlatformResolvePlugin()).resolveId, FSExtra = await import("fs-extra");
20
- vi.spyOn(FSExtra.default, "pathExists").mockImplementation(async (path) => String(path).includes(".server."));
21
- const ctx = createMockContext("ssr", "/src/db.ts"), result = await resolveId.call(ctx, "./db", "/src/app.tsx", {});
22
- expect(result).toEqual({ id: "/src/db.server.ts" }), vi.restoreAllMocks();
23
- }), it("client does not resolve .server files", async () => {
24
- const resolveId = (await getPlatformResolvePlugin()).resolveId, FSExtra = await import("fs-extra");
25
- vi.spyOn(FSExtra.default, "pathExists").mockImplementation(async (path) => String(path).includes(".web."));
26
- const ctx = createMockContext("client", "/src/db.ts"), result = await resolveId.call(ctx, "./db", "/src/app.tsx", {});
27
- expect(result).toEqual({ id: "/src/db.web.ts" }), vi.restoreAllMocks();
28
- }), it("errors when .server file is explicitly imported on client", async () => {
29
- const resolveId = (await getPlatformResolvePlugin()).resolveId, ctx = createMockContext("client", "/src/db.server.ts");
30
- await expect(
31
- resolveId.call(ctx, "./db.server", "/src/page.tsx", {})
32
- ).rejects.toThrow(".server file cannot be imported on client");
33
- }), it("errors when .server file is explicitly imported on ios", async () => {
34
- const resolveId = (await getPlatformResolvePlugin()).resolveId, ctx = createMockContext("ios", "/src/db.server.ts");
35
- await expect(
36
- resolveId.call(ctx, "./db.server", "/src/page.tsx", {})
37
- ).rejects.toThrow(".server file cannot be imported on ios");
38
- }), it("allows .server file import on ssr", async () => {
39
- const resolveId = (await getPlatformResolvePlugin()).resolveId, FSExtra = await import("fs-extra");
40
- vi.spyOn(FSExtra.default, "pathExists").mockResolvedValue(!1);
41
- const ctx = createMockContext("ssr", "/src/db.server.ts"), result = await resolveId.call(ctx, "./db.server", "/src/page.tsx", {});
42
- expect(result).toBeUndefined(), vi.restoreAllMocks();
43
- });
44
- }), describe("config extensions", () => {
45
- it("ssr includes .server extensions", async () => {
46
- const ssrExts = (await getPlatformResolvePlugin()).config().environments.ssr.resolve.extensions;
47
- expect(ssrExts).toContain(".server.ts"), expect(ssrExts).toContain(".server.tsx"), expect(ssrExts).toContain(".web.ts");
48
- }), it("client does not include .server extensions", async () => {
49
- const clientExts = (await getPlatformResolvePlugin()).config().environments.client.resolve.extensions;
50
- expect(clientExts).not.toContain(".server.ts"), expect(clientExts).not.toContain(".server.tsx");
51
- });
52
- });
53
- });
54
- //# sourceMappingURL=serverExtensions.test.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/plugins/serverExtensions.test.ts"],
4
- "mappings": "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",
5
- "names": []
6
- }
@@ -1,75 +0,0 @@
1
- import path from "node:path";
2
- import FSExtra from "fs-extra";
3
- import { bundle as metroBundle } from "@vxrn/vite-plugin-metro/rn-commands";
4
- import { loadEnv } from "../../exports/loadEnv";
5
- import { fillOptions } from "../../config/getOptionsFilled";
6
- import { getReactNativeBundle } from "../../utils/getReactNativeBundle";
7
- async function transformForHermes(code) {
8
- return (await (await import("@babel/core")).transformAsync(code, {
9
- compact: !1,
10
- retainLines: !0,
11
- assumptions: {
12
- setPublicClassFields: !0,
13
- privateFieldsAsSymbols: !0
14
- },
15
- plugins: [
16
- "@babel/plugin-transform-class-properties",
17
- "@babel/plugin-transform-private-methods",
18
- "@babel/plugin-transform-private-property-in-object",
19
- "@babel/plugin-transform-classes",
20
- "@babel/plugin-transform-async-to-generator"
21
- ],
22
- sourceType: "script"
23
- }))?.code || code;
24
- }
25
- async function buildBundle(_argv, ctx, args, bundleImpl = null) {
26
- const {
27
- platform,
28
- // Android is not supported yet.
29
- dev,
30
- // bundleEncoding, // Not supported, we are using utf8.
31
- // sourcemapUseAbsolutePath,
32
- // unstableTransformProfile,
33
- // resetCache, // Currently we are not using cache for production builds.
34
- // readGlobalCache,
35
- // entryFile, // Not supported. With VxRN, we are using a static entry file.
36
- bundleOutput,
37
- assetsDest
38
- // TODO
39
- // minify, // Minification is not supported.
40
- } = args, { root } = ctx;
41
- if (typeof root != "string")
42
- throw new Error(`Expected ctx.root to be a string, but got ${typeof root}`);
43
- const metroBuildBundleFn = await metroBundle.getBuildBundleFn();
44
- if (metroBuildBundleFn) {
45
- console.info("Using @vxrn/vite-plugin-metro to build the bundle."), await metroBuildBundleFn(_argv, ctx, args, bundleImpl), setTimeout(() => {
46
- console.info("Exiting process to prevent hanging."), process.exit();
47
- }, 3e4);
48
- return;
49
- }
50
- process.env.IS_VXRN_CLI = "true", loadEnv(dev ? "development" : "production", root), dev || (process.env.NODE_ENV = "production");
51
- let nativeEntry;
52
- const appDir = path.join(root, "app");
53
- FSExtra.existsSync(appDir) && FSExtra.statSync(appDir).isDirectory() && (console.info("One project detected. Using One virtual entry."), nativeEntry = "virtual:one-entry-native");
54
- const options = await fillOptions({
55
- root,
56
- host: "0.0.0.0",
57
- // TODO: Hardcoded for now.
58
- entries: nativeEntry ? { native: nativeEntry } : {}
59
- }, { mode: dev ? "dev" : "prod" });
60
- let builtBundle = await getReactNativeBundle(options, platform, {
61
- mode: dev ? "dev" : "prod",
62
- assetsDest,
63
- useCache: !1
64
- });
65
- builtBundle = builtBundle.replace(/process\.env\.VXRN_REACT_19/g, "false"), dev || (builtBundle = builtBundle.replace(
66
- '.getEnforcing("DevSettings")',
67
- ".patched_getEnforcing_DevSettings_will_not_work_in_production"
68
- )), !dev && /\bclass\s+[a-zA-Z]/.test(builtBundle) && (console.info("Transforming bundle for Hermes compatibility..."), builtBundle = await transformForHermes(builtBundle)), console.info(`Writing bundle to ${bundleOutput}...`), FSExtra.writeFileSync(bundleOutput, builtBundle, { encoding: "utf8" }), console.info("Done."), setTimeout(() => {
69
- console.info("Exiting process to prevent hanging."), process.exit();
70
- }, 3e4);
71
- }
72
- export {
73
- buildBundle
74
- };
75
- //# sourceMappingURL=buildBundle.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/rn-commands/bundle/buildBundle.ts"],
4
- "mappings": "AAAA,OAAO,UAAU;AACjB,OAAO,aAAa;AACpB,SAAS,UAAU,mBAAmB;AACtC,SAAS,eAAe;AACxB,SAAS,mBAAmB;AAC5B,SAAS,4BAA4B;AAErC,eAAe,mBAAmB,MAA+B;AAkB/D,UAhBe,OADD,MAAM,OAAO,aAAa,GACb,eAAe,MAAM;AAAA,IAC9C,SAAS;AAAA,IACT,aAAa;AAAA,IACb,aAAa;AAAA,MACX,sBAAsB;AAAA,MACtB,wBAAwB;AAAA,IAC1B;AAAA,IACA,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,YAAY;AAAA,EACd,CAAC,IACc,QAAQ;AACzB;AAyBA,eAAsB,YACpB,OACA,KACA,MACA,aAAkB,MACH;AACf,QAAM;AAAA,IACJ;AAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA,IACA;AAAA;AAAA;AAAA,EAEF,IAAI,MAEE,EAAE,KAAK,IAAI;AACjB,MAAI,OAAO,QAAS;AAClB,UAAM,IAAI,MAAM,6CAA6C,OAAO,IAAI,EAAE;AAG5E,QAAM,qBAAqB,MAAM,YAAY,iBAAiB;AAE9D,MAAI,oBAAoB;AACtB,YAAQ,KAAK,oDAAoD,GACjE,MAAM,mBAAmB,OAAO,KAAK,MAAM,UAAU,GAIrD,WAAW,MAAM;AACf,cAAQ,KAAK,qCAAqC,GAClD,QAAQ,KAAK;AAAA,IACf,GAAG,GAAK;AAER;AAAA,EACF;AAEA,UAAQ,IAAI,cAAc,QAC1B,QAAQ,MAAM,gBAAgB,cAAc,IAAI,GAE3C,QAGH,QAAQ,IAAI,WAAW;AAGzB,MAAI;AAIJ,QAAM,SAAS,KAAK,KAAK,MAAM,KAAK;AACpC,EAAI,QAAQ,WAAW,MAAM,KAAK,QAAQ,SAAS,MAAM,EAAE,YAAY,MACrE,QAAQ,KAAK,gDAAgD,GAE7D,cAAc;AAShB,QAAM,UAAU,MAAM,YANJ;AAAA,IAChB;AAAA,IACA,MAAM;AAAA;AAAA,IACN,SAAS,cAAc,EAAE,QAAQ,YAAY,IAAI,CAAC;AAAA,EACpD,GAE6C,EAAE,MAAM,MAAM,QAAQ,OAAO,CAAC;AAC3E,MAAI,cAAc,MAAM,qBAAqB,SAAS,UAAU;AAAA,IAC9D,MAAM,MAAM,QAAQ;AAAA,IACpB;AAAA,IACA,UAAU;AAAA,EACZ,CAAC;AAGD,gBAAc,YAAY,QAAQ,gCAAgC,OAAO,GAEpE,QAEH,cAAc,YAAY;AAAA,IACxB;AAAA,IACA;AAAA,EACF,IAKE,CAAC,OAAO,qBAAqB,KAAK,WAAW,MAC/C,QAAQ,KAAK,iDAAiD,GAC9D,cAAc,MAAM,mBAAmB,WAAW,IAGpD,QAAQ,KAAK,qBAAqB,YAAY,KAAK,GACnD,QAAQ,cAAc,cAAc,aAAa,EAAE,UAAU,OAAO,CAAC,GACrE,QAAQ,KAAK,OAAO,GAIpB,WAAW,MAAM;AACf,YAAQ,KAAK,qCAAqC,GAClD,QAAQ,KAAK;AAAA,EACf,GAAG,GAAK;AACV;",
5
- "names": []
6
- }
@@ -1,40 +0,0 @@
1
- import { networkInterfaces } from "node:os";
2
- import { serve as honoServe } from "@hono/node-server";
3
- import colors from "picocolors";
4
- function getNetworkAddress() {
5
- for (const addresses of Object.values(networkInterfaces()))
6
- for (const addr of addresses || [])
7
- if (addr.family === "IPv4" && !addr.internal)
8
- return addr.address;
9
- }
10
- async function honoServeNode(app, options) {
11
- const server = honoServe({
12
- fetch: app.fetch,
13
- port: options.port,
14
- hostname: options.host
15
- }), colorUrl = (url) => colors.cyan(url.replace(/:(\d+)\//, (_, port) => `:${colors.bold(port)}/`)), localUrl = `http://${options.host === "0.0.0.0" ? "localhost" : options.host}:${options.port}/`;
16
- if (console.info(), console.info(` ${colors.green("\u279C")} ${colors.bold("Local")}: ${colorUrl(localUrl)}`), options.host === "0.0.0.0") {
17
- const networkHost = getNetworkAddress();
18
- if (networkHost) {
19
- const networkUrl = `http://${networkHost}:${options.port}/`;
20
- console.info(
21
- ` ${colors.green("\u279C")} ${colors.bold("Network")}: ${colorUrl(networkUrl)}`
22
- );
23
- }
24
- }
25
- console.info();
26
- const shutdown = () => {
27
- server.close(() => {
28
- process.exit(0);
29
- });
30
- };
31
- process.on("SIGINT", shutdown), process.on("SIGTERM", shutdown), await new Promise((res) => {
32
- server.on("close", () => {
33
- res();
34
- });
35
- });
36
- }
37
- export {
38
- honoServeNode
39
- };
40
- //# sourceMappingURL=node.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/serve/node.ts"],
4
- "mappings": "AAAA,SAAS,yBAAyB;AAClC,SAAS,SAAS,iBAAiB;AAEnC,OAAO,YAAY;AAGnB,SAAS,oBAAwC;AAC/C,aAAW,aAAa,OAAO,OAAO,kBAAkB,CAAC;AACvD,eAAW,QAAQ,aAAa,CAAC;AAC/B,UAAI,KAAK,WAAW,UAAU,CAAC,KAAK;AAClC,eAAO,KAAK;AAIpB;AAEA,eAAsB,cAAc,KAAW,SAA2B;AACxE,QAAM,SAAS,UAAU;AAAA,IACvB,OAAO,IAAI;AAAA,IACX,MAAM,QAAQ;AAAA,IACd,UAAU,QAAQ;AAAA,EACpB,CAAC,GAEK,WAAW,CAAC,QAChB,OAAO,KAAK,IAAI,QAAQ,YAAY,CAAC,GAAG,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,GAAG,CAAC,GAGtE,WAAW,UADG,QAAQ,SAAS,YAAY,cAAc,QAAQ,IACjC,IAAI,QAAQ,IAAI;AAKtD,MAHA,QAAQ,KAAK,GACb,QAAQ,KAAK,KAAK,OAAO,MAAM,QAAG,CAAC,KAAK,OAAO,KAAK,OAAO,CAAC,OAAO,SAAS,QAAQ,CAAC,EAAE,GAEnF,QAAQ,SAAS,WAAW;AAC9B,UAAM,cAAc,kBAAkB;AACtC,QAAI,aAAa;AACf,YAAM,aAAa,UAAU,WAAW,IAAI,QAAQ,IAAI;AACxD,cAAQ;AAAA,QACN,KAAK,OAAO,MAAM,QAAG,CAAC,KAAK,OAAO,KAAK,SAAS,CAAC,KAAK,SAAS,UAAU,CAAC;AAAA,MAC5E;AAAA,IACF;AAAA,EACF;AACA,UAAQ,KAAK;AAEb,QAAM,WAAW,MAAM;AACrB,WAAO,MAAM,MAAM;AACjB,cAAQ,KAAK,CAAC;AAAA,IAChB,CAAC;AAAA,EACH;AAEA,UAAQ,GAAG,UAAU,QAAQ,GAC7B,QAAQ,GAAG,WAAW,QAAQ,GAE9B,MAAM,IAAI,QAAc,CAAC,QAAQ;AAC/B,WAAO,GAAG,SAAS,MAAM;AACvB,UAAI;AAAA,IACN,CAAC;AAAA,EACH,CAAC;AACH;",
5
- "names": []
6
- }
package/dist/types.js DELETED
@@ -1 +0,0 @@
1
- //# sourceMappingURL=types.js.map
package/dist/types.js.map DELETED
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": [],
4
- "mappings": "",
5
- "names": []
6
- }