jopijs 0.0.1 → 3.0.16

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 (342) hide show
  1. package/README.md +21 -54
  2. package/dist/@bundler/esbuild.d.ts +1 -1
  3. package/dist/@bundler/index.d.ts +0 -1
  4. package/dist/@bundler/index.js +0 -1
  5. package/dist/@bundler/index.js.map +1 -1
  6. package/dist/@bundler/plugins.d.ts +1 -0
  7. package/dist/@bundler/plugins.js +19 -4
  8. package/dist/@bundler/plugins.js.map +1 -1
  9. package/dist/@bundler/tailwind.d.ts +1 -2
  10. package/dist/@bundler/tailwind.js +1 -48
  11. package/dist/@bundler/tailwind.js.map +1 -1
  12. package/dist/@core/bundler/bundler.d.ts +1 -1
  13. package/dist/@core/bundler/bundler.js +3 -6
  14. package/dist/@core/bundler/bundler.js.map +1 -1
  15. package/dist/@core/bundler/config.d.ts +3 -0
  16. package/dist/@core/bundler/config.js +82 -0
  17. package/dist/@core/bundler/config.js.map +1 -1
  18. package/dist/@core/bundler/extraContent.js +1 -3
  19. package/dist/@core/bundler/extraContent.js.map +1 -1
  20. package/dist/@core/bundler/index.d.ts +4 -0
  21. package/dist/@core/bundler/index.js +5 -0
  22. package/dist/@core/bundler/index.js.map +1 -0
  23. package/dist/@core/bundler/pagesGenerator.js +32 -9
  24. package/dist/@core/bundler/pagesGenerator.js.map +1 -1
  25. package/dist/@core/caches/InMemoryCache.js +0 -2
  26. package/dist/@core/caches/InMemoryCache.js.map +1 -1
  27. package/dist/@core/caches/SimpleFileCache.js +1 -1
  28. package/dist/@core/caches/SimpleFileCache.js.map +1 -1
  29. package/dist/@core/dataSources.d.ts +9 -0
  30. package/dist/@core/dataSources.js +37 -0
  31. package/dist/@core/dataSources.js.map +1 -0
  32. package/dist/@core/index.d.ts +4 -2
  33. package/dist/@core/index.js +4 -2
  34. package/dist/@core/index.js.map +1 -1
  35. package/dist/@core/internalTools.d.ts +0 -2
  36. package/dist/@core/internalTools.js +0 -1
  37. package/dist/@core/internalTools.js.map +1 -1
  38. package/dist/@core/jopiEasy.d.ts +25 -9
  39. package/dist/@core/jopiEasy.js +43 -16
  40. package/dist/@core/jopiEasy.js.map +1 -1
  41. package/dist/@core/jopiRequest.d.ts +17 -10
  42. package/dist/@core/jopiRequest.js +38 -29
  43. package/dist/@core/jopiRequest.js.map +1 -1
  44. package/dist/@core/jopiServer.js +2 -0
  45. package/dist/@core/jopiServer.js.map +1 -1
  46. package/dist/@core/jopiWebSite.d.ts +35 -17
  47. package/dist/@core/jopiWebSite.js +136 -104
  48. package/dist/@core/jopiWebSite.js.map +1 -1
  49. package/dist/@core/loadDotEnvFile.d.ts +1 -0
  50. package/dist/@core/loadDotEnvFile.js +27 -0
  51. package/dist/@core/loadDotEnvFile.js.map +1 -0
  52. package/dist/@core/routeConfig.d.ts +33 -1
  53. package/dist/@core/routeConfig.js +45 -1
  54. package/dist/@core/routeConfig.js.map +1 -1
  55. package/dist/@core/serverImpl/server_bunjs.js +1 -1
  56. package/dist/@core/serverImpl/server_bunjs.js.map +1 -1
  57. package/dist/@core/serverImpl/server_nodejs.js +2 -2
  58. package/dist/@core/serverImpl/server_nodejs.js.map +1 -1
  59. package/dist/@generated/index.d.ts +4 -2
  60. package/dist/@generated/index.js +13 -8
  61. package/dist/@generated/index.js.map +1 -1
  62. package/dist/@linker/common.d.ts +1 -0
  63. package/dist/@linker/common.js +19 -0
  64. package/dist/@linker/common.js.map +1 -0
  65. package/dist/@linker/config.js +21 -7
  66. package/dist/@linker/config.js.map +1 -1
  67. package/dist/@linker/coreAliasTypes.d.ts +79 -0
  68. package/dist/@linker/{arobaseTypes.js → coreAliasTypes.js} +119 -31
  69. package/dist/@linker/coreAliasTypes.js.map +1 -0
  70. package/dist/@linker/engine.d.ts +58 -23
  71. package/dist/@linker/engine.js +186 -104
  72. package/dist/@linker/engine.js.map +1 -1
  73. package/dist/@linker/index.d.ts +1 -0
  74. package/dist/@linker/index.js +1 -0
  75. package/dist/@linker/index.js.map +1 -1
  76. package/dist/@linker/install.js +2 -0
  77. package/dist/@linker/install.js.map +1 -1
  78. package/dist/@linker/jopiModulesTools.d.ts +10 -0
  79. package/dist/@linker/jopiModulesTools.js +33 -0
  80. package/dist/@linker/jopiModulesTools.js.map +1 -0
  81. package/dist/@linker/modInstaller.d.ts +2 -1
  82. package/dist/@linker/modInstaller.js +7 -8
  83. package/dist/@linker/modInstaller.js.map +1 -1
  84. package/dist/@linker/modPackageJson.d.ts +8 -0
  85. package/dist/@linker/modPackageJson.js +13 -0
  86. package/dist/@linker/modPackageJson.js.map +1 -0
  87. package/dist/@linker/modulesTools.d.ts +3 -0
  88. package/dist/@linker/modulesTools.js +3 -0
  89. package/dist/@linker/modulesTools.js.map +1 -0
  90. package/dist/@linker/typeEvents.d.ts +9 -4
  91. package/dist/@linker/typeEvents.js +30 -22
  92. package/dist/@linker/typeEvents.js.map +1 -1
  93. package/dist/@linker/typeRoutes.d.ts +8 -5
  94. package/dist/@linker/typeRoutes.js +158 -67
  95. package/dist/@linker/typeRoutes.js.map +1 -1
  96. package/dist/@linker/typeTable.d.ts +26 -0
  97. package/dist/@linker/typeTable.js +159 -0
  98. package/dist/@linker/typeTable.js.map +1 -0
  99. package/dist/@linker/typeTranslation.d.ts +25 -0
  100. package/dist/@linker/typeTranslation.js +371 -0
  101. package/dist/@linker/typeTranslation.js.map +1 -0
  102. package/dist/@linker/typeUiComposite.d.ts +2 -2
  103. package/dist/@linker/typeUiComposite.js +2 -2
  104. package/dist/@linker/typeUiComposite.js.map +1 -1
  105. package/dist/@linker/typeVariants.d.ts +9 -0
  106. package/dist/@linker/typeVariants.js +51 -0
  107. package/dist/@linker/typeVariants.js.map +1 -0
  108. package/dist/@loader-client/index.js +1 -1
  109. package/dist/@loader-client/index.js.map +1 -1
  110. package/dist/@loader-tools/index.d.ts +0 -1
  111. package/dist/@loader-tools/index.js +0 -1
  112. package/dist/@loader-tools/index.js.map +1 -1
  113. package/dist/@loader-tools/jopin.js +5 -1
  114. package/dist/@loader-tools/jopin.js.map +1 -1
  115. package/dist/@loader-tools/nodeJsLoader.d.ts +2 -2
  116. package/dist/@loader-tools/nodeJsLoader.js +117 -32
  117. package/dist/@loader-tools/nodeJsLoader.js.map +1 -1
  118. package/dist/@loader-tools/sourceChangesWatcher.d.ts +9 -4
  119. package/dist/@loader-tools/sourceChangesWatcher.js +42 -28
  120. package/dist/@loader-tools/sourceChangesWatcher.js.map +1 -1
  121. package/dist/@loader-tools/tools.d.ts +0 -7
  122. package/dist/@loader-tools/tools.js +10 -24
  123. package/dist/@loader-tools/tools.js.map +1 -1
  124. package/dist/@loader-tools/transform.js +40 -3
  125. package/dist/@loader-tools/transform.js.map +1 -1
  126. package/dist/@modules/index.d.ts +47 -0
  127. package/dist/@modules/index.js +265 -0
  128. package/dist/@modules/index.js.map +1 -0
  129. package/dist/@modules/jopiModulesTools.d.ts +7 -0
  130. package/dist/@modules/jopiModulesTools.js +31 -0
  131. package/dist/@modules/jopiModulesTools.js.map +1 -0
  132. package/dist/@ui/components.js +0 -1
  133. package/dist/@ui/components.js.map +1 -1
  134. package/dist/@ui/cookies/common.d.ts +3 -0
  135. package/dist/@ui/cookies/common.js +2 -0
  136. package/dist/@ui/cookies/common.js.map +1 -0
  137. package/dist/@ui/cookies/cookies.d.ts +10 -0
  138. package/dist/@ui/cookies/cookies.js +56 -0
  139. package/dist/@ui/cookies/cookies.js.map +1 -0
  140. package/dist/@ui/cookies/index.d.ts +2 -0
  141. package/dist/@ui/cookies/index.js +3 -0
  142. package/dist/@ui/cookies/index.js.map +1 -0
  143. package/dist/@ui/cookies/interfaces.d.ts +3 -0
  144. package/dist/@ui/cookies/interfaces.js +2 -0
  145. package/dist/@ui/cookies/interfaces.js.map +1 -0
  146. package/dist/@ui/cookies/jBundler_ifBrowser.d.ts +4 -0
  147. package/dist/@ui/cookies/jBundler_ifBrowser.js +36 -0
  148. package/dist/@ui/cookies/jBundler_ifBrowser.js.map +1 -0
  149. package/dist/@ui/cookies/jBundler_ifServer.d.ts +11 -0
  150. package/dist/@ui/cookies/jBundler_ifServer.js +25 -0
  151. package/dist/@ui/cookies/jBundler_ifServer.js.map +1 -0
  152. package/dist/@ui/cookies/server.d.ts +10 -0
  153. package/dist/@ui/cookies/server.js +56 -0
  154. package/dist/@ui/cookies/server.js.map +1 -0
  155. package/dist/@ui/cookies.d.ts +10 -0
  156. package/dist/@ui/cookies.js +56 -0
  157. package/dist/@ui/cookies.js.map +1 -0
  158. package/dist/@ui/hooks/common.d.ts +22 -0
  159. package/dist/@ui/hooks/common.js +55 -0
  160. package/dist/@ui/hooks/common.js.map +1 -0
  161. package/dist/@ui/hooks/hooks.d.ts +52 -0
  162. package/dist/@ui/hooks/hooks.js +115 -0
  163. package/dist/@ui/hooks/hooks.js.map +1 -0
  164. package/dist/@ui/hooks/index.d.ts +2 -0
  165. package/dist/@ui/hooks/index.js +3 -0
  166. package/dist/@ui/hooks/index.js.map +1 -0
  167. package/dist/@ui/hooks/jBundler_ifBrowser.d.ts +17 -0
  168. package/dist/@ui/hooks/jBundler_ifBrowser.js +53 -0
  169. package/dist/@ui/hooks/jBundler_ifBrowser.js.map +1 -0
  170. package/dist/@ui/hooks/jBundler_ifServer.d.ts +39 -0
  171. package/dist/@ui/hooks/jBundler_ifServer.js +43 -0
  172. package/dist/@ui/hooks/jBundler_ifServer.js.map +1 -0
  173. package/dist/@ui/hooks.d.ts +21 -0
  174. package/dist/@ui/hooks.js +44 -0
  175. package/dist/@ui/hooks.js.map +1 -1
  176. package/dist/@ui/index.d.ts +4 -2
  177. package/dist/@ui/index.js +4 -2
  178. package/dist/@ui/index.js.map +1 -1
  179. package/dist/@ui/interfaces.d.ts +4 -0
  180. package/dist/@ui/interfaces.js +2 -0
  181. package/dist/@ui/interfaces.js.map +1 -0
  182. package/dist/@ui/internal.d.ts +0 -2
  183. package/dist/@ui/internal.js +0 -1
  184. package/dist/@ui/internal.js.map +1 -1
  185. package/dist/@ui/modules.d.ts +27 -5
  186. package/dist/@ui/modules.js +60 -6
  187. package/dist/@ui/modules.js.map +1 -1
  188. package/dist/@ui/pageController.d.ts +6 -5
  189. package/dist/@ui/pageController.js +15 -12
  190. package/dist/@ui/pageController.js.map +1 -1
  191. package/dist/@ui/pageModifier.d.ts +69 -0
  192. package/dist/@ui/pageModifier.js +107 -0
  193. package/dist/@ui/pageModifier.js.map +1 -0
  194. package/dist/@ui/pageModifier.ts.d.ts +13 -0
  195. package/dist/@ui/pageModifier.ts.js +30 -0
  196. package/dist/@ui/pageModifier.ts.js.map +1 -0
  197. package/dist/@ui/tools.d.ts +0 -10
  198. package/dist/@ui/tools.js +1 -52
  199. package/dist/@ui/tools.js.map +1 -1
  200. package/dist/@ui/user.d.ts +14 -0
  201. package/dist/@ui/user.js +26 -0
  202. package/dist/@ui/user.js.map +1 -0
  203. package/dist/@uikit/core/UiKitModule.d.ts +6 -2
  204. package/dist/@uikit/core/UiKitModule.js +42 -3
  205. package/dist/@uikit/core/UiKitModule.js.map +1 -1
  206. package/dist/@uikit/core/jBundler_ifServer.js +1 -1
  207. package/dist/@uikit/core/jBundler_ifServer.js.map +1 -1
  208. package/dist/@uikit/forms/components.d.ts +7 -6
  209. package/dist/@uikit/forms/components.js +23 -9
  210. package/dist/@uikit/forms/components.js.map +1 -1
  211. package/dist/@uikit/forms/interfaces.d.ts +101 -11
  212. package/dist/@uikit/forms/interfaces.js +0 -1
  213. package/dist/@uikit/forms/interfaces.js.map +1 -1
  214. package/dist/@uikit/helpers/tools.d.ts +11 -4
  215. package/dist/@uikit/helpers/tools.js +33 -8
  216. package/dist/@uikit/helpers/tools.js.map +1 -1
  217. package/dist/@uikit/index.d.ts +2 -1
  218. package/dist/@uikit/index.js +2 -1
  219. package/dist/@uikit/index.js.map +1 -1
  220. package/dist/@uikit/menu/core.d.ts +45 -8
  221. package/dist/@uikit/menu/core.js +175 -26
  222. package/dist/@uikit/menu/core.js.map +1 -1
  223. package/dist/@uikit/menu/hooks.d.ts +3 -3
  224. package/dist/@uikit/menu/hooks.js +0 -1
  225. package/dist/@uikit/menu/hooks.js.map +1 -1
  226. package/dist/@uikit/menu/interfaces.d.ts +9 -6
  227. package/dist/@uikit/menu/internal.d.ts +0 -38
  228. package/dist/@uikit/menu/internal.js +3 -183
  229. package/dist/@uikit/menu/internal.js.map +1 -1
  230. package/dist/@uikit/reactRouter/hooks/jBundler_ifBrowser.d.ts +1 -0
  231. package/dist/@uikit/reactRouter/hooks/jBundler_ifBrowser.js.map +1 -1
  232. package/dist/@uikit/reactRouter/hooks/jBundler_ifServer.d.ts +1 -0
  233. package/dist/@uikit/reactRouter/hooks/jBundler_ifServer.js.map +1 -1
  234. package/dist/@uikit/table/JTable.d.ts +3 -0
  235. package/dist/@uikit/table/JTable.js +251 -0
  236. package/dist/@uikit/table/JTable.js.map +1 -0
  237. package/dist/@uikit/table/index.d.ts +2 -0
  238. package/dist/@uikit/table/index.js +3 -0
  239. package/dist/@uikit/table/index.js.map +1 -0
  240. package/dist/@uikit/table/interfaces.d.ts +149 -0
  241. package/dist/@uikit/table/interfaces.js +5 -0
  242. package/dist/@uikit/table/interfaces.js.map +1 -0
  243. package/dist/@uikit/users/hooks.d.ts +9 -2
  244. package/dist/@uikit/users/hooks.js +22 -5
  245. package/dist/@uikit/users/hooks.js.map +1 -1
  246. package/dist/@uikit/variants/index.d.ts +2 -5
  247. package/dist/@uikit/variants/index.js +10 -12
  248. package/dist/@uikit/variants/index.js.map +1 -1
  249. package/package.json +18 -8
  250. package/src/@bundler/README.md +1 -1
  251. package/src/@bundler/esbuild.ts +1 -1
  252. package/src/@bundler/index.ts +0 -2
  253. package/src/@bundler/plugins.ts +21 -4
  254. package/src/@bundler/tailwind.ts +1 -57
  255. package/src/@core/bundler/bundler.ts +5 -8
  256. package/src/@core/bundler/config.ts +106 -1
  257. package/src/@core/bundler/extraContent.ts +1 -3
  258. package/src/@core/bundler/index.ts +5 -0
  259. package/src/@core/bundler/pagesGenerator.ts +35 -10
  260. package/src/@core/caches/InMemoryCache.ts +0 -2
  261. package/src/@core/caches/SimpleFileCache.ts +1 -1
  262. package/src/@core/dataSources.ts +58 -0
  263. package/src/@core/index.ts +6 -4
  264. package/src/@core/internalTools.ts +0 -2
  265. package/src/@core/jopiEasy.ts +80 -26
  266. package/src/@core/jopiRequest.tsx +43 -35
  267. package/src/@core/jopiServer.ts +10 -7
  268. package/src/@core/jopiWebSite.tsx +169 -113
  269. package/src/@core/loadDotEnvFile.ts +28 -0
  270. package/src/@core/routeConfig.ts +60 -1
  271. package/src/@core/serverImpl/server_bunjs.tsx +1 -1
  272. package/src/@core/serverImpl/server_nodejs.ts +2 -2
  273. package/src/@generated/index.ts +21 -12
  274. package/src/@linker/common.ts +21 -0
  275. package/src/@linker/config.ts +25 -8
  276. package/src/@linker/{arobaseTypes.ts → coreAliasTypes.ts} +171 -54
  277. package/src/@linker/engine.ts +240 -117
  278. package/src/@linker/index.ts +3 -1
  279. package/src/@linker/install.ts +2 -0
  280. package/src/@linker/modInstaller.ts +8 -6
  281. package/src/@linker/modPackageJson.ts +13 -0
  282. package/src/@linker/typeEvents.ts +34 -27
  283. package/src/@linker/typeRoutes.ts +182 -75
  284. package/src/@linker/typeTable.ts +200 -0
  285. package/src/@linker/typeTranslation.ts +485 -0
  286. package/src/@linker/typeUiComposite.ts +2 -2
  287. package/src/@linker/typeVariants.ts +61 -0
  288. package/src/@loader/bunHtmlCompiler.mjs +1 -2
  289. package/src/@loader-client/index.ts +1 -1
  290. package/src/@loader-tools/README.md +1 -1
  291. package/src/@loader-tools/index.ts +0 -1
  292. package/src/@loader-tools/jopin.ts +6 -1
  293. package/src/@loader-tools/nodeJsLoader.ts +137 -31
  294. package/src/@loader-tools/sourceChangesWatcher.ts +47 -33
  295. package/src/@loader-tools/tools.ts +7 -31
  296. package/src/@loader-tools/transform.ts +44 -3
  297. package/src/@modules/index.ts +323 -0
  298. package/src/@ui/components.tsx +0 -1
  299. package/src/@ui/cookies/index.ts +2 -0
  300. package/src/@ui/cookies/interfaces.ts +3 -0
  301. package/src/@ui/cookies/jBundler_ifBrowser.ts +47 -0
  302. package/src/@ui/cookies/jBundler_ifServer.ts +29 -0
  303. package/src/@ui/{hooks.tsx → hooks/common.tsx} +15 -43
  304. package/src/@ui/hooks/index.ts +2 -0
  305. package/src/@ui/hooks/jBundler_ifBrowser.tsx +65 -0
  306. package/src/@ui/hooks/jBundler_ifServer.tsx +71 -0
  307. package/src/@ui/index.ts +4 -2
  308. package/src/@ui/interfaces.ts +4 -0
  309. package/src/@ui/modules.ts +94 -8
  310. package/src/@ui/pageController.ts +17 -11
  311. package/src/@ui/pageModifier.tsx +118 -0
  312. package/src/@ui/user.ts +48 -0
  313. package/src/@uikit/core/UiKitModule.ts +54 -4
  314. package/src/@uikit/core/jBundler_ifServer.ts +1 -1
  315. package/src/@uikit/forms/components.tsx +28 -14
  316. package/src/@uikit/forms/interfaces.ts +160 -14
  317. package/src/@uikit/helpers/tools.ts +40 -10
  318. package/src/@uikit/index.ts +3 -1
  319. package/src/@uikit/menu/core.ts +217 -33
  320. package/src/@uikit/menu/hooks.ts +3 -4
  321. package/src/@uikit/menu/interfaces.ts +11 -8
  322. package/src/@uikit/menu/internal.ts +3 -208
  323. package/src/@uikit/reactRouter/hooks/jBundler_ifBrowser.tsx +2 -1
  324. package/src/@uikit/reactRouter/hooks/jBundler_ifServer.tsx +2 -1
  325. package/src/@uikit/table/JTable.tsx +313 -0
  326. package/src/@uikit/table/index.ts +2 -0
  327. package/src/@uikit/table/interfaces.ts +209 -0
  328. package/src/@uikit/users/hooks.ts +23 -8
  329. package/src/@uikit/variants/index.tsx +9 -13
  330. package/dist/@core/bundler/common.d.ts +0 -2
  331. package/dist/@core/bundler/common.js +0 -17
  332. package/dist/@core/bundler/common.js.map +0 -1
  333. package/dist/@linker/arobaseTypes.d.ts +0 -50
  334. package/dist/@linker/arobaseTypes.js.map +0 -1
  335. package/dist/@linker/changeProof.d.ts +0 -5
  336. package/dist/@linker/changeProof.js +0 -50
  337. package/dist/@linker/changeProof.js.map +0 -1
  338. package/src/@core/bundler/common.ts +0 -18
  339. package/src/@linker/changeProof.ts +0 -53
  340. package/src/@ui/README.md +0 -3
  341. package/src/@ui/internal.ts +0 -12
  342. package/src/@ui/tools.ts +0 -116
package/README.md CHANGED
@@ -1,71 +1,38 @@
1
- ## What is Jopi Rewrite?
1
+ ## What is Jopi ?
2
2
 
3
- Jopi Rewrite is a Bun.js framework, with Node.js compatibility, for building ultra-fast websites using React.js.
3
+ Jopi is a Bun.js framework, with Node.js compatibility, for building ultra-fast websites using React.js.
4
4
 
5
- Its operating principle is very similar to Next.js:
6
- * On the server side, React.js is used to generate the HTML of pages, which are search-engine friendly (Google, Bing, ...). On the browser side, the generated HTML is automatically replaced by its fully interactive equivalent.
7
- * Pages and APIs (GET/POST/...) are defined by placing files in directories whose names correspond directly to the URL structure.
5
+ Its operating principle is very similar to Next.js, with a file based router, and React Server Side Rendering.
8
6
 
9
- The goal of Jopi Rewrite is simplicity: to be able to create an application without drowning in technical details. That's why Jopi Rewrite is not just a server, but also a framework. It is minimalist, but with very useful additions:
7
+ **The goal of Jopi is simplicity, and making big website easier to maintain. This thank to a powerful module system.**
8
+
9
+ > This module is make website refactoring much more easier, since it allows you to alter the website without touching the current code :
10
+ you create a new module, which override some existing routes and React components. Once this module disabled (by adding a simple underscore in front of his name), then you immediatly revert to your old version.
11
+
12
+ Here are some of Jopi features:
10
13
 
11
14
  * **Tailwind already configured and enabled**. As well as **React HMR integration** so that any UI code change is instantly reflected in the browser.
12
15
  * Inclusion of a **Docker script** to quickly convert your project into a very lightweight Docker VM.
13
16
  * Built-in **JWT authentication** with the ability to easily create a user directory: a minimalist system that is easy to understand and extend for your own needs.
14
17
  * **User role-based security** is included. It allows limiting access to certain resources and customizing behavior according to user roles.
15
- * An **cache system** that makes your site as fast as a static site. You have full control over this cache, which can be global, per-user, to distinguish desktop/mobile, ...
16
- * Creating an SSL certificate (for https) is trivial: Jopi **generates development certificates** (local machine) and also handles **Let's Encrypt**: with automatic renewal and no connection loss.
17
- * Simple but powerful **module system** to organize your application and reuse module between your apps.
18
-
19
- ## Application organization
20
-
21
- ### Application structure
22
-
23
- A typical application looks like this in terms of folders.
24
-
25
- **Example Jopi project**
26
- ```
27
- |- node_modules/
28
- |- package.json
29
- |- tsconfig.json < If you use node.js / typescript
30
- |- src/
31
- |- mod_moduleA < Code is always divided into modules
32
- |- mod_moduleB
33
- |- @alias < Allows sharing between modules
34
- |- @routes/admin < Define items bound to urls
35
- |- page.tsx < Bound to http://mysite/admin
36
- |- onPOST.ts < Catch all POST call to this url
37
- |- config.ts < If you want to configure some options
38
- |- pageNeedRole_admin.cond < You can also use special file names
39
- |- postNeedRole_write.cond < to avoid using config.ts
40
- ```
41
-
42
- As noted in the comments, there are two particularities: code is always divided into modules, while folders beginning with an at sign are used by code generation mechanisms. Notably the `@alias` folder which allows sharing elements between modules.
43
-
44
- ### The power of a modular application
45
-
46
- The module organization allows clear separations between different aspects of your code, and above all it allows reusing/sharing code blocks between multiple applications, while facilitating division of work in a team. For example, one module manages the site structure, another handles authentication, and a third adds pages for the products sold.
18
+ * Simple but powerful **module system** :
19
+ * Allow sharing React components.
20
+ * Allows a module to override a shared component.
21
+ * Allows modules to communicate with each other (event/listeners pattern).
22
+ * Allows modules to extend a toolbar-like component.
23
+ * Modules to override an existing route.
47
24
 
48
- Modules can share dependencies with other modules thanks to powerful alias mechanisms. For example a module defines a component MyComp, which becomes accessible to all modules by importing `import MyComp from @/uiBlocks/MyComp`.
49
-
50
- Jopi's module system has the major advantage of being compatible with code pruning performed by JavasScript Bundlers, avoid common pitfalls with low-coupled code.
51
-
52
- The module system is based on a set of mechanisms:
53
- * **Events / listeners** — This mechanism lets modules communicate via a flexible "notify when this happens" system.
54
- * **Composites** — This mechanism allows React components to have content enriched by modules. For example, so that a module can add content to a toolbar.
55
- * **Sharing React.js components** — Modules can share React components, which are automatically registered in the global namespace. Also, a module can replace a shared component with its own version.
56
-
57
- ### Server-only code, browser-only code?
58
-
59
- To be fast, Jopi does not include code analysis and server-side code removal. However, a very useful mechanism compensates for this: whenever the token **jopiBundler_ifServer** is encountered, it is replaced by the token **jopiBundler_ifBrowser**. Thus `import * as myLib from "./jopiBundler_ifServer.ts"` becomes `import * as myLib from "./jopiBundler_ifBrowser.ts"` when Jopi creates the JavaScript for the browser.
60
-
61
- Besides being performant, this mechanism is easier to use while offering interesting possibilities.
62
-
63
- Internally, Jopi Rewrite uses a library called **Jopi Toolkit**. This library gathers a set of tools not specific to Jopi Rewrite and usable in independent projects. This library also uses the translation mechanism (jopiBundler_ifServer to jopiBundler_ifBrowser) so that all server code is automatically removed or replaced by a browser-specific part.
64
25
 
65
26
  ## Cookbook
66
27
 
67
28
  The documentation is organized as a cookbook: you want to do this, here is how.
68
29
 
30
+ I do regular update this cookbook with new features.
31
+ You can also visit the YouTube page for video tutorials [link](https://www.youtube.com/@jopijs)
32
+
33
+ > Don't forget to like the videos, it helps a lot !
34
+ > Also give GitHub stars if you like this project !
35
+
69
36
  ### Basics
70
37
 
71
38
  [Start a new project.](_doc/basic/new_project.md)
@@ -1,4 +1,4 @@
1
- import type { CreateBundleParams } from "../@core/index.ts";
1
+ import type { CreateBundleParams } from "jopijs";
2
2
  export interface EsBuildParams extends CreateBundleParams {
3
3
  metaDataFilePath: string;
4
4
  dontEmbed: string[] | undefined;
@@ -1,2 +1 @@
1
- export { getGlobalCssFileContent } from "./tailwind.ts";
2
1
  import "./core.ts";
@@ -1,3 +1,2 @@
1
- export { getGlobalCssFileContent } from "./tailwind.js";
2
1
  import "./core.js";
3
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/@bundler/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,uBAAuB,EAAC,MAAM,eAAe,CAAC;AAEtD,OAAO,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/@bundler/index.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,CAAC"}
@@ -3,6 +3,7 @@ import type { EsBuildParams } from "./esbuild.ts";
3
3
  /**
4
4
  * This plugin allows replacing some text entries according to rules.
5
5
  */
6
+ export declare function jopiReplaceText__Old(): Plugin;
6
7
  export declare function jopiReplaceText(): Plugin;
7
8
  export declare function jopiDetectRebuild(params: EsBuildParams): Plugin;
8
9
  /**
@@ -10,7 +10,7 @@ import { logServer_refresh } from "./_logs.js";
10
10
  /**
11
11
  * This plugin allows replacing some text entries according to rules.
12
12
  */
13
- export function jopiReplaceText() {
13
+ export function jopiReplaceText__Old() {
14
14
  async function getExistingSourceMap(filePath, source) {
15
15
  const sourceMapCommentMatch = source.match(/\/\/# sourceMappingURL=(.+)$/m);
16
16
  if (!sourceMapCommentMatch)
@@ -33,9 +33,9 @@ export function jopiReplaceText() {
33
33
  return {
34
34
  name: "jopi-replace-text",
35
35
  setup(build) {
36
- build.onLoad({ filter: /\.(tsx|jsx|js)$/ }, async (args) => {
36
+ build.onLoad({ filter: /\.(tsx|jsx|ts|js)$/ }, async (args) => {
37
37
  const oldContent = await fs.readFile(args.path, 'utf8');
38
- let newContent = oldContent.replace("jBundler_ifServer", "jBundler_ifBrowser");
38
+ let newContent = oldContent.replaceAll("jBundler_ifServer", "jBundler_ifBrowser");
39
39
  if (newContent === oldContent)
40
40
  return undefined;
41
41
  const useSourceMap = !!build.initialOptions.sourcemap;
@@ -45,7 +45,7 @@ export function jopiReplaceText() {
45
45
  }
46
46
  const existingSourceMap = await getExistingSourceMap(args.path, oldContent);
47
47
  const magic = new MagicString(oldContent, { filename: args.path });
48
- magic.replace("jBundler_ifServer", "jBundler_ifBrowser");
48
+ magic.replaceAll("jBundler_ifServer", "jBundler_ifBrowser");
49
49
  const map = magic.generateMap({
50
50
  file: args.path,
51
51
  source: path.basename(args.path),
@@ -90,6 +90,21 @@ export function jopiReplaceText() {
90
90
  }
91
91
  };
92
92
  }
93
+ export function jopiReplaceText() {
94
+ return {
95
+ name: "jopi-replace-text",
96
+ setup(build) {
97
+ build.onLoad({ filter: /\.(tsx|jsx|ts|js)$/ }, async (args) => {
98
+ const oldContent = await fs.readFile(args.path, 'utf8');
99
+ let newContent = oldContent.replaceAll("jBundler_ifServer", "jBundler_ifBrowser");
100
+ if (newContent === oldContent)
101
+ return undefined;
102
+ let loader = path.extname(args.path).toLowerCase().substring(1);
103
+ return { contents: newContent, loader: loader };
104
+ });
105
+ }
106
+ };
107
+ }
93
108
  export function jopiDetectRebuild(params) {
94
109
  // Allow avoiding behaviors with TypeScript compiler doing some late works.
95
110
  //
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/@bundler/plugins.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/@bundler/plugins.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,2 @@
1
- import type { BundlerConfig, CreateBundleParams } from "jopijs";
1
+ import { type CreateBundleParams } from "jopijs";
2
2
  export declare function applyTailwindProcessor(params: CreateBundleParams): Promise<void>;
3
- export declare function getGlobalCssFileContent(config: BundlerConfig): Promise<string>;
@@ -1,4 +1,4 @@
1
- import * as jk_app from "jopi-toolkit/jk_app";
1
+ import { getGlobalCssFileContent } from "jopijs";
2
2
  import * as jk_fs from "jopi-toolkit/jk_fs";
3
3
  import path from "node:path";
4
4
  import fs from "node:fs/promises";
@@ -69,51 +69,4 @@ async function applyPostCss(params, sourceFiles) {
69
69
  return undefined;
70
70
  }
71
71
  }
72
- export async function getGlobalCssFileContent(config) {
73
- if (config.tailwind.globalCssContent) {
74
- return config.tailwind.globalCssContent;
75
- }
76
- if (config.tailwind.globalCssFilePath) {
77
- if (!await jk_fs.isFile(config.tailwind.globalCssFilePath)) {
78
- throw new Error(`Tailwind - File not found where resolving 'global.css': ${config.tailwind.globalCssFilePath}`);
79
- }
80
- return jk_fs.readTextFromFile(config.tailwind.globalCssFilePath);
81
- }
82
- let found = await getTailwindTemplateFromShadCnConfig();
83
- if (found)
84
- return found;
85
- let rootDir = jk_fs.dirname(jk_app.findPackageJson());
86
- if (await jk_fs.isFile(jk_fs.join(rootDir, "global.css"))) {
87
- return jk_fs.readTextFromFile(jk_fs.join(rootDir, "global.css"));
88
- }
89
- return `@import "tailwindcss";`;
90
- }
91
- /**
92
- * Get Tailwind template CSS file from Shadcn config file (components.json).
93
- * See: https://ui.shadcn.com/docs/components-json
94
- */
95
- async function getTailwindTemplateFromShadCnConfig() {
96
- const pkgJsonPath = jk_app.findPackageJson();
97
- if (!pkgJsonPath)
98
- return undefined;
99
- let filePath = path.join(path.dirname(pkgJsonPath), "components.json");
100
- if (!await jk_fs.isFile(filePath))
101
- return undefined;
102
- try {
103
- let asText = jk_fs.readTextFromFileSync(filePath);
104
- let asJSON = JSON.parse(asText);
105
- let tailwindConfig = asJSON.tailwind;
106
- if (!tailwindConfig)
107
- return undefined;
108
- let tailwindCssTemplate = tailwindConfig.css;
109
- if (!tailwindCssTemplate)
110
- return undefined;
111
- let fullPath = path.resolve(path.dirname(pkgJsonPath), tailwindCssTemplate);
112
- return jk_fs.readTextFromFileSync(fullPath);
113
- }
114
- catch (e) {
115
- console.error("Error reading Shadcn config file:", e);
116
- return undefined;
117
- }
118
- }
119
72
  //# sourceMappingURL=tailwind.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tailwind.js","sourceRoot":"","sources":["../../src/@bundler/tailwind.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tailwind.js","sourceRoot":"","sources":["../../src/@bundler/tailwind.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import { WebSiteImpl } from "../jopiWebSite.tsx";
2
2
  import { type BundlerConfig } from "./config.ts";
3
3
  import { type VirtualUrlEntry } from "jopijs/loader-tools";
4
- import "./pagesGenerator.ts";
5
4
  export interface CreateBundleParams {
6
5
  singlePageMode: boolean;
7
6
  innerUrl: string;
@@ -16,6 +15,7 @@ export interface CreateBundleParams {
16
15
  pageRoute?: string;
17
16
  pageKey?: string;
18
17
  pageScript?: string;
18
+ pageExtraParams: any;
19
19
  promise?: Promise<void>;
20
20
  }
21
21
  export declare function createBundle(webSite: WebSiteImpl): Promise<void>;
@@ -7,19 +7,16 @@ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExte
7
7
  return path;
8
8
  };
9
9
  import { WebSiteImpl } from "../jopiWebSite.js";
10
- import { serverInitChronos } from "../internalTools.js";
11
10
  import * as jk_fs from "jopi-toolkit/jk_fs";
12
11
  import * as jk_events from "jopi-toolkit/jk_events";
13
- import { getBundleDirPath } from "./common.js";
12
+ import { getBundleDirPath } from "./config.js";
14
13
  import { getBundlerConfig } from "./config.js";
15
14
  import { getExtraCssToBundle } from "./extraContent.js";
16
15
  import { configureServer } from "./server.js";
17
16
  import { getVirtualUrlMap } from "jopijs/loader-tools";
18
- import "./pagesGenerator.js";
19
17
  import { isSinglePageMode } from "jopijs/loader-client";
20
18
  import { logBundler } from "../_logs.js";
21
19
  export async function createBundle(webSite) {
22
- serverInitChronos.start("createBrowserBundle", "Time for building browser bundler");
23
20
  const genDir = getBundleDirPath(webSite);
24
21
  const outputDir = jk_fs.join(genDir, "out");
25
22
  // Reset the dir.
@@ -38,11 +35,11 @@ export async function createBundle(webSite) {
38
35
  singlePageMode: isSinglePageMode(),
39
36
  outputDir, genDir, publicUrl, innerUrl, webSite, requireTailwind,
40
37
  config: getBundlerConfig(), entryPoints: [...config.entryPoints],
41
- virtualUrlMap: getVirtualUrlMap()
38
+ virtualUrlMap: getVirtualUrlMap(),
39
+ pageExtraParams: webSite.getExtraPageParams()
42
40
  };
43
41
  await executeBundler(gCreateBundleData);
44
42
  configureServer(outputDir);
45
- serverInitChronos.end();
46
43
  }
47
44
  let gCreateBundleData;
48
45
  let gPageBundlerIsOk = {};
@@ -1 +1 @@
1
- {"version":3,"file":"bundler.js","sourceRoot":"","sources":["../../../src/@core/bundler/bundler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bundler.js","sourceRoot":"","sources":["../../../src/@core/bundler/bundler.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { Config as TailwindConfig } from 'tailwindcss';
2
2
  import postcss from 'postcss';
3
+ import { type WebSite } from "../jopiWebSite.tsx";
3
4
  export type PostCssInitializer = (sources: string[], tailwindPlugin: postcss.AcceptedPlugin | undefined) => postcss.AcceptedPlugin[];
4
5
  export interface BundlerConfig {
5
6
  tailwind: {
@@ -18,3 +19,5 @@ export interface BundlerConfig {
18
19
  entryPoints: string[];
19
20
  }
20
21
  export declare function getBundlerConfig(): BundlerConfig;
22
+ export declare function getBundleDirPath(webSite: WebSite): string;
23
+ export declare function getGlobalCssFileContent(config: BundlerConfig): Promise<string>;
@@ -1,4 +1,8 @@
1
1
  import postcss from 'postcss';
2
+ import { WebSiteImpl } from "../jopiWebSite.js";
3
+ import path from "node:path";
4
+ import * as jk_fs from "jopi-toolkit/jk_fs";
5
+ import * as jk_app from "jopi-toolkit/jk_app";
2
6
  const gBundlerConfig = {
3
7
  tailwind: {},
4
8
  postCss: {},
@@ -8,4 +12,82 @@ const gBundlerConfig = {
8
12
  export function getBundlerConfig() {
9
13
  return gBundlerConfig;
10
14
  }
15
+ export function getBundleDirPath(webSite) {
16
+ // To known: the loader uses jopi.webSiteUrl from "package.json".
17
+ // This can create a situation where we have 2 output directories for
18
+ // the same website.
19
+ //
20
+ let webSiteHost = webSite.host.replaceAll(".", "_").replaceAll(":", "_");
21
+ return path.join(gTempDirPath, webSiteHost);
22
+ }
23
+ let gGlobalCssContent;
24
+ export async function getGlobalCssFileContent(config) {
25
+ if (gGlobalCssContent)
26
+ return gGlobalCssContent;
27
+ if (config.tailwind.globalCssContent) {
28
+ return config.tailwind.globalCssContent;
29
+ }
30
+ if (config.tailwind.globalCssFilePath) {
31
+ if (!await jk_fs.isFile(config.tailwind.globalCssFilePath)) {
32
+ throw new Error(`Tailwind - File not found where resolving 'global.css': ${config.tailwind.globalCssFilePath}`);
33
+ }
34
+ return jk_fs.readTextFromFile(config.tailwind.globalCssFilePath);
35
+ }
36
+ let rootDir = jk_fs.dirname(jk_app.findPackageJson());
37
+ let dirItems = await jk_fs.listDir(jk_fs.join(rootDir, "src"));
38
+ let globalCss = `/* Warning: generated file */`;
39
+ let coreGlobalCssPath = jk_fs.join(rootDir, "global.css");
40
+ if (await jk_fs.isFile(coreGlobalCssPath)) {
41
+ let content = await jk_fs.readTextFromFile(coreGlobalCssPath);
42
+ globalCss += "\n\n/* --- Compiled from ./global.css --- */\n\n" + content;
43
+ }
44
+ coreGlobalCssPath = jk_fs.join(rootDir, "src/global.css");
45
+ if (await jk_fs.isFile(coreGlobalCssPath)) {
46
+ let content = await jk_fs.readTextFromFile(coreGlobalCssPath);
47
+ globalCss += "\n\n/* --- Compiled from ./src/global.css --- */\n\n" + content;
48
+ }
49
+ for (let item of dirItems) {
50
+ if (!item.isDirectory)
51
+ continue;
52
+ if (!item.name.startsWith("mod_"))
53
+ continue;
54
+ let globalCssPath = jk_fs.join(item.fullPath, "global.css");
55
+ let content = await jk_fs.readTextFromFile(globalCssPath);
56
+ if (content) {
57
+ content = removeImportDoublon(globalCss, content);
58
+ globalCss += `\n\n/* --- Compiled from ./src/${item.name}/global.css --- */`;
59
+ globalCss += "\n" + content;
60
+ }
61
+ }
62
+ await jk_fs.writeTextToFile(jk_fs.join(rootDir, "global.compiled.css"), globalCss);
63
+ return gGlobalCssContent = globalCss;
64
+ }
65
+ /**
66
+ * Remove '@import' already found into globalCss
67
+ */
68
+ function removeImportDoublon(globalCss, content) {
69
+ let foundImports = {};
70
+ for (let line of globalCss.split("\n")) {
71
+ let tmp = line.trim();
72
+ if (tmp.startsWith("@import")) {
73
+ foundImports[tmp] = true;
74
+ }
75
+ }
76
+ let lines = [];
77
+ for (let line of content.split("\n")) {
78
+ let tmp = line.trim();
79
+ if (tmp.startsWith("@import")) {
80
+ if (foundImports[tmp])
81
+ continue;
82
+ foundImports[tmp] = true;
83
+ }
84
+ lines.push(line);
85
+ }
86
+ return lines.join("\n");
87
+ }
88
+ // Don't use node_modules because of a bug when using workspaces.
89
+ // This bug is doing that WebStorm doesn't resolve the file to his real location
90
+ // but to the workspace node_modules (and not the project inside the workspace).
91
+ //
92
+ let gTempDirPath = path.resolve(jk_app.getTempDir(), ".reactHydrateCache");
11
93
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/@core/bundler/config.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,SAAS,CAAC;AA0B9B,MAAM,cAAc,GAAkB;IAClC,QAAQ,EAAE,EAAE;IACZ,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,EAAE;IACT,WAAW,EAAE,EAAE;CAClB,CAAA;AAED,MAAM,UAAU,gBAAgB;IAC5B,OAAO,cAAc,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/@core/bundler/config.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { addVirtualUrlEntry } from "jopijs/loader-tools";
1
+ import {} from "jopijs/loader-tools";
2
2
  import * as jk_events from "jopi-toolkit/jk_events";
3
3
  /**
4
4
  * Add a CSS file which must be bundled with the page.
@@ -16,8 +16,6 @@ export function getExtraCssToBundle() {
16
16
  return gAllCssFiles;
17
17
  }
18
18
  jk_events.addListener("jopi.virtualUrl.added", (v) => {
19
- if (!v.url)
20
- debugger;
21
19
  if (v.url && v.url.endsWith(".css") || v.url.endsWith(".scss")) {
22
20
  addExtraCssToBundle(v.sourceFile);
23
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"extraContent.js","sourceRoot":"","sources":["../../../src/@core/bundler/extraContent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAuB,MAAM,qBAAqB,CAAC;AAC7E,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AAEpD;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IACnD,uBAAuB,GAAG,IAAI,CAAC;IAC/B,IAAI,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC;QAAE,OAAO;IAC/C,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,sBAAsB;IAClC,OAAO,uBAAuB,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,mBAAmB;IAC/B,OAAO,YAAY,CAAC;AACxB,CAAC;AAED,SAAS,CAAC,WAAW,CAAkB,uBAAuB,EAAE,CAAC,CAAC,EAAE,EAAE;IAClE,IAAI,CAAC,CAAC,CAAC,GAAG;QAAE,QAAQ,CAAC;IAErB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7D,mBAAmB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,uBAAuB,GAAG,KAAK,CAAC;AACpC,MAAM,YAAY,GAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"extraContent.js","sourceRoot":"","sources":["../../../src/@core/bundler/extraContent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AAEpD;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IACnD,uBAAuB,GAAG,IAAI,CAAC;IAC/B,IAAI,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC;QAAE,OAAO;IAC/C,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,sBAAsB;IAClC,OAAO,uBAAuB,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,mBAAmB;IAC/B,OAAO,YAAY,CAAC;AACxB,CAAC;AAED,SAAS,CAAC,WAAW,CAAkB,uBAAuB,EAAE,CAAC,CAAC,EAAE,EAAE;IAClE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7D,mBAAmB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,uBAAuB,GAAG,KAAK,CAAC;AACpC,MAAM,YAAY,GAAa,EAAE,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./bundler.ts";
2
+ export * from "./config.ts";
3
+ export * from "./server.ts";
4
+ import "./pagesGenerator.ts";
@@ -0,0 +1,5 @@
1
+ export * from "./bundler.js";
2
+ export * from "./config.js";
3
+ export * from "./server.js";
4
+ import "./pagesGenerator.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/@core/bundler/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAE5B,OAAO,qBAAqB,CAAC"}
@@ -3,7 +3,7 @@ import * as jk_fs from "jopi-toolkit/jk_fs";
3
3
  import * as jk_crypto from "jopi-toolkit/jk_crypto";
4
4
  import { getBrowserInstallScript } from "jopijs/linker";
5
5
  import { getBrowserRefreshScript, isBrowserRefreshEnabled, isSinglePageMode, isReactHMR } from "jopijs/loader-client";
6
- import { getGlobalCssFileContent } from "jopijs/bundler";
6
+ import { getGlobalCssFileContent } from "./index.js";
7
7
  // *********************************************************************************************************************
8
8
  // The goal of this file is to generate the individual pages required for each page found in the root (page.tsx).
9
9
  // *********************************************************************************************************************
@@ -30,13 +30,18 @@ jk_events.addListener("@jopi.bundler.beforeCreateBundle", rebuildPages);
30
30
  jk_events.addListener("@jopi.bundler.beforeCreateBundleForPage", rebuildPages);
31
31
  async function rebuildPages(p) {
32
32
  async function buildPage(sourceFilePath, route, pageKey) {
33
+ function convertPath(filePath) {
34
+ let relPath = jk_fs.getRelativePath(p.genDir, filePath);
35
+ return jk_fs.win32ToLinuxPath(relPath);
36
+ }
33
37
  // Here we save the name without extension.
34
38
  gRouteToPageKey[route] = pageKey;
35
39
  let txt = REACT_TEMPLATE;
36
- txt = txt.replace("__PATH__", sourceFilePath);
37
- txt = txt.replace("__INSTALL__", installScript);
40
+ txt = txt.replace("__PATH__", convertPath(sourceFilePath));
41
+ txt = txt.replace("__INSTALL__", convertPath(installScript));
38
42
  txt = txt.replace("__ROUTE__", JSON.stringify(route));
39
- txt = txt.replace("__OPTIONS__", JSON.stringify({ removeTrailingSlashs: p.webSite.mustRemoveTrailingSlashs }));
43
+ txt = txt.replace("__OPTIONS__", JSON.stringify({ removeTrailingSlashes: p.webSite.mustRemoveTrailingSlashes }));
44
+ txt = txt.replace("__PAGE_EXTRA_PARAMS__", JSON.stringify(p.pageExtraParams));
40
45
  if (isReactHMR()) {
41
46
  // Bun.js use his own SSE events.
42
47
  txt = txt.replace("__SSE_EVENTS__", "");
@@ -121,7 +126,7 @@ __EXTRA_IMPORTS__
121
126
  window["__JOPI_ROUTE__"] = __ROUTE__;
122
127
  window["__JOPI_OPTIONS__"] = __OPTIONS__;
123
128
 
124
- installer(new UiKitModule());
129
+ installer(new UiKitModule(undefined, __PAGE_EXTRA_PARAMS__));
125
130
 
126
131
  function Render(p) {
127
132
  const [_, setCount] = React.useState(0);
@@ -130,19 +135,37 @@ function Render(p) {
130
135
  }
131
136
 
132
137
  function start() {
133
- const container = document.body;
134
- const root = ReactDOM.createRoot(container);
135
138
  const params = useParams();
136
- const searchParams = new URL(window.location).searchParams;
139
+
140
+ let searchParams;
141
+ const coreSearchParams = new URL(window.location).searchParams;
142
+
143
+ if (coreSearchParams.toJSON) {
144
+ searchParams = coreSearchParams.toJSON();
145
+ }
146
+ else {
147
+ searchParams = {};
148
+ coreSearchParams.forEach((v,k) => searchParams[k] = v);
149
+ }
150
+
137
151
  const controller = new PageController_ExposePrivate();
138
152
 
139
- root.render(
153
+ const app = (
140
154
  <React.StrictMode>
141
155
  <PageContext.Provider value={controller}>
142
156
  <Render controller={controller} params={params} searchParams={searchParams} />
143
157
  </PageContext.Provider>
144
158
  </React.StrictMode>
145
159
  );
160
+
161
+ const container = document.body;
162
+
163
+ if (import.meta.hot) {
164
+ const root = (import.meta.hot.data.root ??= ReactDOM.createRoot(container));
165
+ root.render(app);
166
+ } else {
167
+ ReactDOM.createRoot(container).render(app);
168
+ }
146
169
  }
147
170
 
148
171
  __SSE_EVENTS__
@@ -1 +1 @@
1
- {"version":3,"file":"pagesGenerator.js","sourceRoot":"","sources":["../../../src/@core/bundler/pagesGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pagesGenerator.js","sourceRoot":"","sources":["../../../src/@core/bundler/pagesGenerator.ts"],"names":[],"mappings":"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"}
@@ -206,8 +206,6 @@ class InMemoryCache {
206
206
  }
207
207
  garbageCollector() {
208
208
  const removeEntry = (key, cacheEntry) => {
209
- if (key.endsWith(".html"))
210
- debugger;
211
209
  keyToRemove.push(key);
212
210
  this.statItemCount--;
213
211
  let size = 0;