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,235 @@
1
+ import * as jk_fs from "jopi-toolkit/jk_fs";
2
+ import * as jk_tools from "jopi-toolkit/jk_tools";
3
+ import * as jk_events from "jopi-toolkit/jk_events";
4
+ import { getSortedDirItem, PriorityLevel, ArobaseType, CodeGenWriter } from "./engine.js";
5
+ export class Type_ArobaseList extends ArobaseType {
6
+ async onListItem(item, list, _dirPath) {
7
+ list.push(item);
8
+ }
9
+ mergeIntoList(list, items) {
10
+ let currentItems = list.items;
11
+ currentItems.push(...items);
12
+ currentItems.sort((a, b) => a.sortKey.localeCompare(b.sortKey));
13
+ }
14
+ processDir(p) {
15
+ return this.processList(p.arobaseDir);
16
+ }
17
+ async processList(listDirPath) {
18
+ await this.dir_recurseOnDir({
19
+ dirToScan: listDirPath,
20
+ expectFsType: "dir",
21
+ rules: {
22
+ nameConstraint: "canBeUid",
23
+ requireRefFile: false,
24
+ requirePriority: false,
25
+ allowConditions: false,
26
+ rootDirName: jk_fs.basename(listDirPath),
27
+ transform: (p) => this.processGroup(p)
28
+ }
29
+ });
30
+ }
31
+ async processGroup(p) {
32
+ let listId = this.typeName + "!" + p.itemName;
33
+ const listName = p.itemName;
34
+ // > Extract the list items.
35
+ const dirItems = await getSortedDirItem(p.itemPath);
36
+ let listItems = [];
37
+ const params = {
38
+ rootDirName: p.parentDirName,
39
+ nameConstraint: "canBeUid",
40
+ requirePriority: false,
41
+ requireRefFile: false,
42
+ allowConditions: false,
43
+ filesToResolve: {
44
+ "entryPoint": ["index.tsx", "index.ts"]
45
+ },
46
+ transform: async (item) => {
47
+ const listItem = {
48
+ priority: item.priority,
49
+ sortKey: item.itemName,
50
+ ref: item.refTarget,
51
+ entryPoint: item.resolved.entryPoint
52
+ };
53
+ const eventData = { itemPath: item.itemPath, item: listItem, list: listItems, mustSkip: false };
54
+ await jk_events.sendAsyncEvent("@jopi.linker.onNewListItem." + this.typeName, eventData);
55
+ if (!eventData.mustSkip)
56
+ await this.onListItem(listItem, listItems, item.itemPath);
57
+ }
58
+ };
59
+ for (let dirItem of dirItems) {
60
+ if (!dirItem.isDirectory)
61
+ continue;
62
+ if (dirItem.name === "_") {
63
+ let uid = jk_tools.generateUUIDv4();
64
+ let newPath = jk_fs.join(jk_fs.dirname(dirItem.fullPath), uid);
65
+ await jk_fs.rename(dirItem.fullPath, newPath);
66
+ dirItem.name = uid;
67
+ dirItem.fullPath = newPath;
68
+ }
69
+ if ((dirItem.name[0] === "_") || (dirItem.name[0] === "."))
70
+ continue;
71
+ await this.dir_processItem(dirItem, params);
72
+ }
73
+ // > Add the list.
74
+ let current = this.registry_getItem(listId, this);
75
+ if (!current) {
76
+ const newItem = {
77
+ listName, conditions: p.conditions,
78
+ arobaseType: this, itemPath: p.itemPath,
79
+ items: listItems, itemsType: p.parentDirName, allDirPath: [p.itemPath]
80
+ };
81
+ this.registry_addItem(listId, newItem);
82
+ }
83
+ else {
84
+ if (current.itemsType !== p.parentDirName) {
85
+ throw this.declareError(`The list ${listId} is already defined and has a different type: ${current.itemsType}`, p.itemPath);
86
+ }
87
+ // Merge the items into the current one.
88
+ this.mergeIntoList(current, listItems);
89
+ // The list of event declaration locations.
90
+ current.allDirPath.push(p.itemPath);
91
+ }
92
+ }
93
+ getGenOutputDir(_list) {
94
+ return this.typeName;
95
+ }
96
+ resolveEntryPointFor(list, item) {
97
+ let entryPoint = item.entryPoint;
98
+ if (!entryPoint) {
99
+ let d = this.registry_requireItem(item.ref);
100
+ if (d.itemType !== list.itemsType) {
101
+ throw this.declareError(`Type mismatch. Expect ${list.itemsType}`, d.itemPath);
102
+ }
103
+ if (!d.entryPoint) {
104
+ throw this.declareError(`Item if missing index.ts/index.tsx file`, d.itemPath);
105
+ }
106
+ entryPoint = d.entryPoint;
107
+ }
108
+ return entryPoint;
109
+ }
110
+ async generateCodeForItem(writer, key, rItem) {
111
+ function sortByPriority(items) {
112
+ function addPriority(priority) {
113
+ let e = byPriority[priority];
114
+ if (e)
115
+ items.push(...e);
116
+ }
117
+ const byPriority = {};
118
+ for (let item of items) {
119
+ if (!byPriority[item.priority])
120
+ byPriority[item.priority] = [];
121
+ byPriority[item.priority].push(item);
122
+ }
123
+ items = [];
124
+ addPriority(PriorityLevel.veryHigh);
125
+ addPriority(PriorityLevel.high);
126
+ addPriority(PriorityLevel.default);
127
+ addPriority(PriorityLevel.low);
128
+ addPriority(PriorityLevel.veryLow);
129
+ return items;
130
+ }
131
+ const list = rItem;
132
+ list.items = sortByPriority(list.items);
133
+ await this.generateCodeForList(writer, key, list);
134
+ }
135
+ async generateCodeForList(writer, key, list) {
136
+ let count = 1;
137
+ let outDir_innerPath = this.getGenOutputDir(list);
138
+ let outDir_fullPath = jk_fs.join(writer.dir.output_src, outDir_innerPath);
139
+ let srcCode = writer.AI_INSTRUCTIONS + this.codeGen_generateImports();
140
+ let distCode = srcCode;
141
+ for (let item of list.items) {
142
+ let entryPoint = this.resolveEntryPointFor(list, item);
143
+ let relPath = jk_fs.getRelativePath(outDir_fullPath, entryPoint);
144
+ srcCode += `import I${count} from "${relPath}";\n`;
145
+ distCode += `import I${count} from "${writer.toJavascriptFileName(relPath)}";\n`;
146
+ count++;
147
+ }
148
+ let array = "";
149
+ let max = list.items.length;
150
+ for (let i = 1; i <= max; i++)
151
+ array += `I${i},`;
152
+ let toAdd = "\n" + this.codeGen_generateExports("[" + array + "]", list.listName);
153
+ srcCode += toAdd;
154
+ distCode += toAdd;
155
+ let fileName = key.substring(key.indexOf("!") + 1);
156
+ await writer.writeCodeFile({
157
+ fileInnerPath: jk_fs.join(outDir_innerPath, fileName),
158
+ declarationFile: this.codeGen_createDeclarationTypes(),
159
+ srcFileContent: srcCode,
160
+ distFileContent: distCode,
161
+ useTypescriptForSource: true
162
+ });
163
+ }
164
+ codeGen_generateImports() {
165
+ return "";
166
+ }
167
+ codeGen_generateExports(listAsArray, listName) {
168
+ return "export default " + listAsArray + ";";
169
+ }
170
+ /**
171
+ * Allow creating content for the .d.ts file.
172
+ * @protected
173
+ */
174
+ codeGen_createDeclarationTypes() {
175
+ return `const list: any[]; export default list;`;
176
+ }
177
+ }
178
+ export class Type_ArobaseChunk extends ArobaseType {
179
+ async onChunk(chunk, key, _dirPath) {
180
+ this.registry_addItem(key, chunk);
181
+ }
182
+ async processDir(p) {
183
+ await this.dir_recurseOnDir({
184
+ dirToScan: p.arobaseDir,
185
+ expectFsType: "dir",
186
+ rules: {
187
+ rootDirName: jk_fs.basename(p.arobaseDir),
188
+ nameConstraint: "canBeUid",
189
+ requireRefFile: false,
190
+ requirePriority: true,
191
+ filesToResolve: {
192
+ "info": ["info.json"],
193
+ "entryPoint": ["index.tsx", "index.ts"]
194
+ },
195
+ transform: async (props) => {
196
+ if (!props.resolved?.entryPoint) {
197
+ throw this.declareError("No 'index.ts' or 'index.tsx' file found", props.itemPath);
198
+ }
199
+ const chunk = {
200
+ arobaseType: this,
201
+ entryPoint: props.resolved.entryPoint,
202
+ itemType: props.parentDirName,
203
+ itemPath: props.itemPath,
204
+ priority: props.priority
205
+ };
206
+ const key = this.typeName + "!" + props.itemName;
207
+ const eventData = { mustSkip: false, key, chunk, itemPath: props.itemPath };
208
+ await jk_events.sendAsyncEvent("@jopi.linker.onNewChunk." + this.typeName, eventData);
209
+ if (!eventData.mustSkip) {
210
+ await this.onChunk(chunk, key, props.itemPath);
211
+ }
212
+ }
213
+ }
214
+ });
215
+ }
216
+ async generateCodeForItem(writer, key, rItem) {
217
+ const item = rItem;
218
+ let targetName = key.substring(key.indexOf("!") + 1);
219
+ let outDir = jk_fs.join(writer.dir.output_src, this.getGenOutputDir(item));
220
+ let entryPoint = jk_fs.getRelativePath(outDir, item.entryPoint);
221
+ let srcCode = writer.AI_INSTRUCTIONS + `import C from "${entryPoint}";\nexport default C;`;
222
+ let distCode = writer.AI_INSTRUCTIONS + `import C from "${writer.toJavascriptFileName(entryPoint)}";\nexport default C;`;
223
+ await writer.writeCodeFile({
224
+ fileInnerPath: jk_fs.join(this.getGenOutputDir(item), targetName),
225
+ srcFileContent: srcCode,
226
+ distFileContent: distCode,
227
+ useTypescriptForSource: true
228
+ });
229
+ }
230
+ getGenOutputDir(_chunk) {
231
+ return this.typeName;
232
+ }
233
+ }
234
+ //endregion
235
+ //# sourceMappingURL=arobaseTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arobaseTypes.js","sourceRoot":"","sources":["../../src/@linker/arobaseTypes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Recursive internal function to collect file/folder information strings.
3
+ * All paths in the resulting strings are relative to 'basePath'.
4
+ */
5
+ export declare function calculateDirectoryProof(rootDir: string): Promise<string>;
@@ -0,0 +1,50 @@
1
+ import * as fs from 'fs/promises';
2
+ import * as fss from 'fs';
3
+ import * as path from 'path';
4
+ import * as jk_crypto from "jopi-toolkit/jk_crypto";
5
+ import * as jk_fs from "jopi-toolkit/jk_fs";
6
+ /**
7
+ * Recursive internal function to collect file/folder information strings.
8
+ * All paths in the resulting strings are relative to 'basePath'.
9
+ */
10
+ export async function calculateDirectoryProof(rootDir) {
11
+ async function collectProofString(currentPath) {
12
+ let dirItems;
13
+ try {
14
+ dirItems = await fs.readdir(currentPath, { withFileTypes: true });
15
+ }
16
+ catch (error) {
17
+ if (error.code === 'ENOENT' || error.code === 'EACCES')
18
+ return "";
19
+ throw error;
20
+ }
21
+ dirItems.sort((a, b) => a.name.localeCompare(b.name));
22
+ let chunksString = "";
23
+ for (const dirItem of dirItems) {
24
+ const fullPath = path.join(currentPath, dirItem.name);
25
+ const relativePath = path.relative(rootDir, fullPath).replace(/\\/g, '/');
26
+ const stats = await fs.lstat(fullPath);
27
+ if (stats.isSymbolicLink()) {
28
+ let target = await fs.readlink(fullPath);
29
+ target = path.relative(rootDir, fullPath).replace(/\\/g, '/');
30
+ chunksString += `SYM_LINK:${relativePath}:${target}`;
31
+ }
32
+ else if (dirItem.isDirectory()) {
33
+ chunksString += await collectProofString(fullPath);
34
+ }
35
+ else if (dirItem.isFile()) {
36
+ try {
37
+ let md5 = jk_crypto.md5(await jk_fs.readTextFromFile(fullPath));
38
+ chunksString += `FILE:${relativePath}:${md5}`;
39
+ }
40
+ catch (e) {
41
+ chunksString += `FILE:${relativePath}:???`;
42
+ }
43
+ }
44
+ }
45
+ return chunksString;
46
+ }
47
+ const chunksString = await collectProofString(rootDir);
48
+ return jk_crypto.md5(chunksString);
49
+ }
50
+ //# sourceMappingURL=changeProof.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changeProof.js","sourceRoot":"","sources":["../../src/@linker/changeProof.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,GAAG,MAAM,IAAI,CAAC;AAC1B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAC;AAE5C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,OAAe;IACzD,KAAK,UAAU,kBAAkB,CAAC,WAAmB;QACjD,IAAI,QAAsB,CAAC;QAE3B,IAAI,CAAC;YACD,QAAQ,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC,CAAC;QACpE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,EAAE,CAAC;YACxH,MAAM,KAAK,CAAC;QAChB,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAEtD,IAAI,YAAY,GAAG,EAAE,CAAC;QAEtB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC1E,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAEvC,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;gBACzB,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACzC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBAC9D,YAAY,IAAI,YAAY,YAAY,IAAI,MAAM,EAAE,CAAC;YACzD,CAAC;iBAAM,IAAI,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC/B,YAAY,IAAI,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YACvD,CAAC;iBAAM,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC1B,IAAI,CAAC;oBACD,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAChE,YAAY,IAAI,QAAQ,YAAY,IAAI,GAAG,EAAE,CAAC;gBAClD,CAAC;gBACD,OAAO,CAAC,EAAE,CAAC;oBACP,YAAY,IAAI,QAAQ,YAAY,MAAM,CAAC;gBAC/C,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,YAAY,CAAC;IACxB,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACvD,OAAO,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AACvC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { LinkerConfig } from "./engine.ts";
2
+ export declare function getDefaultLinkerConfig(): LinkerConfig;
@@ -0,0 +1,40 @@
1
+ import * as jk_app from "jopi-toolkit/jk_app";
2
+ import { Type_ArobaseChunk } from "./arobaseTypes.js";
3
+ import TypeEvents from "./typeEvents.js";
4
+ import TypeUiComposite from "./typeUiComposite.js";
5
+ import ModInstaller from "./modInstaller.js";
6
+ import TypeRoutes from "./typeRoutes.js";
7
+ // Here it's ASYNC.
8
+ let gServerInstallFileTemplate = `__AI_INSTRUCTIONS
9
+ __HEADER
10
+
11
+ export default async function(registry, onWebSiteCreated) {
12
+ __BODY__FOOTER
13
+ }`;
14
+ // Here it's not async.
15
+ let gBrowserInstallFileTemplate = `__AI_INSTRUCTIONS
16
+ __HEADER
17
+
18
+ export default function(registry) {
19
+ __BODY__FOOTER
20
+ registry.events.sendEvent("app.init.ui", {myModule: registry});
21
+ }`;
22
+ export function getDefaultLinkerConfig() {
23
+ return {
24
+ projectRootDir: jk_app.findPackageJsonDir(),
25
+ templateForServer: gServerInstallFileTemplate,
26
+ templateForBrowser: gBrowserInstallFileTemplate,
27
+ arobaseTypes: [
28
+ new Type_ArobaseChunk("uiBlocks"),
29
+ new Type_ArobaseChunk("uiComponents"),
30
+ new Type_ArobaseChunk("uiChunks"),
31
+ new TypeUiComposite("uiComposites"),
32
+ new TypeEvents("events"),
33
+ new TypeRoutes("routes", "root")
34
+ ],
35
+ modulesProcess: [
36
+ new ModInstaller()
37
+ ]
38
+ };
39
+ }
40
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/@linker/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AACpD,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,eAAe,MAAM,sBAAsB,CAAC;AACnD,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,OAAO,UAAU,MAAM,iBAAiB,CAAC;AAEzC,mBAAmB;AACnB,IAAI,0BAA0B,GAAG;;;;;EAK/B,CAAC;AAEH,uBAAuB;AACvB,IAAI,2BAA2B,GAAG;;;;;;EAMhC,CAAC;AAEH,MAAM,UAAU,sBAAsB;IAClC,OAAO;QACH,cAAc,EAAE,MAAM,CAAC,kBAAkB,EAAE;QAE3C,iBAAiB,EAAE,0BAA0B;QAC7C,kBAAkB,EAAE,2BAA2B;QAE/C,YAAY,EAAE;YACV,IAAI,iBAAiB,CAAC,UAAU,CAAC;YACjC,IAAI,iBAAiB,CAAC,cAAc,CAAC;YACrC,IAAI,iBAAiB,CAAC,UAAU,CAAC;YACjC,IAAI,eAAe,CAAC,cAAc,CAAC;YACnC,IAAI,UAAU,CAAC,QAAQ,CAAC;YACxB,IAAI,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC;SACnC;QAED,cAAc,EAAE;YACZ,IAAI,YAAY,EAAE;SACrB;KACJ,CAAA;AACL,CAAC"}
@@ -0,0 +1,156 @@
1
+ import * as jk_fs from "jopi-toolkit/jk_fs";
2
+ import { PriorityLevel } from "jopi-toolkit/jk_tools";
3
+ export { PriorityLevel } from "jopi-toolkit/jk_tools";
4
+ export declare function resolveFile(dirToSearch: string, fileNames: string[]): Promise<string | undefined>;
5
+ export declare function declareLinkerError(message: string, filePath?: string): Error;
6
+ export declare function getSortedDirItem(dirPath: string): Promise<jk_fs.DirItem[]>;
7
+ export declare function useCanonicalFileName(fileFullPath: string, expectedFileName: string): Promise<string>;
8
+ export declare function addNameIntoFile(filePath: string, name?: string): Promise<void>;
9
+ /**
10
+ * Write the file content only if the file is missing or his content is not the same.
11
+ * Allows to avoid triggering a file change detection event.
12
+ */
13
+ export declare function writeTextToFileIfMismatch(filePath: string, content: string): Promise<void>;
14
+ export interface RegistryItem {
15
+ itemPath: string;
16
+ arobaseType: ArobaseType;
17
+ priority?: PriorityLevel;
18
+ }
19
+ export declare enum FilePart {
20
+ imports = "imports",
21
+ body = "body",
22
+ footer = "footer"
23
+ }
24
+ export declare enum InstallFileType {
25
+ server = 0,
26
+ browser = 1,
27
+ both = 2
28
+ }
29
+ interface WriteCodeFileParams {
30
+ fileInnerPath: string;
31
+ srcFileContent: string;
32
+ distFileContent: string;
33
+ declarationFile?: string;
34
+ useTypescriptForSource?: boolean;
35
+ }
36
+ export declare class CodeGenWriter {
37
+ readonly dir: Directories;
38
+ readonly isTypeScriptOnly: boolean;
39
+ constructor(dir: Directories);
40
+ toJavascriptFileName(filePath: string): string;
41
+ makePathRelativeToOutput(path: string): string;
42
+ writeCodeFile(params: WriteCodeFileParams): Promise<void>;
43
+ genAddToInstallFile(who: InstallFileType, where: FilePart, javascriptContent: string): void;
44
+ readonly AI_INSTRUCTIONS = "/*\nThis file is generated by JopiRewrite. Do not modify it.\nSee file ARCHITECTURE.md at the root of the project for instructions.\n*/\n";
45
+ }
46
+ export declare abstract class ArobaseType {
47
+ readonly typeName: string;
48
+ readonly position?: "root" | undefined;
49
+ constructor(typeName: string, position?: "root" | undefined);
50
+ protected initialize(): void;
51
+ abstract processDir(p: {
52
+ moduleDir: string;
53
+ arobaseDir: string;
54
+ genDir: string;
55
+ }): Promise<void>;
56
+ declareError(message: string, filePath?: string): Error;
57
+ generateCodeForItem(writer: CodeGenWriter, key: string, rItem: RegistryItem): Promise<void>;
58
+ beginGeneratingCode(writer: CodeGenWriter): Promise<void>;
59
+ endGeneratingCode(writer: CodeGenWriter, items: RegistryItem[]): Promise<void>;
60
+ /**
61
+ * Process a directory containing item to process.
62
+ *
63
+ * ruleDir/itemType/newItem1
64
+ * /newItem2
65
+ * ^- we will iterate it
66
+ * ^-- we are here
67
+ */
68
+ dir_recurseOnDir(p: ScanDirItemsParams): Promise<void>;
69
+ /**
70
+ * Process an item to process.
71
+ * Will analyze it and extract common informations.
72
+ *
73
+ * ruleDir/itemType/newItem/...
74
+ * ^-- we are here
75
+ */
76
+ dir_processItem(dirItem: jk_fs.DirItem, p: ProcessDirItemParams): Promise<void>;
77
+ /**
78
+ * Analyse the content of a dir, extract information and check rules.
79
+ * @param dirPath
80
+ * @param rules
81
+ * @param useThisUid
82
+ */
83
+ protected dir_extractInfos(dirPath: string, rules: DirAnalyzingRules, useThisUid?: string | undefined): Promise<ExtractDirectoryInfosResult>;
84
+ protected normalizeConditionName(condName: string, ctx: any | undefined): string | undefined;
85
+ protected normalizeFeatureName(featureName: string, ctx: any | undefined): string | undefined;
86
+ registry_addItem<T extends RegistryItem>(itemId: string, item: T): void;
87
+ registry_getItem<T extends RegistryItem>(key: string, requireType?: ArobaseType): T | undefined;
88
+ registry_requireItem<T extends RegistryItem>(key: string, requireType?: ArobaseType): T;
89
+ }
90
+ export interface DirAnalyzingRules {
91
+ requireRefFile?: boolean;
92
+ allowConditions?: boolean;
93
+ requirePriority?: boolean;
94
+ allowFeatures?: boolean;
95
+ conditionCheckingContext?: any;
96
+ featureCheckingContext?: any;
97
+ }
98
+ export interface ScanDirItemsParams {
99
+ dirToScan: string;
100
+ expectFsType: "file" | "dir" | "fileOrDir";
101
+ /**
102
+ * If defined, then will be called for each validated entry.
103
+ */
104
+ handler?: (item: jk_fs.DirItem, rules: ProcessDirItemParams | undefined) => Promise<void>;
105
+ rules?: ProcessDirItemParams;
106
+ }
107
+ export interface ProcessDirItemParams extends DirAnalyzingRules {
108
+ rootDirName: string;
109
+ filesToResolve?: Record<string, string[]>;
110
+ nameConstraint: "canBeUid" | "mustNotBeUid" | "mustBeUid";
111
+ transform: (props: TransformItemParams) => Promise<void>;
112
+ }
113
+ export interface TransformItemParams {
114
+ itemName: string;
115
+ itemPath: string;
116
+ isFile: boolean;
117
+ uid?: string;
118
+ refTarget?: string;
119
+ conditions?: Set<string>;
120
+ parentDirName: string;
121
+ priority: PriorityLevel;
122
+ resolved: Record<string, string | undefined>;
123
+ }
124
+ export interface ExtractDirectoryInfosResult {
125
+ dirItems: jk_fs.DirItem[];
126
+ myUid?: string;
127
+ priority?: PriorityLevel;
128
+ refTarget?: string;
129
+ conditionsFound?: Set<string>;
130
+ features?: Record<string, boolean>;
131
+ }
132
+ export declare class ModuleDirProcessor {
133
+ onBeginModuleProcessing(writer: CodeGenWriter, moduleDir: string): Promise<void>;
134
+ onEndModuleProcessing(writer: CodeGenWriter, moduleDir: string): Promise<void>;
135
+ generateCode(writer: CodeGenWriter): Promise<void>;
136
+ }
137
+ export declare function getWriter(): CodeGenWriter;
138
+ export declare function getBrowserInstallScript(): string;
139
+ export declare function getServerInstallScript(): string;
140
+ export interface Directories {
141
+ project: string;
142
+ project_src: string;
143
+ project_dst: string;
144
+ output_dir: string;
145
+ output_src: string;
146
+ output_dist: string;
147
+ }
148
+ export declare function compile(importMeta: any, config: LinkerConfig, isRefresh?: boolean): Promise<void>;
149
+ export interface LinkerConfig {
150
+ projectRootDir: string;
151
+ templateForBrowser: string;
152
+ templateForServer: string;
153
+ arobaseTypes: ArobaseType[];
154
+ modulesProcess: ModuleDirProcessor[];
155
+ }
156
+ export declare const AI_INSTRUCTIONS = "/*\nThis file is generated by JopiRewrite. Do not modify it.\nSee file ARCHITECTURE.md at the root of the project for instructions.\n*/\n";