vxrn 0.1.16 → 0.1.18

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 (139) hide show
  1. package/dist/cjs/VXRNConfigFilled.js +53 -0
  2. package/dist/cjs/VXRNConfigFilled.js.map +6 -0
  3. package/dist/cjs/VXRNConfigFilled.native.js +307 -0
  4. package/dist/cjs/VXRNConfigFilled.native.js.map +6 -0
  5. package/dist/cjs/build.js +96 -0
  6. package/dist/cjs/build.js.map +6 -0
  7. package/dist/cjs/build.native.js +237 -0
  8. package/dist/cjs/build.native.js.map +6 -0
  9. package/dist/cjs/commands/cli-build.js +36 -0
  10. package/dist/cjs/commands/cli-build.js.map +6 -0
  11. package/dist/cjs/commands/cli-build.native.js +171 -0
  12. package/dist/cjs/commands/cli-build.native.js.map +6 -0
  13. package/dist/cjs/commands/cli-dev.js +2 -2
  14. package/dist/cjs/commands/cli-dev.js.map +1 -1
  15. package/dist/cjs/commands/cli-dev.native.js +2 -2
  16. package/dist/cjs/commands/cli-dev.native.js.map +2 -2
  17. package/dist/cjs/commands/index.js +3 -1
  18. package/dist/cjs/commands/index.js.map +1 -1
  19. package/dist/cjs/commands/index.native.js +4 -0
  20. package/dist/cjs/commands/index.native.js.map +2 -2
  21. package/dist/cjs/createDevServer.js +602 -0
  22. package/dist/cjs/createDevServer.js.map +6 -0
  23. package/dist/cjs/createDevServer.native.js +1222 -0
  24. package/dist/cjs/createDevServer.native.js.map +6 -0
  25. package/dist/cjs/getBaseViteConfig.js +40 -0
  26. package/dist/cjs/getBaseViteConfig.js.map +6 -0
  27. package/dist/cjs/getBaseViteConfig.native.js +46 -0
  28. package/dist/cjs/getBaseViteConfig.native.js.map +6 -0
  29. package/dist/cjs/getOptionsFIlled.js +53 -0
  30. package/dist/cjs/getOptionsFIlled.js.map +6 -0
  31. package/dist/cjs/getOptionsFIlled.native.js +307 -0
  32. package/dist/cjs/getOptionsFIlled.native.js.map +6 -0
  33. package/dist/cjs/index.js +3 -2
  34. package/dist/cjs/index.js.map +1 -1
  35. package/dist/cjs/index.native.js +4 -2
  36. package/dist/cjs/index.native.js.map +1 -1
  37. package/dist/cjs/nativePlugin.js +1 -1
  38. package/dist/cjs/nativePlugin.native.js +1 -1
  39. package/dist/cjs/types.native.js.map +1 -1
  40. package/dist/cjs/utils/getBaseViteConfig.js +40 -0
  41. package/dist/cjs/utils/getBaseViteConfig.js.map +6 -0
  42. package/dist/cjs/utils/getBaseViteConfig.native.js +46 -0
  43. package/dist/cjs/utils/getBaseViteConfig.native.js.map +6 -0
  44. package/dist/cjs/utils/getOptionsFilled.js +53 -0
  45. package/dist/cjs/utils/getOptionsFilled.js.map +6 -0
  46. package/dist/cjs/utils/getOptionsFilled.native.js +307 -0
  47. package/dist/cjs/utils/getOptionsFilled.native.js.map +6 -0
  48. package/dist/cjs/utils/getVitePath.js +49 -0
  49. package/dist/cjs/utils/getVitePath.js.map +6 -0
  50. package/dist/cjs/utils/getVitePath.native.js +198 -0
  51. package/dist/cjs/utils/getVitePath.native.js.map +6 -0
  52. package/dist/esm/VXRNConfigFilled.js +30 -0
  53. package/dist/esm/VXRNConfigFilled.js.map +6 -0
  54. package/dist/esm/VXRNConfigFilled.mjs +34 -0
  55. package/dist/esm/VXRNConfigFilled.native.js +279 -0
  56. package/dist/esm/VXRNConfigFilled.native.js.map +6 -0
  57. package/dist/esm/build.js +83 -0
  58. package/dist/esm/build.js.map +6 -0
  59. package/dist/esm/build.mjs +56 -0
  60. package/dist/esm/build.native.js +217 -0
  61. package/dist/esm/build.native.js.map +6 -0
  62. package/dist/esm/commands/cli-build.js +23 -0
  63. package/dist/esm/commands/cli-build.js.map +6 -0
  64. package/dist/esm/commands/cli-build.mjs +22 -0
  65. package/dist/esm/commands/cli-build.native.js +156 -0
  66. package/dist/esm/commands/cli-build.native.js.map +6 -0
  67. package/dist/esm/commands/cli-dev.js +2 -2
  68. package/dist/esm/commands/cli-dev.js.map +1 -1
  69. package/dist/esm/commands/cli-dev.mjs +2 -2
  70. package/dist/esm/commands/cli-dev.native.js +2 -2
  71. package/dist/esm/commands/cli-dev.native.js.map +2 -2
  72. package/dist/esm/commands/index.js +3 -1
  73. package/dist/esm/commands/index.js.map +1 -1
  74. package/dist/esm/commands/index.mjs +3 -1
  75. package/dist/esm/commands/index.native.js +4 -0
  76. package/dist/esm/commands/index.native.js.map +2 -2
  77. package/dist/esm/createDevServer.js +613 -0
  78. package/dist/esm/createDevServer.js.map +6 -0
  79. package/dist/esm/createDevServer.mjs +574 -0
  80. package/dist/esm/createDevServer.native.js +1211 -0
  81. package/dist/esm/createDevServer.native.js.map +6 -0
  82. package/dist/esm/getBaseViteConfig.js +24 -0
  83. package/dist/esm/getBaseViteConfig.js.map +6 -0
  84. package/dist/esm/getBaseViteConfig.mjs +23 -0
  85. package/dist/esm/getBaseViteConfig.native.js +25 -0
  86. package/dist/esm/getBaseViteConfig.native.js.map +6 -0
  87. package/dist/esm/getOptionsFIlled.js +30 -0
  88. package/dist/esm/getOptionsFIlled.js.map +6 -0
  89. package/dist/esm/getOptionsFIlled.mjs +34 -0
  90. package/dist/esm/getOptionsFIlled.native.js +279 -0
  91. package/dist/esm/getOptionsFIlled.native.js.map +6 -0
  92. package/dist/esm/index.js +4 -2
  93. package/dist/esm/index.js.map +1 -1
  94. package/dist/esm/index.mjs +3 -2
  95. package/dist/esm/index.native.js +4 -2
  96. package/dist/esm/index.native.js.map +2 -2
  97. package/dist/esm/nativePlugin.js +1 -1
  98. package/dist/esm/nativePlugin.mjs +1 -1
  99. package/dist/esm/nativePlugin.native.js +1 -1
  100. package/dist/esm/utils/getBaseViteConfig.js +24 -0
  101. package/dist/esm/utils/getBaseViteConfig.js.map +6 -0
  102. package/dist/esm/utils/getBaseViteConfig.mjs +23 -0
  103. package/dist/esm/utils/getBaseViteConfig.native.js +25 -0
  104. package/dist/esm/utils/getBaseViteConfig.native.js.map +6 -0
  105. package/dist/esm/utils/getOptionsFilled.js +30 -0
  106. package/dist/esm/utils/getOptionsFilled.js.map +6 -0
  107. package/dist/esm/utils/getOptionsFilled.mjs +34 -0
  108. package/dist/esm/utils/getOptionsFilled.native.js +279 -0
  109. package/dist/esm/utils/getOptionsFilled.native.js.map +6 -0
  110. package/dist/esm/utils/getVitePath.js +27 -0
  111. package/dist/esm/utils/getVitePath.js.map +6 -0
  112. package/dist/esm/utils/getVitePath.mjs +20 -0
  113. package/dist/esm/utils/getVitePath.native.js +171 -0
  114. package/dist/esm/utils/getVitePath.native.js.map +6 -0
  115. package/package.json +6 -6
  116. package/src/build.ts +96 -0
  117. package/src/commands/cli-build.ts +25 -0
  118. package/src/commands/cli-dev.ts +2 -2
  119. package/src/commands/index.ts +2 -1
  120. package/src/{create.ts → createDevServer.ts} +122 -180
  121. package/src/index.ts +2 -1
  122. package/src/nativePlugin.ts +1 -1
  123. package/src/types.ts +2 -1
  124. package/src/utils/getBaseViteConfig.ts +22 -0
  125. package/src/utils/getOptionsFilled.ts +43 -0
  126. package/src/{getVitePath.ts → utils/getVitePath.ts} +17 -17
  127. package/types/VXRNConfigFilled.d.ts +21 -0
  128. package/types/build.d.ts +4 -0
  129. package/types/commands/cli-build.d.ts +3 -0
  130. package/types/commands/index.d.ts +1 -0
  131. package/types/create.d.ts +2 -1
  132. package/types/createDevServer.d.ts +13 -0
  133. package/types/getBaseViteConfig.d.ts +5 -0
  134. package/types/getOptionsFIlled.d.ts +21 -0
  135. package/types/index.d.ts +2 -1
  136. package/types/types.d.ts +2 -1
  137. package/types/utils/getBaseViteConfig.d.ts +5 -0
  138. package/types/utils/getOptionsFilled.d.ts +22 -0
  139. package/types/utils/getVitePath.d.ts +2 -0
@@ -0,0 +1,602 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: !0 });
9
+ }, __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from == "object" || typeof from == "function")
11
+ for (let key of __getOwnPropNames(from))
12
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
+ return to;
14
+ };
15
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
16
+ // If the importer is in node compatibility mode or this is not an ESM
17
+ // file that has been converted to a CommonJS file using a Babel-
18
+ // compatible transform (i.e. "__esModule" has not been set), then set
19
+ // "default" to the CommonJS "module.exports" for node compatibility.
20
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
21
+ mod
22
+ )), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
23
+ var createDevServer_exports = {};
24
+ __export(createDevServer_exports, {
25
+ bindKeypressInput: () => bindKeypressInput,
26
+ createDevServer: () => createDevServer,
27
+ resolveFile: () => resolveFile
28
+ });
29
+ module.exports = __toCommonJS(createDevServer_exports);
30
+ var import_node = __toESM(require("crossws/adapters/node"), 1), import_find_node_modules = __toESM(require("find-node-modules"), 1), import_h3 = require("h3"), import_h3_proxy = require("h3-proxy"), import_promises = require("node:fs/promises"), import_node_http = require("node:http"), import_node_path = require("node:path"), import_node_readline = __toESM(require("node:readline"), 1), import_ws = require("ws"), babel = __toESM(require("@babel/core"), 1), import_react_native_prebuilt = require("@vxrn/react-native-prebuilt"), import_vite_native_swc = __toESM(require("@vxrn/vite-native-swc"), 1), import_es_module_lexer = require("es-module-lexer"), import_fs_extra = __toESM(require("fs-extra"), 1), import_vite = require("vite"), import_vite_flow = __toESM(require("@vxrn/vite-flow"), 1), import_import_meta_resolve = require("import-meta-resolve"), import_clientInjectPlugin = require("./dev/clientInjectPlugin"), import_nativePlugin = require("./nativePlugin"), import_getBaseViteConfig = require("./utils/getBaseViteConfig"), import_getOptionsFilled = require("./utils/getOptionsFilled"), import_getVitePath = require("./utils/getVitePath");
31
+ const import_meta = {}, resolveFile = (path) => {
32
+ try {
33
+ return (0, import_import_meta_resolve.resolve)(path, import_meta.url).replace("file://", "");
34
+ } catch {
35
+ return require.resolve(path);
36
+ }
37
+ }, nativeExtensions = [
38
+ ".native.tsx",
39
+ ".native.jsx",
40
+ ".native.js",
41
+ ".tsx",
42
+ ".ts",
43
+ ".js",
44
+ ".css",
45
+ ".json"
46
+ ], extensions = [
47
+ ".web.tsx",
48
+ ".tsx",
49
+ ".web.ts",
50
+ ".ts",
51
+ ".web.jsx",
52
+ ".jsx",
53
+ ".web.js",
54
+ ".js",
55
+ ".css",
56
+ ".json"
57
+ ], { ensureDir, pathExists, pathExistsSync } = import_fs_extra.default, patches = [
58
+ {
59
+ module: "react-native-screens",
60
+ patchFile: "react-native-screens+3.22.1.patch"
61
+ }
62
+ ];
63
+ async function checkPatches(options) {
64
+ if (options.state.applyPatches === !1)
65
+ return;
66
+ const nodeModulesDirs = (0, import_find_node_modules.default)({
67
+ cwd: options.root
68
+ }).map((relativePath) => (0, import_node_path.join)(options.root, relativePath)), patchesToCopy = /* @__PURE__ */ new Set();
69
+ await Promise.all(
70
+ patches.flatMap((patch) => nodeModulesDirs.flatMap(async (dir) => {
71
+ await import_fs_extra.default.pathExists((0, import_node_path.join)(dir, patch.module)) && patchesToCopy.add(patch);
72
+ }))
73
+ );
74
+ let didCopy = !1;
75
+ for (const patch of [...patchesToCopy]) {
76
+ const dest = (0, import_node_path.join)(options.userPatchesDir, patch.patchFile);
77
+ if (!await pathExists(dest)) {
78
+ didCopy = !0, console.info(`Copying patch ${patch.module}`);
79
+ const src = (0, import_node_path.join)(options.internalPatchesDir, patch.patchFile);
80
+ await import_fs_extra.default.copy(src, dest);
81
+ }
82
+ }
83
+ didCopy && (console.info(
84
+ `
85
+ Please restart after applying the patch by running "npx patch-package".
86
+ Ideally add it to your devDependencies and as a postinstall script.
87
+ `
88
+ ), process.exit(0));
89
+ }
90
+ const createDevServer = async (optionsIn) => {
91
+ const options = await (0, import_getOptionsFilled.getOptionsFilled)(optionsIn), { host, port, root, cacheDir } = options;
92
+ bindKeypressInput();
93
+ let entryRoot = "";
94
+ checkPatches(options).catch((err) => {
95
+ console.error(`
96
+ \u{1F97A} couldn't patch`, err);
97
+ }), await ensureDir(cacheDir);
98
+ const prebuilds = {
99
+ reactJSX: (0, import_node_path.join)(cacheDir, "react-jsx-runtime.js"),
100
+ react: (0, import_node_path.join)(cacheDir, "react.js"),
101
+ reactNative: (0, import_node_path.join)(cacheDir, "react-native.js")
102
+ };
103
+ await pathExists(prebuilds.reactNative) || (console.info("Pre-building react, react-native react/jsx-runtime (one time cost)..."), await Promise.all([
104
+ (0, import_react_native_prebuilt.buildReactNative)({
105
+ entryPoints: [resolveFile("react-native")],
106
+ outfile: prebuilds.reactNative
107
+ }),
108
+ (0, import_react_native_prebuilt.buildReact)({
109
+ entryPoints: [resolveFile("react")],
110
+ outfile: prebuilds.react
111
+ }),
112
+ (0, import_react_native_prebuilt.buildReactJSX)({
113
+ entryPoints: [resolveFile("react/jsx-dev-runtime")],
114
+ outfile: prebuilds.reactJSX
115
+ })
116
+ ]));
117
+ const viteFlow = options.flow ? (0, import_vite_flow.default)(options.flow) : null, templateFile = resolveFile("vxrn/react-native-template.js"), hotUpdatedCJSFiles = /* @__PURE__ */ new Map(), jsxRuntime = {
118
+ // alias: 'virtual:react-jsx',
119
+ alias: prebuilds.reactJSX,
120
+ contents: await (0, import_promises.readFile)(prebuilds.reactJSX, "utf-8")
121
+ }, virtualModules = {
122
+ "react-native": {
123
+ // alias: 'virtual:react-native',
124
+ alias: prebuilds.reactNative,
125
+ contents: await (0, import_promises.readFile)(prebuilds.reactNative, "utf-8")
126
+ },
127
+ react: {
128
+ // alias: 'virtual:react',
129
+ alias: prebuilds.react,
130
+ contents: await (0, import_promises.readFile)(prebuilds.react, "utf-8")
131
+ },
132
+ "react/jsx-runtime": jsxRuntime,
133
+ "react/jsx-dev-runtime": jsxRuntime
134
+ }, swapRnPlugin = {
135
+ name: "swap-react-native",
136
+ enforce: "pre",
137
+ resolveId(id, importer = "") {
138
+ if (id.startsWith("react-native/Libraries"))
139
+ return `virtual:rn-internals:${id}`;
140
+ if (id === "react-native-web")
141
+ return prebuilds.reactNative;
142
+ for (const targetId in virtualModules)
143
+ if (id === targetId || id.includes(`node_modules/${targetId}/`))
144
+ return virtualModules[targetId].alias;
145
+ if (id[0] === ".") {
146
+ const absolutePath = (0, import_node_path.resolve)((0, import_node_path.dirname)(importer), id), nativePath = absolutePath.replace(/(.m?js)/, ".native.js");
147
+ if (nativePath === id)
148
+ return;
149
+ try {
150
+ const directoryPath = absolutePath + "/index.native.js", directoryNonNativePath = absolutePath + "/index.js";
151
+ if (pathExistsSync(directoryPath))
152
+ return directoryPath;
153
+ if (pathExistsSync(directoryNonNativePath))
154
+ return directoryNonNativePath;
155
+ if (pathExistsSync(nativePath))
156
+ return nativePath;
157
+ } catch (err) {
158
+ console.warn("error probably fine", err);
159
+ }
160
+ }
161
+ },
162
+ load(id) {
163
+ if (id.startsWith("virtual:rn-internals"))
164
+ return `const ___val = __cachedModules["${id.replace("virtual:rn-internals:", "")}"]
165
+ const ___defaultVal = ___val ? ___val.default || ___val : ___val
166
+ export default ___defaultVal`;
167
+ for (const targetId in virtualModules) {
168
+ const info = virtualModules[targetId];
169
+ if (id === info.alias)
170
+ return info.contents;
171
+ }
172
+ }
173
+ }, depsToOptimize = ["react", "react-dom", "@react-native/normalize-color"], reactNativeHMRPlugin = {
174
+ name: "client-transform",
175
+ async handleHotUpdate({ read, modules, file }) {
176
+ try {
177
+ if (!isWithin(root, file))
178
+ return;
179
+ const [module2] = modules;
180
+ if (!module2)
181
+ return;
182
+ const id = module2?.url || file.replace(root, ""), code = await read();
183
+ if (code.startsWith("'use strict';") || !code)
184
+ return;
185
+ let source = code;
186
+ source = (await (0, import_vite_native_swc.transformForBuild)(id, source))?.code || "";
187
+ const importsMap = {}, [imports] = (0, import_es_module_lexer.parse)(source);
188
+ let accumulatedSliceOffset = 0;
189
+ for (const specifier of imports) {
190
+ const { n: importName, s: start } = specifier;
191
+ if (importName) {
192
+ const id2 = await (0, import_getVitePath.getVitePath)(entryRoot, file, importName);
193
+ if (!id2) {
194
+ console.warn("???");
195
+ continue;
196
+ }
197
+ importsMap[id2] = id2.replace(/^(\.\.\/)+/, "");
198
+ const len = importName.length, extraLen = id2.length - len;
199
+ source = source.slice(0, start + accumulatedSliceOffset) + id2 + source.slice(start + accumulatedSliceOffset + len), accumulatedSliceOffset += extraLen;
200
+ }
201
+ }
202
+ if (source = (await (0, import_vite_native_swc.swcTransform)(id, source, {
203
+ mode: "serve-cjs"
204
+ }))?.code || "", !source)
205
+ throw "\u274C no source";
206
+ importsMap.currentPath = id;
207
+ const hotUpdateSource = `exports = ((exports) => {
208
+ const require = createRequire(${JSON.stringify(importsMap, null, 2)})
209
+ ${source.replace("import.meta.hot.accept(() => {})", "").replaceAll(/import.meta.glob\(.*\)/gi, "globalThis['__importMetaGlobbed'] || {}")};
210
+ return exports })({})`;
211
+ process.env.DEBUG && console.info("Sending hot update", hotUpdateSource), hotUpdatedCJSFiles.set(id, hotUpdateSource);
212
+ } catch (err) {
213
+ console.error("Error processing hmr update:", err);
214
+ }
215
+ }
216
+ };
217
+ let serverConfig = (0, import_vite.mergeConfig)(
218
+ (0, import_getBaseViteConfig.getBaseViteConfig)({
219
+ mode: "development"
220
+ }),
221
+ {
222
+ root,
223
+ clearScreen: !1,
224
+ plugins: [reactNativeHMRPlugin],
225
+ optimizeDeps: {
226
+ include: depsToOptimize,
227
+ exclude: Object.values(virtualModules).map((v) => v.alias),
228
+ force: !0,
229
+ esbuildOptions: {
230
+ resolveExtensions: extensions
231
+ }
232
+ },
233
+ server: {
234
+ hmr: {
235
+ path: "/__vxrnhmr"
236
+ },
237
+ cors: !0,
238
+ host
239
+ }
240
+ }
241
+ );
242
+ options.webConfig && (serverConfig = (0, import_vite.mergeConfig)(serverConfig, options.webConfig));
243
+ const resolvedConfig = await (0, import_vite.resolveConfig)(serverConfig, "serve"), viteRNClientPlugin = (0, import_clientInjectPlugin.clientInjectionsPlugin)(resolvedConfig);
244
+ serverConfig = {
245
+ ...serverConfig,
246
+ plugins: [...serverConfig.plugins]
247
+ };
248
+ const viteServer = await (0, import_vite.createServer)(serverConfig);
249
+ viteServer.watcher.addListener("change", async (path) => {
250
+ const id = path.replace(process.cwd(), "");
251
+ if (!(!id.endsWith("tsx") && !id.endsWith("jsx")))
252
+ try {
253
+ viteServer.transformRequest(id);
254
+ } catch (err) {
255
+ console.info("err", err);
256
+ }
257
+ });
258
+ let isBuilding = null;
259
+ await viteServer.listen();
260
+ const vitePort = viteServer.config.server.port;
261
+ console.info("vite running on", vitePort);
262
+ const router = (0, import_h3.createRouter)(), app = (0, import_h3.createApp)({
263
+ onError: (error) => {
264
+ console.error(error);
265
+ },
266
+ onRequest: (event) => {
267
+ console.info(" \u2192", event.path);
268
+ }
269
+ });
270
+ router.get(
271
+ "/file",
272
+ (0, import_h3.defineEventHandler)((e) => {
273
+ const query = (0, import_h3.getQuery)(e);
274
+ if (typeof query.file == "string") {
275
+ const source = hotUpdatedCJSFiles.get(query.file);
276
+ return new Response(source, {
277
+ headers: {
278
+ "content-type": "text/javascript"
279
+ }
280
+ });
281
+ }
282
+ })
283
+ ), router.get(
284
+ "/index.bundle",
285
+ (0, import_h3.defineEventHandler)(async (e) => new Response(await getBundleCode(), {
286
+ headers: {
287
+ "content-type": "text/javascript"
288
+ }
289
+ }))
290
+ ), router.get(
291
+ "/status",
292
+ (0, import_h3.defineEventHandler)(() => "packager-status:running")
293
+ ), app.use(router), app.use(
294
+ (0, import_h3.defineEventHandler)(async ({ node: { req } }) => {
295
+ if (req.headers["user-agent"]?.match(/Expo|React/) && (req.url === "/" || req.url?.startsWith("/?platform=")))
296
+ return getIndexJsonResponse({ port, root });
297
+ })
298
+ );
299
+ const { handleUpgrade } = (0, import_node.default)(app.websocket);
300
+ if (vitePort) {
301
+ const clients = /* @__PURE__ */ new Set(), socket = new import_ws.WebSocket(`ws://localhost:${vitePort}/__vxrnhmr`, "vite-hmr");
302
+ console.info("connecting to vite..."), socket.on("open", () => {
303
+ console.info("...connected to vite!");
304
+ }), socket.on("message", (msg) => {
305
+ const message = msg.toString();
306
+ console.info(clients.size, "message", message);
307
+ for (const listener of [...clients])
308
+ listener.send(message);
309
+ }), socket.on("error", (err) => {
310
+ console.info("err", err);
311
+ }), app.use(
312
+ "/__vxrnhmr",
313
+ (0, import_h3.defineWebSocketHandler)({
314
+ open(peer) {
315
+ console.debug("[hmr:web] open", peer), clients.add(peer);
316
+ },
317
+ message(peer, message) {
318
+ socket.send(message.rawData);
319
+ },
320
+ close(peer, event) {
321
+ console.info("[hmr:web] close", peer, event), clients.delete(peer);
322
+ },
323
+ error(peer, error) {
324
+ console.error("[hmr:web] error", peer, error);
325
+ }
326
+ })
327
+ );
328
+ }
329
+ app.use(
330
+ "/__hmr",
331
+ (0, import_h3.defineWebSocketHandler)({
332
+ open(peer) {
333
+ console.debug("[hmr] open", peer);
334
+ },
335
+ message(peer, message) {
336
+ console.info("[hmr] message", peer, message), message.text().includes("ping") && peer.send("pong");
337
+ },
338
+ close(peer, event) {
339
+ console.info("[hmr] close", peer, event);
340
+ },
341
+ error(peer, error) {
342
+ console.error("[hmr] error", peer, error);
343
+ }
344
+ })
345
+ ), app.use(
346
+ "/__client",
347
+ (0, import_h3.defineWebSocketHandler)({
348
+ open(peer) {
349
+ console.info("[client] open", peer);
350
+ },
351
+ message(peer, messageRaw) {
352
+ const message = JSON.parse(messageRaw.text());
353
+ switch (message.type) {
354
+ case "client-log": {
355
+ console.info(`\u{1FAB5} [${message.level}]`, ...message.data);
356
+ return;
357
+ }
358
+ default:
359
+ console.warn("[client] Unknown message type", message);
360
+ }
361
+ },
362
+ close(peer, event) {
363
+ console.info("[client] close", peer, event);
364
+ },
365
+ error(peer, error) {
366
+ console.error("[client] error", peer, error);
367
+ }
368
+ })
369
+ );
370
+ const proxyEventHandler = (0, import_h3_proxy.createProxyEventHandler)({
371
+ target: `http://127.0.0.1:${vitePort}`,
372
+ enableLogger: !!process.env.DEBUG
373
+ });
374
+ app.use((0, import_h3.eventHandler)(proxyEventHandler));
375
+ const server = (0, import_node_http.createServer)((0, import_h3.toNodeListener)(app));
376
+ return server.on("upgrade", handleUpgrade), {
377
+ nativeServer: server,
378
+ viteServer,
379
+ async start() {
380
+ return server.listen(port), console.info(`Server running on http://localhost:${port}`), {
381
+ closePromise: new Promise((res) => viteServer.httpServer?.on("close", res))
382
+ };
383
+ },
384
+ stop: async () => {
385
+ await Promise.all([server.close(), viteServer.close()]);
386
+ }
387
+ };
388
+ async function getBundleCode() {
389
+ if (process.env.LOAD_TMP_BUNDLE) {
390
+ const tmpBundle = (0, import_node_path.join)(process.cwd(), "bundle.tmp.js");
391
+ if (await pathExists(tmpBundle))
392
+ return console.info("\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F returning temp bundle \u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F", tmpBundle), await (0, import_promises.readFile)(tmpBundle, "utf-8");
393
+ }
394
+ if (isBuilding)
395
+ return await isBuilding;
396
+ let done;
397
+ isBuilding = new Promise((res) => {
398
+ done = res;
399
+ });
400
+ async function babelReanimated(input, filename) {
401
+ return await new Promise((res, rej) => {
402
+ babel.transform(
403
+ input,
404
+ {
405
+ plugins: ["react-native-reanimated/plugin"],
406
+ filename
407
+ },
408
+ (err, result) => {
409
+ (!result || err) && rej(err || "no res"), res(result.code);
410
+ }
411
+ );
412
+ });
413
+ }
414
+ const buildInput = options.entryNative || "index.jsx";
415
+ let buildConfig = {
416
+ plugins: [
417
+ viteFlow,
418
+ swapRnPlugin,
419
+ {
420
+ name: "reanimated",
421
+ async transform(code, id) {
422
+ if (code.includes("worklet"))
423
+ return await babelReanimated(code, id);
424
+ }
425
+ },
426
+ viteRNClientPlugin,
427
+ (0, import_nativePlugin.nativePlugin)({
428
+ root,
429
+ port,
430
+ mode: "build"
431
+ }),
432
+ (0, import_vite_native_swc.default)({
433
+ tsDecorators: !0,
434
+ mode: "build"
435
+ }),
436
+ // viteInspectPlugin({
437
+ // build: true,
438
+ // outputDir: '.vite-inspect',
439
+ // }),
440
+ {
441
+ name: "treat-js-files-as-jsx",
442
+ async transform(code, id) {
443
+ return id.match(/expo-status-bar/) ? (0, import_vite.transformWithEsbuild)(code, id, {
444
+ loader: "jsx",
445
+ jsx: "automatic"
446
+ }) : null;
447
+ }
448
+ }
449
+ ].filter(Boolean),
450
+ appType: "custom",
451
+ root,
452
+ clearScreen: !1,
453
+ optimizeDeps: {
454
+ include: depsToOptimize,
455
+ esbuildOptions: {
456
+ jsx: "automatic"
457
+ }
458
+ },
459
+ resolve: {
460
+ extensions: nativeExtensions
461
+ },
462
+ mode: "development",
463
+ define: {
464
+ "process.env.NODE_ENV": '"development"'
465
+ },
466
+ build: {
467
+ ssr: !1,
468
+ minify: !1,
469
+ commonjsOptions: {
470
+ transformMixedEsModules: !0
471
+ },
472
+ rollupOptions: {
473
+ treeshake: !1,
474
+ preserveEntrySignatures: "strict",
475
+ output: {
476
+ preserveModules: !0,
477
+ format: "cjs"
478
+ }
479
+ }
480
+ }
481
+ };
482
+ options.buildConfig && (buildConfig = (0, import_vite.mergeConfig)(buildConfig, options.buildConfig)), await (0, import_vite.resolveConfig)(buildConfig, "build");
483
+ const buildOutput = await (0, import_vite.build)(buildConfig);
484
+ if (!("output" in buildOutput))
485
+ throw "\u274C";
486
+ let appCode = buildOutput.output.sort((a, b) => a.isEntry ? 1 : -1).map((outputModule) => {
487
+ if (outputModule.type == "chunk") {
488
+ const importsMap = {
489
+ currentPath: outputModule.fileName
490
+ };
491
+ for (const imp of outputModule.imports) {
492
+ const relativePath = (0, import_node_path.relative)((0, import_node_path.dirname)(outputModule.fileName), imp);
493
+ importsMap[relativePath[0] === "." ? relativePath : "./" + relativePath] = imp;
494
+ }
495
+ return outputModule.isEntry && (entryRoot = (0, import_node_path.dirname)(outputModule.fileName)), `
496
+ ___modules___["${outputModule.fileName}"] = ((exports, module) => {
497
+ const require = createRequire(${JSON.stringify(importsMap, null, 2)})
498
+
499
+ ${outputModule.code}
500
+ })
501
+
502
+ ${outputModule.isEntry ? `
503
+ // run entry
504
+ const __require = createRequire({})
505
+ __require("react-native-web")
506
+ __require("${outputModule.fileName}")
507
+ ` : ""}
508
+ `;
509
+ }
510
+ }).join(`
511
+ `);
512
+ if (!appCode)
513
+ throw "\u274C";
514
+ appCode = appCode.replaceAll("undefined.accept(() => {})", "").replaceAll("undefined.accept(function() {});", "").replaceAll("(void 0).accept(() => {})", "").replaceAll("(void 0).accept(function() {});", "");
515
+ const appRootParent = (0, import_node_path.join)(root, "..", ".."), out = (await (0, import_promises.readFile)(templateFile, "utf-8")).replace("_virtual/virtual_react-native.js", (0, import_node_path.relative)(appRootParent, prebuilds.reactNative)).replace("_virtual/virtual_react.js", (0, import_node_path.relative)(appRootParent, prebuilds.react)).replaceAll("_virtual/virtual_react-jsx.js", (0, import_node_path.relative)(appRootParent, prebuilds.reactJSX)) + appCode;
516
+ return done(out), isBuilding = null, out;
517
+ }
518
+ };
519
+ function getIndexJsonResponse({ port, root }) {
520
+ return {
521
+ name: "myapp",
522
+ slug: "myapp",
523
+ scheme: "myapp",
524
+ version: "1.0.0",
525
+ jsEngine: "jsc",
526
+ orientation: "portrait",
527
+ icon: "./assets/icon.png",
528
+ userInterfaceStyle: "light",
529
+ splash: {
530
+ image: "./assets/splash.png",
531
+ resizeMode: "contain",
532
+ backgroundColor: "#ffffff",
533
+ imageUrl: "http://127.0.0.1:8081/assets/./assets/splash.png"
534
+ },
535
+ updates: { fallbackToCacheTimeout: 0 },
536
+ assetBundlePatterns: ["**/*"],
537
+ ios: { supportsTablet: !0, bundleIdentifier: "com.natew.myapp" },
538
+ android: {
539
+ package: "com.tamagui.myapp",
540
+ adaptiveIcon: {
541
+ foregroundImage: "./assets/adaptive-icon.png",
542
+ backgroundColor: "#FFFFFF",
543
+ foregroundImageUrl: "http://127.0.0.1:8081/assets/./assets/adaptive-icon.png"
544
+ }
545
+ },
546
+ web: { favicon: "./assets/favicon.png" },
547
+ extra: { eas: { projectId: "061b4470-78c7-4d6a-b850-8167fb0a3434" } },
548
+ _internal: {
549
+ isDebug: !1,
550
+ projectRoot: root,
551
+ dynamicConfigPath: null,
552
+ staticConfigPath: (0, import_node_path.join)(root, "app.json"),
553
+ packageJsonPath: (0, import_node_path.join)(root, "package.json")
554
+ },
555
+ sdkVersion: "47.0.0",
556
+ platforms: ["ios", "android", "web"],
557
+ iconUrl: `http://127.0.0.1:${port}/assets/./assets/icon.png`,
558
+ debuggerHost: `127.0.0.1:${port}`,
559
+ logUrl: `http://127.0.0.1:${port}/logs`,
560
+ developer: { tool: "expo-cli", projectRoot: root },
561
+ packagerOpts: { dev: !0 },
562
+ mainModuleName: "index",
563
+ __flipperHack: "React Native packager is running",
564
+ hostUri: `127.0.0.1:${port}`,
565
+ bundleUrl: `http://127.0.0.1:${port}/index.bundle?platform=ios&dev=true&hot=false&lazy=true`,
566
+ id: "@anonymous/myapp-473c4543-3c36-4786-9db1-c66a62ac9b78"
567
+ };
568
+ }
569
+ function bindKeypressInput() {
570
+ if (!process.stdin.setRawMode) {
571
+ console.warn({
572
+ msg: "Interactive mode is not supported in this environment"
573
+ });
574
+ return;
575
+ }
576
+ import_node_readline.default.emitKeypressEvents(process.stdin), process.stdin.setRawMode(!0), process.stdin.on("keypress", (_key, data) => {
577
+ const { ctrl, name } = data;
578
+ if (ctrl === !0)
579
+ switch (name) {
580
+ case "c":
581
+ process.exit();
582
+ case "z":
583
+ process.emit("SIGTSTP", "SIGTSTP");
584
+ break;
585
+ }
586
+ else
587
+ switch (name) {
588
+ case "r":
589
+ break;
590
+ case "d":
591
+ break;
592
+ case "c":
593
+ process.stdout.write("\x1B[2J\x1B[0;0H");
594
+ break;
595
+ }
596
+ });
597
+ }
598
+ function isWithin(outer, inner) {
599
+ const rel = (0, import_node_path.relative)(outer, inner);
600
+ return !rel.startsWith("../") && rel !== "..";
601
+ }
602
+ //# sourceMappingURL=createDevServer.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/createDevServer.ts"],
4
+ "mappings": "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",
5
+ "names": ["importMetaResolve", "FSExtra", "findNodeModules", "createViteFlow", "module", "id", "wsAdapter", "nodeCreateServer", "viteReactPlugin", "readline"]
6
+ }