xanix 1.0.19 → 1.0.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 (275) hide show
  1. package/dist/bin/bundler/cache/buildCache.js +9 -11
  2. package/dist/bin/bundler/cache/index.js +70 -116
  3. package/dist/bin/bundler/cache/utils.d.ts +3 -2
  4. package/dist/bin/bundler/cache/utils.js +27 -24
  5. package/dist/bin/bundler/client/build.js +1 -1
  6. package/dist/bin/bundler/client/plugins/Transformer/TransformCacheFunction copy.d.ts +3 -0
  7. package/dist/bin/bundler/client/plugins/Transformer/TransformCacheFunction copy.js +32 -0
  8. package/dist/bin/bundler/client/plugins/Transformer/TransformCacheFunction.d.ts +1 -1
  9. package/dist/bin/bundler/client/plugins/Transformer/TransformCacheFunction.js +1 -1
  10. package/dist/bin/bundler/client/plugins/Transformer/TransformCreateSession.d.ts +1 -1
  11. package/dist/bin/bundler/client/plugins/Transformer/TransformCreateSession.js +1 -1
  12. package/dist/bin/bundler/client/plugins/Transformer/TransformDevModule.d.ts +13 -0
  13. package/dist/bin/bundler/client/plugins/Transformer/{transformModuleCache.js → TransformDevModule.js} +6 -18
  14. package/dist/bin/bundler/client/plugins/Transformer/TransformServerFunction.d.ts +1 -1
  15. package/dist/bin/bundler/client/plugins/Transformer/TransformServerFunction.js +1 -1
  16. package/dist/bin/bundler/client/plugins/Transformer/cacheFunctionReplacer.d.ts +3 -0
  17. package/dist/bin/bundler/client/plugins/Transformer/cacheFunctionReplacer.js +32 -0
  18. package/dist/bin/bundler/client/plugins/Transformer/cacheFunctionTransformer.d.ts +3 -0
  19. package/dist/bin/bundler/client/plugins/Transformer/cacheFunctionTransformer.js +32 -0
  20. package/dist/bin/bundler/client/plugins/Transformer/serverFunctionReplacer.d.ts +3 -0
  21. package/dist/bin/bundler/client/plugins/Transformer/serverFunctionReplacer.js +32 -0
  22. package/dist/bin/bundler/client/plugins/Transformer/useServerReplacer.d.ts +3 -0
  23. package/dist/bin/bundler/client/plugins/Transformer/useServerReplacer.js +42 -0
  24. package/dist/bin/bundler/client/plugins/Transformer.js +4 -2
  25. package/dist/bin/bundler/client/plugins/XanixAppRoot.d.ts +2 -0
  26. package/dist/bin/bundler/client/plugins/XanixAppRoot.js +46 -0
  27. package/dist/bin/bundler/client/plugins/XanixPage.js +30 -0
  28. package/dist/bin/bundler/client/plugins/XanixPages.js +8 -8
  29. package/dist/bin/bundler/client/plugins/replacer/cacheFunctionReplacer.d.ts +1 -1
  30. package/dist/bin/bundler/client/plugins/replacer/cacheFunctionReplacer.js +5 -1
  31. package/dist/bin/bundler/client/plugins/replacer/serverFunctionReplacer.d.ts +1 -1
  32. package/dist/bin/bundler/client/plugins/replacer/serverFunctionReplacer.js +5 -1
  33. package/dist/bin/bundler/client/plugins/replacer/useServerReplacer.d.ts +1 -1
  34. package/dist/bin/bundler/client/plugins/replacer/useServerReplacer.js +7 -3
  35. package/dist/bin/bundler/server/build.js +1 -1
  36. package/dist/bin/bundler/server/plugins/Transformer/TransformCacheFunction copy.d.ts +3 -0
  37. package/dist/bin/bundler/server/plugins/Transformer/TransformCacheFunction copy.js +32 -0
  38. package/dist/bin/bundler/server/plugins/Transformer/TransformCacheFunction.d.ts +1 -1
  39. package/dist/bin/bundler/server/plugins/Transformer/TransformCacheFunction.js +1 -1
  40. package/dist/bin/bundler/server/plugins/Transformer/TransformCreateSession.d.ts +1 -1
  41. package/dist/bin/bundler/server/plugins/Transformer/TransformCreateSession.js +1 -1
  42. package/dist/bin/bundler/server/plugins/Transformer/TransformExpressFunction.d.ts +1 -1
  43. package/dist/bin/bundler/server/plugins/Transformer/TransformExpressFunction.js +1 -1
  44. package/dist/bin/bundler/server/plugins/Transformer/TransformPage.js +1 -1
  45. package/dist/bin/bundler/server/plugins/Transformer/TransformServerFunction.d.ts +1 -1
  46. package/dist/bin/bundler/server/plugins/Transformer/TransformServerFunction.js +1 -1
  47. package/dist/bin/bundler/server/plugins/Transformer/cacheFunctionReplacer.d.ts +3 -0
  48. package/dist/bin/bundler/server/plugins/Transformer/cacheFunctionReplacer.js +32 -0
  49. package/dist/bin/bundler/server/plugins/Transformer/expressFunctionReplace.d.ts +3 -0
  50. package/dist/bin/bundler/server/plugins/Transformer/expressFunctionReplace.js +24 -0
  51. package/dist/bin/bundler/server/plugins/Transformer/pageReplacer.d.ts +4 -0
  52. package/dist/bin/bundler/server/plugins/Transformer/pageReplacer.js +31 -0
  53. package/dist/bin/bundler/server/plugins/Transformer/serverFunctionReplacer.d.ts +3 -0
  54. package/dist/bin/bundler/server/plugins/Transformer/serverFunctionReplacer.js +32 -0
  55. package/dist/bin/bundler/server/plugins/Transformer/useServerReplacer.d.ts +3 -0
  56. package/dist/bin/bundler/server/plugins/Transformer/useServerReplacer.js +42 -0
  57. package/dist/bin/bundler/server/plugins/Transformer copy.js +3 -3
  58. package/dist/bin/bundler/server/plugins/Transformer.js +2 -2
  59. package/dist/bin/bundler/server/plugins/replacer/cacheFunctionReplacer.d.ts +1 -1
  60. package/dist/bin/bundler/server/plugins/replacer/cacheFunctionReplacer.js +5 -1
  61. package/dist/bin/bundler/server/plugins/replacer/serverFunctionReplacer copy.d.ts +3 -0
  62. package/dist/bin/bundler/server/plugins/replacer/serverFunctionReplacer copy.js +26 -0
  63. package/dist/bin/bundler/server/plugins/replacer/serverFunctionReplacer.d.ts +1 -1
  64. package/dist/bin/bundler/server/plugins/replacer/serverFunctionReplacer.js +5 -1
  65. package/dist/bin/bundler/server/plugins/replacer/serverReplacer.d.ts +3 -0
  66. package/dist/bin/bundler/server/plugins/replacer/serverReplacer.js +26 -0
  67. package/dist/bin/bundler/server/plugins/replacer/useServerReplacer.d.ts +2 -2
  68. package/dist/bin/bundler/server/plugins/replacer/useServerReplacer.js +9 -5
  69. package/dist/bin/cli/dev.js +85 -71
  70. package/dist/bin/cli/start/index.d.ts +4 -1
  71. package/dist/bin/cli/start/index.js +60 -9
  72. package/dist/bin/finder/callbackReplacer.d.ts +2 -0
  73. package/dist/bin/finder/callbackReplacer.js +52 -0
  74. package/dist/bin/finder/findImport.d.ts +9 -0
  75. package/dist/bin/finder/findImport.js +50 -0
  76. package/dist/bin/finder/findImports.d.ts +16 -0
  77. package/dist/bin/finder/findImports.js +45 -0
  78. package/dist/bin/finder/findPage.d.ts +9 -0
  79. package/dist/bin/finder/findPage.js +30 -0
  80. package/dist/bin/finder/importFinder.d.ts +9 -0
  81. package/dist/bin/finder/importFinder.js +50 -0
  82. package/dist/bin/finder/pageFinder.d.ts +9 -0
  83. package/dist/bin/finder/pageFinder.js +30 -0
  84. package/dist/bin/finder/stripComments.d.ts +3 -0
  85. package/dist/bin/finder/stripComments.js +15 -0
  86. package/dist/bin/include/path.d.ts +5 -1
  87. package/dist/bin/include/path.js +15 -1
  88. package/dist/bin/include/sendFinder.d.ts +4 -1
  89. package/dist/bin/include/sendFinder.js +88 -53
  90. package/dist/bin/index.js +0 -0
  91. package/dist/bin/modifier/callbackReplacer.js +35 -80
  92. package/dist/bin/modifier/findImports.d.ts +16 -0
  93. package/dist/bin/modifier/findImports.js +45 -0
  94. package/dist/bin/modifier/importFinder.js +44 -63
  95. package/dist/bin/modifier/pageFinder.d.ts +1 -1
  96. package/dist/bin/modifier/pageFinder.js +19 -124
  97. package/dist/bin/modifier/sendFinder.d.ts +9 -0
  98. package/dist/bin/modifier/sendFinder.js +135 -0
  99. package/dist/bin/modifier/sriptCommnet.d.ts +1 -0
  100. package/dist/bin/modifier/sriptCommnet.js +12 -5
  101. package/dist/bin/modifier/stripComments.d.ts +3 -0
  102. package/dist/bin/modifier/stripComments.js +15 -0
  103. package/dist/bin/plugins/XanixAssets.js +2 -2
  104. package/dist/bin/plugins/XanixCss.js +13 -13
  105. package/dist/bin/plugins/XanixDocument.js +4 -4
  106. package/dist/components/Head.js +1 -1
  107. package/dist/hooks/encript.d.ts +2 -0
  108. package/dist/hooks/encript.js +13 -0
  109. package/dist/hooks/server.js +2 -2
  110. package/dist/hooks/session.js +2 -2
  111. package/dist/index.js +0 -0
  112. package/dist/libs/encoder.d.ts +2 -0
  113. package/dist/libs/encoder.js +13 -0
  114. package/dist/libs/encript.d.ts +2 -0
  115. package/dist/libs/encript.js +30 -0
  116. package/dist/navigate.js +1 -1
  117. package/dist/server/express/Router.js +4 -4
  118. package/dist/server/express/page.d.ts +1 -1
  119. package/dist/server/express/page.js +1 -1
  120. package/dist/types/assets.d.ts +72 -72
  121. package/dist/types/express.d.ts +11 -11
  122. package/dist/types/globals.d.ts +18 -18
  123. package/dist/types/xanix-virtual.d.ts +35 -35
  124. package/package.json +57 -60
  125. package/dist/bin/bundler/Cache.d.ts +0 -1
  126. package/dist/bin/bundler/Cache.js +0 -210
  127. package/dist/bin/bundler/External.d.ts +0 -3
  128. package/dist/bin/bundler/External.js +0 -6
  129. package/dist/bin/bundler/buildClient.d.ts +0 -3
  130. package/dist/bin/bundler/buildClient.js +0 -42
  131. package/dist/bin/bundler/buildServer.d.ts +0 -7
  132. package/dist/bin/bundler/buildServer.js +0 -50
  133. package/dist/bin/bundler/cache/plugin/Transformer.d.ts +0 -3
  134. package/dist/bin/bundler/cache/plugin/Transformer.js +0 -42
  135. package/dist/bin/bundler/client/plugins/Transformer/TransformExpress.d.ts +0 -9
  136. package/dist/bin/bundler/client/plugins/Transformer/TransformExpress.js +0 -26
  137. package/dist/bin/bundler/client/plugins/Transformer/TransformPage.d.ts +0 -29
  138. package/dist/bin/bundler/client/plugins/Transformer/TransformPage.js +0 -77
  139. package/dist/bin/bundler/client/plugins/Transformer/TransformReactContext.d.ts +0 -17
  140. package/dist/bin/bundler/client/plugins/Transformer/TransformReactContext.js +0 -101
  141. package/dist/bin/bundler/client/plugins/Transformer/transformModuleCache.d.ts +0 -15
  142. package/dist/bin/bundler/client/plugins/Transformer copy.d.ts +0 -3
  143. package/dist/bin/bundler/client/plugins/Transformer copy.js +0 -70
  144. package/dist/bin/bundler/client/plugins/VirtualDev.d.ts +0 -2
  145. package/dist/bin/bundler/client/plugins/VirtualDev.js +0 -34
  146. package/dist/bin/bundler/client/plugins/XanixReactRefresh.d.ts +0 -2
  147. package/dist/bin/bundler/client/plugins/XanixReactRefresh.js +0 -22
  148. package/dist/bin/bundler/config/defines.d.ts +0 -20
  149. package/dist/bin/bundler/config/defines.js +0 -21
  150. package/dist/bin/bundler/config/external.d.ts +0 -1
  151. package/dist/bin/bundler/config/external.js +0 -12
  152. package/dist/bin/bundler/config/loadEnv.d.ts +0 -20
  153. package/dist/bin/bundler/config/loadEnv.js +0 -48
  154. package/dist/bin/bundler/config/output.d.ts +0 -10
  155. package/dist/bin/bundler/config/output.js +0 -52
  156. package/dist/bin/bundler/externalResolver-dep.d.ts +0 -3
  157. package/dist/bin/bundler/externalResolver-dep.js +0 -203
  158. package/dist/bin/bundler/externalResolver.d.ts +0 -3
  159. package/dist/bin/bundler/externalResolver.js +0 -203
  160. package/dist/bin/bundler/plugins/TransformServer/TransformExpress.d.ts +0 -9
  161. package/dist/bin/bundler/plugins/TransformServer/TransformExpress.js +0 -26
  162. package/dist/bin/bundler/plugins/TransformServer/TransformPage.d.ts +0 -25
  163. package/dist/bin/bundler/plugins/TransformServer/TransformPage.js +0 -79
  164. package/dist/bin/bundler/plugins/TransformServer/index.d.ts +0 -3
  165. package/dist/bin/bundler/plugins/TransformServer/index.js +0 -103
  166. package/dist/bin/bundler/plugins/XanixAssets.d.ts +0 -5
  167. package/dist/bin/bundler/plugins/XanixAssets.js +0 -51
  168. package/dist/bin/bundler/plugins/XanixCacheDeps-dep.d.ts +0 -2
  169. package/dist/bin/bundler/plugins/XanixCacheDeps-dep.js +0 -150
  170. package/dist/bin/bundler/plugins/XanixCacheDeps.d.ts +0 -2
  171. package/dist/bin/bundler/plugins/XanixCacheDeps.js +0 -150
  172. package/dist/bin/bundler/plugins/XanixDocument/index.js +0 -53
  173. package/dist/bin/bundler/plugins/XanixEntryFinder/finder.d.ts +0 -11
  174. package/dist/bin/bundler/plugins/XanixEntryFinder/finder.js +0 -149
  175. package/dist/bin/bundler/plugins/XanixEntryFinder/index.d.ts +0 -6
  176. package/dist/bin/bundler/plugins/XanixEntryFinder/index.js +0 -37
  177. package/dist/bin/bundler/plugins/XanixEntryFinder-dep/finder.d.ts +0 -11
  178. package/dist/bin/bundler/plugins/XanixEntryFinder-dep/finder.js +0 -149
  179. package/dist/bin/bundler/plugins/XanixEntryFinder-dep/index.d.ts +0 -6
  180. package/dist/bin/bundler/plugins/XanixEntryFinder-dep/index.js +0 -37
  181. package/dist/bin/bundler/plugins/XanixEnv.d.ts +0 -15
  182. package/dist/bin/bundler/plugins/XanixEnv.js +0 -44
  183. package/dist/bin/bundler/plugins/XanixPageTransform/index.d.ts +0 -2
  184. package/dist/bin/bundler/plugins/XanixPageTransform/index.js +0 -62
  185. package/dist/bin/bundler/plugins/XanixPageTransform/transformer copy.d.ts +0 -18
  186. package/dist/bin/bundler/plugins/XanixPageTransform/transformer copy.js +0 -414
  187. package/dist/bin/bundler/plugins/XanixPageTransform/transformer.d.ts +0 -23
  188. package/dist/bin/bundler/plugins/XanixPageTransform/transformer.js +0 -589
  189. package/dist/bin/bundler/plugins/XanixReactRefresh copy.d.ts +0 -2
  190. package/dist/bin/bundler/plugins/XanixReactRefresh copy.js +0 -121
  191. package/dist/bin/bundler/plugins/XanixReactRefresh.d.ts +0 -2
  192. package/dist/bin/bundler/plugins/XanixReactRefresh.js +0 -170
  193. package/dist/bin/bundler/plugins/XanixResolveCacheDeps/BuildClientCache.d.ts +0 -11
  194. package/dist/bin/bundler/plugins/XanixResolveCacheDeps/BuildClientCache.js +0 -129
  195. package/dist/bin/bundler/plugins/XanixResolveCacheDeps/index copy.d.ts +0 -15
  196. package/dist/bin/bundler/plugins/XanixResolveCacheDeps/index copy.js +0 -228
  197. package/dist/bin/bundler/plugins/XanixResolveCacheDeps/index.d.ts +0 -7
  198. package/dist/bin/bundler/plugins/XanixResolveCacheDeps/index.js +0 -166
  199. package/dist/bin/bundler/plugins/XanixResolveCacheDeps-dep/BuildClientCache.d.ts +0 -11
  200. package/dist/bin/bundler/plugins/XanixResolveCacheDeps-dep/BuildClientCache.js +0 -129
  201. package/dist/bin/bundler/plugins/XanixResolveCacheDeps-dep/index.d.ts +0 -5
  202. package/dist/bin/bundler/plugins/XanixResolveCacheDeps-dep/index.js +0 -26
  203. package/dist/bin/bundler/plugins/XanixResolver.d.ts +0 -11
  204. package/dist/bin/bundler/plugins/XanixResolver.js +0 -55
  205. package/dist/bin/bundler/plugins/XanixServerTransform.d.ts +0 -5
  206. package/dist/bin/bundler/plugins/XanixServerTransform.js +0 -207
  207. package/dist/bin/bundler/plugins/XanixTransform.d.ts +0 -3
  208. package/dist/bin/bundler/plugins/XanixTransform.js +0 -23
  209. package/dist/bin/bundler/plugins/XanixTsconfigAlias.d.ts +0 -19
  210. package/dist/bin/bundler/plugins/XanixTsconfigAlias.js +0 -197
  211. package/dist/bin/bundler/plugins/XanixUseServer.d.ts +0 -7
  212. package/dist/bin/bundler/plugins/XanixUseServer.js +0 -445
  213. package/dist/bin/bundler/plugins/plugins.d.ts +0 -9
  214. package/dist/bin/bundler/plugins/plugins.js +0 -37
  215. package/dist/bin/bundler/requireCache.d.ts +0 -3
  216. package/dist/bin/bundler/requireCache.js +0 -85
  217. package/dist/bin/bundler/server/plugins/ServerAction.d.ts +0 -3
  218. package/dist/bin/bundler/server/plugins/ServerAction.js +0 -9
  219. package/dist/bin/bundler/server/plugins/Transformer/ServerAction.d.ts +0 -11
  220. package/dist/bin/bundler/server/plugins/Transformer/ServerAction.js +0 -28
  221. package/dist/bin/bundler/server/plugins/Transformer/TransformExpress copy.d.ts +0 -11
  222. package/dist/bin/bundler/server/plugins/Transformer/TransformExpress copy.js +0 -22
  223. package/dist/bin/bundler/server/plugins/Transformer/TransformExpress.d.ts +0 -10
  224. package/dist/bin/bundler/server/plugins/Transformer/TransformExpress.js +0 -19
  225. package/dist/bin/bundler/server/plugins/Transformer/TransformReactContext.d.ts +0 -17
  226. package/dist/bin/bundler/server/plugins/Transformer/TransformReactContext.js +0 -101
  227. package/dist/bin/bundler/server/plugins/Transformer/TransformServerAction copy.d.ts +0 -14
  228. package/dist/bin/bundler/server/plugins/Transformer/TransformServerAction copy.js +0 -38
  229. package/dist/bin/bundler/server/types.d.ts +0 -5
  230. package/dist/bin/bundler/server/types.js +0 -1
  231. package/dist/bin/bundler/watchClient.d.ts +0 -12
  232. package/dist/bin/bundler/watchClient.js +0 -104
  233. package/dist/bin/bundler/watchServer.d.ts +0 -10
  234. package/dist/bin/bundler/watchServer.js +0 -139
  235. package/dist/bin/cli/dev/dev.d.ts +0 -2
  236. package/dist/bin/cli/dev/dev.js +0 -178
  237. package/dist/bin/cli/start/start.d.ts +0 -2
  238. package/dist/bin/cli/start/start.js +0 -27
  239. package/dist/bin/include/entry.d.ts +0 -2
  240. package/dist/bin/include/entry.js +0 -21
  241. package/dist/bin/plugins/XanixDocument/XanixDocument.d.ts +0 -2
  242. package/dist/bin/plugins/XanixDocument/XanixDocument.js +0 -50
  243. package/dist/bin/plugins/XanixDocument/index.d.ts +0 -2
  244. package/dist/bin/plugins/XanixDocument/index.js +0 -50
  245. package/dist/bin/plugins/XanixPageTransform-dep/index.d.ts +0 -2
  246. package/dist/bin/plugins/XanixPageTransform-dep/index.js +0 -62
  247. package/dist/bin/plugins/XanixPageTransform-dep/transformer.d.ts +0 -23
  248. package/dist/bin/plugins/XanixPageTransform-dep/transformer.js +0 -589
  249. package/dist/bin/plugins/XanixServerTransform.d.ts +0 -5
  250. package/dist/bin/plugins/XanixServerTransform.js +0 -207
  251. package/dist/bin/plugins/XanixUseServer.d.ts +0 -7
  252. package/dist/bin/plugins/XanixUseServer.js +0 -445
  253. package/dist/bin/plugins/plugins.d.ts +0 -8
  254. package/dist/bin/plugins/plugins.js +0 -31
  255. package/dist/components/Script.d.ts +0 -3
  256. package/dist/components/Script.js +0 -5
  257. package/dist/dev.d.ts +0 -1
  258. package/dist/dev.js +0 -25
  259. package/dist/react/createContext.d.ts +0 -3
  260. package/dist/react/createContext.js +0 -11
  261. package/dist/react/index.d.ts +0 -12
  262. package/dist/react/index.js +0 -3
  263. package/dist/server/express/Ruter.d.ts +0 -2
  264. package/dist/server/express/Ruter.js +0 -15
  265. package/dist/server/runtime/createServer.d.ts +0 -12
  266. package/dist/server/runtime/createServer.js +0 -62
  267. package/dist/server/runtime/index.d.ts +0 -3
  268. package/dist/server/runtime/index.js +0 -3
  269. package/dist/server/runtime/readManifest.d.ts +0 -14
  270. package/dist/server/runtime/readManifest.js +0 -9
  271. package/dist/server/runtime/xanixPage.d.ts +0 -11
  272. package/dist/server/runtime/xanixPage.js +0 -92
  273. /package/dist/bin/bundler/{plugins/XanixDocument/index.d.ts → client/plugins/XanixPage.d.ts} +0 -0
  274. /package/dist/bin/{cli/start/utils.d.ts → bundler/server/plugins/replacer/useServer.d.ts} +0 -0
  275. /package/dist/bin/{cli/start/utils.js → bundler/server/plugins/replacer/useServer.js} +0 -0
@@ -1,50 +0,0 @@
1
- import { rolldown } from "rolldown";
2
- import path from "node:path";
3
- import bundlerOutput from "./config/output.js";
4
- import fs from "node:fs";
5
- import external from "./config/external.js";
6
- import { xanixDefaultPlugins } from "./plugins/plugins.js";
7
- import outdirs from "../../outdirs.js";
8
- import { getEntries } from "../include/manifest.js";
9
- const root = process.cwd();
10
- const BuildServer = async ({ rootEntry, onBuildEnd }) => {
11
- fs.rmSync(outdirs.server, {
12
- recursive: true,
13
- force: true,
14
- });
15
- fs.mkdirSync(outdirs.server, {
16
- recursive: true,
17
- });
18
- const input = {
19
- index: path.resolve(root, rootEntry),
20
- };
21
- const build = await rolldown({
22
- input,
23
- treeshake: true,
24
- onwarn(warning, warn) {
25
- if (warning.code === "MODULE_LEVEL_DIRECTIVE" &&
26
- warning.message.includes('"use client"')) {
27
- return;
28
- }
29
- warn(warning);
30
- },
31
- plugins: [
32
- ...xanixDefaultPlugins({
33
- target: "server",
34
- development: false,
35
- assetExternal: false,
36
- }),
37
- ],
38
- external(id) {
39
- if (!external(id)) {
40
- return false;
41
- }
42
- return true;
43
- },
44
- });
45
- const entries = await getEntries();
46
- await build.write(bundlerOutput.server({ isDev: false }));
47
- await build.close();
48
- await onBuildEnd(entries);
49
- };
50
- export default BuildServer;
@@ -1,3 +0,0 @@
1
- import type { Plugin } from "rolldown";
2
- declare const CacheExportPlugin: () => Plugin;
3
- export default CacheExportPlugin;
@@ -1,42 +0,0 @@
1
- import { createRequire } from "module";
2
- const require = createRequire(import.meta.url);
3
- const exportsMap = new Map();
4
- const CacheExportPlugin = () => {
5
- return {
6
- name: "cache-export",
7
- load(id) {
8
- if (!id.includes("node_modules")) {
9
- return null;
10
- }
11
- try {
12
- const mod = require(id);
13
- const names = Object.keys(mod);
14
- exportsMap.set(id, names);
15
- console.log(id, names);
16
- }
17
- catch {
18
- // ignore modules that cannot be require()'d
19
- }
20
- return null;
21
- },
22
- generateBundle(_options, bundle) {
23
- for (const output of Object.values(bundle)) {
24
- if (output.type !== "chunk" || !output.isEntry) {
25
- continue;
26
- }
27
- const id = output.facadeModuleId;
28
- if (!id) {
29
- continue;
30
- }
31
- const names = exportsMap.get(id);
32
- if (!names) {
33
- continue;
34
- }
35
- console.log("Generating:", id);
36
- console.log("Exports:", names);
37
- // Here you generate your ESM exports.
38
- }
39
- },
40
- };
41
- };
42
- export default CacheExportPlugin;
@@ -1,9 +0,0 @@
1
- declare class TransformExpress {
2
- replacements: {
3
- start: number;
4
- end: number;
5
- value: string;
6
- }[];
7
- transform(node: any): void;
8
- }
9
- export default TransformExpress;
@@ -1,26 +0,0 @@
1
- class TransformExpress {
2
- constructor() {
3
- this.replacements = [];
4
- }
5
- transform(node) {
6
- if (node.type === "ImportDeclaration" && node.source.value === "express") {
7
- this.replacements.push({
8
- start: node.source.start + 1,
9
- end: node.source.end - 1,
10
- value: "xanix/express",
11
- });
12
- }
13
- // check require express
14
- if (node.type === "CallExpression" &&
15
- node.callee.name === "require" &&
16
- node.arguments.length === 1 &&
17
- node.arguments[0].value === "express") {
18
- this.replacements.push({
19
- start: node.arguments[0].start + 1,
20
- end: node.arguments[0].end - 1,
21
- value: "xanix/express",
22
- });
23
- }
24
- }
25
- }
26
- export default TransformExpress;
@@ -1,29 +0,0 @@
1
- import { TransformPluginContext } from "rolldown";
2
- type Name = string;
3
- export type Entry = {
4
- name: string;
5
- id: string;
6
- source: string;
7
- resolved: string;
8
- };
9
- declare class TransformPage {
10
- _replacements: {
11
- start: number;
12
- end: number;
13
- value: string;
14
- }[];
15
- imports: Map<Name, string>;
16
- entries: Map<string, Entry>;
17
- private identifiers;
18
- private context;
19
- private importer;
20
- constructor(context: TransformPluginContext, importer: string, entries: Map<string, Entry>);
21
- replacements(): Promise<{
22
- start: number;
23
- end: number;
24
- value: string;
25
- }[]>;
26
- uid(source: string): string;
27
- transform(node: any): void;
28
- }
29
- export default TransformPage;
@@ -1,77 +0,0 @@
1
- import crypto from "node:crypto";
2
- class TransformPage {
3
- constructor(context, importer, entries) {
4
- this._replacements = [];
5
- this.imports = new Map();
6
- this.entries = new Map();
7
- this.identifiers = [];
8
- this.context = context;
9
- this.importer = importer;
10
- this.entries = entries;
11
- }
12
- async replacements() {
13
- for (const identifier of this.identifiers) {
14
- const source = this.imports.get(identifier.name);
15
- if (source) {
16
- const resolved = await this.context.resolve(source, this.importer, {
17
- skipSelf: true,
18
- });
19
- if (resolved) {
20
- const id = this.uid(resolved.id);
21
- this.entries.set(id, {
22
- name: identifier.name,
23
- id,
24
- source,
25
- resolved: resolved?.id,
26
- });
27
- this._replacements.push({
28
- start: identifier.placement,
29
- end: identifier.placement,
30
- value: ` __xpage={{ id: "${id}", name: "${identifier.name}" }} `,
31
- });
32
- }
33
- }
34
- }
35
- return this._replacements;
36
- }
37
- uid(source) {
38
- return crypto
39
- .createHash("sha256")
40
- .update(source)
41
- .digest("hex")
42
- .slice(0, 12);
43
- }
44
- transform(node) {
45
- if (node.type === "CallExpression" &&
46
- node.callee.property?.name === "send" &&
47
- node.arguments.length === 1 &&
48
- node.arguments[0].type === "JSXElement") {
49
- const element = node.arguments[0].openingElement;
50
- const ComponentName = element.name.name;
51
- const attrs = element.attributes;
52
- let end = attrs.length > 0 ? attrs[attrs.length - 1].end : element.name.end;
53
- this.identifiers.push({
54
- placement: end,
55
- name: ComponentName,
56
- });
57
- }
58
- // find static imports and add them to this.imports array
59
- if (node.type === "ImportDeclaration" &&
60
- node.specifiers.length > 0 &&
61
- node.specifiers[0].type === "ImportDefaultSpecifier") {
62
- const source = node.source.value;
63
- const specifier = node.specifiers[0].local.name;
64
- this.imports.set(specifier, source);
65
- }
66
- // find rfom require
67
- if (node.type === "VariableDeclaration" &&
68
- node.declarations.length === 1 &&
69
- node.declarations[0].init?.type === "CallExpression" &&
70
- node.declarations[0].init.callee.name === "require") {
71
- const source = node.declarations[0].init.arguments[0].value;
72
- const specifier = node.declarations[0].id.name;
73
- this.imports.set(specifier, source);
74
- }
75
- }
76
- }
77
- export default TransformPage;
@@ -1,17 +0,0 @@
1
- type Replacement = {
2
- start: number;
3
- end: number;
4
- value: string;
5
- };
6
- export declare class TransformReactContext {
7
- private readonly reactNamespaces;
8
- private readonly createContextBindings;
9
- readonly replacements: Replacement[];
10
- transform(node: any): void;
11
- private detectReactImport;
12
- private detectReactRequire;
13
- private isReactRequire;
14
- private detectCreateContext;
15
- private replaceCallee;
16
- }
17
- export default TransformReactContext;
@@ -1,101 +0,0 @@
1
- export class TransformReactContext {
2
- constructor() {
3
- this.reactNamespaces = new Set();
4
- this.createContextBindings = new Set();
5
- this.replacements = [];
6
- }
7
- transform(node) {
8
- this.detectReactImport(node);
9
- this.detectReactRequire(node);
10
- this.detectCreateContext(node);
11
- }
12
- detectReactImport(node) {
13
- if (node.type !== "ImportDeclaration" || node.source?.value !== "react") {
14
- return;
15
- }
16
- for (const specifier of node.specifiers) {
17
- // import React from "react"
18
- if (specifier.type === "ImportDefaultSpecifier") {
19
- this.reactNamespaces.add(specifier.local.name);
20
- continue;
21
- }
22
- // import * as React from "react"
23
- if (specifier.type === "ImportNamespaceSpecifier") {
24
- this.reactNamespaces.add(specifier.local.name);
25
- continue;
26
- }
27
- // import { createContext } from "react"
28
- // import { createContext as ctx } from "react"
29
- if (specifier.type === "ImportSpecifier" &&
30
- specifier.imported?.name === "createContext") {
31
- this.createContextBindings.add(specifier.local.name);
32
- }
33
- }
34
- }
35
- detectReactRequire(node) {
36
- if (node.type !== "VariableDeclarator") {
37
- return;
38
- }
39
- if (!this.isReactRequire(node.init)) {
40
- return;
41
- }
42
- // const React = require("react")
43
- if (node.id.type === "Identifier") {
44
- this.reactNamespaces.add(node.id.name);
45
- return;
46
- }
47
- // const { createContext } = require("react")
48
- // const { createContext: ctx } = require("react")
49
- if (node.id.type === "ObjectPattern") {
50
- for (const property of node.id.properties) {
51
- if (property.type !== "Property" || property.computed) {
52
- continue;
53
- }
54
- if (property.key.type === "Identifier" &&
55
- property.key.name === "createContext") {
56
- const local = property.value.type === "Identifier" ? property.value.name : null;
57
- if (local) {
58
- this.createContextBindings.add(local);
59
- }
60
- }
61
- }
62
- }
63
- }
64
- isReactRequire(node) {
65
- return (node?.type === "CallExpression" &&
66
- node.callee?.type === "Identifier" &&
67
- node.callee.name === "require" &&
68
- node.arguments?.length === 1 &&
69
- node.arguments[0]?.type === "Literal" &&
70
- node.arguments[0].value === "react");
71
- }
72
- detectCreateContext(node) {
73
- if (node.type !== "CallExpression") {
74
- return;
75
- }
76
- // createContext(...)
77
- // createCtx(...)
78
- if (node.callee.type === "Identifier" &&
79
- this.createContextBindings.has(node.callee.name)) {
80
- this.replaceCallee(node.callee);
81
- return;
82
- }
83
- // React.createContext(...)
84
- if (node.callee.type === "MemberExpression" &&
85
- !node.callee.computed &&
86
- node.callee.object.type === "Identifier" &&
87
- node.callee.property.type === "Identifier" &&
88
- node.callee.property.name === "createContext" &&
89
- this.reactNamespaces.has(node.callee.object.name)) {
90
- this.replaceCallee(node.callee);
91
- }
92
- }
93
- replaceCallee(callee) {
94
- this.replacements.push({
95
- start: callee.start,
96
- end: callee.end,
97
- value: "__xanix.createContext",
98
- });
99
- }
100
- }
101
- export default TransformReactContext;
@@ -1,15 +0,0 @@
1
- import { CachedModule } from "../Transformer";
2
- type Replacement = {
3
- start: number;
4
- end: number;
5
- value: string;
6
- };
7
- declare class TransformModuleCache {
8
- packages: string[];
9
- replacements: Replacement[];
10
- cached: Map<string, CachedModule>;
11
- cacheChanged: boolean;
12
- constructor(cached: Map<string, CachedModule>);
13
- transform(node: any): void;
14
- }
15
- export default TransformModuleCache;
@@ -1,3 +0,0 @@
1
- import { type Plugin } from "rolldown";
2
- declare const XanixTransformer: () => Plugin;
3
- export default XanixTransformer;
@@ -1,70 +0,0 @@
1
- import { walk } from "oxc-walker";
2
- import path from "path";
3
- import TransformServerAction from "./Transformer/TransformServerAction.js";
4
- import TransformUseServer from "./Transformer/TransformUseServer.js";
5
- import TransformCache from "./Transformer/TransformCache.js";
6
- import crypto from "node:crypto";
7
- function getParserLanguage(id) {
8
- const cleanId = id.split("?")[0];
9
- if (cleanId.endsWith(".tsx"))
10
- return "tsx";
11
- if (cleanId.endsWith(".ts"))
12
- return "ts";
13
- if (cleanId.endsWith(".jsx"))
14
- return "jsx";
15
- return "js";
16
- }
17
- const XanixTransformer = () => {
18
- return {
19
- name: "xanix-transform",
20
- async transform(code, id) {
21
- if (id.includes("node_modules")) {
22
- return null;
23
- }
24
- const ext = path.extname(id);
25
- if (ext !== ".tsx" && ext !== ".jsx") {
26
- return null;
27
- }
28
- const uid = crypto
29
- .createHash("sha256")
30
- .update(id)
31
- .digest("hex")
32
- .slice(0, 12);
33
- const lang = getParserLanguage(id);
34
- const ast = this.parse(code, { lang });
35
- const transformServerAction = new TransformServerAction(code, id, uid);
36
- const transformUseServer = new TransformUseServer(code, id, uid);
37
- const transformCache = new TransformCache(code, id, uid);
38
- // const transformModuleCache = new TransformModuleCache();
39
- walk(ast, {
40
- enter(node) {
41
- transformServerAction.transform(node);
42
- transformUseServer.transform(node);
43
- transformCache.transform(node);
44
- // transformModuleCache.transform(node);
45
- },
46
- });
47
- let replacements = [...transformUseServer.replacements];
48
- if (transformServerAction.serverImported) {
49
- replacements = [...replacements, ...transformServerAction.replacements];
50
- }
51
- if (transformCache.cacheImported) {
52
- replacements = [...replacements, ...transformCache.replacements];
53
- }
54
- const sorted = replacements.sort((a, b) => b.start - a.start);
55
- for (const { start, end, value } of sorted) {
56
- code = code.slice(0, start) + value + code.slice(end);
57
- }
58
- let needImport = !transformUseServer.serverImported;
59
- const useServerCode = `
60
- ${needImport ? 'import * as __xanix from "xanix";' : ""}
61
- ${transformUseServer.serverCodes.join("\n")}
62
- `;
63
- return {
64
- code: useServerCode + "\n" + code,
65
- map: null,
66
- };
67
- },
68
- };
69
- };
70
- export default XanixTransformer;
@@ -1,2 +0,0 @@
1
- import type { Plugin } from "rolldown";
2
- export default function VirtualDev(dev: boolean): Plugin;
@@ -1,34 +0,0 @@
1
- import fs from "node:fs";
2
- import path from "node:path";
3
- import { fileURLToPath } from "node:url";
4
- const VIRTUAL_ID = "virtual:xanix-dev";
5
- const RESOLVED_ID = "\0virtual:xanix-dev";
6
- const __dirname = path.dirname(fileURLToPath(import.meta.url));
7
- const filepath = path.resolve(path.resolve(__dirname, "../../../../dev.js"));
8
- export default function VirtualDev(dev) {
9
- return {
10
- name: "xanix-dev",
11
- resolveId(id) {
12
- if (id === VIRTUAL_ID) {
13
- return RESOLVED_ID;
14
- }
15
- return null;
16
- },
17
- async load(id) {
18
- if (id !== RESOLVED_ID) {
19
- return null;
20
- }
21
- if (!dev) {
22
- return {
23
- code: "",
24
- map: null,
25
- };
26
- }
27
- const source = await fs.promises.readFile(filepath, "utf8");
28
- return {
29
- code: source,
30
- map: null,
31
- };
32
- },
33
- };
34
- }
@@ -1,2 +0,0 @@
1
- import type { Plugin } from "rolldown";
2
- export default function xanixReactRefresh(): Plugin;
@@ -1,22 +0,0 @@
1
- import path from "node:path";
2
- import fs from "node:fs";
3
- import { getClientRuntimeFile } from "../../../include/utils.js";
4
- export default function xanixReactRefresh() {
5
- return {
6
- name: "xanix-react-refresh",
7
- load(id) {
8
- if (path.resolve(id) !== getClientRuntimeFile()) {
9
- return null;
10
- }
11
- const code = fs.readFileSync(id, "utf8");
12
- const refreshCode = `
13
-
14
- ${code}
15
- `;
16
- return {
17
- code: refreshCode,
18
- map: null,
19
- };
20
- },
21
- };
22
- }
@@ -1,20 +0,0 @@
1
- declare const defines: ({ mode, isClient, }: {
2
- mode: "development" | "production";
3
- isClient: boolean;
4
- }) => {
5
- "process.env.NODE_ENV": string;
6
- __XANIX_PAGE_NAVIGATION_HEADER_VALUE__: string;
7
- __XANIX_CLIENT_RUNTIME_FILE_NAME__: string;
8
- __XANIX_CLIENT__: string;
9
- __XANIX_SERVER__: string;
10
- __XANIX_DEV__: string;
11
- __XANIX_PROD__: string;
12
- XANIX_NAVIGATE: string;
13
- XANIX_NAVIGATE_START: string;
14
- XANIX_NAVIGATE_END: string;
15
- XANIX_NAVIGATE_RELOAD: string;
16
- XANIX_PRELOAD: string;
17
- XANIX_PRELOAD_START: string;
18
- XANIX_PRELOAD_END: string;
19
- };
20
- export default defines;
@@ -1,21 +0,0 @@
1
- import { getClientRuntimeFileName, uid } from "../../include/utils.js";
2
- const HEARDER_VALUE = uid(Math.random().toString(36), 32);
3
- const defines = ({ mode, isClient, }) => {
4
- return {
5
- "process.env.NODE_ENV": JSON.stringify(mode),
6
- __XANIX_PAGE_NAVIGATION_HEADER_VALUE__: JSON.stringify(HEARDER_VALUE),
7
- __XANIX_CLIENT_RUNTIME_FILE_NAME__: JSON.stringify(getClientRuntimeFileName(mode)),
8
- __XANIX_CLIENT__: isClient ? "true" : "false",
9
- __XANIX_SERVER__: isClient ? "false" : "true",
10
- __XANIX_DEV__: mode === "development" ? "true" : "false",
11
- __XANIX_PROD__: mode === "production" ? "true" : "false",
12
- XANIX_NAVIGATE: JSON.stringify("xanix:navigate"),
13
- XANIX_NAVIGATE_START: JSON.stringify("xanix:navigate:start"),
14
- XANIX_NAVIGATE_END: JSON.stringify("xanix:navigate:end"),
15
- XANIX_NAVIGATE_RELOAD: JSON.stringify("xanix:navigate:reload"),
16
- XANIX_PRELOAD: JSON.stringify("xanix:preload"),
17
- XANIX_PRELOAD_START: JSON.stringify("xanix:preload:start"),
18
- XANIX_PRELOAD_END: JSON.stringify("xanix:preload:end"),
19
- };
20
- };
21
- export default defines;
@@ -1 +0,0 @@
1
- export default function external(id: string): boolean;
@@ -1,12 +0,0 @@
1
- import path from "node:path";
2
- import { tsconfigPathsMatcher } from "../plugins/XanixTsconfigAlias.js";
3
- export default function external(id) {
4
- if (id.startsWith(".") ||
5
- path.isAbsolute(id) ||
6
- id.startsWith("xanix") ||
7
- id === "virtual:xanix-document" ||
8
- tsconfigPathsMatcher(id)) {
9
- return false;
10
- }
11
- return true;
12
- }
@@ -1,20 +0,0 @@
1
- declare const loadEnv: ({ mode, isClient, }: {
2
- mode: "development" | "production";
3
- isClient: boolean;
4
- }) => Promise<{
5
- "process.env.NODE_ENV": string;
6
- __XANIX_PAGE_NAVIGATION_HEADER_VALUE__: string;
7
- __XANIX_CLIENT_RUNTIME_FILE_NAME__: string;
8
- __XANIX_CLIENT__: string;
9
- __XANIX_SERVER__: string;
10
- __XANIX_DEV__: string;
11
- __XANIX_PROD__: string;
12
- XANIX_NAVIGATE: string;
13
- XANIX_NAVIGATE_START: string;
14
- XANIX_NAVIGATE_END: string;
15
- XANIX_NAVIGATE_RELOAD: string;
16
- XANIX_PRELOAD: string;
17
- XANIX_PRELOAD_START: string;
18
- XANIX_PRELOAD_END: string;
19
- }>;
20
- export default loadEnv;
@@ -1,48 +0,0 @@
1
- import path from "node:path";
2
- import fs from "node:fs";
3
- import dotenv from "dotenv";
4
- import { getClientRuntimeFileName, uid } from "../../include/utils.js";
5
- const HEARDER_VALUE = uid(Math.random().toString(36), 32);
6
- const loadEnv = async ({ mode, isClient, }) => {
7
- const root = process.cwd();
8
- const publicPrefix = "PUBLIC_";
9
- const envFiles = [
10
- path.resolve(root, ".env"),
11
- path.resolve(root, mode === "development" ? ".env.dev" : ".env.prod"),
12
- ];
13
- const env = {};
14
- for (const file of envFiles) {
15
- if (!fs.existsSync(file)) {
16
- continue;
17
- }
18
- const result = dotenv.parse(fs.readFileSync(file));
19
- Object.assign(env, result);
20
- }
21
- const clientEnv = {};
22
- const serverEnv = {};
23
- for (const [key, value] of Object.entries(env)) {
24
- if (key.startsWith(publicPrefix)) {
25
- clientEnv[`process.env.${key}`] = JSON.stringify(value);
26
- }
27
- else {
28
- serverEnv[`process.env.${key}`] = JSON.stringify(value);
29
- }
30
- }
31
- return {
32
- "process.env.NODE_ENV": JSON.stringify(mode),
33
- __XANIX_PAGE_NAVIGATION_HEADER_VALUE__: JSON.stringify(HEARDER_VALUE),
34
- __XANIX_CLIENT_RUNTIME_FILE_NAME__: JSON.stringify(getClientRuntimeFileName(mode)),
35
- __XANIX_CLIENT__: isClient ? "true" : "false",
36
- __XANIX_SERVER__: isClient ? "false" : "true",
37
- __XANIX_DEV__: mode === "development" ? "true" : "false",
38
- __XANIX_PROD__: mode === "production" ? "true" : "false",
39
- XANIX_NAVIGATE: JSON.stringify("xanix:navigate"),
40
- XANIX_NAVIGATE_START: JSON.stringify("xanix:navigate:start"),
41
- XANIX_NAVIGATE_END: JSON.stringify("xanix:navigate:end"),
42
- XANIX_NAVIGATE_RELOAD: JSON.stringify("xanix:navigate:reload"),
43
- XANIX_PRELOAD: JSON.stringify("xanix:preload"),
44
- XANIX_PRELOAD_START: JSON.stringify("xanix:preload:start"),
45
- XANIX_PRELOAD_END: JSON.stringify("xanix:preload:end"),
46
- };
47
- };
48
- export default loadEnv;
@@ -1,10 +0,0 @@
1
- import { OutputOptions } from "rolldown";
2
- import { XanixClientEntry } from "../../types";
3
- type Options = {
4
- isDev?: boolean;
5
- };
6
- declare const bundlerOutput: {
7
- client: (entries: XanixClientEntry[], { isDev }: Options) => OutputOptions;
8
- server: (opt: Options) => OutputOptions;
9
- };
10
- export default bundlerOutput;