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,85 +0,0 @@
1
- const xanixCacheImports = () => {
2
- return {
3
- name: "xanix-cache-imports",
4
- transform(code, id) {
5
- console.log("[xanix-cache-imports]", id);
6
- if (!code.includes("xanix-cache/")) {
7
- return null;
8
- }
9
- console.log("[FOUND]", id);
10
- const importRegex = /import\s+([\s\S]*?)\s+from\s+["'](xanix-cache\/[^"']+|\/xanix-cache\/[^"']+)["']\s*;?/g;
11
- let changed = false;
12
- const output = code.replace(importRegex, (_match, specifiers, source) => {
13
- changed = true;
14
- const normalizedSource = source.startsWith("/")
15
- ? source
16
- : `/${source}`;
17
- const requireName = `_require_${source
18
- .replace(/^\/?xanix-cache\//, "")
19
- .replace(/\.[^/.]+$/, "")
20
- .replace(/[^a-zA-Z0-9_$]/g, "_")}`;
21
- const value = specifiers.trim();
22
- // import { jsx, jsxs } from "xanix-cache/react-jsx-runtime.js"
23
- if (value.startsWith("{")) {
24
- const content = value
25
- .slice(1, -1)
26
- .split(",")
27
- .map((item) => item.trim())
28
- .filter(Boolean)
29
- .map((item) => {
30
- const parts = item.split(/\s+as\s+/);
31
- if (parts.length === 2) {
32
- return `${parts[0]}: ${parts[1]}`;
33
- }
34
- return parts[0];
35
- })
36
- .join(", ");
37
- return [
38
- `const ${requireName} = __require("${normalizedSource}");`,
39
- `const { ${content} } = ${requireName};`,
40
- ].join("\n");
41
- }
42
- // import * as React from "xanix-cache/react.js"
43
- if (value.startsWith("* as ")) {
44
- const name = value.slice(5).trim();
45
- return `const ${name} = __require("${normalizedSource}");`;
46
- }
47
- // import React, { useState } from "..."
48
- const defaultNamed = value.match(/^([A-Za-z_$][\w$]*)\s*,\s*\{([\s\S]*)\}$/);
49
- if (defaultNamed) {
50
- const defaultName = defaultNamed[1];
51
- const named = defaultNamed[2]
52
- .split(",")
53
- .map((item) => item.trim())
54
- .filter(Boolean)
55
- .map((item) => {
56
- const parts = item.split(/\s+as\s+/);
57
- if (parts.length === 2) {
58
- return `${parts[0]}: ${parts[1]}`;
59
- }
60
- return parts[0];
61
- })
62
- .join(", ");
63
- return [
64
- `const ${requireName} = __require("${normalizedSource}");`,
65
- `const ${defaultName} = ${requireName}.default;`,
66
- `const { ${named} } = ${requireName};`,
67
- ].join("\n");
68
- }
69
- // import React from "..."
70
- return [
71
- `const ${requireName} = __require("${normalizedSource}");`,
72
- `const ${value} = ${requireName}.default;`,
73
- ].join("\n");
74
- });
75
- if (!changed) {
76
- return null;
77
- }
78
- return {
79
- code: output,
80
- map: null,
81
- };
82
- },
83
- };
84
- };
85
- export default xanixCacheImports;
@@ -1,3 +0,0 @@
1
- import { Plugin } from "rolldown";
2
- declare const ServerAction: () => Plugin;
3
- export default ServerAction;
@@ -1,9 +0,0 @@
1
- const ServerAction = () => {
2
- return {
3
- name: "server-action",
4
- async transform(source, id) {
5
- // Implement your transformation logic here
6
- },
7
- };
8
- };
9
- export default ServerAction;
@@ -1,11 +0,0 @@
1
- declare class TransformServerAction {
2
- replacements: {
3
- start: number;
4
- end: number;
5
- value: string;
6
- }[];
7
- code: string;
8
- constructor(code: string);
9
- transform(node: any): void;
10
- }
11
- export default TransformServerAction;
@@ -1,28 +0,0 @@
1
- import crypto from "node:crypto";
2
- class TransformServerAction {
3
- constructor(code) {
4
- this.replacements = [];
5
- this.code = code;
6
- }
7
- transform(node) {
8
- if (node.type === "CallExpression" &&
9
- node.callee.name === "server" &&
10
- node.arguments.length === 1 &&
11
- (node.arguments[0].type === "ArrowFunctionExpression" ||
12
- node.arguments[0].type === "FunctionExpression")) {
13
- const fnNode = node.arguments[0];
14
- const fnString = this.code.slice(fnNode.start, fnNode.end);
15
- const id = crypto
16
- .createHash("sha256")
17
- .update(fnString)
18
- .digest("hex")
19
- .slice(0, 12);
20
- this.replacements.push({
21
- start: fnNode.end,
22
- end: fnNode.end,
23
- value: `"${id}"`,
24
- });
25
- }
26
- }
27
- }
28
- export default TransformServerAction;
@@ -1,11 +0,0 @@
1
- declare class TransformExpress {
2
- replacements: {
3
- start: number;
4
- end: number;
5
- value: string;
6
- }[];
7
- code: string;
8
- constructor(code: string);
9
- transform(node: any): void;
10
- }
11
- export default TransformExpress;
@@ -1,22 +0,0 @@
1
- class TransformExpress {
2
- constructor(code) {
3
- this.replacements = [];
4
- this.code = code;
5
- }
6
- transform(node) {
7
- if (node.type === "CallExpression" &&
8
- node.callee.name === "server" &&
9
- node.arguments.length === 1 &&
10
- (node.arguments[0].type === "ArrowFunctionExpression" ||
11
- node.arguments[0].type === "FunctionExpression")) {
12
- const fnNode = node.arguments[0];
13
- const fnString = this.code.slice(fnNode.start, fnNode.end);
14
- this.replacements.push({
15
- start: node.arguments[0].start + 1,
16
- end: node.arguments[0].end - 1,
17
- value: "xanix/express",
18
- });
19
- }
20
- }
21
- }
22
- export default TransformExpress;
@@ -1,10 +0,0 @@
1
- declare class TransformExpress {
2
- replacements: {
3
- start: number;
4
- end: number;
5
- value: string;
6
- }[];
7
- foundServer: boolean;
8
- transform(node: any): void;
9
- }
10
- export default TransformExpress;
@@ -1,19 +0,0 @@
1
- class TransformExpress {
2
- constructor() {
3
- this.replacements = [];
4
- this.foundServer = false;
5
- }
6
- transform(node) {
7
- if (node.type === "CallExpression" &&
8
- node.callee.type === "Identifier" &&
9
- node.callee.name === "express") {
10
- this.foundServer = true;
11
- this.replacements.push({
12
- start: node.start,
13
- end: node.end,
14
- value: `xanix("express")`,
15
- });
16
- }
17
- }
18
- }
19
- export default TransformExpress;
@@ -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,14 +0,0 @@
1
- declare class TransformServerAction {
2
- replacements: {
3
- start: number;
4
- end: number;
5
- value: string;
6
- }[];
7
- code: string;
8
- serverImported: boolean;
9
- importer: string;
10
- count: number;
11
- constructor(code: string, importer: string);
12
- transform(node: any): void;
13
- }
14
- export default TransformServerAction;
@@ -1,38 +0,0 @@
1
- import crypto from "node:crypto";
2
- class TransformServerAction {
3
- constructor(code, importer) {
4
- this.replacements = [];
5
- this.serverImported = false;
6
- this.count = 0;
7
- this.code = code;
8
- this.importer = importer;
9
- }
10
- transform(node) {
11
- // check server imported
12
- if (node.type === "ImportDeclaration" &&
13
- node.source.value === "xanix" &&
14
- node.specifiers.some((s) => s.type === "ImportSpecifier" && s.imported.name === "server")) {
15
- this.serverImported = true;
16
- }
17
- if (node.type === "CallExpression" &&
18
- node.callee.type === "Identifier" &&
19
- node.callee.name === "server" &&
20
- node.arguments.length === 1 &&
21
- (node.arguments[0].type === "ArrowFunctionExpression" ||
22
- node.arguments[0].type === "FunctionExpression")) {
23
- const fnNode = node.arguments[0];
24
- const fnString = this.code.slice(fnNode.start, fnNode.end);
25
- const id = crypto
26
- .createHash("sha256")
27
- .update(this.importer + this.count++)
28
- .digest("hex")
29
- .slice(0, 12);
30
- this.replacements.push({
31
- start: node.start,
32
- end: node.end,
33
- value: `server(${fnString}, "${id}")`,
34
- });
35
- }
36
- }
37
- }
38
- export default TransformServerAction;
@@ -1,5 +0,0 @@
1
- export type WatcherOptions = {
2
- rootEntry: string;
3
- onChange: (files: string[], duration: number) => Promise<void>;
4
- onReady: (duration: number) => Promise<void>;
5
- };
@@ -1 +0,0 @@
1
- export {};
@@ -1,12 +0,0 @@
1
- import { type RolldownWatcher } from "rolldown";
2
- import { XanixClientEntry } from "../types.js";
3
- type Option = {
4
- onChange?: (files: string[], duration: number) => void;
5
- onBuildEnd?: (duration: number) => void;
6
- onReady?: () => Promise<void>;
7
- onCachedStart?: () => void;
8
- onCachedEnd?: () => void;
9
- WebSocketPort: number;
10
- };
11
- declare const WatchClient: (entries: XanixClientEntry[], options: Option) => Promise<RolldownWatcher>;
12
- export default WatchClient;
@@ -1,104 +0,0 @@
1
- import { watch } from "rolldown";
2
- import bundlerOutput from "./config/output.js";
3
- import fs from "node:fs";
4
- import { getClientRuntimeFile, getClientRuntimeFileName, normalizePath, } from "../include/utils.js";
5
- import { xanixDefaultPlugins } from "./plugins/plugins.js";
6
- import outdirs from "../../outdirs.js";
7
- import loadEnv from "./config/loadEnv.js";
8
- import XanixCache from "./cache/index.js";
9
- const WatchClient = async (entries, options) => {
10
- const input = {};
11
- for (const entry of entries) {
12
- input[entry.name] = entry.file;
13
- }
14
- const runtimeFileName = getClientRuntimeFileName("development");
15
- input[runtimeFileName] = getClientRuntimeFile();
16
- fs.rmSync(outdirs.client, {
17
- recursive: true,
18
- force: true,
19
- });
20
- fs.mkdirSync(outdirs.client, {
21
- recursive: true,
22
- });
23
- // options.onCachedStart?.();
24
- // let clientCache = await BuildClientCache(entries);
25
- // options.onCachedEnd?.();
26
- let watchingMode = false;
27
- const watcher = watch({
28
- input,
29
- treeshake: true,
30
- tsconfig: true,
31
- checks: {
32
- moduleLevelDirective: false,
33
- },
34
- resolve: {
35
- extensions: [".mjs", ".js", ".jsx", ".json", ".ts", ".tsx"],
36
- conditionNames: ["browser", "import", "module", "default"],
37
- },
38
- transform: {
39
- target: "es2022",
40
- jsx: {
41
- runtime: "automatic",
42
- // refresh: true,
43
- },
44
- define: await loadEnv({
45
- mode: "development",
46
- isClient: true,
47
- }),
48
- },
49
- plugins: [
50
- // externalResolver(),
51
- XanixCache(),
52
- ...xanixDefaultPlugins({
53
- WebSocketPort: options.WebSocketPort,
54
- target: "client",
55
- development: true,
56
- assetExternal: true,
57
- }),
58
- ],
59
- output: bundlerOutput.client(entries, { isDev: true }),
60
- watch: {
61
- clearScreen: false,
62
- },
63
- });
64
- let isReady = false;
65
- const changedFiles = new Set();
66
- watcher.on("change", (entry) => {
67
- entry = normalizePath(entry);
68
- const root = process.cwd();
69
- const _entry = entries.find((e) => e.file === entry);
70
- let buildFile = _entry
71
- ? `${_entry.id}.js`
72
- : entry
73
- .replace(normalizePath(root), "")
74
- .replace(/\.(ts|tsx|jsx)$/, ".js")
75
- .replace(/^\\/, "");
76
- changedFiles.add(buildFile);
77
- });
78
- let duration = 0;
79
- watcher.on("event", async (event) => {
80
- switch (event.code) {
81
- case "BUNDLE_START":
82
- break;
83
- case "BUNDLE_END":
84
- duration = event.duration;
85
- options.onBuildEnd?.(event.duration);
86
- break;
87
- case "END":
88
- if (changedFiles.size && options.onChange) {
89
- options.onChange(Array.from(changedFiles), duration);
90
- changedFiles.clear();
91
- }
92
- if (!isReady) {
93
- isReady = true;
94
- await options.onReady?.();
95
- }
96
- break;
97
- case "ERROR":
98
- console.error("[client]", event.error);
99
- break;
100
- }
101
- });
102
- return watcher;
103
- };
104
- export default WatchClient;
@@ -1,10 +0,0 @@
1
- import { XanixClientEntry } from "../types.js";
2
- export type WatcherOptions = {
3
- rootEntry: string;
4
- onChange?: (files: string[], duration: number) => Promise<void>;
5
- onBuildEnd?: (duration: number) => void;
6
- onClientEntryChange: (id: string, entries: XanixClientEntry[]) => Promise<void>;
7
- onReady?: (entries: XanixClientEntry[]) => Promise<void>;
8
- };
9
- declare const watchServer: ({ rootEntry, onChange, onBuildEnd, onClientEntryChange, onReady, }: WatcherOptions) => Promise<import("rolldown").RolldownWatcher>;
10
- export default watchServer;
@@ -1,139 +0,0 @@
1
- import { watch } from "rolldown";
2
- import path from "node:path";
3
- import fs from "node:fs";
4
- import { getEntries } from "../include/manifest.js";
5
- import bundlerOutput from "./config/output.js";
6
- import { entriesEqual } from "../include/entry.js";
7
- import { xanixDefaultPlugins } from "./plugins/plugins.js";
8
- import outdirs from "../../outdirs.js";
9
- import { normalizePath } from "../include/utils.js";
10
- import loadEnv from "./config/loadEnv.js";
11
- import { builtinModules } from "node:module";
12
- import { tsconfigPathsMatcher } from "./plugins/XanixTsconfigAlias.js";
13
- import XanixTransform from "./plugins/TransformServer/index.js";
14
- import { ResolverFactory } from "rolldown/experimental";
15
- const resolver = new ResolverFactory();
16
- const root = process.cwd();
17
- const nodeBuiltins = new Set(builtinModules);
18
- function isNodeBuiltin(id) {
19
- const normalized = id.startsWith("node:") ? id.slice(5) : id;
20
- return nodeBuiltins.has(normalized);
21
- }
22
- const watchServer = async ({ rootEntry, onChange, onBuildEnd, onClientEntryChange, onReady, }) => {
23
- fs.rmSync(outdirs.server, {
24
- recursive: true,
25
- force: true,
26
- });
27
- fs.mkdirSync(outdirs.server, {
28
- recursive: true,
29
- });
30
- const input = {
31
- index: path.resolve(root, rootEntry),
32
- };
33
- const watcher = watch({
34
- input,
35
- treeshake: true,
36
- platform: "node",
37
- tsconfig: true,
38
- checks: {
39
- moduleLevelDirective: false,
40
- },
41
- resolve: {
42
- extensions: [".mjs", ".js", ".jsx", ".json", ".ts", ".tsx"],
43
- conditionNames: ["node", "import", "module", "default"],
44
- },
45
- transform: {
46
- target: "node20",
47
- jsx: {
48
- runtime: "automatic",
49
- },
50
- define: await loadEnv({
51
- mode: "development",
52
- isClient: false,
53
- }),
54
- },
55
- plugins: [
56
- XanixTransform(),
57
- ...xanixDefaultPlugins({
58
- target: "server",
59
- development: true,
60
- assetExternal: false,
61
- }),
62
- ],
63
- external(id, parent) {
64
- if (id.startsWith(".") ||
65
- path.isAbsolute(id) ||
66
- id.startsWith("xanix") ||
67
- id === "virtual:xanix-document" ||
68
- tsconfigPathsMatcher(id)) {
69
- return false;
70
- }
71
- if (isNodeBuiltin(id)) {
72
- return true;
73
- }
74
- if (parent) {
75
- const resolve = resolver.sync(path.dirname(parent), id);
76
- if (resolve.path) {
77
- const ext = path.extname(resolve.path);
78
- const valid = [".js", ".cjs", ".mjs"];
79
- if (!valid.includes(ext)) {
80
- return false;
81
- }
82
- }
83
- }
84
- return true;
85
- },
86
- output: bundlerOutput.server({
87
- isDev: true,
88
- }),
89
- watch: {
90
- clearScreen: false,
91
- },
92
- });
93
- let isReady = false;
94
- const changedFiles = new Set();
95
- watcher.on("change", async (id) => {
96
- changedFiles.add(normalizePath(id));
97
- });
98
- let duration = 0;
99
- watcher.on("event", async (event) => {
100
- switch (event.code) {
101
- case "BUNDLE_END": {
102
- duration = event.duration;
103
- onBuildEnd?.(event.duration);
104
- break;
105
- }
106
- case "END": {
107
- const entries = await getEntries();
108
- if (changedFiles.size) {
109
- if (entries.length) {
110
- const clientEntries = Array.from(entries);
111
- for (const entry of changedFiles) {
112
- const isClientEntry = clientEntries.find((e) => e.file === entry);
113
- if (!isClientEntry) {
114
- const currentEntries = await getEntries();
115
- const isEqual = await entriesEqual(currentEntries);
116
- if (!isEqual) {
117
- await onClientEntryChange?.(entry, currentEntries);
118
- }
119
- }
120
- }
121
- }
122
- await onChange?.(Array.from(changedFiles).map((file) => file.replace(normalizePath(root), "")), duration);
123
- changedFiles.clear();
124
- }
125
- if (!isReady) {
126
- isReady = true;
127
- await onReady?.(entries);
128
- }
129
- break;
130
- }
131
- case "ERROR": {
132
- console.error("[server]", event.error);
133
- break;
134
- }
135
- }
136
- });
137
- return watcher;
138
- };
139
- export default watchServer;
@@ -1,2 +0,0 @@
1
- declare const dev: (rootEntry: string) => Promise<void>;
2
- export default dev;