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,98 @@
1
+ import process from 'node:process';
2
+ import * as jk_events from "jopi-toolkit/jk_events";
3
+ import { isBunJS } from "jopi-toolkit/jk_what";
4
+ import { DontCallBeforeElapsed } from "jopi-toolkit/jk_tools";
5
+ export function isBrowserRefreshEnabled() {
6
+ return hasJopiDevFlag() || hasJopiDevUiFlag();
7
+ }
8
+ /**
9
+ * JOPI_DEV: on source change, restart the server and refresh the browser.
10
+ * It's slower than JOPI_DEV_UI but allows testing server changes.
11
+ */
12
+ export function hasJopiDevFlag() {
13
+ return process.env.JOPI_DEV === "1";
14
+ }
15
+ /**
16
+ * JOPI_DEV_UI: on source change, don't restart the server
17
+ * but rebuild the UI pages and refresh the browser.
18
+ * (with bun: it uses React HMR, which is a special case)
19
+ *
20
+ * -> It's way faster than JOPI_DEV but can have some inconsistency
21
+ * when modifying the @alias directory content.
22
+ */
23
+ export function hasJopiDevUiFlag() {
24
+ return process.env.JOPI_DEV_UI === "1";
25
+ }
26
+ /**
27
+ * Single page mode is when the internal bundle compiles the pages one by one.
28
+ * It's used for development to have a fast starting time.
29
+ *
30
+ * The opposite (when not single-page mode) is to compile all the pages in one go.
31
+ * This produces an optimized bundle, without duplicates, but can be slow to start.
32
+ */
33
+ export function isSinglePageMode() {
34
+ if (gSinglePageMode === undefined) {
35
+ if (isReactHMR())
36
+ gSinglePageMode = false;
37
+ else
38
+ gSinglePageMode = hasJopiDevFlag() || hasJopiDevUiFlag();
39
+ }
40
+ return gSinglePageMode;
41
+ }
42
+ //
43
+ let gSinglePageMode;
44
+ /**
45
+ * React HMR is when the browser automatically refreshes his content
46
+ * but without a full refresh. It does a clever refresh by removing old
47
+ * JavaScript and injecting the new-one, before re-rendering the React components
48
+ * without losing their previous state.
49
+ */
50
+ export function isReactHMR() {
51
+ return hasJopiDevUiFlag() && isBunJS;
52
+ }
53
+ function sse_onChange() {
54
+ const event = new EventSource('/_jopirw_/bundler');
55
+ let isFirstConnection = true;
56
+ // This allows refreshing the browser when
57
+ // the connection is lost, and the browser connects again.
58
+ //
59
+ event.addEventListener('open', () => {
60
+ if (isFirstConnection)
61
+ isFirstConnection = false;
62
+ else
63
+ window.location.reload();
64
+ });
65
+ // This allows refreshing the browser when
66
+ // the server sends a signal to the browser.
67
+ //
68
+ event.addEventListener("change", () => {
69
+ console.log("SSE Event [/_jopirw_/bundler] : Refreshing browser");
70
+ window.location.reload();
71
+ });
72
+ }
73
+ //
74
+ let g_sse_onChange;
75
+ export function getBrowserRefreshScript() {
76
+ if (!g_sse_onChange) {
77
+ g_sse_onChange = sse_onChange.toString();
78
+ }
79
+ return `(${g_sse_onChange})()`;
80
+ }
81
+ export function installBrowserRefreshSseEvent(webSite) {
82
+ webSite.addSseEVent("/_jopirw_/bundler", {
83
+ getWelcomeMessage() {
84
+ return "Jopi Rewrite - Browser refresh";
85
+ },
86
+ handler(controller) {
87
+ jk_events.addListener("@jopi.bundler.watch.afterRebuild", () => {
88
+ // Can occur multi times with single-page mode.
89
+ if (!gLimitBrowserRefresh.check())
90
+ return;
91
+ console.log("🔥 JopiN - UI change detected: refreshing browser");
92
+ controller.send("change", "updated");
93
+ });
94
+ }
95
+ });
96
+ }
97
+ const gLimitBrowserRefresh = new DontCallBeforeElapsed(2000);
98
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/@loader-client/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAC,OAAO,EAAC,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAC,qBAAqB,EAAC,MAAM,uBAAuB,CAAC;AAE5D,MAAM,UAAU,uBAAuB;IACnC,OAAO,cAAc,EAAE,IAAI,gBAAgB,EAAE,CAAC;AAClD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc;IAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC;AACxC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB;IAC5B,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,GAAG,CAAC;AAC3C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB;IAC5B,IAAI,eAAe,KAAG,SAAS,EAAE,CAAC;QAC9B,IAAI,UAAU,EAAE;YAAE,eAAe,GAAG,KAAK,CAAC;;YACrC,eAAe,GAAG,cAAc,EAAE,IAAI,gBAAgB,EAAE,CAAC;IAClE,CAAC;IAED,OAAO,eAAe,CAAC;AAC3B,CAAC;AACD,EAAE;AACF,IAAI,eAAkC,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,UAAU,UAAU;IACtB,OAAO,gBAAgB,EAAE,IAAI,OAAO,CAAC;AACzC,CAAC;AAED,SAAS,YAAY;IACjB,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,mBAAmB,CAAC,CAAC;IACnD,IAAI,iBAAiB,GAAG,IAAI,CAAC;IAE7B,0CAA0C;IAC1C,0DAA0D;IAC1D,EAAE;IACF,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;QAChC,IAAI,iBAAiB;YAAE,iBAAiB,GAAG,KAAK,CAAC;;YAC5C,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,0CAA0C;IAC1C,4CAA4C;IAC5C,EAAE;IACF,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;QAClC,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC7B,CAAC,CAAC,CAAC;AACP,CAAC;AACD,EAAE;AACF,IAAI,cAAgC,CAAC;AAErC,MAAM,UAAU,uBAAuB;IACnC,IAAI,CAAC,cAAc,EAAE,CAAC;QAClB,cAAc,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;IAC7C,CAAC;IAED,OAAO,IAAI,cAAc,KAAK,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,OAAgB;IAC1D,OAAO,CAAC,WAAW,CAAC,mBAAmB,EAAE;QACrC,iBAAiB;YACb,OAAO,gCAAgC,CAAC;QAC5C,CAAC;QAED,OAAO,CAAC,UAAU;YACd,SAAS,CAAC,WAAW,CAAC,kCAAkC,EAAE,GAAG,EAAE;gBAC3D,+CAA+C;gBAC/C,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE;oBAAE,OAAO;gBAE1C,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;gBACjE,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;QACP,CAAC;KACJ,CAAC,CAAC;AACP,CAAC;AAED,MAAM,oBAAoB,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function installBunJsLoader(): void;
@@ -0,0 +1,28 @@
1
+ import { supportedExtensionsRegExp } from "./rules.js";
2
+ import { transformFile } from "./transform.js";
3
+ import { installEsBuildPlugins } from "./esBuildPlugin.js";
4
+ // https://bun.com/docs/runtime/plugins
5
+ export function installBunJsLoader() {
6
+ Bun.plugin({
7
+ name: "jopi-loader",
8
+ setup(build) {
9
+ // For module.css and imports with ?inline and ?raw
10
+ installEsBuildPlugins(build);
11
+ // For .css/.scss/.png/.txt/...
12
+ build.onLoad({ filter: supportedExtensionsRegExp }, async ({ path }) => {
13
+ let idx = path.indexOf("?");
14
+ let options = "";
15
+ if (idx !== -1) {
16
+ options = path.substring(idx + 1);
17
+ path = path.substring(0, idx);
18
+ }
19
+ const res = await transformFile(path, options);
20
+ return {
21
+ contents: res.text,
22
+ loader: "js",
23
+ };
24
+ });
25
+ }
26
+ });
27
+ }
28
+ //# sourceMappingURL=bunJsLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bunJsLoader.js","sourceRoot":"","sources":["../../src/@loader-tools/bunJsLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,yBAAyB,EAAC,MAAM,YAAY,CAAC;AACrD,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAC,qBAAqB,EAAC,MAAM,oBAAoB,CAAC;AAEzD,uCAAuC;AAEvC,MAAM,UAAU,kBAAkB;IAC9B,GAAG,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,aAAa;QACnB,KAAK,CAAC,KAAK;YACP,mDAAmD;YACnD,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAE7B,+BAA+B;YAC/B,KAAK,CAAC,MAAM,CAAC,EAAC,MAAM,EAAE,yBAAyB,EAAC,EAAE,KAAK,EAAE,EAAC,IAAI,EAAC,EAAE,EAAE;gBAC/D,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC5B,IAAI,OAAO,GAAG,EAAE,CAAC;gBAEjB,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;oBACb,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBAClC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBAClC,CAAC;gBAED,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAE/C,OAAO;oBACH,QAAQ,EAAE,GAAG,CAAC,IAAI;oBAClB,MAAM,EAAE,IAAI;iBACf,CAAC;YACN,CAAC,CAAC,CAAC;QACP,CAAC;KACJ,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * The value of the "jopi" entry in package.json
3
+ */
4
+ export interface PackageJson_jopi {
5
+ /**
6
+ * When importing a file, if this option is set, then
7
+ * we will not return a file path on the filesystem
8
+ * but an url pointing to this resource.
9
+ *
10
+ * The value here must be the PUBLIC url.
11
+ */
12
+ webSiteUrl?: string;
13
+ /**
14
+ * It's the url on which the website listens to if we don't use
15
+ * explicite url when defining the website.
16
+ *
17
+ * Here it's the PRIVATE url.
18
+ *
19
+ * If not defined, take the value of webSiteUrl.
20
+ */
21
+ webSiteListeningUrl?: string;
22
+ /**
23
+ * Is similar to 'webResourcesRoot' but for the server side resources.
24
+ * The server will redirect the resources from this url to the final
25
+ * url resolved once bundled.
26
+ */
27
+ webResourcesRoot_SSR?: string;
28
+ /**
29
+ * Is used with `webSiteUrl` to known where
30
+ * whe cas found the resource. Will allow installing
31
+ * a file server.
32
+ */
33
+ webResourcesRoot: string;
34
+ /**
35
+ * File which size is over this limite
36
+ * will not be inlined when option ?inline
37
+ * is set in the 'import', but resolved as
38
+ * a file path (or ulr).
39
+ */
40
+ inlineMaxSize_ko: number;
41
+ /**
42
+ * Indicate the directory where the bundler
43
+ * stores the images and resources.
44
+ * (use linux path format)
45
+ */
46
+ bundlerOutputDir: string;
47
+ }
48
+ export declare const INLINE_MAX_SIZE_KO = 3;
49
+ export declare function getPackageJsonConfig(): PackageJson_jopi;
@@ -0,0 +1,79 @@
1
+ import path from "node:path";
2
+ import * as jk_fs from "jopi-toolkit/jk_fs";
3
+ import * as jk_app from "jopi-toolkit/jk_app";
4
+ export const INLINE_MAX_SIZE_KO = 3;
5
+ let gTransformConfig;
6
+ export function getPackageJsonConfig() {
7
+ function urlToPath(url) {
8
+ let urlInfos = new URL(url);
9
+ let port = urlInfos.port;
10
+ if (port.length && port[0] !== ':')
11
+ port = ':' + port;
12
+ return (urlInfos.hostname + port).replaceAll(".", "_").replaceAll(":", "_");
13
+ }
14
+ if (gTransformConfig !== undefined)
15
+ return gTransformConfig;
16
+ let pkgJsonFilePath = jk_app.findPackageJson();
17
+ let bundlerOutputDir = "./temp/.reactHydrateCache";
18
+ gTransformConfig = {
19
+ webResourcesRoot: "_bundle",
20
+ inlineMaxSize_ko: INLINE_MAX_SIZE_KO,
21
+ bundlerOutputDir: ""
22
+ };
23
+ if (pkgJsonFilePath) {
24
+ try {
25
+ let json = JSON.parse(jk_fs.readTextFromFileSync(pkgJsonFilePath));
26
+ let jopi = json.jopi;
27
+ if (jopi) {
28
+ let webSiteUrl = jopi.webSiteUrl;
29
+ if (webSiteUrl && !webSiteUrl.endsWith("/"))
30
+ webSiteUrl += '/';
31
+ //
32
+ gTransformConfig.webSiteUrl = webSiteUrl;
33
+ let webSiteListeningUrl = jopi.webSiteListeningUrl;
34
+ if (webSiteListeningUrl && !webSiteListeningUrl.endsWith("/"))
35
+ webSiteListeningUrl += '/';
36
+ //
37
+ gTransformConfig.webSiteListeningUrl = webSiteListeningUrl;
38
+ let webResourcesRoot = jopi.webResourcesRoot || "_bundle";
39
+ if (webResourcesRoot[0] === '/')
40
+ webResourcesRoot = webResourcesRoot.substring(1);
41
+ if (!webResourcesRoot.endsWith("/"))
42
+ webResourcesRoot += "/";
43
+ //
44
+ gTransformConfig.webResourcesRoot = webResourcesRoot;
45
+ gTransformConfig.webResourcesRoot_SSR = webResourcesRoot.slice(0, -1) + "_s/";
46
+ if (typeof (jopi.inlineMaxSize_ko) == "number") {
47
+ gTransformConfig.inlineMaxSize_ko = jopi.inlineMaxSize_ko || INLINE_MAX_SIZE_KO;
48
+ }
49
+ if (webResourcesRoot.bundlerOutputDir) {
50
+ bundlerOutputDir = webResourcesRoot.bundlerOutputDir;
51
+ }
52
+ }
53
+ }
54
+ catch {
55
+ }
56
+ }
57
+ if (process.env.JOPI_WEBSITE_URL) {
58
+ gTransformConfig.webSiteUrl = process.env.JOPI_WEBSITE_URL;
59
+ }
60
+ if (process.env.JOPI_WEBSITE_LISTENING_URL) {
61
+ gTransformConfig.webSiteListeningUrl = process.env.JOPI_WEBSITE_LISTENING_URL;
62
+ }
63
+ if (!gTransformConfig.webSiteListeningUrl) {
64
+ gTransformConfig.webSiteListeningUrl = gTransformConfig.webSiteUrl;
65
+ }
66
+ else if (!gTransformConfig.webSiteUrl) {
67
+ gTransformConfig.webSiteUrl = gTransformConfig.webSiteListeningUrl;
68
+ }
69
+ if (bundlerOutputDir && gTransformConfig.webSiteUrl) {
70
+ if (path.sep !== "/") {
71
+ bundlerOutputDir = bundlerOutputDir.replaceAll("/", path.sep);
72
+ }
73
+ bundlerOutputDir = path.resolve(bundlerOutputDir);
74
+ bundlerOutputDir = path.join(bundlerOutputDir, urlToPath(gTransformConfig.webSiteUrl));
75
+ gTransformConfig.bundlerOutputDir = bundlerOutputDir;
76
+ }
77
+ return gTransformConfig;
78
+ }
79
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/@loader-tools/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Compile a CSS or SCSS file to a JavaScript file.
3
+ */
4
+ export default function compileCssModule(filePath: string): Promise<string>;
5
+ export declare function scssToCss(filePath: string): any;
@@ -0,0 +1,65 @@
1
+ import path from "node:path";
2
+ import * as sass from "sass";
3
+ import fs from "node:fs/promises";
4
+ import postcssModules from "postcss-modules";
5
+ import postcss from "postcss";
6
+ import * as jk_crypto from "jopi-toolkit/jk_crypto";
7
+ import * as jk_app from "jopi-toolkit/jk_app";
8
+ import * as jk_fs from "jopi-toolkit/jk_fs";
9
+ /**
10
+ * Compile a CSS or SCSS file to a JavaScript file.
11
+ */
12
+ export default async function compileCssModule(filePath) {
13
+ // Occurs when it's compiled with TypeScript.
14
+ if (!await jk_fs.isFile(filePath)) {
15
+ let source = jk_app.searchSourceOf(filePath);
16
+ if (!source)
17
+ throw new Error(`Source not found for file not found: ${filePath}`);
18
+ filePath = source;
19
+ }
20
+ const ext = path.extname(filePath).toLowerCase();
21
+ let css;
22
+ let fromPath = filePath;
23
+ if (ext === ".scss") {
24
+ // Compile SCSS to CSS
25
+ css = scssToCss(filePath);
26
+ fromPath = filePath.replace(/\.scss$/i, '.css');
27
+ }
28
+ else {
29
+ css = await fs.readFile(filePath, 'utf-8');
30
+ }
31
+ // Process with PostCSS and css-modules
32
+ let knownClassNames = {};
33
+ try {
34
+ const plugins = [
35
+ postcssModules({
36
+ // The format of the classnames.
37
+ generateScopedName: '[name]__[local]',
38
+ localsConvention: 'camelCaseOnly',
39
+ // Allow capturing the class names.
40
+ getJSON: (_cssFileName, json) => {
41
+ knownClassNames = json || {};
42
+ }
43
+ })
44
+ ];
45
+ let res = await postcss(plugins).process(css, { from: fromPath, map: false });
46
+ css = res.css;
47
+ }
48
+ catch (e) {
49
+ console.warn("jopi-loader - PostCSS processing failed:", e?.message || e);
50
+ throw e;
51
+ }
52
+ knownClassNames.__CSS__ = css;
53
+ knownClassNames.__FILE_HASH__ = jk_crypto.md5(filePath);
54
+ // Here __TOKENS__ contain something like {myLocalStyle: "LocalStyleButton__myLocalStyle___n1l3e"}.
55
+ // The goal is to resolve the computed class name and the original name.
56
+ if (process.env.JOPI_BUNLDER_ESBUILD) {
57
+ return `export default ${JSON.stringify(knownClassNames)};`;
58
+ }
59
+ return `export default ${JSON.stringify(knownClassNames)};`;
60
+ }
61
+ export function scssToCss(filePath) {
62
+ const res = sass.compile(filePath, { style: 'expanded' });
63
+ return res.css.toString();
64
+ }
65
+ //# sourceMappingURL=cssModuleCompiler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cssModuleCompiler.js","sourceRoot":"","sources":["../../src/@loader-tools/cssModuleCompiler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare function resolveAndCheckPath(filePath: string, resolveDir: string): {
2
+ path?: string;
3
+ error?: string;
4
+ };
5
+ export declare function installEsBuildPlugins(build: Bun.PluginBuilder): void;
@@ -0,0 +1,113 @@
1
+ import cssModuleCompiler from "./cssModuleCompiler.js";
2
+ import { transformFile } from "./transform.js";
3
+ import { getPackageJsonConfig } from "./config.js";
4
+ import path from "node:path";
5
+ import fs from "node:fs";
6
+ import * as jk_app from "jopi-toolkit/jk_app";
7
+ import * as jk_fs from "jopi-toolkit/jk_fs";
8
+ import * as jk_events from "jopi-toolkit/jk_events";
9
+ async function processCssModule(path) {
10
+ let jsSource = await cssModuleCompiler(path);
11
+ return {
12
+ contents: jsSource,
13
+ loader: "js",
14
+ };
15
+ }
16
+ async function inlineAndRawModuleHandler(options, resPath) {
17
+ // Occurs when it's compiled with TypeScript.
18
+ if (!await jk_fs.isFile(resPath)) {
19
+ resPath = jk_app.requireSourceOf(resPath);
20
+ }
21
+ let res = await transformFile(resPath, options);
22
+ return {
23
+ contents: res.text,
24
+ loader: "js",
25
+ };
26
+ }
27
+ export function resolveAndCheckPath(filePath, resolveDir) {
28
+ let absolutePath;
29
+ if (path.isAbsolute(filePath)) {
30
+ absolutePath = filePath;
31
+ }
32
+ else {
33
+ absolutePath = path.resolve(resolveDir, filePath);
34
+ }
35
+ try {
36
+ fs.accessSync(absolutePath);
37
+ return { path: absolutePath };
38
+ }
39
+ catch (error) {
40
+ return { error: `Resource not found: ${absolutePath}` };
41
+ }
42
+ }
43
+ function createJopiRawFile(targetFilePath, processType) {
44
+ // Bun.js load doesn't support having an '?' in the path.
45
+ // It's why we do strange things here to process this case.
46
+ //
47
+ // Also, there are strange behaviors that we avoid when using this strategy.
48
+ let options = getPackageJsonConfig();
49
+ let tempDir = options?.bundlerOutputDir || path.join(jk_app.getTempDir(), "bunjs");
50
+ fs.mkdirSync(tempDir, { recursive: true });
51
+ let fileName = path.resolve(tempDir, (gNextTempFileName++) + ".jopiraw");
52
+ fs.writeFileSync(fileName, JSON.stringify({ file: targetFilePath, type: processType }));
53
+ return {
54
+ // The file must exist, otherwise
55
+ // an exception is triggered :-(
56
+ path: fileName
57
+ };
58
+ }
59
+ export function installEsBuildPlugins(build) {
60
+ build.onResolve({ filter: /\.module\.(css|scss)$/ }, (args) => {
61
+ const result = resolveAndCheckPath(args.path, path.dirname(args.importer));
62
+ if (result.error) {
63
+ return {
64
+ errors: [{
65
+ text: result.error
66
+ }]
67
+ };
68
+ }
69
+ //@ts-ignore
70
+ return createJopiRawFile(result.path, "cssmodule");
71
+ });
72
+ // The only role of this resolver is to be able to know who is importing a CSS/SCSS file.
73
+ //
74
+ build.onResolve({ filter: /\.(css|scss)$/ }, (args) => {
75
+ jk_events.sendEvent("jopi.bundler.resolve.css", {
76
+ resolveDir: args.resolveDir,
77
+ path: args.path,
78
+ importer: args.importer
79
+ });
80
+ // Avoid influencing the transformation.
81
+ return null;
82
+ });
83
+ // @ts-ignore
84
+ build.onResolve({ filter: /\?(?:inline|raw)$/ }, async (args) => {
85
+ let [filePath, option] = args.path.split('?');
86
+ const result = resolveAndCheckPath(filePath, path.dirname(args.importer));
87
+ if (result.error) {
88
+ return {
89
+ errors: [{
90
+ text: result.error
91
+ }]
92
+ };
93
+ }
94
+ //@ts-ignore
95
+ return createJopiRawFile(result.path, "option-" + option);
96
+ });
97
+ // @ts-ignore
98
+ build.onLoad({ filter: /\.jopiraw$/ }, async (args) => {
99
+ let json = JSON.parse(await jk_fs.readTextFromFile(args.path));
100
+ await jk_fs.unlink(args.path);
101
+ let filePath = json.file;
102
+ switch (json.type) {
103
+ case "option-inline":
104
+ return inlineAndRawModuleHandler("inline", filePath);
105
+ case "option-raw":
106
+ return inlineAndRawModuleHandler("raw", filePath);
107
+ case "cssmodule":
108
+ return processCssModule(filePath);
109
+ }
110
+ });
111
+ }
112
+ let gNextTempFileName = 1;
113
+ //# sourceMappingURL=esBuildPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"esBuildPlugin.js","sourceRoot":"","sources":["../../src/@loader-tools/esBuildPlugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export { installEsBuildPlugins } from "./esBuildPlugin.ts";
2
+ export { scssToCss } from "./cssModuleCompiler.ts";
3
+ export { installBunJsLoader } from "./bunJsLoader.ts";
4
+ export { findNodePackageDir } from "./tools.ts";
5
+ export * from "./nodeJsResolver.ts";
6
+ export * from "./nodeJsLoader.js";
7
+ export * from "./config.ts";
8
+ export * from "./jopin.ts";
9
+ export * from "./virtualUrl.ts";
@@ -0,0 +1,10 @@
1
+ export { installEsBuildPlugins } from "./esBuildPlugin.js";
2
+ export { scssToCss } from "./cssModuleCompiler.js";
3
+ export { installBunJsLoader } from "./bunJsLoader.js";
4
+ export { findNodePackageDir } from "./tools.js";
5
+ export * from "./nodeJsResolver.js";
6
+ export * from "./nodeJsLoader.js";
7
+ export * from "./config.js";
8
+ export * from "./jopin.js";
9
+ export * from "./virtualUrl.js";
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/@loader-tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAElC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { type ChildProcess } from "node:child_process";
2
+ export declare function jopiLauncherTool(jsEngine: string): Promise<void>;
3
+ export interface SpawnParams {
4
+ env?: Record<string, string>;
5
+ cmd: string;
6
+ args: string[];
7
+ cwd: string;
8
+ killOnExit: boolean;
9
+ onSpawned?: (child: ChildProcess) => void;
10
+ }