jopijs 0.0.1

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 (455) hide show
  1. package/README.md +134 -0
  2. package/bin/jopib.js +4 -0
  3. package/bin/jopin.js +4 -0
  4. package/dist/@bundler/_logs.d.ts +2 -0
  5. package/dist/@bundler/_logs.js +4 -0
  6. package/dist/@bundler/_logs.js.map +1 -0
  7. package/dist/@bundler/core.d.ts +1 -0
  8. package/dist/@bundler/core.js +34 -0
  9. package/dist/@bundler/core.js.map +1 -0
  10. package/dist/@bundler/esbuild.d.ts +6 -0
  11. package/dist/@bundler/esbuild.js +111 -0
  12. package/dist/@bundler/esbuild.js.map +1 -0
  13. package/dist/@bundler/index.d.ts +2 -0
  14. package/dist/@bundler/index.js +3 -0
  15. package/dist/@bundler/index.js.map +1 -0
  16. package/dist/@bundler/plugins.d.ts +13 -0
  17. package/dist/@bundler/plugins.js +145 -0
  18. package/dist/@bundler/plugins.js.map +1 -0
  19. package/dist/@bundler/tailwind.d.ts +3 -0
  20. package/dist/@bundler/tailwind.js +119 -0
  21. package/dist/@bundler/tailwind.js.map +1 -0
  22. package/dist/@core/PageComponent.d.ts +6 -0
  23. package/dist/@core/PageComponent.js +10 -0
  24. package/dist/@core/PageComponent.js.map +1 -0
  25. package/dist/@core/_logs.d.ts +7 -0
  26. package/dist/@core/_logs.js +9 -0
  27. package/dist/@core/_logs.js.map +1 -0
  28. package/dist/@core/automaticStartStop.d.ts +25 -0
  29. package/dist/@core/automaticStartStop.js +106 -0
  30. package/dist/@core/automaticStartStop.js.map +1 -0
  31. package/dist/@core/browserCacheControl.d.ts +21 -0
  32. package/dist/@core/browserCacheControl.js +17 -0
  33. package/dist/@core/browserCacheControl.js.map +1 -0
  34. package/dist/@core/bundler/bundler.d.ts +22 -0
  35. package/dist/@core/bundler/bundler.js +90 -0
  36. package/dist/@core/bundler/bundler.js.map +1 -0
  37. package/dist/@core/bundler/common.d.ts +2 -0
  38. package/dist/@core/bundler/common.js +17 -0
  39. package/dist/@core/bundler/common.js.map +1 -0
  40. package/dist/@core/bundler/config.d.ts +20 -0
  41. package/dist/@core/bundler/config.js +11 -0
  42. package/dist/@core/bundler/config.js.map +1 -0
  43. package/dist/@core/bundler/extraContent.d.ts +6 -0
  44. package/dist/@core/bundler/extraContent.js +27 -0
  45. package/dist/@core/bundler/extraContent.js.map +1 -0
  46. package/dist/@core/bundler/pagesGenerator.d.ts +1 -0
  47. package/dist/@core/bundler/pagesGenerator.js +173 -0
  48. package/dist/@core/bundler/pagesGenerator.js.map +1 -0
  49. package/dist/@core/bundler/server.d.ts +8 -0
  50. package/dist/@core/bundler/server.js +35 -0
  51. package/dist/@core/bundler/server.js.map +1 -0
  52. package/dist/@core/caches/InMemoryCache.d.ts +35 -0
  53. package/dist/@core/caches/InMemoryCache.js +353 -0
  54. package/dist/@core/caches/InMemoryCache.js.map +1 -0
  55. package/dist/@core/caches/SimpleFileCache.d.ts +18 -0
  56. package/dist/@core/caches/SimpleFileCache.js +171 -0
  57. package/dist/@core/caches/SimpleFileCache.js.map +1 -0
  58. package/dist/@core/caches/cache.d.ts +36 -0
  59. package/dist/@core/caches/cache.js +33 -0
  60. package/dist/@core/caches/cache.js.map +1 -0
  61. package/dist/@core/caches/webSiteMirrorCache.d.ts +16 -0
  62. package/dist/@core/caches/webSiteMirrorCache.js +81 -0
  63. package/dist/@core/caches/webSiteMirrorCache.js.map +1 -0
  64. package/dist/@core/gzip.d.ts +4 -0
  65. package/dist/@core/gzip.js +31 -0
  66. package/dist/@core/gzip.js.map +1 -0
  67. package/dist/@core/index.d.ts +18 -0
  68. package/dist/@core/index.js +19 -0
  69. package/dist/@core/index.js.map +1 -0
  70. package/dist/@core/internalTools.d.ts +14 -0
  71. package/dist/@core/internalTools.js +79 -0
  72. package/dist/@core/internalTools.js.map +1 -0
  73. package/dist/@core/jQuery.d.ts +5 -0
  74. package/dist/@core/jQuery.js +18 -0
  75. package/dist/@core/jQuery.js.map +1 -0
  76. package/dist/@core/jopiEasy.d.ts +287 -0
  77. package/dist/@core/jopiEasy.js +983 -0
  78. package/dist/@core/jopiEasy.js.map +1 -0
  79. package/dist/@core/jopiRequest.d.ts +269 -0
  80. package/dist/@core/jopiRequest.js +1060 -0
  81. package/dist/@core/jopiRequest.js.map +1 -0
  82. package/dist/@core/jopiServer.d.ts +77 -0
  83. package/dist/@core/jopiServer.js +100 -0
  84. package/dist/@core/jopiServer.js.map +1 -0
  85. package/dist/@core/jopiWebSite.d.ts +319 -0
  86. package/dist/@core/jopiWebSite.js +653 -0
  87. package/dist/@core/jopiWebSite.js.map +1 -0
  88. package/dist/@core/letsEncrypt.d.ts +25 -0
  89. package/dist/@core/letsEncrypt.js +189 -0
  90. package/dist/@core/letsEncrypt.js.map +1 -0
  91. package/dist/@core/linker.d.ts +4 -0
  92. package/dist/@core/linker.js +37 -0
  93. package/dist/@core/linker.js.map +1 -0
  94. package/dist/@core/loadBalancing.d.ts +18 -0
  95. package/dist/@core/loadBalancing.js +126 -0
  96. package/dist/@core/loadBalancing.js.map +1 -0
  97. package/dist/@core/middlewares/CorsMiddleware.d.ts +5 -0
  98. package/dist/@core/middlewares/CorsMiddleware.js +15 -0
  99. package/dist/@core/middlewares/CorsMiddleware.js.map +1 -0
  100. package/dist/@core/middlewares/DdosProtection.d.ts +42 -0
  101. package/dist/@core/middlewares/DdosProtection.js +62 -0
  102. package/dist/@core/middlewares/DdosProtection.js.map +1 -0
  103. package/dist/@core/middlewares/index.d.ts +10 -0
  104. package/dist/@core/middlewares/index.js +14 -0
  105. package/dist/@core/middlewares/index.js.map +1 -0
  106. package/dist/@core/publicTools.d.ts +8 -0
  107. package/dist/@core/publicTools.js +11 -0
  108. package/dist/@core/publicTools.js.map +1 -0
  109. package/dist/@core/routeConfig.d.ts +48 -0
  110. package/dist/@core/routeConfig.js +102 -0
  111. package/dist/@core/routeConfig.js.map +1 -0
  112. package/dist/@core/searchParamFilter.d.ts +70 -0
  113. package/dist/@core/searchParamFilter.js +212 -0
  114. package/dist/@core/searchParamFilter.js.map +1 -0
  115. package/dist/@core/serverFetch.d.ts +122 -0
  116. package/dist/@core/serverFetch.js +312 -0
  117. package/dist/@core/serverFetch.js.map +1 -0
  118. package/dist/@core/serverImpl/server_bunjs.d.ts +29 -0
  119. package/dist/@core/serverImpl/server_bunjs.js +180 -0
  120. package/dist/@core/serverImpl/server_bunjs.js.map +1 -0
  121. package/dist/@core/serverImpl/server_nodejs.d.ts +22 -0
  122. package/dist/@core/serverImpl/server_nodejs.js +235 -0
  123. package/dist/@core/serverImpl/server_nodejs.js.map +1 -0
  124. package/dist/@core/serverInstanceBuilder.d.ts +17 -0
  125. package/dist/@core/serverInstanceBuilder.js +14 -0
  126. package/dist/@core/serverInstanceBuilder.js.map +1 -0
  127. package/dist/@core/userStores.d.ts +13 -0
  128. package/dist/@core/userStores.js +20 -0
  129. package/dist/@core/userStores.js.map +1 -0
  130. package/dist/@crawler/common.d.ts +203 -0
  131. package/dist/@crawler/common.js +68 -0
  132. package/dist/@crawler/common.js.map +1 -0
  133. package/dist/@crawler/core.d.ts +87 -0
  134. package/dist/@crawler/core.js +586 -0
  135. package/dist/@crawler/core.js.map +1 -0
  136. package/dist/@crawler/directFileCache.d.ts +10 -0
  137. package/dist/@crawler/directFileCache.js +60 -0
  138. package/dist/@crawler/directFileCache.js.map +1 -0
  139. package/dist/@crawler/index.d.ts +4 -0
  140. package/dist/@crawler/index.js +5 -0
  141. package/dist/@crawler/index.js.map +1 -0
  142. package/dist/@crawler/urlMapping.d.ts +21 -0
  143. package/dist/@crawler/urlMapping.js +52 -0
  144. package/dist/@crawler/urlMapping.js.map +1 -0
  145. package/dist/@crawler/utils.d.ts +6 -0
  146. package/dist/@crawler/utils.js +13 -0
  147. package/dist/@crawler/utils.js.map +1 -0
  148. package/dist/@generated/index.d.ts +29 -0
  149. package/dist/@generated/index.js +93 -0
  150. package/dist/@generated/index.js.map +1 -0
  151. package/dist/@linker/arobaseTypes.d.ts +50 -0
  152. package/dist/@linker/arobaseTypes.js +235 -0
  153. package/dist/@linker/arobaseTypes.js.map +1 -0
  154. package/dist/@linker/changeProof.d.ts +5 -0
  155. package/dist/@linker/changeProof.js +50 -0
  156. package/dist/@linker/changeProof.js.map +1 -0
  157. package/dist/@linker/config.d.ts +2 -0
  158. package/dist/@linker/config.js +40 -0
  159. package/dist/@linker/config.js.map +1 -0
  160. package/dist/@linker/engine.d.ts +156 -0
  161. package/dist/@linker/engine.js +665 -0
  162. package/dist/@linker/engine.js.map +1 -0
  163. package/dist/@linker/index.d.ts +3 -0
  164. package/dist/@linker/index.js +4 -0
  165. package/dist/@linker/index.js.map +1 -0
  166. package/dist/@linker/install.d.ts +4 -0
  167. package/dist/@linker/install.js +42 -0
  168. package/dist/@linker/install.js.map +1 -0
  169. package/dist/@linker/modInstaller.d.ts +10 -0
  170. package/dist/@linker/modInstaller.js +38 -0
  171. package/dist/@linker/modInstaller.js.map +1 -0
  172. package/dist/@linker/typeEvents.d.ts +9 -0
  173. package/dist/@linker/typeEvents.js +48 -0
  174. package/dist/@linker/typeEvents.js.map +1 -0
  175. package/dist/@linker/typeRoutes.d.ts +23 -0
  176. package/dist/@linker/typeRoutes.js +197 -0
  177. package/dist/@linker/typeRoutes.js.map +1 -0
  178. package/dist/@linker/typeUiComposite.d.ts +6 -0
  179. package/dist/@linker/typeUiComposite.js +16 -0
  180. package/dist/@linker/typeUiComposite.js.map +1 -0
  181. package/dist/@loader/index.d.ts +1 -0
  182. package/dist/@loader/index.js +17 -0
  183. package/dist/@loader/index.js.map +1 -0
  184. package/dist/@loader/nodeJsLoader.d.ts +2 -0
  185. package/dist/@loader/nodeJsLoader.js +19 -0
  186. package/dist/@loader/nodeJsLoader.js.map +1 -0
  187. package/dist/@loader-client/index.d.ts +33 -0
  188. package/dist/@loader-client/index.js +98 -0
  189. package/dist/@loader-client/index.js.map +1 -0
  190. package/dist/@loader-tools/bunJsLoader.d.ts +1 -0
  191. package/dist/@loader-tools/bunJsLoader.js +28 -0
  192. package/dist/@loader-tools/bunJsLoader.js.map +1 -0
  193. package/dist/@loader-tools/config.d.ts +49 -0
  194. package/dist/@loader-tools/config.js +79 -0
  195. package/dist/@loader-tools/config.js.map +1 -0
  196. package/dist/@loader-tools/cssModuleCompiler.d.ts +5 -0
  197. package/dist/@loader-tools/cssModuleCompiler.js +65 -0
  198. package/dist/@loader-tools/cssModuleCompiler.js.map +1 -0
  199. package/dist/@loader-tools/esBuildPlugin.d.ts +5 -0
  200. package/dist/@loader-tools/esBuildPlugin.js +113 -0
  201. package/dist/@loader-tools/esBuildPlugin.js.map +1 -0
  202. package/dist/@loader-tools/index.d.ts +9 -0
  203. package/dist/@loader-tools/index.js +10 -0
  204. package/dist/@loader-tools/index.js.map +1 -0
  205. package/dist/@loader-tools/jopin.d.ts +10 -0
  206. package/dist/@loader-tools/jopin.js +331 -0
  207. package/dist/@loader-tools/jopin.js.map +1 -0
  208. package/dist/@loader-tools/nodeJsLoader.d.ts +13 -0
  209. package/dist/@loader-tools/nodeJsLoader.js +101 -0
  210. package/dist/@loader-tools/nodeJsLoader.js.map +1 -0
  211. package/dist/@loader-tools/nodeJsResolver.d.ts +2 -0
  212. package/dist/@loader-tools/nodeJsResolver.js +117 -0
  213. package/dist/@loader-tools/nodeJsResolver.js.map +1 -0
  214. package/dist/@loader-tools/rules.d.ts +3 -0
  215. package/dist/@loader-tools/rules.js +33 -0
  216. package/dist/@loader-tools/rules.js.map +1 -0
  217. package/dist/@loader-tools/sourceChangesWatcher.d.ts +39 -0
  218. package/dist/@loader-tools/sourceChangesWatcher.js +182 -0
  219. package/dist/@loader-tools/sourceChangesWatcher.js.map +1 -0
  220. package/dist/@loader-tools/tools.d.ts +21 -0
  221. package/dist/@loader-tools/tools.js +113 -0
  222. package/dist/@loader-tools/tools.js.map +1 -0
  223. package/dist/@loader-tools/transform.d.ts +5 -0
  224. package/dist/@loader-tools/transform.js +114 -0
  225. package/dist/@loader-tools/transform.js.map +1 -0
  226. package/dist/@loader-tools/virtualUrl.d.ts +9 -0
  227. package/dist/@loader-tools/virtualUrl.js +40 -0
  228. package/dist/@loader-tools/virtualUrl.js.map +1 -0
  229. package/dist/@tool-jopinb/index.d.ts +1 -0
  230. package/dist/@tool-jopinb/index.js +9 -0
  231. package/dist/@tool-jopinb/index.js.map +1 -0
  232. package/dist/@ui/components.d.ts +27 -0
  233. package/dist/@ui/components.js +42 -0
  234. package/dist/@ui/components.js.map +1 -0
  235. package/dist/@ui/cssModules.d.ts +11 -0
  236. package/dist/@ui/cssModules.js +17 -0
  237. package/dist/@ui/cssModules.js.map +1 -0
  238. package/dist/@ui/hooks.d.ts +31 -0
  239. package/dist/@ui/hooks.js +71 -0
  240. package/dist/@ui/hooks.js.map +1 -0
  241. package/dist/@ui/index.d.ts +9 -0
  242. package/dist/@ui/index.js +11 -0
  243. package/dist/@ui/index.js.map +1 -0
  244. package/dist/@ui/internal.d.ts +4 -0
  245. package/dist/@ui/internal.js +10 -0
  246. package/dist/@ui/internal.js.map +1 -0
  247. package/dist/@ui/modules.d.ts +41 -0
  248. package/dist/@ui/modules.js +74 -0
  249. package/dist/@ui/modules.js.map +1 -0
  250. package/dist/@ui/objectRegistry.d.ts +12 -0
  251. package/dist/@ui/objectRegistry.js +35 -0
  252. package/dist/@ui/objectRegistry.js.map +1 -0
  253. package/dist/@ui/pageController.d.ts +61 -0
  254. package/dist/@ui/pageController.js +166 -0
  255. package/dist/@ui/pageController.js.map +1 -0
  256. package/dist/@ui/tools.d.ts +24 -0
  257. package/dist/@ui/tools.js +78 -0
  258. package/dist/@ui/tools.js.map +1 -0
  259. package/dist/@uikit/core/UiKitModule.d.ts +6 -0
  260. package/dist/@uikit/core/UiKitModule.js +18 -0
  261. package/dist/@uikit/core/UiKitModule.js.map +1 -0
  262. package/dist/@uikit/core/index.d.ts +1 -0
  263. package/dist/@uikit/core/index.js +4 -0
  264. package/dist/@uikit/core/index.js.map +1 -0
  265. package/dist/@uikit/core/jBundler_ifBrowser.d.ts +1 -0
  266. package/dist/@uikit/core/jBundler_ifBrowser.js +5 -0
  267. package/dist/@uikit/core/jBundler_ifBrowser.js.map +1 -0
  268. package/dist/@uikit/core/jBundler_ifServer.d.ts +6 -0
  269. package/dist/@uikit/core/jBundler_ifServer.js +17 -0
  270. package/dist/@uikit/core/jBundler_ifServer.js.map +1 -0
  271. package/dist/@uikit/forms/components.d.ts +18 -0
  272. package/dist/@uikit/forms/components.js +69 -0
  273. package/dist/@uikit/forms/components.js.map +1 -0
  274. package/dist/@uikit/forms/hooks.d.ts +4 -0
  275. package/dist/@uikit/forms/hooks.js +31 -0
  276. package/dist/@uikit/forms/hooks.js.map +1 -0
  277. package/dist/@uikit/forms/index.d.ts +3 -0
  278. package/dist/@uikit/forms/index.js +4 -0
  279. package/dist/@uikit/forms/index.js.map +1 -0
  280. package/dist/@uikit/forms/interfaces.d.ts +101 -0
  281. package/dist/@uikit/forms/interfaces.js +4 -0
  282. package/dist/@uikit/forms/interfaces.js.map +1 -0
  283. package/dist/@uikit/forms/private.d.ts +40 -0
  284. package/dist/@uikit/forms/private.js +307 -0
  285. package/dist/@uikit/forms/private.js.map +1 -0
  286. package/dist/@uikit/helpers/hooks.d.ts +33 -0
  287. package/dist/@uikit/helpers/hooks.js +107 -0
  288. package/dist/@uikit/helpers/hooks.js.map +1 -0
  289. package/dist/@uikit/helpers/index.d.ts +2 -0
  290. package/dist/@uikit/helpers/index.js +3 -0
  291. package/dist/@uikit/helpers/index.js.map +1 -0
  292. package/dist/@uikit/helpers/tools.d.ts +8 -0
  293. package/dist/@uikit/helpers/tools.js +35 -0
  294. package/dist/@uikit/helpers/tools.js.map +1 -0
  295. package/dist/@uikit/index.d.ts +10 -0
  296. package/dist/@uikit/index.js +13 -0
  297. package/dist/@uikit/index.js.map +1 -0
  298. package/dist/@uikit/menu/core.d.ts +21 -0
  299. package/dist/@uikit/menu/core.js +191 -0
  300. package/dist/@uikit/menu/core.js.map +1 -0
  301. package/dist/@uikit/menu/hooks.d.ts +5 -0
  302. package/dist/@uikit/menu/hooks.js +24 -0
  303. package/dist/@uikit/menu/hooks.js.map +1 -0
  304. package/dist/@uikit/menu/index.d.ts +3 -0
  305. package/dist/@uikit/menu/index.js +4 -0
  306. package/dist/@uikit/menu/index.js.map +1 -0
  307. package/dist/@uikit/menu/interfaces.d.ts +20 -0
  308. package/dist/@uikit/menu/interfaces.js +8 -0
  309. package/dist/@uikit/menu/interfaces.js.map +1 -0
  310. package/dist/@uikit/menu/internal.d.ts +40 -0
  311. package/dist/@uikit/menu/internal.js +191 -0
  312. package/dist/@uikit/menu/internal.js.map +1 -0
  313. package/dist/@uikit/reactRouter/hooks/jBundler_ifBrowser.d.ts +18 -0
  314. package/dist/@uikit/reactRouter/hooks/jBundler_ifBrowser.js +40 -0
  315. package/dist/@uikit/reactRouter/hooks/jBundler_ifBrowser.js.map +1 -0
  316. package/dist/@uikit/reactRouter/hooks/jBundler_ifServer.d.ts +28 -0
  317. package/dist/@uikit/reactRouter/hooks/jBundler_ifServer.js +35 -0
  318. package/dist/@uikit/reactRouter/hooks/jBundler_ifServer.js.map +1 -0
  319. package/dist/@uikit/reactRouter/index.d.ts +1 -0
  320. package/dist/@uikit/reactRouter/index.js +2 -0
  321. package/dist/@uikit/reactRouter/index.js.map +1 -0
  322. package/dist/@uikit/users/hooks.d.ts +10 -0
  323. package/dist/@uikit/users/hooks.js +39 -0
  324. package/dist/@uikit/users/hooks.js.map +1 -0
  325. package/dist/@uikit/users/index.d.ts +1 -0
  326. package/dist/@uikit/users/index.js +2 -0
  327. package/dist/@uikit/users/index.js.map +1 -0
  328. package/dist/@uikit/variants/index.d.ts +7 -0
  329. package/dist/@uikit/variants/index.js +16 -0
  330. package/dist/@uikit/variants/index.js.map +1 -0
  331. package/package.json +115 -0
  332. package/src/@bundler/README.md +1 -0
  333. package/src/@bundler/_logs.ts +4 -0
  334. package/src/@bundler/core.ts +41 -0
  335. package/src/@bundler/esbuild.ts +141 -0
  336. package/src/@bundler/index.ts +3 -0
  337. package/src/@bundler/plugins.ts +163 -0
  338. package/src/@bundler/tailwind.ts +139 -0
  339. package/src/@core/PageComponent.tsx +25 -0
  340. package/src/@core/README.md +1 -0
  341. package/src/@core/_logs.ts +11 -0
  342. package/src/@core/automaticStartStop.ts +132 -0
  343. package/src/@core/browserCacheControl.ts +40 -0
  344. package/src/@core/bundler/bundler.ts +128 -0
  345. package/src/@core/bundler/common.ts +18 -0
  346. package/src/@core/bundler/config.ts +37 -0
  347. package/src/@core/bundler/extraContent.ts +30 -0
  348. package/src/@core/bundler/pagesGenerator.ts +194 -0
  349. package/src/@core/bundler/server.ts +41 -0
  350. package/src/@core/caches/InMemoryCache.ts +483 -0
  351. package/src/@core/caches/SimpleFileCache.ts +205 -0
  352. package/src/@core/caches/cache.ts +77 -0
  353. package/src/@core/caches/webSiteMirrorCache.ts +90 -0
  354. package/src/@core/cheerio.d.ts +332 -0
  355. package/src/@core/gzip.ts +33 -0
  356. package/src/@core/index.ts +23 -0
  357. package/src/@core/internalTools.ts +95 -0
  358. package/src/@core/jQuery.ts +22 -0
  359. package/src/@core/jopiEasy.ts +1285 -0
  360. package/src/@core/jopiRequest.tsx +1279 -0
  361. package/src/@core/jopiServer.ts +188 -0
  362. package/src/@core/jopiWebSite.tsx +1027 -0
  363. package/src/@core/letsEncrypt.ts +243 -0
  364. package/src/@core/linker.ts +42 -0
  365. package/src/@core/loadBalancing.ts +152 -0
  366. package/src/@core/middlewares/CorsMiddleware.ts +23 -0
  367. package/src/@core/middlewares/DdosProtection.ts +120 -0
  368. package/src/@core/middlewares/index.ts +16 -0
  369. package/src/@core/publicTools.ts +14 -0
  370. package/src/@core/routeConfig.ts +104 -0
  371. package/src/@core/searchParamFilter.ts +315 -0
  372. package/src/@core/serverFetch.ts +454 -0
  373. package/src/@core/serverImpl/server_bunjs.tsx +230 -0
  374. package/src/@core/serverImpl/server_nodejs.ts +312 -0
  375. package/src/@core/serverInstanceBuilder.ts +36 -0
  376. package/src/@core/userStores.ts +34 -0
  377. package/src/@crawler/README.md +1 -0
  378. package/src/@crawler/common.ts +275 -0
  379. package/src/@crawler/core.ts +678 -0
  380. package/src/@crawler/directFileCache.ts +69 -0
  381. package/src/@crawler/index.ts +4 -0
  382. package/src/@crawler/urlMapping.ts +67 -0
  383. package/src/@crawler/utils.ts +13 -0
  384. package/src/@generated/index.ts +134 -0
  385. package/src/@linker/arobaseTypes.ts +325 -0
  386. package/src/@linker/changeProof.ts +53 -0
  387. package/src/@linker/config.ts +46 -0
  388. package/src/@linker/engine.ts +865 -0
  389. package/src/@linker/index.ts +3 -0
  390. package/src/@linker/install.ts +39 -0
  391. package/src/@linker/modInstaller.ts +50 -0
  392. package/src/@linker/typeEvents.ts +58 -0
  393. package/src/@linker/typeRoutes.ts +255 -0
  394. package/src/@linker/typeUiComposite.ts +19 -0
  395. package/src/@loader/README.md +4 -0
  396. package/src/@loader/bunHtmlCompiler.mjs +27 -0
  397. package/src/@loader/index.ts +19 -0
  398. package/src/@loader/loader.mjs +7 -0
  399. package/src/@loader/nodeJsLoader.ts +21 -0
  400. package/src/@loader-client/README.md +2 -0
  401. package/src/@loader-client/index.ts +108 -0
  402. package/src/@loader-tools/README.md +6 -0
  403. package/src/@loader-tools/bunJsLoader.ts +33 -0
  404. package/src/@loader-tools/config.ts +142 -0
  405. package/src/@loader-tools/cssModuleCompiler.ts +76 -0
  406. package/src/@loader-tools/esBuildPlugin.ts +142 -0
  407. package/src/@loader-tools/index.ts +11 -0
  408. package/src/@loader-tools/jopin.ts +403 -0
  409. package/src/@loader-tools/nodeJsLoader.ts +119 -0
  410. package/src/@loader-tools/nodeJsResolver.ts +140 -0
  411. package/src/@loader-tools/rules.ts +45 -0
  412. package/src/@loader-tools/sourceChangesWatcher.ts +225 -0
  413. package/src/@loader-tools/tools.ts +139 -0
  414. package/src/@loader-tools/transform.ts +138 -0
  415. package/src/@loader-tools/virtualUrl.ts +57 -0
  416. package/src/@loader-types/README.md +15 -0
  417. package/src/@loader-types/extensions.d.ts +65 -0
  418. package/src/@tool-jopinb/README.md +1 -0
  419. package/src/@tool-jopinb/index.ts +11 -0
  420. package/src/@ui/README.md +3 -0
  421. package/src/@ui/components.tsx +49 -0
  422. package/src/@ui/cssModules.tsx +27 -0
  423. package/src/@ui/hooks.tsx +95 -0
  424. package/src/@ui/index.ts +13 -0
  425. package/src/@ui/internal.ts +12 -0
  426. package/src/@ui/modules.ts +100 -0
  427. package/src/@ui/objectRegistry.ts +50 -0
  428. package/src/@ui/pageController.ts +203 -0
  429. package/src/@ui/tools.ts +116 -0
  430. package/src/@uikit/README.md +1 -0
  431. package/src/@uikit/core/UiKitModule.ts +20 -0
  432. package/src/@uikit/core/index.ts +4 -0
  433. package/src/@uikit/core/jBundler_ifBrowser.ts +4 -0
  434. package/src/@uikit/core/jBundler_ifServer.ts +18 -0
  435. package/src/@uikit/forms/components.tsx +97 -0
  436. package/src/@uikit/forms/hooks.ts +38 -0
  437. package/src/@uikit/forms/index.ts +3 -0
  438. package/src/@uikit/forms/interfaces.ts +159 -0
  439. package/src/@uikit/forms/private.ts +365 -0
  440. package/src/@uikit/helpers/hooks.ts +133 -0
  441. package/src/@uikit/helpers/index.ts +2 -0
  442. package/src/@uikit/helpers/tools.ts +39 -0
  443. package/src/@uikit/index.ts +15 -0
  444. package/src/@uikit/menu/core.ts +227 -0
  445. package/src/@uikit/menu/hooks.ts +28 -0
  446. package/src/@uikit/menu/index.ts +3 -0
  447. package/src/@uikit/menu/interfaces.ts +26 -0
  448. package/src/@uikit/menu/internal.ts +218 -0
  449. package/src/@uikit/package.json +15 -0
  450. package/src/@uikit/reactRouter/hooks/jBundler_ifBrowser.tsx +59 -0
  451. package/src/@uikit/reactRouter/hooks/jBundler_ifServer.tsx +51 -0
  452. package/src/@uikit/reactRouter/index.ts +1 -0
  453. package/src/@uikit/users/hooks.ts +50 -0
  454. package/src/@uikit/users/index.ts +1 -0
  455. package/src/@uikit/variants/index.tsx +20 -0
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ import { PageController_ExposePrivate } from "jopijs/ui";
3
+ export default function ({ children, controller }: {
4
+ children: React.ReactNode | React.ReactNode[];
5
+ controller: PageController_ExposePrivate<unknown>;
6
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from "react";
3
+ import { PageContext, PageController_ExposePrivate } from "jopijs/ui";
4
+ import * as ReactServer from "react-dom/server";
5
+ export default function ({ children, controller }) {
6
+ const body = ReactServer.renderToStaticMarkup(_jsx(PageContext.Provider, { value: controller, children: children }));
7
+ const state = controller.getOptions();
8
+ return _jsxs("html", { ...state.htmlProps, children: [_jsxs("head", { ...state.headProps, children: [state.head, _jsx("title", { children: state.pageTitle })] }), _jsxs("body", { ...state.bodyProps, children: [state.bodyBegin, _jsx("div", { dangerouslySetInnerHTML: { __html: body } }), state.bodyEnd] })] });
9
+ }
10
+ //# sourceMappingURL=PageComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageComponent.js","sourceRoot":"","sources":["../../src/@core/PageComponent.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,WAAW,EAAE,4BAA4B,EAAC,MAAM,WAAW,CAAC;AACpE,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAEhD,MAAM,CAAC,OAAO,WAAU,EAAC,QAAQ,EAAE,UAAU,EAAqG;IAC9I,MAAM,IAAI,GAAG,WAAW,CAAC,oBAAoB,CACzC,KAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,UAAU,YAClC,QAAQ,GACU,CAC1B,CAAC;IAEF,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC;IAEtC,OAAO,mBAAU,KAAK,CAAC,SAAS,aAC5B,mBAAU,KAAK,CAAC,SAAS,aACpB,KAAK,CAAC,IAAI,EACX,0BAAQ,KAAK,CAAC,SAAS,GAAS,IAC7B,EACP,mBAAU,KAAK,CAAC,SAAS,aACpB,KAAK,CAAC,SAAS,EAChB,cAAK,uBAAuB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAI,EACjD,KAAK,CAAC,OAAO,IACX,IACJ,CAAA;AACX,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare const logServer: import("jopi-toolkit/jk_logs").Logger;
2
+ export declare const logServer_startApp: import("jopi-toolkit/jk_logs").Logger;
3
+ export declare const logServer_request: import("jopi-toolkit/jk_logs").Logger;
4
+ export declare const logServer_linker: import("jopi-toolkit/jk_logs").Logger;
5
+ export declare const logBundler: import("jopi-toolkit/jk_logs").Logger;
6
+ export declare const logCache: import("jopi-toolkit/jk_logs").Logger;
7
+ export declare const logCache_notInCache: import("jopi-toolkit/jk_logs").Logger;
@@ -0,0 +1,9 @@
1
+ import { getLogger } from "jopi-toolkit/jk_logs";
2
+ export const logServer = getLogger("jopi.server");
3
+ export const logServer_startApp = getLogger("startApp", logServer);
4
+ export const logServer_request = getLogger("request", logServer);
5
+ export const logServer_linker = getLogger("linker", logServer);
6
+ export const logBundler = getLogger("jopi.bundler");
7
+ export const logCache = getLogger("jopi.cache");
8
+ export const logCache_notInCache = getLogger("notInCache", logCache);
9
+ //# sourceMappingURL=_logs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_logs.js","sourceRoot":"","sources":["../../src/@core/_logs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAE/C,MAAM,CAAC,MAAM,SAAS,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;AAClD,MAAM,CAAC,MAAM,kBAAkB,GAAG,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,iBAAiB,GAAG,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,gBAAgB,GAAG,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAE/D,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;AAEpD,MAAM,CAAC,MAAM,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;AAChD,MAAM,CAAC,MAAM,mBAAmB,GAAG,SAAS,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC"}
@@ -0,0 +1,25 @@
1
+ export declare enum AutomaticStartStopState {
2
+ Stopped = 0,
3
+ Starting = 1,
4
+ Started = 2,
5
+ Stopping = 3
6
+ }
7
+ export interface AutomaticStartStopManagerParams {
8
+ onStart: (data: any) => Promise<number>;
9
+ onStop?: (data: any) => Promise<void>;
10
+ }
11
+ export declare class AutomaticStartStop {
12
+ private _state;
13
+ private lastStartDate;
14
+ private readonly startChangeListeners;
15
+ private readonly onStart;
16
+ private readonly onStop?;
17
+ readonly data: any;
18
+ constructor(params: AutomaticStartStopManagerParams);
19
+ get state(): AutomaticStartStopState;
20
+ private waitStateChange;
21
+ private setState;
22
+ start(): Promise<void>;
23
+ stop(): Promise<void>;
24
+ private startTimer;
25
+ }
@@ -0,0 +1,106 @@
1
+ import * as jk_app from "jopi-toolkit/jk_app";
2
+ import * as jk_timer from "jopi-toolkit/jk_timer";
3
+ const ONE_MINUTE = jk_timer.ONE_MINUTE;
4
+ const newInterval = jk_timer.newInterval;
5
+ export var AutomaticStartStopState;
6
+ (function (AutomaticStartStopState) {
7
+ AutomaticStartStopState[AutomaticStartStopState["Stopped"] = 0] = "Stopped";
8
+ AutomaticStartStopState[AutomaticStartStopState["Starting"] = 1] = "Starting";
9
+ AutomaticStartStopState[AutomaticStartStopState["Started"] = 2] = "Started";
10
+ AutomaticStartStopState[AutomaticStartStopState["Stopping"] = 3] = "Stopping";
11
+ })(AutomaticStartStopState || (AutomaticStartStopState = {}));
12
+ export class AutomaticStartStop {
13
+ _state = AutomaticStartStopState.Stopped;
14
+ lastStartDate = 0;
15
+ startChangeListeners = [];
16
+ onStart;
17
+ onStop;
18
+ data = {};
19
+ constructor(params) {
20
+ this.onStop = params.onStop;
21
+ this.onStart = params.onStart;
22
+ jk_app.onAppExiting(this.stop.bind(this));
23
+ }
24
+ get state() {
25
+ return this._state;
26
+ }
27
+ waitStateChange() {
28
+ return new Promise(resolve => {
29
+ this.startChangeListeners.push(resolve);
30
+ });
31
+ }
32
+ setState(state) {
33
+ if (this._state === state)
34
+ return;
35
+ this._state = state;
36
+ if (this.startChangeListeners) {
37
+ this.startChangeListeners.forEach(l => l());
38
+ this.startChangeListeners.splice(0);
39
+ }
40
+ }
41
+ async start() {
42
+ if (this.state === AutomaticStartStopState.Started) {
43
+ return;
44
+ }
45
+ if (this.state === AutomaticStartStopState.Starting) {
46
+ await this.waitStateChange();
47
+ return;
48
+ }
49
+ if (this.state === AutomaticStartStopState.Stopping) {
50
+ await this.waitStateChange();
51
+ }
52
+ // If we are here, then it's in the state "stopped".
53
+ // But since it's async, state can have changed since.
54
+ //
55
+ if (this.state === AutomaticStartStopState.Stopped) {
56
+ this.setState(AutomaticStartStopState.Starting);
57
+ let toWait = await this.onStart(this.data);
58
+ this.lastStartDate = Date.now();
59
+ this.startTimer(toWait);
60
+ this.setState(AutomaticStartStopState.Started);
61
+ }
62
+ }
63
+ async stop() {
64
+ if (this.state === AutomaticStartStopState.Stopped) {
65
+ return;
66
+ }
67
+ if (this.state === AutomaticStartStopState.Stopping) {
68
+ await this.waitStateChange();
69
+ return;
70
+ }
71
+ if (this.state === AutomaticStartStopState.Starting) {
72
+ await this.waitStateChange();
73
+ }
74
+ // If we are here, then it's in the state "started".
75
+ // But since it's async, state can have changed since.
76
+ //
77
+ if (this.state === AutomaticStartStopState.Started) {
78
+ this.setState(AutomaticStartStopState.Stopping);
79
+ if (this.onStop) {
80
+ await this.onStop(this.data);
81
+ }
82
+ this.setState(AutomaticStartStopState.Stopped);
83
+ }
84
+ }
85
+ startTimer(toWait_ms) {
86
+ const onTimer = async () => {
87
+ switch (this.state) {
88
+ case AutomaticStartStopState.Starting:
89
+ return true;
90
+ case AutomaticStartStopState.Stopping:
91
+ case AutomaticStartStopState.Stopped:
92
+ // false: stop the timer.
93
+ return false;
94
+ }
95
+ let timeDiff = Date.now() - this.lastStartDate;
96
+ if (timeDiff > toWait_ms) {
97
+ await this.stop();
98
+ // false: stop the timer.
99
+ return false;
100
+ }
101
+ return true;
102
+ };
103
+ newInterval(ONE_MINUTE, onTimer);
104
+ }
105
+ }
106
+ //# sourceMappingURL=automaticStartStop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"automaticStartStop.js","sourceRoot":"","sources":["../../src/@core/automaticStartStop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { JopiRequest } from "./jopiRequest.ts";
2
+ import * as jk_fs from "jopi-toolkit/jk_fs";
3
+ export type BrowserCacheValidationInfos = {
4
+ etag: string;
5
+ fileState: jk_fs.FileState;
6
+ };
7
+ export interface BrowserCacheStrategy {
8
+ cacheDuration?: number;
9
+ }
10
+ export interface ReqReturnFileParams extends BrowserCacheStrategy {
11
+ contentEncoding?: string;
12
+ cacheDuration?: number;
13
+ }
14
+ export interface TryReturnFileParams extends ReqReturnFileParams {
15
+ req: JopiRequest;
16
+ filePath: string;
17
+ contentEncoding: string | undefined;
18
+ validationInfos: BrowserCacheValidationInfos;
19
+ }
20
+ export declare function addBrowserCacheControlHeaders(headers: any, params: TryReturnFileParams): void;
21
+ export declare function calcETagForText(text: string): string;
@@ -0,0 +1,17 @@
1
+ import * as jk_fs from "jopi-toolkit/jk_fs";
2
+ import * as jk_crypto from "jopi-toolkit/jk_crypto";
3
+ export function addBrowserCacheControlHeaders(headers, params) {
4
+ let stats = params.validationInfos.fileState;
5
+ headers["etag"] = params.validationInfos.etag;
6
+ headers["last-modified"] = new Date(stats.mtimeMs).toUTCString();
7
+ if (params.cacheDuration) {
8
+ headers["cache-control"] = `Cache-Control: public, max-age=${params.cacheDuration}, immutable`;
9
+ }
10
+ else {
11
+ headers["cache-control"] = "public, max-age=0, must-revalidate";
12
+ }
13
+ }
14
+ export function calcETagForText(text) {
15
+ return jk_crypto.fastHash(text);
16
+ }
17
+ //# sourceMappingURL=browserCacheControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browserCacheControl.js","sourceRoot":"","sources":["../../src/@core/browserCacheControl.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAC;AAC5C,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AAuBpD,MAAM,UAAU,6BAA6B,CAAC,OAAY,EAAE,MAA2B;IACnF,IAAI,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC;IAC7C,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC;IAC9C,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IAEjE,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACvB,OAAO,CAAC,eAAe,CAAC,GAAG,kCAAkC,MAAM,CAAC,aAAa,aAAa,CAAC;IACnG,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,eAAe,CAAC,GAAG,oCAAoC,CAAC;IACpE,CAAC;AACL,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY;IACxC,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { WebSiteImpl } from "../jopiWebSite.tsx";
2
+ import { type BundlerConfig } from "./config.ts";
3
+ import { type VirtualUrlEntry } from "jopijs/loader-tools";
4
+ import "./pagesGenerator.ts";
5
+ export interface CreateBundleParams {
6
+ singlePageMode: boolean;
7
+ innerUrl: string;
8
+ entryPoints: string[];
9
+ outputDir: string;
10
+ genDir: string;
11
+ publicUrl: string;
12
+ webSite: WebSiteImpl;
13
+ config: BundlerConfig;
14
+ requireTailwind: boolean;
15
+ virtualUrlMap: VirtualUrlEntry[];
16
+ pageRoute?: string;
17
+ pageKey?: string;
18
+ pageScript?: string;
19
+ promise?: Promise<void>;
20
+ }
21
+ export declare function createBundle(webSite: WebSiteImpl): Promise<void>;
22
+ export declare function createBundleForPage(pageKey: string, route: string): Promise<void>;
@@ -0,0 +1,90 @@
1
+ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
2
+ if (typeof path === "string" && /^\.\.?\//.test(path)) {
3
+ return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
4
+ return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
5
+ });
6
+ }
7
+ return path;
8
+ };
9
+ import { WebSiteImpl } from "../jopiWebSite.js";
10
+ import { serverInitChronos } from "../internalTools.js";
11
+ import * as jk_fs from "jopi-toolkit/jk_fs";
12
+ import * as jk_events from "jopi-toolkit/jk_events";
13
+ import { getBundleDirPath } from "./common.js";
14
+ import { getBundlerConfig } from "./config.js";
15
+ import { getExtraCssToBundle } from "./extraContent.js";
16
+ import { configureServer } from "./server.js";
17
+ import { getVirtualUrlMap } from "jopijs/loader-tools";
18
+ import "./pagesGenerator.js";
19
+ import { isSinglePageMode } from "jopijs/loader-client";
20
+ import { logBundler } from "../_logs.js";
21
+ export async function createBundle(webSite) {
22
+ serverInitChronos.start("createBrowserBundle", "Time for building browser bundler");
23
+ const genDir = getBundleDirPath(webSite);
24
+ const outputDir = jk_fs.join(genDir, "out");
25
+ // Reset the dir.
26
+ await jk_fs.rmDir(genDir);
27
+ await jk_fs.mkDir(genDir);
28
+ const innerUrl = "/_bundle/";
29
+ const publicUrl = webSite.welcomeUrl + innerUrl;
30
+ // noinspection PointlessBooleanExpressionJS
31
+ const requireTailwind = (getBundlerConfig().tailwind.disable) !== true;
32
+ const cssToImport = [...getExtraCssToBundle()];
33
+ if (requireTailwind)
34
+ cssToImport.push("./tailwind.css");
35
+ // Bun has his own bundler system of development.
36
+ const config = getBundlerConfig();
37
+ gCreateBundleData = {
38
+ singlePageMode: isSinglePageMode(),
39
+ outputDir, genDir, publicUrl, innerUrl, webSite, requireTailwind,
40
+ config: getBundlerConfig(), entryPoints: [...config.entryPoints],
41
+ virtualUrlMap: getVirtualUrlMap()
42
+ };
43
+ await executeBundler(gCreateBundleData);
44
+ configureServer(outputDir);
45
+ serverInitChronos.end();
46
+ }
47
+ let gCreateBundleData;
48
+ let gPageBundlerIsOk = {};
49
+ export async function createBundleForPage(pageKey, route) {
50
+ // Allow knowing of this page is already compiled.
51
+ if (gPageBundlerIsOk[pageKey])
52
+ return;
53
+ gPageBundlerIsOk[pageKey] = true;
54
+ const endLog = logBundler.beginInfo((w) => w("Bundling page for route " + route));
55
+ let fileName = pageKey + ".jsx";
56
+ if (!gCreateBundleData)
57
+ return;
58
+ let params = { ...gCreateBundleData };
59
+ params.pageRoute = route;
60
+ params.pageKey = pageKey;
61
+ params.pageScript = jk_fs.join(params.genDir, fileName);
62
+ await jk_events.sendAsyncEvent("@jopi.bundler.beforeCreateBundleForPage", params);
63
+ await jk_events.sendAsyncEvent("@jopi.bundler.createBundleForPage", params);
64
+ endLog();
65
+ }
66
+ async function executeBundler(params) {
67
+ if (!gIsBundlerLoader) {
68
+ gIsBundlerLoader = true;
69
+ await import(__rewriteRelativeImportExtension(FALLBACK_PACKAGE));
70
+ }
71
+ // createBundle is called when the event is triggered.
72
+ //
73
+ // Here we will compile all the pages in one go.
74
+ // It's why it's not enabled with single-page mode.
75
+ //
76
+ // When using React HMR, we don't use the same bundler.
77
+ // (internally it's an optimized single-page mode).
78
+ // So, we don't need to compile the full bundle.
79
+ if (!isSinglePageMode()) {
80
+ const endLog = logBundler.beginInfo("Bundling all pages");
81
+ // Will create the HTML pages.
82
+ await jk_events.sendAsyncEvent("@jopi.bundler.beforeCreateBundle", params);
83
+ await jk_events.sendAsyncEvent("@jopi.bundler.createBundle", params);
84
+ endLog();
85
+ }
86
+ }
87
+ //
88
+ const FALLBACK_PACKAGE = "jopijs/bundler";
89
+ let gIsBundlerLoader = false;
90
+ //# sourceMappingURL=bundler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundler.js","sourceRoot":"","sources":["../../../src/@core/bundler/bundler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { type WebSite } from "../jopiWebSite.js";
2
+ export declare function getBundleDirPath(webSite: WebSite): string;
@@ -0,0 +1,17 @@
1
+ import { WebSiteImpl } from "../jopiWebSite.js";
2
+ import path from "node:path";
3
+ import * as jk_app from "jopi-toolkit/jk_app";
4
+ export function getBundleDirPath(webSite) {
5
+ // To known: the loader uses jopi.webSiteUrl from "package.json".
6
+ // This can create a situation where we have 2 output directories for
7
+ // the same website.
8
+ //
9
+ let webSiteHost = webSite.host.replaceAll(".", "_").replaceAll(":", "_");
10
+ return path.join(gTempDirPath, webSiteHost);
11
+ }
12
+ // Don't use node_modules because of a bug when using workspaces.
13
+ // This bug is doing that WebStorm doesn't resolve the file to his real location
14
+ // but to the workspace node_modules (and not the project inside the workspace).
15
+ //
16
+ let gTempDirPath = path.resolve(jk_app.getTempDir(), ".reactHydrateCache");
17
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/@core/bundler/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAC5D,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAE9C,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC7C,iEAAiE;IACjE,qEAAqE;IACrE,oBAAoB;IACpB,EAAE;IACF,IAAI,WAAW,GAAI,OAAuB,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1F,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AAChD,CAAC;AAED,iEAAiE;AACjE,gFAAgF;AAChF,gFAAgF;AAChF,EAAE;AACF,IAAI,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,oBAAoB,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { Config as TailwindConfig } from 'tailwindcss';
2
+ import postcss from 'postcss';
3
+ export type PostCssInitializer = (sources: string[], tailwindPlugin: postcss.AcceptedPlugin | undefined) => postcss.AcceptedPlugin[];
4
+ export interface BundlerConfig {
5
+ tailwind: {
6
+ config?: TailwindConfig;
7
+ globalCssContent?: string;
8
+ globalCssFilePath?: string;
9
+ disable?: boolean;
10
+ extraSourceFiles?: string[];
11
+ };
12
+ postCss: {
13
+ initializer?: PostCssInitializer;
14
+ };
15
+ embed: {
16
+ dontEmbedThis?: string[];
17
+ };
18
+ entryPoints: string[];
19
+ }
20
+ export declare function getBundlerConfig(): BundlerConfig;
@@ -0,0 +1,11 @@
1
+ import postcss from 'postcss';
2
+ const gBundlerConfig = {
3
+ tailwind: {},
4
+ postCss: {},
5
+ embed: {},
6
+ entryPoints: []
7
+ };
8
+ export function getBundlerConfig() {
9
+ return gBundlerConfig;
10
+ }
11
+ //# sourceMappingURL=config.js.map
@@ -0,0 +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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Add a CSS file which must be bundled with the page.
3
+ */
4
+ export declare function addExtraCssToBundle(cssFilePath: string): void;
5
+ export declare function hasExternalCssToBundle(): boolean;
6
+ export declare function getExtraCssToBundle(): string[];
@@ -0,0 +1,27 @@
1
+ import { addVirtualUrlEntry } from "jopijs/loader-tools";
2
+ import * as jk_events from "jopi-toolkit/jk_events";
3
+ /**
4
+ * Add a CSS file which must be bundled with the page.
5
+ */
6
+ export function addExtraCssToBundle(cssFilePath) {
7
+ gHasManuallyIncludedCss = true;
8
+ if (gAllCssFiles.includes(cssFilePath))
9
+ return;
10
+ gAllCssFiles.push(cssFilePath);
11
+ }
12
+ export function hasExternalCssToBundle() {
13
+ return gHasManuallyIncludedCss;
14
+ }
15
+ export function getExtraCssToBundle() {
16
+ return gAllCssFiles;
17
+ }
18
+ jk_events.addListener("jopi.virtualUrl.added", (v) => {
19
+ if (!v.url)
20
+ debugger;
21
+ if (v.url && v.url.endsWith(".css") || v.url.endsWith(".scss")) {
22
+ addExtraCssToBundle(v.sourceFile);
23
+ }
24
+ });
25
+ let gHasManuallyIncludedCss = false;
26
+ const gAllCssFiles = [];
27
+ //# sourceMappingURL=extraContent.js.map
@@ -0,0 +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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,173 @@
1
+ import * as jk_events from "jopi-toolkit/jk_events";
2
+ import * as jk_fs from "jopi-toolkit/jk_fs";
3
+ import * as jk_crypto from "jopi-toolkit/jk_crypto";
4
+ import { getBrowserInstallScript } from "jopijs/linker";
5
+ import { getBrowserRefreshScript, isBrowserRefreshEnabled, isSinglePageMode, isReactHMR } from "jopijs/loader-client";
6
+ import { getGlobalCssFileContent } from "jopijs/bundler";
7
+ // *********************************************************************************************************************
8
+ // The goal of this file is to generate the individual pages required for each page found in the root (page.tsx).
9
+ // *********************************************************************************************************************
10
+ // This event is called when a new page is found.
11
+ // Here we will fill a map "page file path" --> route.
12
+ //
13
+ jk_events.addListener("@jopi.route.newPage", async ({ route, filePath }) => {
14
+ // filePath is the path to the source file.
15
+ filePath = jk_fs.resolve(filePath);
16
+ gPageSourceFileToRoute[filePath] = route;
17
+ let pageKey = "page_" + jk_crypto.fastHash(route);
18
+ gPageKeyToRoute[pageKey] = route;
19
+ gPageKeyToSourceFile[pageKey] = filePath;
20
+ });
21
+ // This event is called when creating the bundled is creating.
22
+ //
23
+ // Here we will:
24
+ // - Generate the file named "page_xxxx.js" for each page, which will import the real page.
25
+ // Doing this allows enforcing the name of the output produced.
26
+ // - Add this file to EsBuild entryPoints to build it with shared resources.
27
+ // - It will also generate a "page_xxxx.html" for Bun.js / React HMR.
28
+ //
29
+ jk_events.addListener("@jopi.bundler.beforeCreateBundle", rebuildPages);
30
+ jk_events.addListener("@jopi.bundler.beforeCreateBundleForPage", rebuildPages);
31
+ async function rebuildPages(p) {
32
+ async function buildPage(sourceFilePath, route, pageKey) {
33
+ // Here we save the name without extension.
34
+ gRouteToPageKey[route] = pageKey;
35
+ let txt = REACT_TEMPLATE;
36
+ txt = txt.replace("__PATH__", sourceFilePath);
37
+ txt = txt.replace("__INSTALL__", installScript);
38
+ txt = txt.replace("__ROUTE__", JSON.stringify(route));
39
+ txt = txt.replace("__OPTIONS__", JSON.stringify({ removeTrailingSlashs: p.webSite.mustRemoveTrailingSlashs }));
40
+ if (isReactHMR()) {
41
+ // Bun.js use his own SSE events.
42
+ txt = txt.replace("__SSE_EVENTS__", "");
43
+ }
44
+ else if (isBrowserRefreshEnabled()) {
45
+ // Node.js require our custom SSE events.
46
+ txt = txt.replace("__SSE_EVENTS__", getBrowserRefreshScript());
47
+ }
48
+ else {
49
+ // No SSE events if production.
50
+ txt = txt.replace("__SSE_EVENTS__", "");
51
+ }
52
+ if (isReactHMR()) {
53
+ // The uncompiled version of tailwind.
54
+ txt = txt.replace("__EXTRA_IMPORTS__", 'import "./tailwind-hmr.css";');
55
+ }
56
+ else {
57
+ if (isSinglePageMode()) {
58
+ txt = txt.replace("__EXTRA_IMPORTS__", `import "./${pageKey}/tailwind.css";`);
59
+ }
60
+ else {
61
+ txt = txt.replace("__EXTRA_IMPORTS__", 'import "./tailwind.css";');
62
+ }
63
+ }
64
+ let scriptFilePath = jk_fs.join(p.genDir, pageKey + ".jsx");
65
+ await jk_fs.writeTextToFile(scriptFilePath, txt);
66
+ txt = HTML_TEMPLATE;
67
+ if (gIsDevMode) {
68
+ txt = txt.replace("__SCRIPT_PATH__", "./" + pageKey + '/' + pageKey + ".jsx");
69
+ }
70
+ else {
71
+ txt = txt.replace("__SCRIPT_PATH__", "./" + pageKey + ".jsx");
72
+ }
73
+ let htmlFilePath = jk_fs.join(p.genDir, pageKey + ".html");
74
+ await jk_fs.writeTextToFile(htmlFilePath, txt);
75
+ return scriptFilePath;
76
+ }
77
+ const installScript = getBrowserInstallScript();
78
+ if (isReactHMR()) {
79
+ let globalCss = await getGlobalCssFileContent(p.config);
80
+ await jk_fs.writeTextToFile(jk_fs.join(p.genDir, "tailwind-hmr.css"), globalCss);
81
+ }
82
+ if (p.singlePageMode) {
83
+ let route = gPageKeyToRoute[p.pageKey];
84
+ let sourceFilePath = gPageKeyToSourceFile[p.pageKey];
85
+ await buildPage(sourceFilePath, route, p.pageKey);
86
+ }
87
+ else {
88
+ for (let sourceFilePath in gPageSourceFileToRoute) {
89
+ const route = gPageSourceFileToRoute[sourceFilePath];
90
+ const pageKey = "page_" + jk_crypto.fastHash(route);
91
+ let outFilePath = await buildPage(sourceFilePath, route, pageKey);
92
+ p.entryPoints.push(outFilePath);
93
+ }
94
+ // Is not required anymore.
95
+ gPageSourceFileToRoute = {};
96
+ gPageKeyToRoute = {};
97
+ gPageKeyToSourceFile = {};
98
+ }
99
+ }
100
+ const HTML_TEMPLATE = `<!doctype html>
101
+ <html lang="en">
102
+ <head>
103
+ <meta charset="UTF-8" />
104
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
105
+ <title>Dev Mode</title>
106
+ </head>
107
+ <body>
108
+ <div id="root"></div>
109
+ <script type="module" src="__SCRIPT_PATH__"></script>
110
+ </body>
111
+ </html>`;
112
+ const REACT_TEMPLATE = `import React from "react";
113
+ import ReactDOM from "react-dom/client";
114
+ import {PageContext, PageController_ExposePrivate} from "jopijs/ui";
115
+ import C from "__PATH__";
116
+ import {UiKitModule, useParams} from "jopijs/uikit";
117
+
118
+ import installer from "__INSTALL__";
119
+ __EXTRA_IMPORTS__
120
+
121
+ window["__JOPI_ROUTE__"] = __ROUTE__;
122
+ window["__JOPI_OPTIONS__"] = __OPTIONS__;
123
+
124
+ installer(new UiKitModule());
125
+
126
+ function Render(p) {
127
+ const [_, setCount] = React.useState(0);
128
+ p.controller.onRequireRefresh = () => setCount(old => old + 1);
129
+ return <C params={p.params} searchParams={p.searchParams} />;
130
+ }
131
+
132
+ function start() {
133
+ const container = document.body;
134
+ const root = ReactDOM.createRoot(container);
135
+ const params = useParams();
136
+ const searchParams = new URL(window.location).searchParams;
137
+ const controller = new PageController_ExposePrivate();
138
+
139
+ root.render(
140
+ <React.StrictMode>
141
+ <PageContext.Provider value={controller}>
142
+ <Render controller={controller} params={params} searchParams={searchParams} />
143
+ </PageContext.Provider>
144
+ </React.StrictMode>
145
+ );
146
+ }
147
+
148
+ __SSE_EVENTS__
149
+
150
+ if (document.readyState === "loading") {
151
+ document.addEventListener("DOMContentLoaded", start);
152
+ } else {
153
+ start();
154
+ }
155
+ `;
156
+ /**
157
+ * Allow knowing the route from the page file path.
158
+ */
159
+ let gPageSourceFileToRoute = {};
160
+ /**
161
+ * Allow knowing the route from the page key.
162
+ */
163
+ let gPageKeyToRoute = {};
164
+ /**
165
+ * Allow knowing the source file from the page key.
166
+ */
167
+ let gPageKeyToSourceFile = {};
168
+ /**
169
+ * Allow knowing the name of the .js and .css file for a page.
170
+ */
171
+ const gRouteToPageKey = {};
172
+ const gIsDevMode = isSinglePageMode();
173
+ //# sourceMappingURL=pagesGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagesGenerator.js","sourceRoot":"","sources":["../../../src/@core/bundler/pagesGenerator.ts"],"names":[],"mappings":"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"}