vxrn 0.1.19 → 0.1.21

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 (270) hide show
  1. package/dist/cjs/build.js +57 -8
  2. package/dist/cjs/build.js.map +2 -2
  3. package/dist/cjs/build.native.js +180 -8
  4. package/dist/cjs/build.native.js.map +2 -2
  5. package/dist/cjs/cli.js +77 -3
  6. package/dist/cjs/cli.js.map +2 -2
  7. package/dist/cjs/cli.native.js +268 -2
  8. package/dist/cjs/cli.native.js.map +2 -2
  9. package/dist/cjs/constants.js +21 -0
  10. package/dist/cjs/constants.js.map +6 -0
  11. package/dist/cjs/constants.native.js +26 -0
  12. package/dist/cjs/constants.native.js.map +6 -0
  13. package/dist/cjs/createDevServer.js +9 -10
  14. package/dist/cjs/createDevServer.js.map +1 -1
  15. package/dist/cjs/createDevServer.native.js +9 -11
  16. package/dist/cjs/createDevServer.native.js.map +2 -2
  17. package/dist/cjs/createExpoServer.js +34 -0
  18. package/dist/cjs/createExpoServer.js.map +6 -0
  19. package/dist/cjs/createExpoServer.native.js +42 -0
  20. package/dist/cjs/createExpoServer.native.js.map +6 -0
  21. package/dist/cjs/{getBaseViteConfig.js → dispose.js} +12 -24
  22. package/dist/cjs/dispose.js.map +6 -0
  23. package/dist/cjs/{getBaseViteConfig.native.js → dispose.native.js} +16 -26
  24. package/dist/cjs/dispose.native.js.map +6 -0
  25. package/dist/cjs/exports/build.js +145 -0
  26. package/dist/cjs/exports/build.js.map +6 -0
  27. package/dist/cjs/exports/build.native.js +409 -0
  28. package/dist/cjs/exports/build.native.js.map +6 -0
  29. package/dist/cjs/exports/checkPatches.js +62 -0
  30. package/dist/cjs/exports/checkPatches.js.map +6 -0
  31. package/dist/cjs/{getOptionsFIlled.native.js → exports/checkPatches.native.js} +106 -124
  32. package/dist/cjs/exports/checkPatches.native.js.map +6 -0
  33. package/dist/cjs/{create.js → exports/dev.js} +90 -168
  34. package/dist/cjs/exports/dev.js.map +6 -0
  35. package/dist/cjs/{create.native.js → exports/dev.native.js} +148 -357
  36. package/dist/cjs/exports/dev.native.js.map +6 -0
  37. package/dist/cjs/{dev/bindKeypressInput.js → exports/serve.js} +31 -40
  38. package/dist/cjs/exports/serve.js.map +6 -0
  39. package/dist/cjs/{getVitePath.native.js → exports/serve.native.js} +99 -60
  40. package/dist/cjs/exports/serve.native.js.map +6 -0
  41. package/dist/cjs/index.js +2 -3
  42. package/dist/cjs/index.js.map +1 -1
  43. package/dist/cjs/index.native.js +3 -5
  44. package/dist/cjs/index.native.js.map +1 -1
  45. package/dist/cjs/plugins/clientBundleTreeShakePlugin.js +69 -0
  46. package/dist/cjs/plugins/clientBundleTreeShakePlugin.js.map +6 -0
  47. package/dist/cjs/plugins/clientBundleTreeShakePlugin.native.js +97 -0
  48. package/dist/cjs/plugins/clientBundleTreeShakePlugin.native.js.map +6 -0
  49. package/dist/cjs/plugins/clientInjectPlugin.js +66 -0
  50. package/dist/cjs/plugins/clientInjectPlugin.js.map +6 -0
  51. package/dist/cjs/plugins/clientInjectPlugin.native.js +190 -0
  52. package/dist/cjs/plugins/clientInjectPlugin.native.js.map +6 -0
  53. package/dist/cjs/plugins/reactNativeCommonJsPlugin.js +89 -0
  54. package/dist/cjs/plugins/reactNativeCommonJsPlugin.js.map +6 -0
  55. package/dist/cjs/plugins/reactNativeCommonJsPlugin.native.js +346 -0
  56. package/dist/cjs/plugins/reactNativeCommonJsPlugin.native.js.map +6 -0
  57. package/dist/cjs/utils/checkPatches.js +62 -0
  58. package/dist/cjs/utils/checkPatches.js.map +6 -0
  59. package/dist/cjs/{VXRNConfigFilled.native.js → utils/checkPatches.native.js} +106 -124
  60. package/dist/cjs/utils/checkPatches.native.js.map +6 -0
  61. package/dist/cjs/utils/dispose.js +28 -0
  62. package/dist/cjs/utils/dispose.js.map +6 -0
  63. package/dist/cjs/utils/dispose.native.js +36 -0
  64. package/dist/cjs/utils/dispose.native.js.map +6 -0
  65. package/dist/cjs/utils/getBaseViteConfig.js +2 -2
  66. package/dist/cjs/utils/getBaseViteConfig.js.map +1 -1
  67. package/dist/cjs/utils/getBaseViteConfig.native.js +2 -2
  68. package/dist/cjs/utils/getBaseViteConfig.native.js.map +1 -1
  69. package/dist/cjs/utils/getOptionsFilled.js +3 -3
  70. package/dist/cjs/utils/getOptionsFilled.js.map +2 -2
  71. package/dist/cjs/utils/getOptionsFilled.native.js +4 -3
  72. package/dist/cjs/utils/getOptionsFilled.native.js.map +2 -2
  73. package/dist/cjs/utils/patches.js +62 -0
  74. package/dist/cjs/utils/patches.js.map +6 -0
  75. package/dist/cjs/utils/patches.native.js +289 -0
  76. package/dist/cjs/utils/patches.native.js.map +6 -0
  77. package/dist/cjs/utils/prerender.js +1 -0
  78. package/dist/cjs/utils/prerender.js.map +6 -0
  79. package/dist/cjs/utils/prerender.native.js +2 -0
  80. package/dist/cjs/utils/prerender.native.js.map +6 -0
  81. package/dist/cjs/vendor/createExpoServer.js +34 -0
  82. package/dist/cjs/vendor/createExpoServer.js.map +6 -0
  83. package/dist/cjs/vendor/createExpoServer.native.js +42 -0
  84. package/dist/cjs/vendor/createExpoServer.native.js.map +6 -0
  85. package/dist/esm/build.js +51 -6
  86. package/dist/esm/build.js.map +2 -2
  87. package/dist/esm/build.mjs +68 -5
  88. package/dist/esm/build.native.js +174 -6
  89. package/dist/esm/build.native.js.map +2 -2
  90. package/dist/esm/cli.js +58 -3
  91. package/dist/esm/cli.js.map +2 -2
  92. package/dist/esm/cli.mjs +81 -9
  93. package/dist/esm/cli.native.js +249 -3
  94. package/dist/esm/cli.native.js.map +2 -2
  95. package/dist/esm/constants.js +5 -0
  96. package/dist/esm/constants.js.map +6 -0
  97. package/dist/esm/constants.mjs +2 -0
  98. package/dist/esm/constants.native.js +5 -0
  99. package/dist/esm/constants.native.js.map +6 -0
  100. package/dist/esm/createDevServer.js +10 -9
  101. package/dist/esm/createDevServer.js.map +1 -1
  102. package/dist/esm/createDevServer.mjs +8 -12
  103. package/dist/esm/createDevServer.native.js +10 -10
  104. package/dist/esm/createDevServer.native.js.map +2 -2
  105. package/dist/esm/createExpoServer.js +20 -0
  106. package/dist/esm/createExpoServer.js.map +6 -0
  107. package/dist/esm/createExpoServer.mjs +17 -0
  108. package/dist/esm/createExpoServer.native.js +22 -0
  109. package/dist/esm/createExpoServer.native.js.map +6 -0
  110. package/dist/esm/dispose.js +12 -0
  111. package/dist/esm/dispose.js.map +6 -0
  112. package/dist/esm/dispose.mjs +8 -0
  113. package/dist/esm/dispose.native.js +14 -0
  114. package/dist/esm/dispose.native.js.map +6 -0
  115. package/dist/esm/exports/build.js +128 -0
  116. package/dist/esm/exports/build.js.map +6 -0
  117. package/dist/esm/exports/build.mjs +119 -0
  118. package/dist/esm/exports/build.native.js +385 -0
  119. package/dist/esm/exports/build.native.js.map +6 -0
  120. package/dist/esm/exports/checkPatches.js +40 -0
  121. package/dist/esm/exports/checkPatches.js.map +6 -0
  122. package/dist/esm/exports/checkPatches.mjs +31 -0
  123. package/dist/esm/exports/checkPatches.native.js +262 -0
  124. package/dist/esm/exports/checkPatches.native.js.map +6 -0
  125. package/dist/esm/{create.js → exports/dev.js} +94 -171
  126. package/dist/esm/exports/dev.js.map +6 -0
  127. package/dist/esm/exports/dev.mjs +543 -0
  128. package/dist/esm/{create.native.js → exports/dev.native.js} +150 -359
  129. package/dist/esm/exports/dev.native.js.map +6 -0
  130. package/dist/esm/exports/serve.js +33 -0
  131. package/dist/esm/exports/serve.js.map +6 -0
  132. package/dist/esm/exports/serve.mjs +38 -0
  133. package/dist/esm/exports/serve.native.js +209 -0
  134. package/dist/esm/exports/serve.native.js.map +6 -0
  135. package/dist/esm/index.js +3 -5
  136. package/dist/esm/index.js.map +1 -1
  137. package/dist/esm/index.mjs +3 -4
  138. package/dist/esm/index.native.js +3 -5
  139. package/dist/esm/index.native.js.map +2 -2
  140. package/dist/esm/plugins/clientBundleTreeShakePlugin.js +46 -0
  141. package/dist/esm/plugins/clientBundleTreeShakePlugin.js.map +6 -0
  142. package/dist/esm/plugins/clientBundleTreeShakePlugin.mjs +41 -0
  143. package/dist/esm/plugins/clientBundleTreeShakePlugin.native.js +70 -0
  144. package/dist/esm/plugins/clientBundleTreeShakePlugin.native.js.map +6 -0
  145. package/dist/esm/plugins/clientInjectPlugin.js +42 -0
  146. package/dist/esm/plugins/clientInjectPlugin.js.map +6 -0
  147. package/dist/esm/plugins/clientInjectPlugin.mjs +56 -0
  148. package/dist/esm/plugins/clientInjectPlugin.native.js +161 -0
  149. package/dist/esm/plugins/clientInjectPlugin.native.js.map +6 -0
  150. package/dist/esm/plugins/reactNativeCommonJsPlugin.js +75 -0
  151. package/dist/esm/plugins/reactNativeCommonJsPlugin.js.map +6 -0
  152. package/dist/esm/plugins/reactNativeCommonJsPlugin.mjs +55 -0
  153. package/dist/esm/plugins/reactNativeCommonJsPlugin.native.js +327 -0
  154. package/dist/esm/plugins/reactNativeCommonJsPlugin.native.js.map +6 -0
  155. package/dist/esm/utils/checkPatches.js +40 -0
  156. package/dist/esm/utils/checkPatches.js.map +6 -0
  157. package/dist/esm/utils/checkPatches.mjs +31 -0
  158. package/dist/esm/utils/checkPatches.native.js +262 -0
  159. package/dist/esm/utils/checkPatches.native.js.map +6 -0
  160. package/dist/esm/utils/dispose.js +12 -0
  161. package/dist/esm/utils/dispose.js.map +6 -0
  162. package/dist/esm/utils/dispose.mjs +8 -0
  163. package/dist/esm/utils/dispose.native.js +14 -0
  164. package/dist/esm/utils/dispose.native.js.map +6 -0
  165. package/dist/esm/utils/getBaseViteConfig.js +1 -1
  166. package/dist/esm/utils/getBaseViteConfig.mjs +1 -1
  167. package/dist/esm/utils/getBaseViteConfig.native.js +1 -1
  168. package/dist/esm/utils/getOptionsFilled.js +3 -1
  169. package/dist/esm/utils/getOptionsFilled.js.map +2 -2
  170. package/dist/esm/utils/getOptionsFilled.mjs +3 -1
  171. package/dist/esm/utils/getOptionsFilled.native.js +4 -2
  172. package/dist/esm/utils/getOptionsFilled.native.js.map +2 -2
  173. package/dist/esm/utils/patches.js +40 -0
  174. package/dist/esm/utils/patches.js.map +6 -0
  175. package/dist/esm/utils/patches.mjs +31 -0
  176. package/dist/esm/utils/patches.native.js +262 -0
  177. package/dist/esm/utils/patches.native.js.map +6 -0
  178. package/dist/esm/utils/prerender.js +1 -0
  179. package/dist/esm/utils/prerender.js.map +6 -0
  180. package/dist/esm/utils/prerender.mjs +0 -0
  181. package/dist/esm/utils/prerender.native.js +1 -0
  182. package/dist/esm/utils/prerender.native.js.map +6 -0
  183. package/dist/esm/vendor/createExpoServer.js +20 -0
  184. package/dist/esm/vendor/createExpoServer.js.map +6 -0
  185. package/dist/esm/vendor/createExpoServer.mjs +17 -0
  186. package/dist/esm/vendor/createExpoServer.native.js +22 -0
  187. package/dist/esm/vendor/createExpoServer.native.js.map +6 -0
  188. package/package.json +9 -6
  189. package/react-native-template.js +11 -0
  190. package/src/cli.ts +78 -2
  191. package/src/exports/build.ts +197 -0
  192. package/src/{createDevServer.ts → exports/dev.ts} +25 -72
  193. package/src/exports/serve.ts +51 -0
  194. package/src/index.ts +3 -3
  195. package/src/plugins/clientBundleTreeShakePlugin.tsx +105 -0
  196. package/src/{dev → plugins}/clientInjectPlugin.ts +1 -12
  197. package/src/{nativePlugin.ts → plugins/reactNativeCommonJsPlugin.ts} +3 -26
  198. package/src/utils/getBaseViteConfig.ts +1 -1
  199. package/src/utils/getOptionsFilled.ts +6 -1
  200. package/src/utils/patches.ts +54 -0
  201. package/src/vendor/createExpoServer.ts +27 -0
  202. package/types/build.d.ts +4 -4
  203. package/types/constants.d.ts +2 -0
  204. package/types/createExpoServer.d.ts +4 -0
  205. package/types/dispose.d.ts +3 -0
  206. package/types/exports/build.d.ts +4 -0
  207. package/types/exports/dev.d.ts +13 -0
  208. package/types/exports/serve.d.ts +3 -0
  209. package/types/index.d.ts +2 -3
  210. package/types/plugins/clientBundleTreeShakePlugin.d.ts +13 -0
  211. package/types/plugins/clientBundleTreeShakePlugni.d.ts +13 -0
  212. package/types/plugins/clientInjectPlugin.d.ts +7 -0
  213. package/types/plugins/reactNativeCommonJsPlugin.d.ts +7 -0
  214. package/types/plugins/server-tree-shake.d.ts +13 -0
  215. package/types/utils/checkPatches.d.ts +3 -0
  216. package/types/utils/dispose.d.ts +3 -0
  217. package/types/utils/patches.d.ts +3 -0
  218. package/types/utils/prerender.d.ts +1 -0
  219. package/types/vendor/createExpoServer.d.ts +4 -0
  220. package/dist/cjs/VXRNConfigFilled.js +0 -53
  221. package/dist/cjs/VXRNConfigFilled.js.map +0 -6
  222. package/dist/cjs/VXRNConfigFilled.native.js.map +0 -6
  223. package/dist/cjs/create.js.map +0 -6
  224. package/dist/cjs/create.native.js.map +0 -6
  225. package/dist/cjs/dev/bindKeypressInput.js.map +0 -6
  226. package/dist/cjs/dev/bindKeypressInput.native.js +0 -73
  227. package/dist/cjs/dev/bindKeypressInput.native.js.map +0 -6
  228. package/dist/cjs/getBaseViteConfig.js.map +0 -6
  229. package/dist/cjs/getBaseViteConfig.native.js.map +0 -6
  230. package/dist/cjs/getOptionsFIlled.js +0 -53
  231. package/dist/cjs/getOptionsFIlled.js.map +0 -6
  232. package/dist/cjs/getOptionsFIlled.native.js.map +0 -6
  233. package/dist/cjs/getVitePath.js +0 -50
  234. package/dist/cjs/getVitePath.js.map +0 -6
  235. package/dist/cjs/getVitePath.native.js.map +0 -6
  236. package/dist/esm/VXRNConfigFilled.js +0 -30
  237. package/dist/esm/VXRNConfigFilled.js.map +0 -6
  238. package/dist/esm/VXRNConfigFilled.mjs +0 -34
  239. package/dist/esm/VXRNConfigFilled.native.js +0 -279
  240. package/dist/esm/VXRNConfigFilled.native.js.map +0 -6
  241. package/dist/esm/create.js.map +0 -6
  242. package/dist/esm/create.mjs +0 -624
  243. package/dist/esm/create.native.js.map +0 -6
  244. package/dist/esm/dev/bindKeypressInput.js +0 -40
  245. package/dist/esm/dev/bindKeypressInput.js.map +0 -6
  246. package/dist/esm/dev/bindKeypressInput.mjs +0 -41
  247. package/dist/esm/dev/bindKeypressInput.native.js +0 -44
  248. package/dist/esm/dev/bindKeypressInput.native.js.map +0 -6
  249. package/dist/esm/getBaseViteConfig.js +0 -24
  250. package/dist/esm/getBaseViteConfig.js.map +0 -6
  251. package/dist/esm/getBaseViteConfig.mjs +0 -23
  252. package/dist/esm/getBaseViteConfig.native.js +0 -25
  253. package/dist/esm/getBaseViteConfig.native.js.map +0 -6
  254. package/dist/esm/getOptionsFIlled.js +0 -30
  255. package/dist/esm/getOptionsFIlled.js.map +0 -6
  256. package/dist/esm/getOptionsFIlled.mjs +0 -34
  257. package/dist/esm/getOptionsFIlled.native.js +0 -279
  258. package/dist/esm/getOptionsFIlled.native.js.map +0 -6
  259. package/dist/esm/getVitePath.js +0 -28
  260. package/dist/esm/getVitePath.js.map +0 -6
  261. package/dist/esm/getVitePath.mjs +0 -21
  262. package/dist/esm/getVitePath.native.js +0 -170
  263. package/dist/esm/getVitePath.native.js.map +0 -6
  264. package/src/build.ts +0 -96
  265. package/src/commands/cli-build.ts +0 -25
  266. package/src/commands/cli-dev.ts +0 -47
  267. package/src/commands/index.ts +0 -10
  268. package/src/dev/createDevServer.ts +0 -234
  269. /package/src/{utils/constants.ts → constants.ts} +0 -0
  270. /package/src/{utils.ts → utils/dispose.ts} +0 -0
@@ -0,0 +1,289 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: !0 });
10
+ }, __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from == "object" || typeof from == "function")
12
+ for (let key of __getOwnPropNames(from))
13
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ return to;
15
+ };
16
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
17
+ // If the importer is in node compatibility mode or this is not an ESM
18
+ // file that has been converted to a CommonJS file using a Babel-
19
+ // compatible transform (i.e. "__esModule" has not been set), then set
20
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
22
+ mod
23
+ )), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
24
+ var patches_exports = {};
25
+ __export(patches_exports, {
26
+ checkPatches: () => checkPatches
27
+ });
28
+ module.exports = __toCommonJS(patches_exports);
29
+ var import_find_node_modules = __toESM(require("find-node-modules"), 1), import_node_path = require("node:path"), import_fs_extra = __toESM(require("fs-extra"), 1);
30
+ function _array_like_to_array(arr, len) {
31
+ (len == null || len > arr.length) && (len = arr.length);
32
+ for (var i = 0, arr2 = new Array(len); i < len; i++)
33
+ arr2[i] = arr[i];
34
+ return arr2;
35
+ }
36
+ function _array_without_holes(arr) {
37
+ if (Array.isArray(arr))
38
+ return _array_like_to_array(arr);
39
+ }
40
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
41
+ try {
42
+ var info = gen[key](arg), value = info.value;
43
+ } catch (error) {
44
+ reject(error);
45
+ return;
46
+ }
47
+ info.done ? resolve(value) : Promise.resolve(value).then(_next, _throw);
48
+ }
49
+ function _async_to_generator(fn) {
50
+ return function() {
51
+ var self = this, args = arguments;
52
+ return new Promise(function(resolve, reject) {
53
+ var gen = fn.apply(self, args);
54
+ function _next(value) {
55
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
56
+ }
57
+ function _throw(err) {
58
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
59
+ }
60
+ _next(void 0);
61
+ });
62
+ };
63
+ }
64
+ function _iterable_to_array(iter) {
65
+ if (typeof Symbol < "u" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
66
+ return Array.from(iter);
67
+ }
68
+ function _non_iterable_spread() {
69
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
70
+ }
71
+ function _to_consumable_array(arr) {
72
+ return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
73
+ }
74
+ function _unsupported_iterable_to_array(o, minLen) {
75
+ if (o) {
76
+ if (typeof o == "string")
77
+ return _array_like_to_array(o, minLen);
78
+ var n = Object.prototype.toString.call(o).slice(8, -1);
79
+ if (n === "Object" && o.constructor && (n = o.constructor.name), n === "Map" || n === "Set")
80
+ return Array.from(n);
81
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
82
+ return _array_like_to_array(o, minLen);
83
+ }
84
+ }
85
+ function _ts_generator(thisArg, body) {
86
+ var f, y, t, g, _ = {
87
+ label: 0,
88
+ sent: function() {
89
+ if (t[0] & 1)
90
+ throw t[1];
91
+ return t[1];
92
+ },
93
+ trys: [],
94
+ ops: []
95
+ };
96
+ return g = {
97
+ next: verb(0),
98
+ throw: verb(1),
99
+ return: verb(2)
100
+ }, typeof Symbol == "function" && (g[Symbol.iterator] = function() {
101
+ return this;
102
+ }), g;
103
+ function verb(n) {
104
+ return function(v) {
105
+ return step([
106
+ n,
107
+ v
108
+ ]);
109
+ };
110
+ }
111
+ function step(op) {
112
+ if (f)
113
+ throw new TypeError("Generator is already executing.");
114
+ for (; _; )
115
+ try {
116
+ if (f = 1, y && (t = op[0] & 2 ? y.return : op[0] ? y.throw || ((t = y.return) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
117
+ return t;
118
+ switch (y = 0, t && (op = [
119
+ op[0] & 2,
120
+ t.value
121
+ ]), op[0]) {
122
+ case 0:
123
+ case 1:
124
+ t = op;
125
+ break;
126
+ case 4:
127
+ return _.label++, {
128
+ value: op[1],
129
+ done: !1
130
+ };
131
+ case 5:
132
+ _.label++, y = op[1], op = [
133
+ 0
134
+ ];
135
+ continue;
136
+ case 7:
137
+ op = _.ops.pop(), _.trys.pop();
138
+ continue;
139
+ default:
140
+ if (t = _.trys, !(t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
141
+ _ = 0;
142
+ continue;
143
+ }
144
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
145
+ _.label = op[1];
146
+ break;
147
+ }
148
+ if (op[0] === 6 && _.label < t[1]) {
149
+ _.label = t[1], t = op;
150
+ break;
151
+ }
152
+ if (t && _.label < t[2]) {
153
+ _.label = t[2], _.ops.push(op);
154
+ break;
155
+ }
156
+ t[2] && _.ops.pop(), _.trys.pop();
157
+ continue;
158
+ }
159
+ op = body.call(thisArg, _);
160
+ } catch (e) {
161
+ op = [
162
+ 6,
163
+ e
164
+ ], y = 0;
165
+ } finally {
166
+ f = t = 0;
167
+ }
168
+ if (op[0] & 5)
169
+ throw op[1];
170
+ return {
171
+ value: op[0] ? op[1] : void 0,
172
+ done: !0
173
+ };
174
+ }
175
+ }
176
+ var patches = [
177
+ {
178
+ module: "react-native-screens",
179
+ patchFile: "react-native-screens+3.22.1.patch"
180
+ }
181
+ ];
182
+ function checkPatches(options) {
183
+ return _checkPatches.apply(this, arguments);
184
+ }
185
+ function _checkPatches() {
186
+ return _checkPatches = _async_to_generator(function(options) {
187
+ var nodeModulesDirs, patchesToCopy, didCopy, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, patch, dest, src, err;
188
+ return _ts_generator(this, function(_state) {
189
+ switch (_state.label) {
190
+ case 0:
191
+ return options.state.applyPatches === !1 ? [
192
+ 2
193
+ ] : (nodeModulesDirs = (0, import_find_node_modules.default)({
194
+ cwd: options.root
195
+ }).map(function(relativePath) {
196
+ return (0, import_node_path.join)(options.root, relativePath);
197
+ }), patchesToCopy = /* @__PURE__ */ new Set(), [
198
+ 4,
199
+ Promise.all(patches.flatMap(function(patch2) {
200
+ return nodeModulesDirs.flatMap(function() {
201
+ var _ref = _async_to_generator(function(dir) {
202
+ return _ts_generator(this, function(_state2) {
203
+ switch (_state2.label) {
204
+ case 0:
205
+ return [
206
+ 4,
207
+ import_fs_extra.default.pathExists((0, import_node_path.join)(dir, patch2.module))
208
+ ];
209
+ case 1:
210
+ return _state2.sent() && patchesToCopy.add(patch2), [
211
+ 2
212
+ ];
213
+ }
214
+ });
215
+ });
216
+ return function(dir) {
217
+ return _ref.apply(this, arguments);
218
+ };
219
+ }());
220
+ }))
221
+ ]);
222
+ case 1:
223
+ _state.sent(), didCopy = !1, _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0, _state.label = 2;
224
+ case 2:
225
+ _state.trys.push([
226
+ 2,
227
+ 8,
228
+ 9,
229
+ 10
230
+ ]), _iterator = _to_consumable_array(patchesToCopy)[Symbol.iterator](), _state.label = 3;
231
+ case 3:
232
+ return (_iteratorNormalCompletion = (_step = _iterator.next()).done) ? [
233
+ 3,
234
+ 7
235
+ ] : (patch = _step.value, dest = (0, import_node_path.join)(options.userPatchesDir, patch.patchFile), [
236
+ 4,
237
+ import_fs_extra.default.pathExists(dest)
238
+ ]);
239
+ case 4:
240
+ return _state.sent() ? [
241
+ 3,
242
+ 6
243
+ ] : (didCopy = !0, console.info("Copying patch ".concat(patch.module)), src = (0, import_node_path.join)(options.internalPatchesDir, patch.patchFile), [
244
+ 4,
245
+ import_fs_extra.default.copy(src, dest)
246
+ ]);
247
+ case 5:
248
+ _state.sent(), _state.label = 6;
249
+ case 6:
250
+ return _iteratorNormalCompletion = !0, [
251
+ 3,
252
+ 3
253
+ ];
254
+ case 7:
255
+ return [
256
+ 3,
257
+ 10
258
+ ];
259
+ case 8:
260
+ return err = _state.sent(), _didIteratorError = !0, _iteratorError = err, [
261
+ 3,
262
+ 10
263
+ ];
264
+ case 9:
265
+ try {
266
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
267
+ } finally {
268
+ if (_didIteratorError)
269
+ throw _iteratorError;
270
+ }
271
+ return [
272
+ 7
273
+ ];
274
+ case 10:
275
+ return didCopy && (console.info(`
276
+ Please restart after applying the patch by running "npx patch-package".
277
+ Ideally add it to your devDependencies and as a postinstall script.
278
+ `), process.exit(0)), [
279
+ 2
280
+ ];
281
+ }
282
+ });
283
+ }), _checkPatches.apply(this, arguments);
284
+ }
285
+ // Annotate the CommonJS export names for ESM import in node:
286
+ 0 && (module.exports = {
287
+ checkPatches
288
+ });
289
+ //# sourceMappingURL=patches.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/utils/Users/n8/vxrn/packages/vxrn/src/utils/patches.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA4B,0CAC5B,mBAAqB,sBACrB,kBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGpB,IAAMA,UAAU;EACd;IACEC,QAAQ;IACRC,WAAW;EACb;;AAIF,SAAsBC,aAAaC,SAAyB;SAAtCD,cAAAA,MAAAA,MAAAA,SAAAA;;SAAAA,gBAAAA;AAAAA,yBAAf,oBAAA,SAA4BC,SAAyB;QAKpDC,iBAIAC,eAYFC,SAEC,2BAAA,mBAAA,gBAAA,WAAA,OAAMC,OACHC,MAIEC,KAAAA;;;;AA3BV,iBAAIN,QAAQO,MAAMC,iBAAiB,KACjC;;eAGIP,sBAAkBQ,yBAAAA,SAAgB;YACtCC,KAAKV,QAAQW;UACf,CAAA,EAAGC,IAAI,SAACC,cAAAA;uBAAiBC,uBAAKd,QAAQW,MAAME,YAAAA;cAEtCX,gBAAgB,oBAAIa,IAAAA,GAE1B;;YAAMC,QAAQC,IACZrB,QAAQsB,QAAQ,SAACd,QAAAA;AACf,qBAAOH,gBAAgBiB,QAAO,WAAA;2BAAC,oBAAA,SAAOC,KAAAA;;;;AAChC,+BAAA;;0BAAMC,gBAAAA,QAAQC,eAAWP,uBAAKK,KAAKf,OAAMP,MAAM,CAAA;;;AAAnD,+BAAIyB,QAAA,KAAA,KACFpB,cAAcqB,IAAInB,MAAAA;;;;;gBAEtB,CAAA;gCAJsCe,KAAAA;;;;YAKxC,CAAA,CAAA;;;AAPF,iBAAA,KAAA,GAUIhB,UAAU,IAET,4BAAA,IAAA,oBAAA,IAAA,iBAAA;;;;;;;cAAA,YAAgB,qBAAGD,aAAAA,EAAAA,OAAAA,QAAAA,EAAAA;;kBAAnB,6BAAA,QAAA,UAAA,KAAA,GAAA,QAAA;;;eAAME,QAAN,MAAA,OACGC,WAAOS,uBAAKd,QAAQwB,gBAAgBpB,MAAMN,SAAS,GACnD;;YAAMsB,gBAAAA,QAAQC,WAAWhB,IAAAA;;;iBAAzB,OAAA,KAAA,IAAF;;;eACFF,UAAU,IACVsB,QAAQC,KAAM,iBAA6B,OAAbtB,MAAMP,MAAM,CAAA,GACpCS,UAAMQ,uBAAKd,QAAQ2B,oBAAoBvB,MAAMN,SAAS,GAC5D;;YAAMsB,gBAAAA,QAAQQ,KAAKtB,KAAKD,IAAAA;;;AAAxB,iBAAA,KAAA;;AANC,6CAAA;;;;;;;;;;sCAAA,oBAAA,IAAA,iBAAA;;;;;;aAAA,6BAAA,UAAA,UAAA,QAAA,UAAA,OAAA;;gBAAA;oBAAA;;;;;;AAUL,iBAAIF,YACFsB,QAAQC,KACL;;;CAAA,GAGHG,QAAQC,KAAK,CAAA;;;;;EAEjB,CAAA,GAxCsB/B,cAAAA,MAAAA,MAAAA,SAAAA;;",
5
+ "names": ["patches", "module", "patchFile", "checkPatches", "options", "nodeModulesDirs", "patchesToCopy", "didCopy", "patch", "dest", "src", "state", "applyPatches", "findNodeModules", "cwd", "root", "map", "relativePath", "join", "Set", "Promise", "all", "flatMap", "dir", "FSExtra", "pathExists", "_state", "add", "userPatchesDir", "console", "info", "internalPatchesDir", "copy", "process", "exit"]
6
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=prerender.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "mappings": "",
5
+ "names": []
6
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=prerender.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "mappings": "",
5
+ "names": []
6
+ }
@@ -0,0 +1,34 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: !0 });
8
+ }, __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from == "object" || typeof from == "function")
10
+ for (let key of __getOwnPropNames(from))
11
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
15
+ var createExpoServer_exports = {};
16
+ __export(createExpoServer_exports, {
17
+ createExpoServer: () => createExpoServer,
18
+ getRoutePaths: () => getRoutePaths
19
+ });
20
+ module.exports = __toCommonJS(createExpoServer_exports);
21
+ var import_glob = require("glob"), import_node_path = require("node:path"), import_routes_manifest = require("@vxrn/expo-router/routes-manifest");
22
+ function createExpoServer(root, app) {
23
+ const routePaths = getRoutePaths((0, import_node_path.join)(root, "app")), manifest = (0, import_routes_manifest.createRoutesManifest)(routePaths);
24
+ console.info("manifest", manifest);
25
+ }
26
+ function getRoutePaths(cwd) {
27
+ return (0, import_glob.sync)("**/*.@(ts|tsx|js|jsx)", {
28
+ cwd
29
+ }).map((p) => "./" + normalizePaths(p));
30
+ }
31
+ function normalizePaths(p) {
32
+ return p.replace(/\\/g, "/");
33
+ }
34
+ //# sourceMappingURL=createExpoServer.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/vendor/createExpoServer.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAiC,iBAEjC,mBAAqB,sBAErB,yBAAqC;AAI9B,SAAS,iBAAiB,MAAc,KAAU;AACvD,QAAM,aAAa,kBAAc,uBAAK,MAAM,KAAK,CAAC,GAC5C,eAAW,6CAAqB,UAAU;AAChD,UAAQ,KAAK,YAAY,QAAQ;AAInC;AAGO,SAAS,cAAc,KAAa;AACzC,aAAO,YAAAA,MAAS,yBAAyB;AAAA,IACvC;AAAA,EACF,CAAC,EAAE,IAAI,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AACxC;AAEA,SAAS,eAAe,GAAW;AACjC,SAAO,EAAE,QAAQ,OAAO,GAAG;AAC7B;",
5
+ "names": ["globSync"]
6
+ }
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
16
+ var createExpoServer_exports = {};
17
+ __export(createExpoServer_exports, {
18
+ createExpoServer: () => createExpoServer,
19
+ getRoutePaths: () => getRoutePaths
20
+ });
21
+ module.exports = __toCommonJS(createExpoServer_exports);
22
+ var import_glob = require("glob"), import_node_path = require("node:path"), import_routes_manifest = require("@vxrn/expo-router/routes-manifest");
23
+ function createExpoServer(root, app) {
24
+ var routePaths = getRoutePaths((0, import_node_path.join)(root, "app")), manifest = (0, import_routes_manifest.createRoutesManifest)(routePaths);
25
+ console.info("manifest", manifest);
26
+ }
27
+ function getRoutePaths(cwd) {
28
+ return (0, import_glob.sync)("**/*.@(ts|tsx|js|jsx)", {
29
+ cwd
30
+ }).map(function(p) {
31
+ return "./" + normalizePaths(p);
32
+ });
33
+ }
34
+ function normalizePaths(p) {
35
+ return p.replace(/\\/g, "/");
36
+ }
37
+ // Annotate the CommonJS export names for ESM import in node:
38
+ 0 && (module.exports = {
39
+ createExpoServer,
40
+ getRoutePaths
41
+ });
42
+ //# sourceMappingURL=createExpoServer.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/vendor/Users/n8/vxrn/packages/vxrn/src/vendor/createExpoServer.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;;;;;;kBAAiC,iBAEjC,mBAAqB,sBAErB,yBAAqC;AAI9B,SAASA,iBAAiBC,MAAcC,KAAQ;AACrD,MAAMC,aAAaC,kBAAcC,uBAAKJ,MAAM,KAAA,CAAA,GACtCK,eAAWC,6CAAqBJ,UAAAA;AACtCK,UAAQC,KAAK,YAAYH,QAAAA;AAI3B;AAGO,SAASF,cAAcM,KAAW;AACvC,aAAOC,YAAAA,MAAS,yBAAyB;IACvCD;EACF,CAAA,EAAGE,IAAI,SAACC,GAAAA;WAAM,OAAOC,eAAeD,CAAAA;;AACtC;AAEA,SAASC,eAAeD,GAAS;AAC/B,SAAOA,EAAEE,QAAQ,OAAO,GAAA;AAC1B;",
5
+ "names": ["createExpoServer", "root", "app", "routePaths", "getRoutePaths", "join", "manifest", "createRoutesManifest", "console", "info", "cwd", "globSync", "map", "p", "normalizePaths", "replace"]
6
+ }
package/dist/esm/build.js CHANGED
@@ -1,14 +1,18 @@
1
- import { mergeConfig, build as viteBuild } from "vite";
2
1
  import { resolve as importMetaResolve } from "import-meta-resolve";
2
+ import fs from "node:fs";
3
+ import path from "node:path";
4
+ import { mergeConfig, build as viteBuild } from "vite";
5
+ import FSExtra from "fs-extra";
6
+ import { clientBundleTreeShakePlugin } from "./plugins/clientBundleTreeShakePlugin";
3
7
  import { getBaseViteConfig } from "./utils/getBaseViteConfig";
4
8
  import { getOptionsFilled } from "./utils/getOptionsFilled";
5
- const resolveFile = (path) => {
9
+ const resolveFile = (path2) => {
6
10
  try {
7
- return importMetaResolve(path, import.meta.url).replace("file://", "");
11
+ return importMetaResolve(path2, import.meta.url).replace("file://", "");
8
12
  } catch {
9
- return require.resolve(path);
13
+ return require.resolve(path2);
10
14
  }
11
- }, extensions = [
15
+ }, { ensureDir, existsSync, readFile } = FSExtra, extensions = [
12
16
  ".web.tsx",
13
17
  ".tsx",
14
18
  ".web.ts",
@@ -46,12 +50,14 @@ const resolveFile = (path) => {
46
50
  );
47
51
  options.webConfig && (buildConfig = mergeConfig(buildConfig, options.webConfig)), console.info("build client"), await viteBuild(
48
52
  mergeConfig(buildConfig, {
53
+ plugins: [clientBundleTreeShakePlugin({})],
49
54
  build: {
50
55
  ssrManifest: !0,
51
56
  outDir: "dist/client"
52
57
  }
53
58
  })
54
- ), console.info("build server"), await viteBuild(
59
+ ), console.info("build server");
60
+ const { output } = await viteBuild(
55
61
  mergeConfig(buildConfig, {
56
62
  resolve: {
57
63
  alias: {
@@ -67,6 +73,8 @@ const resolveFile = (path) => {
67
73
  noExternal: !0
68
74
  },
69
75
  build: {
76
+ // we want one big file of css
77
+ cssCodeSplit: !1,
70
78
  ssr: "src/entry-server.tsx",
71
79
  outDir: "dist/server",
72
80
  rollupOptions: {
@@ -75,7 +83,44 @@ const resolveFile = (path) => {
75
83
  }
76
84
  })
77
85
  );
86
+ console.info("generating static pages"), await generateStaticPages(options, output);
78
87
  };
88
+ async function generateStaticPages(options, serverOutput) {
89
+ const toAbsolute = (p) => path.resolve(options.root, p), staticDir = toAbsolute("dist/static");
90
+ await ensureDir(staticDir);
91
+ const template = fs.readFileSync(toAbsolute("index.html"), "utf-8"), render = (await import(`${options.root}/dist/server/entry-server.js`)).render, entry = serverOutput.find(
92
+ (x) => x.type === "chunk" && x.facadeModuleId?.includes("entry-server")
93
+ ), assets = [], allRoutes = (await Promise.all(
94
+ serverOutput.flatMap(async (output) => {
95
+ if (output.type === "asset")
96
+ return assets.push(output), [];
97
+ const id = output.facadeModuleId || "", file = path.basename(id), name = file.replace(/\.[^/.]+$/, "");
98
+ if (!id || file[0] === "_" || file.includes("entry-server"))
99
+ return [];
100
+ const result = (await (await import(path.join(options.root, "dist/server", output.fileName))).generateStaticParams?.() || [{}]).map((params) => getUrl(params));
101
+ function getUrl(params = {}) {
102
+ return name === "index" ? "/" : `/${name.split("/").map((part) => {
103
+ if (part[0] === "[") {
104
+ const found = params[part.slice(1, part.length - 1)];
105
+ return found || console.warn("not found", { params, part }), found;
106
+ }
107
+ return part;
108
+ }).join("/")}`;
109
+ }
110
+ return result;
111
+ })
112
+ )).flat(), cssString = assets.filter((x) => x.name?.endsWith(".css")).map((x) => x.source).join(`
113
+
114
+ `);
115
+ for (const path2 of allRoutes) {
116
+ const { appHtml, headHtml } = await render({ path: path2 }), slashFileName = `${path2 === "/" ? "/index" : path2}.html`, clientHtmlPath = toAbsolute(`dist/client${slashFileName}`), html = ((existsSync(clientHtmlPath) ? await readFile(clientHtmlPath, "utf-8") : null) || template).replace("<!--ssr-outlet-->", appHtml).replace(
117
+ "<!--head-outlet-->",
118
+ `${headHtml}
119
+ ${cssString ? `<style>${cssString}</style>` : ""}`
120
+ ), filePath = toAbsolute(`dist/static${slashFileName}`);
121
+ fs.writeFileSync(toAbsolute(filePath), html);
122
+ }
123
+ }
79
124
  export {
80
125
  build,
81
126
  resolveFile
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/build.ts"],
4
- "mappings": "AAAA,SAAuB,aAAa,SAAS,iBAAkC;AAE/E,SAAS,WAAW,yBAAyB;AAE7C,SAAS,yBAAyB;AAClC,SAAS,wBAAwB;AAE1B,MAAM,cAAc,CAAC,SAAiB;AAC3C,MAAI;AACF,WAAO,kBAAkB,MAAM,YAAY,GAAG,EAAE,QAAQ,WAAW,EAAE;AAAA,EACvE,QAAQ;AACN,WAAO,QAAQ,QAAQ,IAAI;AAAA,EAC7B;AACF,GAEM,aAAa;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAEa,QAAQ,OAAO,cAA0B;AACpD,QAAM,UAAU,MAAM,iBAAiB,SAAS,GAC1C,iBAAiB;AAAA,IACrB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,MAAI,cAAc;AAAA,IAChB,kBAAkB;AAAA,MAChB,MAAM;AAAA,IACR,CAAC;AAAA,IACD;AAAA,MACE,MAAM,QAAQ;AAAA,MACd,aAAa;AAAA,MACb,cAAc;AAAA,QACZ,SAAS;AAAA,QACT,gBAAgB;AAAA,UACd,mBAAmB;AAAA,QACrB;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,EAAI,QAAQ,cACV,cAAc,YAAY,aAAa,QAAQ,SAAS,IAG1D,QAAQ,KAAK,cAAc,GAC3B,MAAM;AAAA,IACJ,YAAY,aAAa;AAAA,MACvB,OAAO;AAAA,QACL,aAAa;AAAA,QACb,QAAQ;AAAA,MACV;AAAA,IACF,CAAsB;AAAA,EACxB,GAEA,QAAQ,KAAK,cAAc,GAC3B,MAAM;AAAA,IACJ,YAAY,aAAa;AAAA,MACvB,SAAS;AAAA,QACP,OAAO;AAAA,UACL,gBAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,cAAc;AAAA,QACZ,gBAAgB;AAAA,UACd,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,KAAK;AAAA,QACH,YAAY;AAAA,MACd;AAAA,MACA,OAAO;AAAA,QACL,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,eAAe;AAAA,UACb,UAAU,CAAC;AAAA,QACb;AAAA,MACF;AAAA,IACF,CAAsB;AAAA,EACxB;AACF;",
5
- "names": []
4
+ "mappings": "AAAA,SAAS,WAAW,yBAAyB;AAC7C,OAAO,QAAQ;AACf,OAAO,UAAU;AACjB,SAAS,aAAa,SAAS,iBAAkC;AAEjE,OAAO,aAAa;AAEpB,SAAS,mCAAmC;AAE5C,SAAS,yBAAyB;AAClC,SAAS,wBAA+C;AAEjD,MAAM,cAAc,CAACA,UAAiB;AAC3C,MAAI;AACF,WAAO,kBAAkBA,OAAM,YAAY,GAAG,EAAE,QAAQ,WAAW,EAAE;AAAA,EACvE,QAAQ;AACN,WAAO,QAAQ,QAAQA,KAAI;AAAA,EAC7B;AACF,GAEM,EAAE,WAAW,YAAY,SAAS,IAAI,SAEtC,aAAa;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAEa,QAAQ,OAAO,cAA0B;AACpD,QAAM,UAAU,MAAM,iBAAiB,SAAS,GAC1C,iBAAiB;AAAA,IACrB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,MAAI,cAAc;AAAA,IAChB,kBAAkB;AAAA,MAChB,MAAM;AAAA,IACR,CAAC;AAAA,IACD;AAAA,MACE,MAAM,QAAQ;AAAA,MACd,aAAa;AAAA,MACb,cAAc;AAAA,QACZ,SAAS;AAAA,QACT,gBAAgB;AAAA,UACd,mBAAmB;AAAA,QACrB;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,EAAI,QAAQ,cACV,cAAc,YAAY,aAAa,QAAQ,SAAS,IAG1D,QAAQ,KAAK,cAAc,GAC3B,MAAM;AAAA,IACJ,YAAY,aAAa;AAAA,MACvB,SAAS,CAAC,4BAA4B,CAAC,CAAC,CAAC;AAAA,MACzC,OAAO;AAAA,QACL,aAAa;AAAA,QACb,QAAQ;AAAA,MACV;AAAA,IACF,CAAsB;AAAA,EACxB,GAEA,QAAQ,KAAK,cAAc;AAC3B,QAAM,EAAE,OAAO,IAAK,MAAM;AAAA,IACxB,YAAY,aAAa;AAAA,MACvB,SAAS;AAAA,QACP,OAAO;AAAA,UACL,gBAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,cAAc;AAAA,QACZ,gBAAgB;AAAA,UACd,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,KAAK;AAAA,QACH,YAAY;AAAA,MACd;AAAA,MACA,OAAO;AAAA;AAAA,QAEL,cAAc;AAAA,QACd,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,eAAe;AAAA,UACb,UAAU,CAAC;AAAA,QACb;AAAA,MACF;AAAA,IACF,CAAsB;AAAA,EACxB;AAEA,UAAQ,KAAK,yBAAyB,GACtC,MAAM,oBAAoB,SAAS,MAAM;AAC3C;AAEA,eAAe,oBACb,SACA,cACA;AACA,QAAM,aAAa,CAAC,MAAM,KAAK,QAAQ,QAAQ,MAAM,CAAC,GAEhD,YAAY,WAAW,aAAa;AAC1C,QAAM,UAAU,SAAS;AACzB,QAAM,WAAW,GAAG,aAAa,WAAW,YAAY,GAAG,OAAO,GAC5D,UAAU,MAAM,OAAO,GAAG,QAAQ,IAAI,iCAAiC,QAGvE,QAAQ,aAAa;AAAA,IACzB,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,gBAAgB,SAAS,cAAc;AAAA,EACxE,GAEM,SAAwB,CAAC,GAEzB,aACJ,MAAM,QAAQ;AAAA,IACZ,aAAa,QAAQ,OAAO,WAAW;AACrC,UAAI,OAAO,SAAS;AAClB,sBAAO,KAAK,MAAM,GACX,CAAC;AAGV,YAAM,KAAK,OAAO,kBAAkB,IAC9B,OAAO,KAAK,SAAS,EAAE,GACvB,OAAO,KAAK,QAAQ,aAAa,EAAE;AAEzC,UAAI,CAAC,MAAM,KAAK,CAAC,MAAM,OAAO,KAAK,SAAS,cAAc;AACxD,eAAO,CAAC;AAMV,YAAM,UADe,OADJ,MAAM,OADF,KAAK,KAAK,QAAQ,MAAM,eAAe,OAAO,QAAQ,IAEvC,uBAAuB,KAC3B,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAClC,OAAO,MAAM,CACrB;AAED,eAAS,OAAO,SAAS,CAAC,GAAG;AAC3B,eAAO,SAAS,UACZ,MACA,IAAI,KACD,MAAM,GAAG,EACT,IAAI,CAAC,SAAS;AACb,cAAI,KAAK,CAAC,MAAM,KAAK;AACnB,kBAAM,QAAQ,OAAO,KAAK,MAAM,GAAG,KAAK,SAAS,CAAC,CAAC;AACnD,mBAAK,SACH,QAAQ,KAAK,aAAa,EAAE,QAAQ,KAAK,CAAC,GAErC;AAAA,UACT;AACA,iBAAO;AAAA,QACT,CAAC,EACA,KAAK,GAAG,CAAC;AAAA,MAClB;AAEA,aAAO;AAAA,IACT,CAAC;AAAA,EACH,GACA,KAAK,GAGD,YAAY,OACf,OAAO,CAAC,MAAM,EAAE,MAAM,SAAS,MAAM,CAAC,EACtC,IAAI,CAAC,MAAM,EAAE,MAAM,EACnB,KAAK;AAAA;AAAA,CAAM;AAGd,aAAWA,SAAQ,WAAW;AAC5B,UAAM,EAAE,SAAS,SAAS,IAAI,MAAM,OAAO,EAAE,MAAAA,MAAK,CAAC,GAC7C,gBAAgB,GAAGA,UAAS,MAAM,WAAWA,KAAI,SACjD,iBAAiB,WAAW,cAAc,aAAa,EAAE,GAEzD,SADa,WAAW,cAAc,IAAI,MAAM,SAAS,gBAAgB,OAAO,IAAI,SAC9D,UACzB,QAAQ,qBAAqB,OAAO,EACpC;AAAA,MACC;AAAA,MACA,GAAG,QAAQ;AAAA,EAAK,YAAY,UAAU,SAAS,aAAa,EAAE;AAAA,IAChE,GACI,WAAW,WAAW,cAAc,aAAa,EAAE;AACzD,OAAG,cAAc,WAAW,QAAQ,GAAG,IAAI;AAAA,EAC7C;AACF;",
5
+ "names": ["path"]
6
6
  }
@@ -1,14 +1,23 @@
1
- import { mergeConfig, build as viteBuild } from "vite";
2
1
  import { resolve as importMetaResolve } from "import-meta-resolve";
2
+ import fs from "node:fs";
3
+ import path from "node:path";
4
+ import { mergeConfig, build as viteBuild } from "vite";
5
+ import FSExtra from "fs-extra";
6
+ import { clientBundleTreeShakePlugin } from "./plugins/clientBundleTreeShakePlugin.mjs";
3
7
  import { getBaseViteConfig } from "./utils/getBaseViteConfig.mjs";
4
8
  import { getOptionsFilled } from "./utils/getOptionsFilled.mjs";
5
- const resolveFile = path => {
9
+ const resolveFile = path2 => {
6
10
  try {
7
- return importMetaResolve(path, import.meta.url).replace("file://", "");
11
+ return importMetaResolve(path2, import.meta.url).replace("file://", "");
8
12
  } catch {
9
- return require.resolve(path);
13
+ return require.resolve(path2);
10
14
  }
11
15
  },
16
+ {
17
+ ensureDir,
18
+ existsSync,
19
+ readFile
20
+ } = FSExtra,
12
21
  extensions = [".web.tsx", ".tsx", ".web.ts", ".ts", ".web.jsx", ".jsx", ".web.js", ".js", ".css", ".json"],
13
22
  build = async optionsIn => {
14
23
  const options = await getOptionsFilled(optionsIn),
@@ -26,11 +35,15 @@ const resolveFile = path => {
26
35
  }
27
36
  });
28
37
  options.webConfig && (buildConfig = mergeConfig(buildConfig, options.webConfig)), console.info("build client"), await viteBuild(mergeConfig(buildConfig, {
38
+ plugins: [clientBundleTreeShakePlugin({})],
29
39
  build: {
30
40
  ssrManifest: !0,
31
41
  outDir: "dist/client"
32
42
  }
33
- })), console.info("build server"), await viteBuild(mergeConfig(buildConfig, {
43
+ })), console.info("build server");
44
+ const {
45
+ output
46
+ } = await viteBuild(mergeConfig(buildConfig, {
34
47
  resolve: {
35
48
  alias: {
36
49
  "react-native": "react-native-web-lite"
@@ -45,6 +58,8 @@ const resolveFile = path => {
45
58
  noExternal: !0
46
59
  },
47
60
  build: {
61
+ // we want one big file of css
62
+ cssCodeSplit: !1,
48
63
  ssr: "src/entry-server.tsx",
49
64
  outDir: "dist/server",
50
65
  rollupOptions: {
@@ -52,5 +67,53 @@ const resolveFile = path => {
52
67
  }
53
68
  }
54
69
  }));
70
+ console.info("generating static pages"), await generateStaticPages(options, output);
55
71
  };
72
+ async function generateStaticPages(options, serverOutput) {
73
+ const toAbsolute = p => path.resolve(options.root, p),
74
+ staticDir = toAbsolute("dist/static");
75
+ await ensureDir(staticDir);
76
+ const template = fs.readFileSync(toAbsolute("index.html"), "utf-8"),
77
+ render = (await import(`${options.root}/dist/server/entry-server.js`)).render,
78
+ entry = serverOutput.find(x => x.type === "chunk" && x.facadeModuleId?.includes("entry-server")),
79
+ assets = [],
80
+ allRoutes = (await Promise.all(serverOutput.flatMap(async output => {
81
+ if (output.type === "asset") return assets.push(output), [];
82
+ const id = output.facadeModuleId || "",
83
+ file = path.basename(id),
84
+ name = file.replace(/\.[^/.]+$/, "");
85
+ if (!id || file[0] === "_" || file.includes("entry-server")) return [];
86
+ const result = ((await (await import(path.join(options.root, "dist/server", output.fileName))).generateStaticParams?.()) || [{}]).map(params => getUrl(params));
87
+ function getUrl(params = {}) {
88
+ return name === "index" ? "/" : `/${name.split("/").map(part => {
89
+ if (part[0] === "[") {
90
+ const found = params[part.slice(1, part.length - 1)];
91
+ return found || console.warn("not found", {
92
+ params,
93
+ part
94
+ }), found;
95
+ }
96
+ return part;
97
+ }).join("/")}`;
98
+ }
99
+ return result;
100
+ }))).flat(),
101
+ cssString = assets.filter(x => x.name?.endsWith(".css")).map(x => x.source).join(`
102
+
103
+ `);
104
+ for (const path2 of allRoutes) {
105
+ const {
106
+ appHtml,
107
+ headHtml
108
+ } = await render({
109
+ path: path2
110
+ }),
111
+ slashFileName = `${path2 === "/" ? "/index" : path2}.html`,
112
+ clientHtmlPath = toAbsolute(`dist/client${slashFileName}`),
113
+ html = ((existsSync(clientHtmlPath) ? await readFile(clientHtmlPath, "utf-8") : null) || template).replace("<!--ssr-outlet-->", appHtml).replace("<!--head-outlet-->", `${headHtml}
114
+ ${cssString ? `<style>${cssString}</style>` : ""}`),
115
+ filePath = toAbsolute(`dist/static${slashFileName}`);
116
+ fs.writeFileSync(toAbsolute(filePath), html);
117
+ }
118
+ }
56
119
  export { build, resolveFile };