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.
- package/README.md +134 -0
- package/bin/jopib.js +4 -0
- package/bin/jopin.js +4 -0
- package/dist/@bundler/_logs.d.ts +2 -0
- package/dist/@bundler/_logs.js +4 -0
- package/dist/@bundler/_logs.js.map +1 -0
- package/dist/@bundler/core.d.ts +1 -0
- package/dist/@bundler/core.js +34 -0
- package/dist/@bundler/core.js.map +1 -0
- package/dist/@bundler/esbuild.d.ts +6 -0
- package/dist/@bundler/esbuild.js +111 -0
- package/dist/@bundler/esbuild.js.map +1 -0
- package/dist/@bundler/index.d.ts +2 -0
- package/dist/@bundler/index.js +3 -0
- package/dist/@bundler/index.js.map +1 -0
- package/dist/@bundler/plugins.d.ts +13 -0
- package/dist/@bundler/plugins.js +145 -0
- package/dist/@bundler/plugins.js.map +1 -0
- package/dist/@bundler/tailwind.d.ts +3 -0
- package/dist/@bundler/tailwind.js +119 -0
- package/dist/@bundler/tailwind.js.map +1 -0
- package/dist/@core/PageComponent.d.ts +6 -0
- package/dist/@core/PageComponent.js +10 -0
- package/dist/@core/PageComponent.js.map +1 -0
- package/dist/@core/_logs.d.ts +7 -0
- package/dist/@core/_logs.js +9 -0
- package/dist/@core/_logs.js.map +1 -0
- package/dist/@core/automaticStartStop.d.ts +25 -0
- package/dist/@core/automaticStartStop.js +106 -0
- package/dist/@core/automaticStartStop.js.map +1 -0
- package/dist/@core/browserCacheControl.d.ts +21 -0
- package/dist/@core/browserCacheControl.js +17 -0
- package/dist/@core/browserCacheControl.js.map +1 -0
- package/dist/@core/bundler/bundler.d.ts +22 -0
- package/dist/@core/bundler/bundler.js +90 -0
- package/dist/@core/bundler/bundler.js.map +1 -0
- package/dist/@core/bundler/common.d.ts +2 -0
- package/dist/@core/bundler/common.js +17 -0
- package/dist/@core/bundler/common.js.map +1 -0
- package/dist/@core/bundler/config.d.ts +20 -0
- package/dist/@core/bundler/config.js +11 -0
- package/dist/@core/bundler/config.js.map +1 -0
- package/dist/@core/bundler/extraContent.d.ts +6 -0
- package/dist/@core/bundler/extraContent.js +27 -0
- package/dist/@core/bundler/extraContent.js.map +1 -0
- package/dist/@core/bundler/pagesGenerator.d.ts +1 -0
- package/dist/@core/bundler/pagesGenerator.js +173 -0
- package/dist/@core/bundler/pagesGenerator.js.map +1 -0
- package/dist/@core/bundler/server.d.ts +8 -0
- package/dist/@core/bundler/server.js +35 -0
- package/dist/@core/bundler/server.js.map +1 -0
- package/dist/@core/caches/InMemoryCache.d.ts +35 -0
- package/dist/@core/caches/InMemoryCache.js +353 -0
- package/dist/@core/caches/InMemoryCache.js.map +1 -0
- package/dist/@core/caches/SimpleFileCache.d.ts +18 -0
- package/dist/@core/caches/SimpleFileCache.js +171 -0
- package/dist/@core/caches/SimpleFileCache.js.map +1 -0
- package/dist/@core/caches/cache.d.ts +36 -0
- package/dist/@core/caches/cache.js +33 -0
- package/dist/@core/caches/cache.js.map +1 -0
- package/dist/@core/caches/webSiteMirrorCache.d.ts +16 -0
- package/dist/@core/caches/webSiteMirrorCache.js +81 -0
- package/dist/@core/caches/webSiteMirrorCache.js.map +1 -0
- package/dist/@core/gzip.d.ts +4 -0
- package/dist/@core/gzip.js +31 -0
- package/dist/@core/gzip.js.map +1 -0
- package/dist/@core/index.d.ts +18 -0
- package/dist/@core/index.js +19 -0
- package/dist/@core/index.js.map +1 -0
- package/dist/@core/internalTools.d.ts +14 -0
- package/dist/@core/internalTools.js +79 -0
- package/dist/@core/internalTools.js.map +1 -0
- package/dist/@core/jQuery.d.ts +5 -0
- package/dist/@core/jQuery.js +18 -0
- package/dist/@core/jQuery.js.map +1 -0
- package/dist/@core/jopiEasy.d.ts +287 -0
- package/dist/@core/jopiEasy.js +983 -0
- package/dist/@core/jopiEasy.js.map +1 -0
- package/dist/@core/jopiRequest.d.ts +269 -0
- package/dist/@core/jopiRequest.js +1060 -0
- package/dist/@core/jopiRequest.js.map +1 -0
- package/dist/@core/jopiServer.d.ts +77 -0
- package/dist/@core/jopiServer.js +100 -0
- package/dist/@core/jopiServer.js.map +1 -0
- package/dist/@core/jopiWebSite.d.ts +319 -0
- package/dist/@core/jopiWebSite.js +653 -0
- package/dist/@core/jopiWebSite.js.map +1 -0
- package/dist/@core/letsEncrypt.d.ts +25 -0
- package/dist/@core/letsEncrypt.js +189 -0
- package/dist/@core/letsEncrypt.js.map +1 -0
- package/dist/@core/linker.d.ts +4 -0
- package/dist/@core/linker.js +37 -0
- package/dist/@core/linker.js.map +1 -0
- package/dist/@core/loadBalancing.d.ts +18 -0
- package/dist/@core/loadBalancing.js +126 -0
- package/dist/@core/loadBalancing.js.map +1 -0
- package/dist/@core/middlewares/CorsMiddleware.d.ts +5 -0
- package/dist/@core/middlewares/CorsMiddleware.js +15 -0
- package/dist/@core/middlewares/CorsMiddleware.js.map +1 -0
- package/dist/@core/middlewares/DdosProtection.d.ts +42 -0
- package/dist/@core/middlewares/DdosProtection.js +62 -0
- package/dist/@core/middlewares/DdosProtection.js.map +1 -0
- package/dist/@core/middlewares/index.d.ts +10 -0
- package/dist/@core/middlewares/index.js +14 -0
- package/dist/@core/middlewares/index.js.map +1 -0
- package/dist/@core/publicTools.d.ts +8 -0
- package/dist/@core/publicTools.js +11 -0
- package/dist/@core/publicTools.js.map +1 -0
- package/dist/@core/routeConfig.d.ts +48 -0
- package/dist/@core/routeConfig.js +102 -0
- package/dist/@core/routeConfig.js.map +1 -0
- package/dist/@core/searchParamFilter.d.ts +70 -0
- package/dist/@core/searchParamFilter.js +212 -0
- package/dist/@core/searchParamFilter.js.map +1 -0
- package/dist/@core/serverFetch.d.ts +122 -0
- package/dist/@core/serverFetch.js +312 -0
- package/dist/@core/serverFetch.js.map +1 -0
- package/dist/@core/serverImpl/server_bunjs.d.ts +29 -0
- package/dist/@core/serverImpl/server_bunjs.js +180 -0
- package/dist/@core/serverImpl/server_bunjs.js.map +1 -0
- package/dist/@core/serverImpl/server_nodejs.d.ts +22 -0
- package/dist/@core/serverImpl/server_nodejs.js +235 -0
- package/dist/@core/serverImpl/server_nodejs.js.map +1 -0
- package/dist/@core/serverInstanceBuilder.d.ts +17 -0
- package/dist/@core/serverInstanceBuilder.js +14 -0
- package/dist/@core/serverInstanceBuilder.js.map +1 -0
- package/dist/@core/userStores.d.ts +13 -0
- package/dist/@core/userStores.js +20 -0
- package/dist/@core/userStores.js.map +1 -0
- package/dist/@crawler/common.d.ts +203 -0
- package/dist/@crawler/common.js +68 -0
- package/dist/@crawler/common.js.map +1 -0
- package/dist/@crawler/core.d.ts +87 -0
- package/dist/@crawler/core.js +586 -0
- package/dist/@crawler/core.js.map +1 -0
- package/dist/@crawler/directFileCache.d.ts +10 -0
- package/dist/@crawler/directFileCache.js +60 -0
- package/dist/@crawler/directFileCache.js.map +1 -0
- package/dist/@crawler/index.d.ts +4 -0
- package/dist/@crawler/index.js +5 -0
- package/dist/@crawler/index.js.map +1 -0
- package/dist/@crawler/urlMapping.d.ts +21 -0
- package/dist/@crawler/urlMapping.js +52 -0
- package/dist/@crawler/urlMapping.js.map +1 -0
- package/dist/@crawler/utils.d.ts +6 -0
- package/dist/@crawler/utils.js +13 -0
- package/dist/@crawler/utils.js.map +1 -0
- package/dist/@generated/index.d.ts +29 -0
- package/dist/@generated/index.js +93 -0
- package/dist/@generated/index.js.map +1 -0
- package/dist/@linker/arobaseTypes.d.ts +50 -0
- package/dist/@linker/arobaseTypes.js +235 -0
- package/dist/@linker/arobaseTypes.js.map +1 -0
- package/dist/@linker/changeProof.d.ts +5 -0
- package/dist/@linker/changeProof.js +50 -0
- package/dist/@linker/changeProof.js.map +1 -0
- package/dist/@linker/config.d.ts +2 -0
- package/dist/@linker/config.js +40 -0
- package/dist/@linker/config.js.map +1 -0
- package/dist/@linker/engine.d.ts +156 -0
- package/dist/@linker/engine.js +665 -0
- package/dist/@linker/engine.js.map +1 -0
- package/dist/@linker/index.d.ts +3 -0
- package/dist/@linker/index.js +4 -0
- package/dist/@linker/index.js.map +1 -0
- package/dist/@linker/install.d.ts +4 -0
- package/dist/@linker/install.js +42 -0
- package/dist/@linker/install.js.map +1 -0
- package/dist/@linker/modInstaller.d.ts +10 -0
- package/dist/@linker/modInstaller.js +38 -0
- package/dist/@linker/modInstaller.js.map +1 -0
- package/dist/@linker/typeEvents.d.ts +9 -0
- package/dist/@linker/typeEvents.js +48 -0
- package/dist/@linker/typeEvents.js.map +1 -0
- package/dist/@linker/typeRoutes.d.ts +23 -0
- package/dist/@linker/typeRoutes.js +197 -0
- package/dist/@linker/typeRoutes.js.map +1 -0
- package/dist/@linker/typeUiComposite.d.ts +6 -0
- package/dist/@linker/typeUiComposite.js +16 -0
- package/dist/@linker/typeUiComposite.js.map +1 -0
- package/dist/@loader/index.d.ts +1 -0
- package/dist/@loader/index.js +17 -0
- package/dist/@loader/index.js.map +1 -0
- package/dist/@loader/nodeJsLoader.d.ts +2 -0
- package/dist/@loader/nodeJsLoader.js +19 -0
- package/dist/@loader/nodeJsLoader.js.map +1 -0
- package/dist/@loader-client/index.d.ts +33 -0
- package/dist/@loader-client/index.js +98 -0
- package/dist/@loader-client/index.js.map +1 -0
- package/dist/@loader-tools/bunJsLoader.d.ts +1 -0
- package/dist/@loader-tools/bunJsLoader.js +28 -0
- package/dist/@loader-tools/bunJsLoader.js.map +1 -0
- package/dist/@loader-tools/config.d.ts +49 -0
- package/dist/@loader-tools/config.js +79 -0
- package/dist/@loader-tools/config.js.map +1 -0
- package/dist/@loader-tools/cssModuleCompiler.d.ts +5 -0
- package/dist/@loader-tools/cssModuleCompiler.js +65 -0
- package/dist/@loader-tools/cssModuleCompiler.js.map +1 -0
- package/dist/@loader-tools/esBuildPlugin.d.ts +5 -0
- package/dist/@loader-tools/esBuildPlugin.js +113 -0
- package/dist/@loader-tools/esBuildPlugin.js.map +1 -0
- package/dist/@loader-tools/index.d.ts +9 -0
- package/dist/@loader-tools/index.js +10 -0
- package/dist/@loader-tools/index.js.map +1 -0
- package/dist/@loader-tools/jopin.d.ts +10 -0
- package/dist/@loader-tools/jopin.js +331 -0
- package/dist/@loader-tools/jopin.js.map +1 -0
- package/dist/@loader-tools/nodeJsLoader.d.ts +13 -0
- package/dist/@loader-tools/nodeJsLoader.js +101 -0
- package/dist/@loader-tools/nodeJsLoader.js.map +1 -0
- package/dist/@loader-tools/nodeJsResolver.d.ts +2 -0
- package/dist/@loader-tools/nodeJsResolver.js +117 -0
- package/dist/@loader-tools/nodeJsResolver.js.map +1 -0
- package/dist/@loader-tools/rules.d.ts +3 -0
- package/dist/@loader-tools/rules.js +33 -0
- package/dist/@loader-tools/rules.js.map +1 -0
- package/dist/@loader-tools/sourceChangesWatcher.d.ts +39 -0
- package/dist/@loader-tools/sourceChangesWatcher.js +182 -0
- package/dist/@loader-tools/sourceChangesWatcher.js.map +1 -0
- package/dist/@loader-tools/tools.d.ts +21 -0
- package/dist/@loader-tools/tools.js +113 -0
- package/dist/@loader-tools/tools.js.map +1 -0
- package/dist/@loader-tools/transform.d.ts +5 -0
- package/dist/@loader-tools/transform.js +114 -0
- package/dist/@loader-tools/transform.js.map +1 -0
- package/dist/@loader-tools/virtualUrl.d.ts +9 -0
- package/dist/@loader-tools/virtualUrl.js +40 -0
- package/dist/@loader-tools/virtualUrl.js.map +1 -0
- package/dist/@tool-jopinb/index.d.ts +1 -0
- package/dist/@tool-jopinb/index.js +9 -0
- package/dist/@tool-jopinb/index.js.map +1 -0
- package/dist/@ui/components.d.ts +27 -0
- package/dist/@ui/components.js +42 -0
- package/dist/@ui/components.js.map +1 -0
- package/dist/@ui/cssModules.d.ts +11 -0
- package/dist/@ui/cssModules.js +17 -0
- package/dist/@ui/cssModules.js.map +1 -0
- package/dist/@ui/hooks.d.ts +31 -0
- package/dist/@ui/hooks.js +71 -0
- package/dist/@ui/hooks.js.map +1 -0
- package/dist/@ui/index.d.ts +9 -0
- package/dist/@ui/index.js +11 -0
- package/dist/@ui/index.js.map +1 -0
- package/dist/@ui/internal.d.ts +4 -0
- package/dist/@ui/internal.js +10 -0
- package/dist/@ui/internal.js.map +1 -0
- package/dist/@ui/modules.d.ts +41 -0
- package/dist/@ui/modules.js +74 -0
- package/dist/@ui/modules.js.map +1 -0
- package/dist/@ui/objectRegistry.d.ts +12 -0
- package/dist/@ui/objectRegistry.js +35 -0
- package/dist/@ui/objectRegistry.js.map +1 -0
- package/dist/@ui/pageController.d.ts +61 -0
- package/dist/@ui/pageController.js +166 -0
- package/dist/@ui/pageController.js.map +1 -0
- package/dist/@ui/tools.d.ts +24 -0
- package/dist/@ui/tools.js +78 -0
- package/dist/@ui/tools.js.map +1 -0
- package/dist/@uikit/core/UiKitModule.d.ts +6 -0
- package/dist/@uikit/core/UiKitModule.js +18 -0
- package/dist/@uikit/core/UiKitModule.js.map +1 -0
- package/dist/@uikit/core/index.d.ts +1 -0
- package/dist/@uikit/core/index.js +4 -0
- package/dist/@uikit/core/index.js.map +1 -0
- package/dist/@uikit/core/jBundler_ifBrowser.d.ts +1 -0
- package/dist/@uikit/core/jBundler_ifBrowser.js +5 -0
- package/dist/@uikit/core/jBundler_ifBrowser.js.map +1 -0
- package/dist/@uikit/core/jBundler_ifServer.d.ts +6 -0
- package/dist/@uikit/core/jBundler_ifServer.js +17 -0
- package/dist/@uikit/core/jBundler_ifServer.js.map +1 -0
- package/dist/@uikit/forms/components.d.ts +18 -0
- package/dist/@uikit/forms/components.js +69 -0
- package/dist/@uikit/forms/components.js.map +1 -0
- package/dist/@uikit/forms/hooks.d.ts +4 -0
- package/dist/@uikit/forms/hooks.js +31 -0
- package/dist/@uikit/forms/hooks.js.map +1 -0
- package/dist/@uikit/forms/index.d.ts +3 -0
- package/dist/@uikit/forms/index.js +4 -0
- package/dist/@uikit/forms/index.js.map +1 -0
- package/dist/@uikit/forms/interfaces.d.ts +101 -0
- package/dist/@uikit/forms/interfaces.js +4 -0
- package/dist/@uikit/forms/interfaces.js.map +1 -0
- package/dist/@uikit/forms/private.d.ts +40 -0
- package/dist/@uikit/forms/private.js +307 -0
- package/dist/@uikit/forms/private.js.map +1 -0
- package/dist/@uikit/helpers/hooks.d.ts +33 -0
- package/dist/@uikit/helpers/hooks.js +107 -0
- package/dist/@uikit/helpers/hooks.js.map +1 -0
- package/dist/@uikit/helpers/index.d.ts +2 -0
- package/dist/@uikit/helpers/index.js +3 -0
- package/dist/@uikit/helpers/index.js.map +1 -0
- package/dist/@uikit/helpers/tools.d.ts +8 -0
- package/dist/@uikit/helpers/tools.js +35 -0
- package/dist/@uikit/helpers/tools.js.map +1 -0
- package/dist/@uikit/index.d.ts +10 -0
- package/dist/@uikit/index.js +13 -0
- package/dist/@uikit/index.js.map +1 -0
- package/dist/@uikit/menu/core.d.ts +21 -0
- package/dist/@uikit/menu/core.js +191 -0
- package/dist/@uikit/menu/core.js.map +1 -0
- package/dist/@uikit/menu/hooks.d.ts +5 -0
- package/dist/@uikit/menu/hooks.js +24 -0
- package/dist/@uikit/menu/hooks.js.map +1 -0
- package/dist/@uikit/menu/index.d.ts +3 -0
- package/dist/@uikit/menu/index.js +4 -0
- package/dist/@uikit/menu/index.js.map +1 -0
- package/dist/@uikit/menu/interfaces.d.ts +20 -0
- package/dist/@uikit/menu/interfaces.js +8 -0
- package/dist/@uikit/menu/interfaces.js.map +1 -0
- package/dist/@uikit/menu/internal.d.ts +40 -0
- package/dist/@uikit/menu/internal.js +191 -0
- package/dist/@uikit/menu/internal.js.map +1 -0
- package/dist/@uikit/reactRouter/hooks/jBundler_ifBrowser.d.ts +18 -0
- package/dist/@uikit/reactRouter/hooks/jBundler_ifBrowser.js +40 -0
- package/dist/@uikit/reactRouter/hooks/jBundler_ifBrowser.js.map +1 -0
- package/dist/@uikit/reactRouter/hooks/jBundler_ifServer.d.ts +28 -0
- package/dist/@uikit/reactRouter/hooks/jBundler_ifServer.js +35 -0
- package/dist/@uikit/reactRouter/hooks/jBundler_ifServer.js.map +1 -0
- package/dist/@uikit/reactRouter/index.d.ts +1 -0
- package/dist/@uikit/reactRouter/index.js +2 -0
- package/dist/@uikit/reactRouter/index.js.map +1 -0
- package/dist/@uikit/users/hooks.d.ts +10 -0
- package/dist/@uikit/users/hooks.js +39 -0
- package/dist/@uikit/users/hooks.js.map +1 -0
- package/dist/@uikit/users/index.d.ts +1 -0
- package/dist/@uikit/users/index.js +2 -0
- package/dist/@uikit/users/index.js.map +1 -0
- package/dist/@uikit/variants/index.d.ts +7 -0
- package/dist/@uikit/variants/index.js +16 -0
- package/dist/@uikit/variants/index.js.map +1 -0
- package/package.json +115 -0
- package/src/@bundler/README.md +1 -0
- package/src/@bundler/_logs.ts +4 -0
- package/src/@bundler/core.ts +41 -0
- package/src/@bundler/esbuild.ts +141 -0
- package/src/@bundler/index.ts +3 -0
- package/src/@bundler/plugins.ts +163 -0
- package/src/@bundler/tailwind.ts +139 -0
- package/src/@core/PageComponent.tsx +25 -0
- package/src/@core/README.md +1 -0
- package/src/@core/_logs.ts +11 -0
- package/src/@core/automaticStartStop.ts +132 -0
- package/src/@core/browserCacheControl.ts +40 -0
- package/src/@core/bundler/bundler.ts +128 -0
- package/src/@core/bundler/common.ts +18 -0
- package/src/@core/bundler/config.ts +37 -0
- package/src/@core/bundler/extraContent.ts +30 -0
- package/src/@core/bundler/pagesGenerator.ts +194 -0
- package/src/@core/bundler/server.ts +41 -0
- package/src/@core/caches/InMemoryCache.ts +483 -0
- package/src/@core/caches/SimpleFileCache.ts +205 -0
- package/src/@core/caches/cache.ts +77 -0
- package/src/@core/caches/webSiteMirrorCache.ts +90 -0
- package/src/@core/cheerio.d.ts +332 -0
- package/src/@core/gzip.ts +33 -0
- package/src/@core/index.ts +23 -0
- package/src/@core/internalTools.ts +95 -0
- package/src/@core/jQuery.ts +22 -0
- package/src/@core/jopiEasy.ts +1285 -0
- package/src/@core/jopiRequest.tsx +1279 -0
- package/src/@core/jopiServer.ts +188 -0
- package/src/@core/jopiWebSite.tsx +1027 -0
- package/src/@core/letsEncrypt.ts +243 -0
- package/src/@core/linker.ts +42 -0
- package/src/@core/loadBalancing.ts +152 -0
- package/src/@core/middlewares/CorsMiddleware.ts +23 -0
- package/src/@core/middlewares/DdosProtection.ts +120 -0
- package/src/@core/middlewares/index.ts +16 -0
- package/src/@core/publicTools.ts +14 -0
- package/src/@core/routeConfig.ts +104 -0
- package/src/@core/searchParamFilter.ts +315 -0
- package/src/@core/serverFetch.ts +454 -0
- package/src/@core/serverImpl/server_bunjs.tsx +230 -0
- package/src/@core/serverImpl/server_nodejs.ts +312 -0
- package/src/@core/serverInstanceBuilder.ts +36 -0
- package/src/@core/userStores.ts +34 -0
- package/src/@crawler/README.md +1 -0
- package/src/@crawler/common.ts +275 -0
- package/src/@crawler/core.ts +678 -0
- package/src/@crawler/directFileCache.ts +69 -0
- package/src/@crawler/index.ts +4 -0
- package/src/@crawler/urlMapping.ts +67 -0
- package/src/@crawler/utils.ts +13 -0
- package/src/@generated/index.ts +134 -0
- package/src/@linker/arobaseTypes.ts +325 -0
- package/src/@linker/changeProof.ts +53 -0
- package/src/@linker/config.ts +46 -0
- package/src/@linker/engine.ts +865 -0
- package/src/@linker/index.ts +3 -0
- package/src/@linker/install.ts +39 -0
- package/src/@linker/modInstaller.ts +50 -0
- package/src/@linker/typeEvents.ts +58 -0
- package/src/@linker/typeRoutes.ts +255 -0
- package/src/@linker/typeUiComposite.ts +19 -0
- package/src/@loader/README.md +4 -0
- package/src/@loader/bunHtmlCompiler.mjs +27 -0
- package/src/@loader/index.ts +19 -0
- package/src/@loader/loader.mjs +7 -0
- package/src/@loader/nodeJsLoader.ts +21 -0
- package/src/@loader-client/README.md +2 -0
- package/src/@loader-client/index.ts +108 -0
- package/src/@loader-tools/README.md +6 -0
- package/src/@loader-tools/bunJsLoader.ts +33 -0
- package/src/@loader-tools/config.ts +142 -0
- package/src/@loader-tools/cssModuleCompiler.ts +76 -0
- package/src/@loader-tools/esBuildPlugin.ts +142 -0
- package/src/@loader-tools/index.ts +11 -0
- package/src/@loader-tools/jopin.ts +403 -0
- package/src/@loader-tools/nodeJsLoader.ts +119 -0
- package/src/@loader-tools/nodeJsResolver.ts +140 -0
- package/src/@loader-tools/rules.ts +45 -0
- package/src/@loader-tools/sourceChangesWatcher.ts +225 -0
- package/src/@loader-tools/tools.ts +139 -0
- package/src/@loader-tools/transform.ts +138 -0
- package/src/@loader-tools/virtualUrl.ts +57 -0
- package/src/@loader-types/README.md +15 -0
- package/src/@loader-types/extensions.d.ts +65 -0
- package/src/@tool-jopinb/README.md +1 -0
- package/src/@tool-jopinb/index.ts +11 -0
- package/src/@ui/README.md +3 -0
- package/src/@ui/components.tsx +49 -0
- package/src/@ui/cssModules.tsx +27 -0
- package/src/@ui/hooks.tsx +95 -0
- package/src/@ui/index.ts +13 -0
- package/src/@ui/internal.ts +12 -0
- package/src/@ui/modules.ts +100 -0
- package/src/@ui/objectRegistry.ts +50 -0
- package/src/@ui/pageController.ts +203 -0
- package/src/@ui/tools.ts +116 -0
- package/src/@uikit/README.md +1 -0
- package/src/@uikit/core/UiKitModule.ts +20 -0
- package/src/@uikit/core/index.ts +4 -0
- package/src/@uikit/core/jBundler_ifBrowser.ts +4 -0
- package/src/@uikit/core/jBundler_ifServer.ts +18 -0
- package/src/@uikit/forms/components.tsx +97 -0
- package/src/@uikit/forms/hooks.ts +38 -0
- package/src/@uikit/forms/index.ts +3 -0
- package/src/@uikit/forms/interfaces.ts +159 -0
- package/src/@uikit/forms/private.ts +365 -0
- package/src/@uikit/helpers/hooks.ts +133 -0
- package/src/@uikit/helpers/index.ts +2 -0
- package/src/@uikit/helpers/tools.ts +39 -0
- package/src/@uikit/index.ts +15 -0
- package/src/@uikit/menu/core.ts +227 -0
- package/src/@uikit/menu/hooks.ts +28 -0
- package/src/@uikit/menu/index.ts +3 -0
- package/src/@uikit/menu/interfaces.ts +26 -0
- package/src/@uikit/menu/internal.ts +218 -0
- package/src/@uikit/package.json +15 -0
- package/src/@uikit/reactRouter/hooks/jBundler_ifBrowser.tsx +59 -0
- package/src/@uikit/reactRouter/hooks/jBundler_ifServer.tsx +51 -0
- package/src/@uikit/reactRouter/index.ts +1 -0
- package/src/@uikit/users/hooks.ts +50 -0
- package/src/@uikit/users/index.ts +1 -0
- package/src/@uikit/variants/index.tsx +20 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export interface SourceChangesWatcherParams {
|
|
2
|
+
watchDirs: string[];
|
|
3
|
+
excludeDir: string[];
|
|
4
|
+
env?: Record<string, string>;
|
|
5
|
+
cmd?: string;
|
|
6
|
+
args?: string[];
|
|
7
|
+
isDev: boolean;
|
|
8
|
+
mustLog: boolean;
|
|
9
|
+
jsEngine: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Watches source directories for changes and restarts a server process automatically.
|
|
13
|
+
* - Add directories to watch (recursively).
|
|
14
|
+
* - Configurable delay (debounce) before restarting.
|
|
15
|
+
* - Includes a helper to auto-detect the source directory when using TypeScript.
|
|
16
|
+
*/
|
|
17
|
+
export declare class SourceChangesWatcher {
|
|
18
|
+
private readonly _fileWatchingDelay;
|
|
19
|
+
private readonly _restartDelay;
|
|
20
|
+
private _areSignalCatch;
|
|
21
|
+
private restarting;
|
|
22
|
+
private _isStarted;
|
|
23
|
+
private _enableLogs;
|
|
24
|
+
private readonly watchDirs;
|
|
25
|
+
private readonly excludeDir;
|
|
26
|
+
private readonly env;
|
|
27
|
+
private readonly _cmd;
|
|
28
|
+
private readonly _args;
|
|
29
|
+
private _timerId;
|
|
30
|
+
private readonly _isDev;
|
|
31
|
+
private readonly _mustLog;
|
|
32
|
+
constructor(params: SourceChangesWatcherParams);
|
|
33
|
+
start(): Promise<void>;
|
|
34
|
+
private askToRestart;
|
|
35
|
+
private watchDirectoryRecursive;
|
|
36
|
+
private killAll;
|
|
37
|
+
spawnChild(ignoreSpawnEvent?: boolean): Promise<void>;
|
|
38
|
+
onSpawned(): void;
|
|
39
|
+
}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { spawn, ChildProcess } from "node:child_process";
|
|
3
|
+
import chokidar from "chokidar";
|
|
4
|
+
import * as jk_timer from "jopi-toolkit/jk_timer";
|
|
5
|
+
/**
|
|
6
|
+
* Watches source directories for changes and restarts a server process automatically.
|
|
7
|
+
* - Add directories to watch (recursively).
|
|
8
|
+
* - Configurable delay (debounce) before restarting.
|
|
9
|
+
* - Includes a helper to auto-detect the source directory when using TypeScript.
|
|
10
|
+
*/
|
|
11
|
+
export class SourceChangesWatcher {
|
|
12
|
+
_fileWatchingDelay;
|
|
13
|
+
_restartDelay;
|
|
14
|
+
_areSignalCatch = false;
|
|
15
|
+
restarting = false;
|
|
16
|
+
_isStarted = false;
|
|
17
|
+
_enableLogs = false;
|
|
18
|
+
watchDirs;
|
|
19
|
+
excludeDir;
|
|
20
|
+
env;
|
|
21
|
+
_cmd;
|
|
22
|
+
_args;
|
|
23
|
+
_timerId = 0;
|
|
24
|
+
_isDev;
|
|
25
|
+
_mustLog;
|
|
26
|
+
constructor(params) {
|
|
27
|
+
const isNodeJS = params.jsEngine === "node";
|
|
28
|
+
this._fileWatchingDelay = isNodeJS ? 1000 : 500;
|
|
29
|
+
this._restartDelay = isNodeJS ? 500 : 10;
|
|
30
|
+
this.watchDirs = params.watchDirs;
|
|
31
|
+
this.excludeDir = params.excludeDir;
|
|
32
|
+
if (params.env)
|
|
33
|
+
this.env = params.env;
|
|
34
|
+
else
|
|
35
|
+
this.env = process.env;
|
|
36
|
+
this._cmd = params.cmd || process.argv0;
|
|
37
|
+
this._args = params.args || [];
|
|
38
|
+
this._isDev = params.isDev;
|
|
39
|
+
this._mustLog = params.mustLog;
|
|
40
|
+
}
|
|
41
|
+
async start() {
|
|
42
|
+
if (this._isStarted)
|
|
43
|
+
return;
|
|
44
|
+
this._isStarted = true;
|
|
45
|
+
for (const dir of this.watchDirs) {
|
|
46
|
+
await this.watchDirectoryRecursive(dir);
|
|
47
|
+
}
|
|
48
|
+
// Create the first child.
|
|
49
|
+
await this.spawnChild(true);
|
|
50
|
+
}
|
|
51
|
+
async askToRestart(filePath) {
|
|
52
|
+
if (this.excludeDir) {
|
|
53
|
+
let isExcluded = this.excludeDir.find(p => filePath.startsWith(p));
|
|
54
|
+
if (isExcluded)
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
// Avoid it if inside a hidden directory (start by .).
|
|
58
|
+
let pathParts = filePath.split(path.sep);
|
|
59
|
+
let hiddenPart = pathParts.find(e => e[0] === '.');
|
|
60
|
+
if (hiddenPart)
|
|
61
|
+
return;
|
|
62
|
+
// Avoid it if inside a node module. Reason: some tools used it as a temp.
|
|
63
|
+
let nodeModule = pathParts.find(e => e === 'node_modules');
|
|
64
|
+
if (nodeModule)
|
|
65
|
+
return;
|
|
66
|
+
// Allow avoiding restart until stability is found.
|
|
67
|
+
if (this._timerId) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
// @ts-ignore
|
|
71
|
+
this._timerId = setTimeout(async () => {
|
|
72
|
+
this._timerId = 0;
|
|
73
|
+
if (this.restarting)
|
|
74
|
+
return;
|
|
75
|
+
this.restarting = true;
|
|
76
|
+
//console.clear();
|
|
77
|
+
if (this._enableLogs) {
|
|
78
|
+
console.log("File change watcher - RESTART for:", filePath);
|
|
79
|
+
}
|
|
80
|
+
try {
|
|
81
|
+
await this.spawnChild();
|
|
82
|
+
}
|
|
83
|
+
finally {
|
|
84
|
+
this.restarting = false;
|
|
85
|
+
}
|
|
86
|
+
}, this._restartDelay);
|
|
87
|
+
}
|
|
88
|
+
async watchDirectoryRecursive(dir) {
|
|
89
|
+
const watcher = chokidar.watch(dir, {
|
|
90
|
+
persistent: true,
|
|
91
|
+
ignoreInitial: true,
|
|
92
|
+
// Ignore common heavy/irrelevant directories
|
|
93
|
+
ignored: (watchedPath) => {
|
|
94
|
+
const b = path.basename(watchedPath);
|
|
95
|
+
return b === 'node_modules' || b === '.git' || b === '.idea' || b === '.vscode';
|
|
96
|
+
},
|
|
97
|
+
awaitWriteFinish: {
|
|
98
|
+
stabilityThreshold: this._fileWatchingDelay,
|
|
99
|
+
pollInterval: Math.min(100, this._fileWatchingDelay)
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
watcher.on('all', async (_event, paths) => {
|
|
103
|
+
await this.askToRestart(paths);
|
|
104
|
+
});
|
|
105
|
+
watcher.on('error', () => {
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
killAll() {
|
|
109
|
+
if (this._isDev) {
|
|
110
|
+
// > Do a fast hard kill.
|
|
111
|
+
if (gChild && !gChild.killed)
|
|
112
|
+
gChild.kill('SIGKILL');
|
|
113
|
+
process.exit(0);
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
// > Do a soft kill.
|
|
117
|
+
if (gChild) {
|
|
118
|
+
const child = gChild;
|
|
119
|
+
child.kill('SIGTERM');
|
|
120
|
+
setTimeout(() => {
|
|
121
|
+
if (!child.killed) {
|
|
122
|
+
child.kill('SIGKILL');
|
|
123
|
+
}
|
|
124
|
+
}, 3000);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
async spawnChild(ignoreSpawnEvent = false) {
|
|
129
|
+
if (gChild) {
|
|
130
|
+
if (!gChild.killed) {
|
|
131
|
+
// Do a hard kill.
|
|
132
|
+
// Not a problem since we are in dev mode.
|
|
133
|
+
gChild.kill("SIGKILL");
|
|
134
|
+
}
|
|
135
|
+
gChild = undefined;
|
|
136
|
+
await jk_timer.tick(100);
|
|
137
|
+
}
|
|
138
|
+
let useShell = this._cmd.endsWith('.cmd') || this._cmd.endsWith('.bat') || this._cmd.endsWith('.sh');
|
|
139
|
+
if (!this._areSignalCatch) {
|
|
140
|
+
this._areSignalCatch = true;
|
|
141
|
+
process.on('SIGTERM', () => this.killAll());
|
|
142
|
+
process.on('SIGINT', () => this.killAll());
|
|
143
|
+
process.on('SIGHUP', () => this.killAll());
|
|
144
|
+
process.on('exit', () => this.killAll());
|
|
145
|
+
}
|
|
146
|
+
if (this._mustLog) {
|
|
147
|
+
console.log("spawning", { cmd: this._cmd, args: this._args, cwd: process.cwd(), useShell });
|
|
148
|
+
}
|
|
149
|
+
const child = spawn(this._cmd, this._args, {
|
|
150
|
+
stdio: "inherit", shell: useShell,
|
|
151
|
+
cwd: process.cwd(),
|
|
152
|
+
env: this.env
|
|
153
|
+
});
|
|
154
|
+
gChild = child;
|
|
155
|
+
child.on('exit', (code, signal) => {
|
|
156
|
+
// The current instance has stopped?
|
|
157
|
+
if (gChild === child) {
|
|
158
|
+
if (signal)
|
|
159
|
+
process.kill(process.pid, signal);
|
|
160
|
+
else
|
|
161
|
+
process.exit(code ?? 0);
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
child.on('error', (err) => {
|
|
165
|
+
// The current instance is in error?
|
|
166
|
+
if (gChild === child) {
|
|
167
|
+
console.error(err.message || String(err));
|
|
168
|
+
process.exit(1);
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
if (!ignoreSpawnEvent) {
|
|
172
|
+
child.on("spawn", () => {
|
|
173
|
+
this.onSpawned();
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
onSpawned() {
|
|
178
|
+
// To override.
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
let gChild;
|
|
182
|
+
//# sourceMappingURL=sourceChangesWatcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sourceChangesWatcher.js","sourceRoot":"","sources":["../../src/@loader-tools/sourceChangesWatcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Search the entry point of the current package (ex: ./dist/index.json)
|
|
3
|
+
* @param nodePackageDir - The path of the current module.
|
|
4
|
+
* @returns Returns the full path of the script.
|
|
5
|
+
*/
|
|
6
|
+
export declare function findNodePackageEntryPoint(nodePackageDir: string): string;
|
|
7
|
+
/**
|
|
8
|
+
* Searches for the directory of a specified module.
|
|
9
|
+
*
|
|
10
|
+
* @param packageName - The name of the module to find.
|
|
11
|
+
* @return The path to the module directory if found, or null if not found.
|
|
12
|
+
*/
|
|
13
|
+
export declare function findNodePackageDir(packageName: string): string | null;
|
|
14
|
+
export interface PathAliasInfo {
|
|
15
|
+
rootDir: string;
|
|
16
|
+
alias: Record<string, string>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Return a dictionary of path alias (ex: import "@/ui/myComponent")
|
|
20
|
+
*/
|
|
21
|
+
export declare function getPathAliasInfo(): Promise<PathAliasInfo>;
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import * as jk_app from "jopi-toolkit/jk_app";
|
|
3
|
+
import * as jk_fs from "jopi-toolkit/jk_fs";
|
|
4
|
+
import fss from "node:fs";
|
|
5
|
+
import stripJsonComments from "strip-json-comments";
|
|
6
|
+
import { resolve as resolvePath } from "path";
|
|
7
|
+
/**
|
|
8
|
+
* Search the entry point of the current package (ex: ./dist/index.json)
|
|
9
|
+
* @param nodePackageDir - The path of the current module.
|
|
10
|
+
* @returns Returns the full path of the script.
|
|
11
|
+
*/
|
|
12
|
+
export function findNodePackageEntryPoint(nodePackageDir) {
|
|
13
|
+
const packageJsonPath = path.join(nodePackageDir, 'package.json');
|
|
14
|
+
// >>> Try to take the "main" information inside the package.json.
|
|
15
|
+
if (fss.existsSync(packageJsonPath)) {
|
|
16
|
+
try {
|
|
17
|
+
const packageJson = JSON.parse(fss.readFileSync(packageJsonPath, 'utf8'));
|
|
18
|
+
if (packageJson.main) {
|
|
19
|
+
const mainPath = path.join(nodePackageDir, packageJson.main);
|
|
20
|
+
if (fss.existsSync(mainPath))
|
|
21
|
+
return mainPath;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
// Ignore JSON parse errors
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
// >>> "main" not set? Try all common path.
|
|
29
|
+
const commonPaths = [
|
|
30
|
+
path.join('dist', 'index.js'),
|
|
31
|
+
path.join('lib', 'index.js'),
|
|
32
|
+
path.join('src', 'index.js'),
|
|
33
|
+
'index.js'
|
|
34
|
+
];
|
|
35
|
+
for (const commonPath of commonPaths) {
|
|
36
|
+
const fullPath = path.join(nodePackageDir, commonPath);
|
|
37
|
+
if (fss.existsSync(fullPath))
|
|
38
|
+
return fullPath;
|
|
39
|
+
}
|
|
40
|
+
// Default to dist/index.js
|
|
41
|
+
return path.join(nodePackageDir, 'dist', 'index.js');
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Searches for the directory of a specified module.
|
|
45
|
+
*
|
|
46
|
+
* @param packageName - The name of the module to find.
|
|
47
|
+
* @return The path to the module directory if found, or null if not found.
|
|
48
|
+
*/
|
|
49
|
+
export function findNodePackageDir(packageName) {
|
|
50
|
+
let currentDir = process.cwd();
|
|
51
|
+
while (true) {
|
|
52
|
+
const packagePath = path.join(currentDir, 'node_modules', packageName);
|
|
53
|
+
if (fss.existsSync(packagePath)) {
|
|
54
|
+
return packagePath;
|
|
55
|
+
}
|
|
56
|
+
const parentDir = path.dirname(currentDir);
|
|
57
|
+
// Reached root directory
|
|
58
|
+
if (parentDir === currentDir) {
|
|
59
|
+
break;
|
|
60
|
+
}
|
|
61
|
+
currentDir = parentDir;
|
|
62
|
+
}
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
let gCache_getPathAliasInfo;
|
|
66
|
+
/**
|
|
67
|
+
* Return a dictionary of path alias (ex: import "@/ui/myComponent")
|
|
68
|
+
*/
|
|
69
|
+
export async function getPathAliasInfo() {
|
|
70
|
+
if (gCache_getPathAliasInfo)
|
|
71
|
+
return gCache_getPathAliasInfo;
|
|
72
|
+
let pkgJsonFile = jk_app.findPackageJson();
|
|
73
|
+
if (!pkgJsonFile)
|
|
74
|
+
throw new Error("Package.json not found");
|
|
75
|
+
const rootDir = path.dirname(pkgJsonFile);
|
|
76
|
+
let tsconfigJsonPath = path.join(rootDir, "tsconfig.json");
|
|
77
|
+
if (!await jk_fs.isFile(tsconfigJsonPath)) {
|
|
78
|
+
throw new Error(`tsconfig.json not found at ${tsconfigJsonPath}`);
|
|
79
|
+
}
|
|
80
|
+
let asText = await jk_fs.readTextFromFile(tsconfigJsonPath);
|
|
81
|
+
let asJson = JSON.parse(stripJsonComments(asText));
|
|
82
|
+
let compilerOptions = asJson.compilerOptions;
|
|
83
|
+
let declaredAliases = {};
|
|
84
|
+
if (compilerOptions) {
|
|
85
|
+
let paths = compilerOptions.paths;
|
|
86
|
+
/** Exemple
|
|
87
|
+
* "paths": {
|
|
88
|
+
* "@/*": ["./src/shadcn/*"],
|
|
89
|
+
* "@/lib/*": ["./src/shadcn/lib/*"],
|
|
90
|
+
* "@/components/*": ["./src/shadcn/components/*"]
|
|
91
|
+
* }
|
|
92
|
+
*/
|
|
93
|
+
for (let alias in paths) {
|
|
94
|
+
let pathAlias = paths[alias].pop();
|
|
95
|
+
if (!pathAlias)
|
|
96
|
+
continue;
|
|
97
|
+
if (alias.endsWith("*"))
|
|
98
|
+
alias = alias.substring(0, alias.length - 1);
|
|
99
|
+
if (pathAlias.endsWith("*"))
|
|
100
|
+
pathAlias = pathAlias.substring(0, pathAlias.length - 1);
|
|
101
|
+
if (!path.isAbsolute(pathAlias)) {
|
|
102
|
+
pathAlias = resolvePath(rootDir, pathAlias);
|
|
103
|
+
}
|
|
104
|
+
if (!alias.endsWith("/"))
|
|
105
|
+
alias += "/";
|
|
106
|
+
if (!pathAlias.endsWith("/"))
|
|
107
|
+
pathAlias += "/";
|
|
108
|
+
declaredAliases[alias] = pathAlias;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return gCache_getPathAliasInfo = { rootDir, alias: declaredAliases };
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/@loader-tools/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import cssModuleCompiler from "./cssModuleCompiler.js";
|
|
2
|
+
import { supportedExtensionToType } from "./rules.js";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import fs from "node:fs/promises";
|
|
5
|
+
import * as jk_fs from "jopi-toolkit/jk_fs";
|
|
6
|
+
import { getPackageJsonConfig, INLINE_MAX_SIZE_KO } from "./config.js";
|
|
7
|
+
import { getVirtualUrlForFile } from "./virtualUrl.js";
|
|
8
|
+
export async function transformFile(filePath, options) {
|
|
9
|
+
let text;
|
|
10
|
+
if (filePath.endsWith(".json")) {
|
|
11
|
+
// .json must be ignored with bun.js since some libraries use require and not import.
|
|
12
|
+
// The matter is that the generated code can't be compatible with import and require
|
|
13
|
+
// at the same time.
|
|
14
|
+
//
|
|
15
|
+
// Moreover, bun.js natif implementation seems way faster.
|
|
16
|
+
//
|
|
17
|
+
text = await transform_json(filePath);
|
|
18
|
+
}
|
|
19
|
+
else if (options == "raw") {
|
|
20
|
+
text = await transform_raw(filePath);
|
|
21
|
+
}
|
|
22
|
+
else if (options === "inline") {
|
|
23
|
+
text = await transform_inline(filePath);
|
|
24
|
+
}
|
|
25
|
+
else if (filePath.endsWith(".module.css") || (filePath.endsWith(".module.scss"))) {
|
|
26
|
+
text = await transform_cssModule(filePath);
|
|
27
|
+
}
|
|
28
|
+
else if (filePath.endsWith(".css") || (filePath.endsWith(".scss"))) {
|
|
29
|
+
text = await transform_css(filePath);
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
text = await transform_filePath(filePath);
|
|
33
|
+
}
|
|
34
|
+
return { text, type: "js" };
|
|
35
|
+
}
|
|
36
|
+
async function transform_cssModule(sourceFilePath) {
|
|
37
|
+
return await cssModuleCompiler(sourceFilePath);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Allow getting the file path of the CSS.
|
|
41
|
+
* Here we mimic Bun.js behaviors.
|
|
42
|
+
*
|
|
43
|
+
* To know: Bun.js doesn't allow catching .css file anymore.
|
|
44
|
+
* It's why here we are node.js only.
|
|
45
|
+
*/
|
|
46
|
+
async function transform_css(sourceFilePath) {
|
|
47
|
+
sourceFilePath = jk_fs.resolve(sourceFilePath);
|
|
48
|
+
return `export default ${JSON.stringify(sourceFilePath)};`;
|
|
49
|
+
}
|
|
50
|
+
async function transform_filePath(sourceFilePath) {
|
|
51
|
+
let virtualUrl = getVirtualUrlForFile(sourceFilePath);
|
|
52
|
+
if (!virtualUrl?.url) {
|
|
53
|
+
return `const __PATH__ = ${JSON.stringify(virtualUrl?.sourceFile)}; export default __PATH__;`;
|
|
54
|
+
}
|
|
55
|
+
if (process.env.JOPI_BUNLDER_ESBUILD) {
|
|
56
|
+
return `const __URL__ = ${JSON.stringify(virtualUrl.url)}; export default __URL__;`;
|
|
57
|
+
}
|
|
58
|
+
return `const __URL__ = ${JSON.stringify(virtualUrl.url)};
|
|
59
|
+
if (typeof(global)!=="undefined") {
|
|
60
|
+
if (global.jopiAddVirtualUrl) global.jopiAddVirtualUrl(${JSON.stringify(virtualUrl)}, false);
|
|
61
|
+
} else {
|
|
62
|
+
if (window.jopiAddVirtualUrl) window.jopiAddVirtualUrl(${JSON.stringify(virtualUrl)}, false);
|
|
63
|
+
}
|
|
64
|
+
export default __URL__;`;
|
|
65
|
+
}
|
|
66
|
+
async function transform_json(filePath) {
|
|
67
|
+
const resText = await jk_fs.readTextFromFile(filePath);
|
|
68
|
+
return `export default ${resText};`;
|
|
69
|
+
}
|
|
70
|
+
async function transform_raw(filePath) {
|
|
71
|
+
let ext = path.extname(filePath);
|
|
72
|
+
let type = supportedExtensionToType[ext];
|
|
73
|
+
if (!type)
|
|
74
|
+
type = "text";
|
|
75
|
+
let resText;
|
|
76
|
+
if ((type === "text") || (type === "css")) {
|
|
77
|
+
resText = await jk_fs.readTextFromFile(filePath);
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
const buffer = await fs.readFile(filePath);
|
|
81
|
+
// Here there is no the prefix "data:image/jpeg;base64".
|
|
82
|
+
// It's the difference with the "?inline" option.
|
|
83
|
+
//
|
|
84
|
+
resText = buffer.toString('base64');
|
|
85
|
+
}
|
|
86
|
+
return `export default ${JSON.stringify(resText)};`;
|
|
87
|
+
}
|
|
88
|
+
async function transform_inline(filePath) {
|
|
89
|
+
let ext = path.extname(filePath);
|
|
90
|
+
let type = supportedExtensionToType[ext];
|
|
91
|
+
if (!type)
|
|
92
|
+
type = "text";
|
|
93
|
+
let resText;
|
|
94
|
+
if ((type === "text") || (type === "css")) {
|
|
95
|
+
resText = await jk_fs.readTextFromFile(filePath);
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
const config = getPackageJsonConfig();
|
|
99
|
+
let maxSize = config ? config.inlineMaxSize_ko : INLINE_MAX_SIZE_KO;
|
|
100
|
+
let fileSize = Math.trunc(await jk_fs.getFileSize(filePath) / 1024);
|
|
101
|
+
if (fileSize > maxSize) {
|
|
102
|
+
return transform_filePath(filePath);
|
|
103
|
+
}
|
|
104
|
+
const buffer = await fs.readFile(filePath);
|
|
105
|
+
const mimeType = jk_fs.getMimeTypeFromName(filePath);
|
|
106
|
+
// Here there is no the prefix "data:image/jpeg;base64".
|
|
107
|
+
// It's the difference with the "?inline" option.
|
|
108
|
+
//
|
|
109
|
+
resText = buffer.toString('base64');
|
|
110
|
+
resText = `data:${mimeType};base64,${resText}`;
|
|
111
|
+
}
|
|
112
|
+
return `export default ${JSON.stringify(resText)};`;
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=transform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../../src/@loader-tools/transform.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface VirtualUrlEntry {
|
|
2
|
+
url: string;
|
|
3
|
+
route: string;
|
|
4
|
+
sourceFile: string;
|
|
5
|
+
bundleFile?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function getVirtualUrlMap(): VirtualUrlEntry[];
|
|
8
|
+
export declare function addVirtualUrlEntry(entry: VirtualUrlEntry): void;
|
|
9
|
+
export declare function getVirtualUrlForFile(filePath: string): VirtualUrlEntry | undefined;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { getPackageJsonConfig } from "./config.js";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import * as jk_events from "jopi-toolkit/jk_events";
|
|
4
|
+
import * as jk_crypto from "jopi-toolkit/jk_crypto";
|
|
5
|
+
const gVirtualUrlMap = [];
|
|
6
|
+
export function getVirtualUrlMap() {
|
|
7
|
+
return gVirtualUrlMap;
|
|
8
|
+
}
|
|
9
|
+
export function addVirtualUrlEntry(entry) {
|
|
10
|
+
gVirtualUrlMap.push(entry);
|
|
11
|
+
jk_events.sendEvent("jopi.virtualUrl.added", entry);
|
|
12
|
+
}
|
|
13
|
+
export function getVirtualUrlForFile(filePath) {
|
|
14
|
+
// Avoid creating a second entry if already exist.
|
|
15
|
+
const existing = gVirtualUrlMap.find(e => e.sourceFile === filePath);
|
|
16
|
+
//
|
|
17
|
+
if (existing) {
|
|
18
|
+
return existing;
|
|
19
|
+
}
|
|
20
|
+
const config = getPackageJsonConfig();
|
|
21
|
+
let route = path.relative(process.cwd(), filePath);
|
|
22
|
+
route = config.webResourcesRoot_SSR + jk_crypto.md5(route) + path.extname(filePath);
|
|
23
|
+
const entry = {
|
|
24
|
+
// Use an url relative to the url base path.
|
|
25
|
+
url: "/" + route,
|
|
26
|
+
route: "/" + route,
|
|
27
|
+
sourceFile: filePath
|
|
28
|
+
};
|
|
29
|
+
addVirtualUrlEntry(entry);
|
|
30
|
+
return entry;
|
|
31
|
+
}
|
|
32
|
+
// @ts-ignore
|
|
33
|
+
global.jopiAddVirtualUrl = (e) => {
|
|
34
|
+
addVirtualUrlEntry(e);
|
|
35
|
+
};
|
|
36
|
+
// @ts-ignore
|
|
37
|
+
global.jopiAddVirtualUrlFor = (filePath) => {
|
|
38
|
+
getVirtualUrlForFile(filePath);
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=virtualUrl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"virtualUrl.js","sourceRoot":"","sources":["../../src/@loader-tools/virtualUrl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,aAAa,CAAC;AACjD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AASpD,MAAM,cAAc,GAAsB,EAAE,CAAC;AAE7C,MAAM,UAAU,gBAAgB;IAC5B,OAAO,cAAc,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAsB;IACrD,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,SAAS,CAAC,SAAS,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACjD,kDAAkD;IAClD,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC;IACrE,EAAE;IACF,IAAI,QAAQ,EAAE,CAAC;QACX,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAC;IAEtC,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;IACnD,KAAK,GAAG,MAAM,CAAC,oBAAoB,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEpF,MAAM,KAAK,GAAoB;QAC3B,4CAA4C;QAC5C,GAAG,EAAE,GAAG,GAAG,KAAK;QAEhB,KAAK,EAAE,GAAG,GAAG,KAAK;QAClB,UAAU,EAAE,QAAQ;KACvB,CAAC;IAEF,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC1B,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,aAAa;AACb,MAAM,CAAC,iBAAiB,GAAG,CAAC,CAAkB,EAAE,EAAE;IAC9C,kBAAkB,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAA;AAED,aAAa;AACb,MAAM,CAAC,oBAAoB,GAAG,CAAC,QAAgB,EAAE,EAAE;IAC/C,oBAAoB,CAAC,QAAQ,CAAC,CAAC;AACnC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function useEngine(engine: string): void;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jopiLauncherTool } from "jopijs/loader-tools";
|
|
2
|
+
const VERSION = "2.0.0";
|
|
3
|
+
export function useEngine(engine) {
|
|
4
|
+
if (process.env.JOPI_LOG === "1") {
|
|
5
|
+
console.log("JopiN - Loader Version" + VERSION + " - engine=" + engine);
|
|
6
|
+
}
|
|
7
|
+
jopiLauncherTool(engine).then();
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/@tool-jopinb/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,qBAAqB,CAAC;AAErD,MAAM,OAAO,GAAG,OAAO,CAAC;AAExB,MAAM,UAAU,SAAS,CAAC,MAAc;IACpC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAG,GAAG,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,wBAAwB,GAAG,OAAO,GAAG,YAAY,GAAG,MAAM,CAAC,CAAC;IAC5E,CAAC;IAED,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;AACpC,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
type CompositeRenderer = (name: string) => React.ReactElement;
|
|
3
|
+
/**
|
|
4
|
+
* -- Do not use --
|
|
5
|
+
* Allows the server part to hook the composite renderer used.
|
|
6
|
+
*/
|
|
7
|
+
export declare function _setCompositeRenderer(r: CompositeRenderer): void;
|
|
8
|
+
/**
|
|
9
|
+
* This component allows inserting the value of a 'composite'.
|
|
10
|
+
* A composite is an extension point for your UI, it allows
|
|
11
|
+
* inserting a thing into a region of your UI by extending his
|
|
12
|
+
* content through plugins.
|
|
13
|
+
*
|
|
14
|
+
* Composites are not defined through API!!!
|
|
15
|
+
* When declaring a module, the engine scans your folder uiComposites.
|
|
16
|
+
*
|
|
17
|
+
* Example:
|
|
18
|
+
* `/modules/myModule/uiComposite/page.logInError/extA.extension.tsx`
|
|
19
|
+
* - `page.logInError` is the name of the composite you extend.
|
|
20
|
+
* - `extA` is the name of the extension point (it has no usage).
|
|
21
|
+
*
|
|
22
|
+
* Inside `extA.extension.tsx` the default export is the component to insert.
|
|
23
|
+
*/
|
|
24
|
+
export declare function Composite({ name }: {
|
|
25
|
+
name: string;
|
|
26
|
+
}): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
|
|
27
|
+
export {};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { _usePage } from "./hooks.js";
|
|
4
|
+
function defaultCompositeRenderer() {
|
|
5
|
+
return _jsx(_Fragment, {});
|
|
6
|
+
}
|
|
7
|
+
function resolveCompositeRenderer() {
|
|
8
|
+
let bound = globalThis["_JOPI_COMPOSITE_RENDERER_"];
|
|
9
|
+
if (bound)
|
|
10
|
+
return bound;
|
|
11
|
+
return defaultCompositeRenderer;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* -- Do not use --
|
|
15
|
+
* Allows the server part to hook the composite renderer used.
|
|
16
|
+
*/
|
|
17
|
+
export function _setCompositeRenderer(r) {
|
|
18
|
+
gCompositeRenderer = r;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* This component allows inserting the value of a 'composite'.
|
|
22
|
+
* A composite is an extension point for your UI, it allows
|
|
23
|
+
* inserting a thing into a region of your UI by extending his
|
|
24
|
+
* content through plugins.
|
|
25
|
+
*
|
|
26
|
+
* Composites are not defined through API!!!
|
|
27
|
+
* When declaring a module, the engine scans your folder uiComposites.
|
|
28
|
+
*
|
|
29
|
+
* Example:
|
|
30
|
+
* `/modules/myModule/uiComposite/page.logInError/extA.extension.tsx`
|
|
31
|
+
* - `page.logInError` is the name of the composite you extend.
|
|
32
|
+
* - `extA` is the name of the extension point (it has no usage).
|
|
33
|
+
*
|
|
34
|
+
* Inside `extA.extension.tsx` the default export is the component to insert.
|
|
35
|
+
*/
|
|
36
|
+
export function Composite({ name }) {
|
|
37
|
+
if (!gCompositeRenderer)
|
|
38
|
+
gCompositeRenderer = resolveCompositeRenderer();
|
|
39
|
+
return gCompositeRenderer(name);
|
|
40
|
+
}
|
|
41
|
+
let gCompositeRenderer;
|
|
42
|
+
//# sourceMappingURL=components.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components.js","sourceRoot":"","sources":["../../src/@ui/components.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAa,CAAC;AAMrC,SAAS,wBAAwB;IAC7B,OAAO,mBAAK,CAAC;AACjB,CAAC;AAED,SAAS,wBAAwB;IAC7B,IAAI,KAAK,GAAI,UAAkB,CAAC,2BAA2B,CAAC,CAAC;IAC7D,IAAI,KAAK;QAAE,OAAO,KAA0B,CAAC;IAC7C,OAAO,wBAAwB,CAAC;AACpC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,CAAoB;IACtD,kBAAkB,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,SAAS,CAAC,EAAC,IAAI,EAAiB;IAC5C,IAAI,CAAC,kBAAkB;QAAE,kBAAkB,GAAG,wBAAwB,EAAE,CAAC;IACzE,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,IAAI,kBAA+C,CAAC"}
|