jopijs 3.0.16 → 3.1.22
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 +49 -71
- package/bin/jopib.js +1 -2
- package/bin/jopin.js +19 -2
- package/dist/@bundler/core.js +2 -6
- package/dist/@bundler/core.js.map +1 -1
- package/dist/@bundler/esbuild.d.ts +0 -1
- package/dist/@bundler/esbuild.js +7 -6
- package/dist/@bundler/esbuild.js.map +1 -1
- package/dist/@bundler/plugins.js +7 -3
- package/dist/@bundler/plugins.js.map +1 -1
- package/dist/@core/PageComponent.js +14 -3
- package/dist/@core/PageComponent.js.map +1 -1
- package/dist/@core/bundler/bundler.d.ts +3 -3
- package/dist/@core/bundler/bundler.js +9 -9
- package/dist/@core/bundler/bundler.js.map +1 -1
- package/dist/@core/bundler/config.d.ts +1 -8
- package/dist/@core/bundler/config.js +7 -80
- package/dist/@core/bundler/config.js.map +1 -1
- package/dist/@core/bundler/pagesGenerator.js +31 -33
- package/dist/@core/bundler/pagesGenerator.js.map +1 -1
- package/dist/@core/bundler/server.d.ts +2 -2
- package/dist/@core/bundler/server.js +2 -2
- package/dist/@core/bundler/server.js.map +1 -1
- package/dist/@core/caches/SimpleFileCache.js +1 -7
- package/dist/@core/caches/SimpleFileCache.js.map +1 -1
- package/dist/@core/caches/webSiteMirrorCache.d.ts +1 -1
- package/dist/@core/caches/webSiteMirrorCache.js +12 -2
- package/dist/@core/caches/webSiteMirrorCache.js.map +1 -1
- package/dist/@core/dataSources.d.ts +17 -2
- package/dist/@core/dataSources.js +36 -18
- package/dist/@core/dataSources.js.map +1 -1
- package/dist/@core/index.d.ts +4 -6
- package/dist/@core/index.js +3 -5
- package/dist/@core/index.js.map +1 -1
- package/dist/@core/internalTools.js +0 -1
- package/dist/@core/internalTools.js.map +1 -1
- package/dist/@core/jopiApp.d.ts +392 -0
- package/dist/@core/{jopiEasy.js → jopiApp.js} +189 -274
- package/dist/@core/jopiApp.js.map +1 -0
- package/dist/@core/{jopiWebSite.d.ts → jopiCoreWebSite.d.ts} +96 -87
- package/dist/@core/{jopiWebSite.js → jopiCoreWebSite.js} +118 -66
- package/dist/@core/jopiCoreWebSite.js.map +1 -0
- package/dist/@core/jopiRequest.d.ts +473 -84
- package/dist/@core/jopiRequest.js +663 -196
- package/dist/@core/jopiRequest.js.map +1 -1
- package/dist/@core/jopiRouteConfig.d.ts +133 -0
- package/dist/@core/{routeConfig.js → jopiRouteConfig.js} +67 -21
- package/dist/@core/jopiRouteConfig.js.map +1 -0
- package/dist/@core/jopiServer.d.ts +2 -2
- package/dist/@core/jopiServer.js +3 -4
- package/dist/@core/jopiServer.js.map +1 -1
- package/dist/@core/letsEncrypt.d.ts +5 -5
- package/dist/@core/letsEncrypt.js +9 -9
- package/dist/@core/letsEncrypt.js.map +1 -1
- package/dist/@core/linker.d.ts +4 -4
- package/dist/@core/linker.js +2 -2
- package/dist/@core/linker.js.map +1 -1
- package/dist/@core/loadBalancing.d.ts +1 -1
- package/dist/@core/loadBalancing.js +1 -1
- package/dist/@core/loadBalancing.js.map +1 -1
- package/dist/@core/middlewares/CorsMiddleware.d.ts +1 -1
- package/dist/@core/middlewares/DdosProtection.d.ts +1 -1
- package/dist/@core/middlewares/DdosProtection.js +1 -1
- package/dist/@core/middlewares/DdosProtection.js.map +1 -1
- package/dist/@core/publicTools.d.ts +1 -1
- package/dist/@core/serverFetch.d.ts +1 -1
- package/dist/@core/serverFetch.js +3 -3
- package/dist/@core/serverFetch.js.map +1 -1
- package/dist/@core/serverImpl/server_bunjs.d.ts +2 -2
- package/dist/@core/serverImpl/server_bunjs.js +5 -4
- package/dist/@core/serverImpl/server_bunjs.js.map +1 -1
- package/dist/@core/serverImpl/server_nodejs.d.ts +2 -2
- package/dist/@core/serverImpl/server_nodejs.js +8 -6
- package/dist/@core/serverImpl/server_nodejs.js.map +1 -1
- package/dist/@core/serverInstanceBuilder.d.ts +2 -2
- package/dist/@core/serverInstanceBuilder.js +1 -1
- package/dist/@core/serverInstanceBuilder.js.map +1 -1
- package/dist/@core/userStores.d.ts +2 -2
- package/dist/@core/userStores.js +1 -1
- package/dist/@core/userStores.js.map +1 -1
- package/dist/@core/watcher.d.ts +1 -0
- package/dist/@core/watcher.js +52 -0
- package/dist/@core/watcher.js.map +1 -0
- package/dist/{@loader-tools/config.d.ts → @coreconfig/index.d.ts} +17 -9
- package/dist/@coreconfig/index.js +133 -0
- package/dist/@coreconfig/index.js.map +1 -0
- package/dist/@coreconfig/loadDotEnvFile.js +33 -0
- package/dist/@coreconfig/loadDotEnvFile.js.map +1 -0
- package/dist/@generated/index.d.ts +2 -31
- package/dist/@generated/index.js +2 -97
- package/dist/@generated/index.js.map +1 -1
- package/dist/@generated/pageData.d.ts +2 -0
- package/dist/@generated/pageData.js +24 -0
- package/dist/@generated/pageData.js.map +1 -0
- package/dist/@generated/routes.d.ts +37 -0
- package/dist/@generated/routes.js +105 -0
- package/dist/@generated/routes.js.map +1 -0
- package/dist/@linker/_logs.d.ts +3 -0
- package/dist/@linker/_logs.js +5 -0
- package/dist/@linker/_logs.js.map +1 -0
- package/dist/@linker/common.js +10 -3
- package/dist/@linker/common.js.map +1 -1
- package/dist/@linker/config.js +27 -7
- package/dist/@linker/config.js.map +1 -1
- package/dist/@linker/coreAliasTypes.d.ts +6 -2
- package/dist/@linker/coreAliasTypes.js +21 -7
- package/dist/@linker/coreAliasTypes.js.map +1 -1
- package/dist/@linker/dataCollector.d.ts +8 -0
- package/dist/@linker/dataCollector.js +23 -0
- package/dist/@linker/dataCollector.js.map +1 -0
- package/dist/@linker/engine.d.ts +22 -10
- package/dist/@linker/engine.js +146 -49
- package/dist/@linker/engine.js.map +1 -1
- package/dist/@linker/install.d.ts +2 -2
- package/dist/@linker/install.js +1 -1
- package/dist/@linker/install.js.map +1 -1
- package/dist/@linker/modInstaller.js +12 -4
- package/dist/@linker/modInstaller.js.map +1 -1
- package/dist/@linker/typeEvents.d.ts +9 -0
- package/dist/@linker/typeEvents.js +20 -1
- package/dist/@linker/typeEvents.js.map +1 -1
- package/dist/@linker/typeLib.d.ts +16 -0
- package/dist/@linker/typeLib.js +92 -0
- package/dist/@linker/typeLib.js.map +1 -0
- package/dist/@linker/typeRoutes.d.ts +14 -6
- package/dist/@linker/typeRoutes.js +278 -88
- package/dist/@linker/typeRoutes.js.map +1 -1
- package/dist/@linker/typeStyles.d.ts +6 -0
- package/dist/@linker/typeStyles.js +12 -0
- package/dist/@linker/typeStyles.js.map +1 -0
- package/dist/@linker/typeTable.js +9 -3
- package/dist/@linker/typeTable.js.map +1 -1
- package/dist/@linker/typeTranslation.js +4 -4
- package/dist/@linker/typeTranslation.js.map +1 -1
- package/dist/@linker/typeUI.d.ts +11 -0
- package/dist/@linker/typeUI.js +33 -0
- package/dist/@linker/typeUI.js.map +1 -0
- package/dist/@linker/typeUiComposite.d.ts +1 -0
- package/dist/@linker/typeUiComposite.js +5 -0
- package/dist/@linker/typeUiComposite.js.map +1 -1
- package/dist/@loader/nodeJsLoader.js +0 -10
- package/dist/@loader/nodeJsLoader.js.map +1 -1
- package/dist/@loader-tools/bunJsLoader.js +2 -24
- package/dist/@loader-tools/bunJsLoader.js.map +1 -1
- package/dist/@loader-tools/bunLoaderPlugin.d.ts +1 -0
- package/dist/@loader-tools/bunLoaderPlugin.js +50 -0
- package/dist/@loader-tools/bunLoaderPlugin.js.map +1 -0
- package/dist/@loader-tools/esBuildPlugin.d.ts +4 -1
- package/dist/@loader-tools/esBuildPlugin.js +65 -17
- package/dist/@loader-tools/esBuildPlugin.js.map +1 -1
- package/dist/@loader-tools/index.d.ts +1 -3
- package/dist/@loader-tools/index.js +1 -3
- package/dist/@loader-tools/index.js.map +1 -1
- package/dist/@loader-tools/nodeJsLoader.js +19 -13
- package/dist/@loader-tools/nodeJsLoader.js.map +1 -1
- package/dist/@loader-tools/tools.js +1 -1
- package/dist/@loader-tools/tools.js.map +1 -1
- package/dist/@loader-tools/transform.js +5 -5
- package/dist/@loader-tools/transform.js.map +1 -1
- package/dist/@loader-tools/virtualUrl.js +2 -2
- package/dist/@loader-tools/virtualUrl.js.map +1 -1
- package/dist/@modules/_logs.d.ts +1 -0
- package/dist/@modules/_logs.js +3 -0
- package/dist/@modules/_logs.js.map +1 -0
- package/dist/@modules/index.d.ts +44 -5
- package/dist/@modules/index.js +188 -114
- package/dist/@modules/index.js.map +1 -1
- package/dist/@postcss/cssModules.d.ts +7 -0
- package/dist/@postcss/cssModules.js +93 -0
- package/dist/@postcss/cssModules.js.map +1 -0
- package/dist/@postcss/globalCss.d.ts +19 -0
- package/dist/@postcss/globalCss.js +152 -0
- package/dist/@postcss/globalCss.js.map +1 -0
- package/dist/@postcss/index.d.ts +2 -0
- package/dist/@postcss/index.js +3 -0
- package/dist/@postcss/index.js.map +1 -0
- package/dist/@postcss/tailwinPlugin.d.ts +11 -0
- package/dist/@postcss/tailwinPlugin.js +43 -0
- package/dist/@postcss/tailwinPlugin.js.map +1 -0
- package/dist/@postcss/tools.d.ts +1 -0
- package/dist/@postcss/tools.js +20 -0
- package/dist/@postcss/tools.js.map +1 -0
- package/dist/@ui/cookies/interfaces.d.ts +7 -0
- package/dist/@ui/cookies/jBundler_ifBrowser.js +19 -3
- package/dist/@ui/cookies/jBundler_ifBrowser.js.map +1 -1
- package/dist/@ui/cookies/jBundler_ifServer.js +3 -6
- package/dist/@ui/cookies/jBundler_ifServer.js.map +1 -1
- package/dist/@ui/cssModules.d.ts +0 -4
- package/dist/@ui/cssModules.js +0 -5
- package/dist/@ui/cssModules.js.map +1 -1
- package/dist/@ui/events.d.ts +1 -0
- package/dist/@ui/events.js +5 -0
- package/dist/@ui/events.js.map +1 -0
- package/dist/@ui/hooks/common.d.ts +42 -0
- package/dist/@ui/hooks/common.js +36 -13
- package/dist/@ui/hooks/common.js.map +1 -1
- package/dist/@ui/hooks/jBundler_ifBrowser.d.ts +4 -1
- package/dist/@ui/hooks/jBundler_ifBrowser.js +137 -0
- package/dist/@ui/hooks/jBundler_ifBrowser.js.map +1 -1
- package/dist/@ui/hooks/jBundler_ifServer.d.ts +3 -16
- package/dist/@ui/hooks/jBundler_ifServer.js +14 -3
- package/dist/@ui/hooks/jBundler_ifServer.js.map +1 -1
- package/dist/@ui/htmlNode.d.ts +18 -0
- package/dist/@ui/htmlNode.js +33 -0
- package/dist/@ui/htmlNode.js.map +1 -0
- package/dist/@ui/index.d.ts +3 -2
- package/dist/@ui/index.js +3 -2
- package/dist/@ui/index.js.map +1 -1
- package/dist/@ui/interfaces.d.ts +1 -1
- package/dist/@ui/modules.d.ts +10 -8
- package/dist/@ui/modules.js +25 -10
- package/dist/@ui/modules.js.map +1 -1
- package/dist/@ui/pageController.d.ts +13 -12
- package/dist/@ui/pageController.js +66 -38
- package/dist/@ui/pageController.js.map +1 -1
- package/dist/@ui/pageModifier.d.ts +9 -9
- package/dist/@ui/pageModifier.js +16 -19
- package/dist/@ui/pageModifier.js.map +1 -1
- package/dist/@ui/valueStore.d.ts +27 -0
- package/dist/@ui/valueStore.js +60 -0
- package/dist/@ui/valueStore.js.map +1 -0
- package/dist/@watcher/index.d.ts +2 -0
- package/dist/@watcher/index.js +3 -0
- package/dist/@watcher/index.js.map +1 -0
- package/dist/@watcher/utils.d.ts +3 -0
- package/dist/@watcher/utils.js +53 -0
- package/dist/@watcher/utils.js.map +1 -0
- package/dist/@watcher/watcher.d.ts +54 -0
- package/dist/@watcher/watcher.js +152 -0
- package/dist/@watcher/watcher.js.map +1 -0
- package/package.json +41 -24
- package/src/@bundler/core.ts +2 -8
- package/src/@bundler/esbuild.ts +8 -7
- package/src/@bundler/plugins.ts +7 -3
- package/src/@core/PageComponent.tsx +17 -10
- package/src/@core/bundler/bundler.ts +13 -14
- package/src/@core/bundler/config.ts +8 -108
- package/src/@core/bundler/pagesGenerator.ts +39 -36
- package/src/@core/bundler/server.ts +4 -4
- package/src/@core/caches/SimpleFileCache.ts +1 -7
- package/src/@core/caches/webSiteMirrorCache.ts +15 -3
- package/src/@core/dataSources.ts +74 -25
- package/src/@core/index.ts +5 -8
- package/src/@core/internalTools.ts +1 -2
- package/src/@core/{jopiEasy.ts → jopiApp.ts} +305 -419
- package/src/@core/{jopiWebSite.tsx → jopiCoreWebSite.tsx} +309 -270
- package/src/@core/jopiRequest.tsx +777 -272
- package/src/@core/jopiRouteConfig.ts +217 -0
- package/src/@core/jopiServer.ts +5 -6
- package/src/@core/letsEncrypt.ts +16 -16
- package/src/@core/linker.ts +5 -5
- package/src/@core/loadBalancing.ts +1 -1
- package/src/@core/middlewares/CorsMiddleware.ts +1 -1
- package/src/@core/middlewares/DdosProtection.ts +2 -2
- package/src/@core/publicTools.ts +1 -1
- package/src/@core/serverFetch.ts +3 -3
- package/src/@core/serverImpl/server_bunjs.tsx +8 -7
- package/src/@core/serverImpl/server_nodejs.ts +12 -10
- package/src/@core/serverInstanceBuilder.ts +3 -3
- package/src/@core/userStores.ts +2 -2
- package/src/@core/watcher.ts +56 -0
- package/src/@coreconfig/index.ts +213 -0
- package/src/@coreconfig/loadDotEnvFile.ts +35 -0
- package/src/@generated/index.ts +2 -143
- package/src/@generated/pageData.ts +29 -0
- package/src/@generated/routes.ts +157 -0
- package/src/@linker/_logs.ts +5 -0
- package/src/@linker/common.ts +10 -3
- package/src/@linker/config.ts +29 -7
- package/src/@linker/coreAliasTypes.ts +30 -9
- package/src/@linker/dataCollector.ts +26 -0
- package/src/@linker/engine.ts +243 -121
- package/src/@linker/install.ts +2 -2
- package/src/@linker/modInstaller.ts +15 -5
- package/src/@linker/typeEvents.ts +25 -3
- package/src/@linker/typeLib.ts +114 -0
- package/src/@linker/typeRoutes.ts +370 -122
- package/src/@linker/typeStyles.ts +13 -0
- package/src/@linker/typeTable.ts +19 -4
- package/src/@linker/typeTranslation.ts +5 -4
- package/src/@linker/typeUI.ts +45 -0
- package/src/@linker/typeUiComposite.ts +6 -0
- package/src/@loader/{bunHtmlCompiler.mjs → bunHmrPlugin.mjs} +4 -8
- package/src/@loader/bunLoaderPlugin.mjs +6 -0
- package/src/@loader/nodeJsLoader.ts +0 -11
- package/src/@loader-tools/bunJsLoader.ts +2 -28
- package/src/@loader-tools/bunLoaderPlugin.ts +61 -0
- package/src/@loader-tools/esBuildPlugin.ts +72 -20
- package/src/@loader-tools/index.ts +2 -3
- package/src/@loader-tools/nodeJsLoader.ts +24 -16
- package/src/@loader-tools/tools.ts +1 -1
- package/src/@loader-tools/transform.ts +5 -5
- package/src/@loader-tools/virtualUrl.ts +2 -2
- package/src/@modules/_logs.ts +3 -0
- package/src/@modules/index.ts +214 -121
- package/src/@postcss/cssModules.ts +109 -0
- package/src/@postcss/globalCss.ts +188 -0
- package/src/@postcss/index.ts +2 -0
- package/src/@postcss/tailwinPlugin.ts +44 -0
- package/src/@postcss/tools.ts +21 -0
- package/src/@ui/cookies/interfaces.ts +7 -0
- package/src/@ui/cookies/jBundler_ifBrowser.ts +15 -5
- package/src/@ui/cookies/jBundler_ifServer.ts +3 -6
- package/src/@ui/cssModules.tsx +0 -6
- package/src/@ui/events.ts +5 -0
- package/src/@ui/hooks/common.tsx +89 -15
- package/src/@ui/hooks/jBundler_ifBrowser.tsx +187 -7
- package/src/@ui/hooks/jBundler_ifServer.tsx +22 -22
- package/src/@ui/htmlNode.ts +48 -0
- package/src/@ui/index.ts +4 -3
- package/src/@ui/interfaces.ts +1 -1
- package/src/@ui/modules.ts +42 -23
- package/src/@ui/pageController.ts +79 -44
- package/src/@ui/pageModifier.tsx +17 -19
- package/src/@ui/valueStore.ts +96 -0
- package/src/@watcher/index.ts +2 -0
- package/src/@watcher/utils.ts +61 -0
- package/src/@watcher/watcher.ts +203 -0
- package/dist/@bundler/tailwind.d.ts +0 -2
- package/dist/@bundler/tailwind.js +0 -72
- package/dist/@bundler/tailwind.js.map +0 -1
- package/dist/@core/jopiEasy.d.ts +0 -303
- package/dist/@core/jopiEasy.js.map +0 -1
- package/dist/@core/jopiWebSite.js.map +0 -1
- package/dist/@core/loadDotEnvFile.js +0 -27
- package/dist/@core/loadDotEnvFile.js.map +0 -1
- package/dist/@core/routeConfig.d.ts +0 -80
- package/dist/@core/routeConfig.js.map +0 -1
- package/dist/@linker/jopiModulesTools.d.ts +0 -10
- package/dist/@linker/jopiModulesTools.js +0 -33
- package/dist/@linker/jopiModulesTools.js.map +0 -1
- package/dist/@linker/modulesTools.d.ts +0 -3
- package/dist/@linker/modulesTools.js +0 -3
- package/dist/@linker/modulesTools.js.map +0 -1
- package/dist/@loader-client/index.d.ts +0 -33
- package/dist/@loader-client/index.js +0 -98
- package/dist/@loader-client/index.js.map +0 -1
- package/dist/@loader-tools/config.js +0 -79
- package/dist/@loader-tools/config.js.map +0 -1
- package/dist/@loader-tools/cssModuleCompiler.d.ts +0 -5
- package/dist/@loader-tools/cssModuleCompiler.js +0 -65
- package/dist/@loader-tools/cssModuleCompiler.js.map +0 -1
- package/dist/@loader-tools/jopin.d.ts +0 -10
- package/dist/@loader-tools/jopin.js +0 -335
- package/dist/@loader-tools/jopin.js.map +0 -1
- package/dist/@loader-tools/sourceChangesWatcher.d.ts +0 -44
- package/dist/@loader-tools/sourceChangesWatcher.js +0 -196
- package/dist/@loader-tools/sourceChangesWatcher.js.map +0 -1
- package/dist/@modules/jopiModulesTools.d.ts +0 -7
- package/dist/@modules/jopiModulesTools.js +0 -31
- package/dist/@modules/jopiModulesTools.js.map +0 -1
- package/dist/@tool-jopinb/index.d.ts +0 -1
- package/dist/@tool-jopinb/index.js +0 -9
- package/dist/@tool-jopinb/index.js.map +0 -1
- package/dist/@ui/components.d.ts +0 -27
- package/dist/@ui/components.js +0 -41
- package/dist/@ui/components.js.map +0 -1
- package/dist/@ui/cookies/common.d.ts +0 -3
- package/dist/@ui/cookies/common.js +0 -2
- package/dist/@ui/cookies/common.js.map +0 -1
- package/dist/@ui/cookies/cookies.d.ts +0 -10
- package/dist/@ui/cookies/cookies.js +0 -56
- package/dist/@ui/cookies/cookies.js.map +0 -1
- package/dist/@ui/cookies/server.d.ts +0 -10
- package/dist/@ui/cookies/server.js +0 -56
- package/dist/@ui/cookies/server.js.map +0 -1
- package/dist/@ui/cookies.d.ts +0 -10
- package/dist/@ui/cookies.js +0 -56
- package/dist/@ui/cookies.js.map +0 -1
- package/dist/@ui/hooks/hooks.d.ts +0 -52
- package/dist/@ui/hooks/hooks.js +0 -115
- package/dist/@ui/hooks/hooks.js.map +0 -1
- package/dist/@ui/hooks.d.ts +0 -52
- package/dist/@ui/hooks.js +0 -115
- package/dist/@ui/hooks.js.map +0 -1
- package/dist/@ui/internal.d.ts +0 -2
- package/dist/@ui/internal.js +0 -9
- package/dist/@ui/internal.js.map +0 -1
- package/dist/@ui/objectRegistry.d.ts +0 -12
- package/dist/@ui/objectRegistry.js +0 -35
- package/dist/@ui/objectRegistry.js.map +0 -1
- package/dist/@ui/pageModifier.ts.d.ts +0 -13
- package/dist/@ui/pageModifier.ts.js +0 -30
- package/dist/@ui/pageModifier.ts.js.map +0 -1
- package/dist/@ui/tools.d.ts +0 -14
- package/dist/@ui/tools.js +0 -27
- package/dist/@ui/tools.js.map +0 -1
- package/dist/@uikit/core/UiKitModule.d.ts +0 -10
- package/dist/@uikit/core/UiKitModule.js +0 -57
- package/dist/@uikit/core/UiKitModule.js.map +0 -1
- package/dist/@uikit/core/index.d.ts +0 -1
- package/dist/@uikit/core/index.js +0 -4
- package/dist/@uikit/core/index.js.map +0 -1
- package/dist/@uikit/core/jBundler_ifBrowser.d.ts +0 -1
- package/dist/@uikit/core/jBundler_ifBrowser.js +0 -5
- package/dist/@uikit/core/jBundler_ifBrowser.js.map +0 -1
- package/dist/@uikit/core/jBundler_ifServer.d.ts +0 -6
- package/dist/@uikit/core/jBundler_ifServer.js +0 -17
- package/dist/@uikit/core/jBundler_ifServer.js.map +0 -1
- package/dist/@uikit/forms/components.d.ts +0 -19
- package/dist/@uikit/forms/components.js +0 -83
- package/dist/@uikit/forms/components.js.map +0 -1
- package/dist/@uikit/forms/hooks.d.ts +0 -4
- package/dist/@uikit/forms/hooks.js +0 -31
- package/dist/@uikit/forms/hooks.js.map +0 -1
- package/dist/@uikit/forms/index.d.ts +0 -3
- package/dist/@uikit/forms/index.js +0 -4
- package/dist/@uikit/forms/index.js.map +0 -1
- package/dist/@uikit/forms/interfaces.d.ts +0 -191
- package/dist/@uikit/forms/interfaces.js +0 -3
- package/dist/@uikit/forms/interfaces.js.map +0 -1
- package/dist/@uikit/forms/private.d.ts +0 -40
- package/dist/@uikit/forms/private.js +0 -307
- package/dist/@uikit/forms/private.js.map +0 -1
- package/dist/@uikit/helpers/hooks.d.ts +0 -33
- package/dist/@uikit/helpers/hooks.js +0 -107
- package/dist/@uikit/helpers/hooks.js.map +0 -1
- package/dist/@uikit/helpers/index.d.ts +0 -2
- package/dist/@uikit/helpers/index.js +0 -3
- package/dist/@uikit/helpers/index.js.map +0 -1
- package/dist/@uikit/helpers/tools.d.ts +0 -15
- package/dist/@uikit/helpers/tools.js +0 -60
- package/dist/@uikit/helpers/tools.js.map +0 -1
- package/dist/@uikit/index.d.ts +0 -11
- package/dist/@uikit/index.js +0 -14
- package/dist/@uikit/index.js.map +0 -1
- package/dist/@uikit/menu/core.d.ts +0 -58
- package/dist/@uikit/menu/core.js +0 -340
- package/dist/@uikit/menu/core.js.map +0 -1
- package/dist/@uikit/menu/hooks.d.ts +0 -5
- package/dist/@uikit/menu/hooks.js +0 -23
- package/dist/@uikit/menu/hooks.js.map +0 -1
- package/dist/@uikit/menu/index.d.ts +0 -3
- package/dist/@uikit/menu/index.js +0 -4
- package/dist/@uikit/menu/index.js.map +0 -1
- package/dist/@uikit/menu/interfaces.d.ts +0 -23
- package/dist/@uikit/menu/interfaces.js +0 -8
- package/dist/@uikit/menu/interfaces.js.map +0 -1
- package/dist/@uikit/menu/internal.d.ts +0 -2
- package/dist/@uikit/menu/internal.js +0 -11
- package/dist/@uikit/menu/internal.js.map +0 -1
- package/dist/@uikit/reactRouter/hooks/jBundler_ifBrowser.d.ts +0 -19
- package/dist/@uikit/reactRouter/hooks/jBundler_ifBrowser.js +0 -40
- package/dist/@uikit/reactRouter/hooks/jBundler_ifBrowser.js.map +0 -1
- package/dist/@uikit/reactRouter/hooks/jBundler_ifServer.d.ts +0 -29
- package/dist/@uikit/reactRouter/hooks/jBundler_ifServer.js +0 -35
- package/dist/@uikit/reactRouter/hooks/jBundler_ifServer.js.map +0 -1
- package/dist/@uikit/reactRouter/index.d.ts +0 -1
- package/dist/@uikit/reactRouter/index.js +0 -2
- package/dist/@uikit/reactRouter/index.js.map +0 -1
- package/dist/@uikit/table/JTable.d.ts +0 -3
- package/dist/@uikit/table/JTable.js +0 -251
- package/dist/@uikit/table/JTable.js.map +0 -1
- package/dist/@uikit/table/index.d.ts +0 -2
- package/dist/@uikit/table/index.js +0 -3
- package/dist/@uikit/table/index.js.map +0 -1
- package/dist/@uikit/table/interfaces.d.ts +0 -149
- package/dist/@uikit/table/interfaces.js +0 -5
- package/dist/@uikit/table/interfaces.js.map +0 -1
- package/dist/@uikit/users/hooks.d.ts +0 -17
- package/dist/@uikit/users/hooks.js +0 -56
- package/dist/@uikit/users/hooks.js.map +0 -1
- package/dist/@uikit/users/index.d.ts +0 -1
- package/dist/@uikit/users/index.js +0 -2
- package/dist/@uikit/users/index.js.map +0 -1
- package/dist/@uikit/variants/index.d.ts +0 -4
- package/dist/@uikit/variants/index.js +0 -14
- package/dist/@uikit/variants/index.js.map +0 -1
- package/src/@bundler/tailwind.ts +0 -83
- package/src/@core/loadDotEnvFile.ts +0 -28
- package/src/@core/routeConfig.ts +0 -163
- package/src/@loader-client/README.md +0 -2
- package/src/@loader-client/index.ts +0 -108
- package/src/@loader-tools/config.ts +0 -142
- package/src/@loader-tools/cssModuleCompiler.ts +0 -76
- package/src/@loader-tools/jopin.ts +0 -408
- package/src/@loader-tools/sourceChangesWatcher.ts +0 -239
- package/src/@tool-jopinb/README.md +0 -1
- package/src/@tool-jopinb/index.ts +0 -11
- package/src/@ui/components.tsx +0 -48
- package/src/@ui/objectRegistry.ts +0 -50
- package/src/@uikit/README.md +0 -1
- package/src/@uikit/core/UiKitModule.ts +0 -70
- package/src/@uikit/core/index.ts +0 -4
- package/src/@uikit/core/jBundler_ifBrowser.ts +0 -4
- package/src/@uikit/core/jBundler_ifServer.ts +0 -18
- package/src/@uikit/forms/components.tsx +0 -111
- package/src/@uikit/forms/hooks.ts +0 -38
- package/src/@uikit/forms/index.ts +0 -3
- package/src/@uikit/forms/interfaces.ts +0 -305
- package/src/@uikit/forms/private.ts +0 -365
- package/src/@uikit/helpers/hooks.ts +0 -133
- package/src/@uikit/helpers/index.ts +0 -2
- package/src/@uikit/helpers/tools.ts +0 -69
- package/src/@uikit/index.ts +0 -17
- package/src/@uikit/menu/core.ts +0 -411
- package/src/@uikit/menu/hooks.ts +0 -27
- package/src/@uikit/menu/index.ts +0 -3
- package/src/@uikit/menu/interfaces.ts +0 -29
- package/src/@uikit/menu/internal.ts +0 -13
- package/src/@uikit/package.json +0 -15
- package/src/@uikit/reactRouter/hooks/jBundler_ifBrowser.tsx +0 -60
- package/src/@uikit/reactRouter/hooks/jBundler_ifServer.tsx +0 -52
- package/src/@uikit/reactRouter/index.ts +0 -1
- package/src/@uikit/table/JTable.tsx +0 -313
- package/src/@uikit/table/index.ts +0 -2
- package/src/@uikit/table/interfaces.ts +0 -209
- package/src/@uikit/users/hooks.ts +0 -65
- package/src/@uikit/users/index.ts +0 -1
- package/src/@uikit/variants/index.tsx +0 -16
- /package/dist/{@core → @coreconfig}/loadDotEnvFile.d.ts +0 -0
package/README.md
CHANGED
|
@@ -1,101 +1,79 @@
|
|
|
1
|
-
|
|
1
|
+
# <p align="center"><img src="https://jopijs.com/logo.svg" alt="JopiJS Logo" width="120" /></p>
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
# <p align="center">JopiJS</p>
|
|
4
4
|
|
|
5
|
-
Its operating principle is very similar to Next.js, with a file based router, and React Server Side Rendering.
|
|
6
5
|
|
|
7
|
-
|
|
6
|
+
<p align="center">
|
|
7
|
+
<strong>The Next.js clone built for speed and simplicity.</strong><br />
|
|
8
|
+
A Bun-native framework with full <strong>Node.js compatibility</strong> for high-performance React applications.
|
|
9
|
+
</p>
|
|
8
10
|
|
|
9
|
-
>
|
|
10
|
-
|
|
11
|
+
<p align="center">
|
|
12
|
+
<a href="https://jopijs.com"><strong>Website</strong></a> ·
|
|
13
|
+
<a href="https://github.com/jopijs/jopijs"><strong>GitHub</strong></a> ·
|
|
14
|
+
<a href="https://www.youtube.com/@jopijs"><strong>YouTube</strong></a>
|
|
15
|
+
</p>
|
|
11
16
|
|
|
12
|
-
|
|
17
|
+
---
|
|
13
18
|
|
|
14
|
-
|
|
15
|
-
* Inclusion of a **Docker script** to quickly convert your project into a very lightweight Docker VM.
|
|
16
|
-
* Built-in **JWT authentication** with the ability to easily create a user directory: a minimalist system that is easy to understand and extend for your own needs.
|
|
17
|
-
* **User role-based security** is included. It allows limiting access to certain resources and customizing behavior according to user roles.
|
|
18
|
-
* Simple but powerful **module system** :
|
|
19
|
-
* Allow sharing React components.
|
|
20
|
-
* Allows a module to override a shared component.
|
|
21
|
-
* Allows modules to communicate with each other (event/listeners pattern).
|
|
22
|
-
* Allows modules to extend a toolbar-like component.
|
|
23
|
-
* Modules to override an existing route.
|
|
19
|
+
## 🚀 What is JopiJS?
|
|
24
20
|
|
|
21
|
+
JopiJS is a high-performance framework inspired by Next.js, built on top of **Bun.js** (and compatible with **Node.js**) and **React**. It brings the familiar developer experience of file-based routing and Server Side Rendering (SSR), but with a core re-engineered for absolute speed.
|
|
25
22
|
|
|
26
|
-
|
|
23
|
+
### Key highlights:
|
|
24
|
+
- ⚡ **Turbocharged Performance**: Up to **6.5x faster** than Next.js (and **2x faster** in Node.js mode) thanks to an advanced automatic caching engine.
|
|
25
|
+
- 🧩 **Modular Architecture**: A powerful plugin system that allows you to extend or override any part of the framework without touching the core code.
|
|
26
|
+
- 🛠️ **Developer Experience (DX)**: Built-in Tailwind CSS, ShadCN UI support, and instant Hot Module Replacement (React HMR).
|
|
27
|
+
- 🛡️ **Enterprise Ready**: Baked-in JWT authentication and Role-Based Access Control (RBAC).
|
|
27
28
|
|
|
28
|
-
|
|
29
|
+
---
|
|
29
30
|
|
|
30
|
-
|
|
31
|
-
You can also visit the YouTube page for video tutorials [link](https://www.youtube.com/@jopijs)
|
|
31
|
+
## ✨ Features
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
- **Blazing Fast Bundler**: Starts in less than 0.5s, even with thousands of pages.
|
|
34
|
+
- **Automatic Caching**: Drastic SQL optimization and HTML caching for lightning-fast loads.
|
|
35
|
+
- **Total Customization**: The module system allows for clean refactoring and easy overrides.
|
|
36
|
+
- **Type-Safe I18n**: Auto-generated TypeScript definitions for your translation keys.
|
|
37
|
+
- **Docker Ready**: Includes scripts to containerize your app into a lightweight VM in seconds.
|
|
35
38
|
|
|
36
|
-
|
|
39
|
+
---
|
|
37
40
|
|
|
38
|
-
|
|
39
|
-
[The 4 initialization files.](_doc/basic/init_files.md)
|
|
41
|
+
## 🏗️ Architecture
|
|
40
42
|
|
|
41
|
-
|
|
42
|
-
[Use parameterized urls.](_doc/basic/use_parametred_url.md)
|
|
43
|
-
[Use catch-all urls.](_doc/basic/use_catchall_url.md)
|
|
44
|
-
[Override an existing route.](_doc/basic/override_an_existing_route.md)
|
|
45
|
-
[The 'public' dir](_doc/basic/the_public_dir.md)
|
|
43
|
+
JopiJS follows a "Core + Plugins" philosophy. Everything from authentication to UI modules can be packaged as a plugin, making big websites much easier to maintain and refactor.
|
|
46
44
|
|
|
47
|
-
|
|
48
|
-
[Enable HTTPS.](_doc/basic/enable_https.md)
|
|
49
|
-
[Enable CORS.](_doc/basic/use_cors_middleware.md)
|
|
50
|
-
[Manage trailing slashs.](_doc/basic/manage_trailing_slashs.md)
|
|
45
|
+
---
|
|
51
46
|
|
|
52
|
-
|
|
53
|
-
[Use with a reverse-proxy.](_doc/basic/use_with_reverse_proxy.md)
|
|
54
|
-
[Use the page cache.](_doc/basic/use_page_cache.md)
|
|
47
|
+
## 🚦 Getting Started
|
|
55
48
|
|
|
56
|
-
|
|
49
|
+
The easiest way to start with JopiJS is via the CLI:
|
|
57
50
|
|
|
58
|
-
|
|
51
|
+
```bash
|
|
52
|
+
npx jopi init
|
|
53
|
+
```
|
|
59
54
|
|
|
60
|
-
|
|
61
|
-
[Use Tailwind CSS.](_doc/react/use_tailwind_css.md)
|
|
55
|
+
Visit our [Documentation](https://jopijs.com/docs) for full instructions.
|
|
62
56
|
|
|
63
|
-
|
|
64
|
-
[Use a CSS module.](_doc/react/use_css_modules.md)
|
|
65
|
-
[Import an image.](_doc/react/import_image.md)
|
|
57
|
+
---
|
|
66
58
|
|
|
67
|
-
|
|
68
|
-
[Use menus.](_doc/react/use_menus.md)
|
|
59
|
+
## 📺 Learn More
|
|
69
60
|
|
|
70
|
-
|
|
61
|
+
Watch our tutorials and benchmarks on YouTube to see JopiJS in action:
|
|
71
62
|
|
|
72
|
-
[
|
|
63
|
+
[](https://www.youtube.com/@jopijs)
|
|
73
64
|
|
|
74
|
-
|
|
75
|
-
[Replace an already shared component.](_doc/module/replace_shared_component.md)
|
|
65
|
+
---
|
|
76
66
|
|
|
77
|
-
|
|
78
|
-
[Communicate between modules.](_doc/module/communicate_between_modules.md)
|
|
67
|
+
## 🤝 Support & Community
|
|
79
68
|
|
|
80
|
-
|
|
69
|
+
- **Star our GitHub**: [jopijs/jopijs](https://github.com/jopijs/jopijs)
|
|
70
|
+
- **Website**: [jopijs.com](https://jopijs.com)
|
|
71
|
+
- **YouTube**: [@jopijs](https://www.youtube.com/@jopijs)
|
|
81
72
|
|
|
82
|
-
|
|
83
|
-
[Create an HTML response with React](_doc/request/returns_html_with_react.md)
|
|
73
|
+
---
|
|
84
74
|
|
|
85
|
-
|
|
86
|
-
[Handle received files.](_doc/request/manage_received_files.md)
|
|
87
|
-
[Validate input data.](_doc/request/check_received_data.md)
|
|
88
|
-
[Return files.](_doc/request/return_files.md)
|
|
75
|
+
## ⚖️ License
|
|
89
76
|
|
|
90
|
-
|
|
77
|
+
This project is licensed under the **MIT License**.
|
|
91
78
|
|
|
92
|
-
|
|
93
|
-
[Authenticate a user.](_doc/users/login_the_user.md)
|
|
94
|
-
|
|
95
|
-
[Know the user and their roles.](_doc/users/known_user_and_roles.md)
|
|
96
|
-
[Restrict access by roles.](_doc/users/limit_access_to_roles.md)
|
|
97
|
-
|
|
98
|
-
### Other
|
|
99
|
-
|
|
100
|
-
[Using fetch and auto-starting server](_doc/others/use_fetch_and_autostart.md)
|
|
101
|
-
[Crawling a website to a flat one](_doc/others/crawling_to_flat_website.md)
|
|
79
|
+
*Made with passion by a freelancer in France 🇫🇷*
|
package/bin/jopib.js
CHANGED
package/bin/jopin.js
CHANGED
|
@@ -1,4 +1,21 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
import
|
|
4
|
-
|
|
3
|
+
// >>> Launch node.js with parameters --import jopijs/loader --loader jopijs/loader/loader.mjs --no-warnings
|
|
4
|
+
|
|
5
|
+
import { spawn } from 'child_process';
|
|
6
|
+
|
|
7
|
+
const args = [
|
|
8
|
+
'--import', 'jopijs/loader',
|
|
9
|
+
'--loader', 'jopijs/loader/loader.mjs',
|
|
10
|
+
'--no-warnings',
|
|
11
|
+
...process.argv.slice(2)
|
|
12
|
+
];
|
|
13
|
+
|
|
14
|
+
const child = spawn(process.execPath, args, {
|
|
15
|
+
stdio: 'inherit',
|
|
16
|
+
env: process.env
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
child.on('close', (code) => {
|
|
20
|
+
process.exit(code);
|
|
21
|
+
});
|
package/dist/@bundler/core.js
CHANGED
|
@@ -1,15 +1,11 @@
|
|
|
1
|
-
import * as jk_fs from "jopi-toolkit/jk_fs";
|
|
2
1
|
import * as jk_events from "jopi-toolkit/jk_events";
|
|
3
|
-
import {
|
|
2
|
+
import { getWebSiteConfig } from "jopijs/coreconfig";
|
|
4
3
|
import { esBuildBundle } from "./esbuild.js";
|
|
5
4
|
async function createBundle(params) {
|
|
6
5
|
const config = params.config;
|
|
7
|
-
// Load the metadata generated.
|
|
8
|
-
const metaDataFilePath = jk_fs.join(params.genDir, "esbuildMeta.json");
|
|
9
6
|
process.env.JOPI_BUNLDER_ESBUILD = "1";
|
|
10
7
|
try {
|
|
11
8
|
await esBuildBundle({
|
|
12
|
-
metaDataFilePath,
|
|
13
9
|
dontEmbed: config.embed.dontEmbedThis,
|
|
14
10
|
...params
|
|
15
11
|
});
|
|
@@ -22,7 +18,7 @@ jk_events.addListener("@jopi.bundler.createBundle", jk_events.EventPriority.very
|
|
|
22
18
|
// For React HMR, creating the full bundle is not required
|
|
23
19
|
// and will only slow down the startup.
|
|
24
20
|
//
|
|
25
|
-
if (
|
|
21
|
+
if (getWebSiteConfig().hasReactHmrFlag)
|
|
26
22
|
return;
|
|
27
23
|
// Will compile all the pages.
|
|
28
24
|
await createBundle(params);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/@bundler/core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/@bundler/core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAC,aAAa,EAAC,MAAM,cAAc,CAAC;AAE3C,KAAK,UAAU,YAAY,CAAC,MAA0B;IAClD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAE7B,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,GAAG,CAAC;IAEvC,IAAI,CAAC;QACD,MAAM,aAAa,CAAC;YAChB,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,aAAa;YACrC,GAAG,MAAM;SACZ,CAAC,CAAC;IACP,CAAC;YACO,CAAC;QACL,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;IAC5C,CAAC;AACL,CAAC;AAED,SAAS,CAAC,WAAW,CAAC,4BAA4B,EAAE,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,MAA0B,EAAE,EAAE;IACtH,0DAA0D;IAC1D,uCAAuC;IACvC,EAAE;IACF,IAAI,gBAAgB,EAAE,CAAC,eAAe;QAAE,OAAO;IAE/C,8BAA8B;IAC9B,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEH,SAAS,CAAC,WAAW,CAAC,mCAAmC,EAAE,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,MAA0B,EAAE,EAAE;IAC7H,iEAAiE;IACjE,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC"}
|
package/dist/@bundler/esbuild.js
CHANGED
|
@@ -2,7 +2,9 @@ import esbuild, {} from "esbuild";
|
|
|
2
2
|
import * as jk_fs from "jopi-toolkit/jk_fs";
|
|
3
3
|
import * as n_what from "jopi-toolkit/jk_what";
|
|
4
4
|
import { jopiReplaceText, jopiLoaderPlugin, jopiDetectRebuild } from "./plugins.js";
|
|
5
|
-
import {
|
|
5
|
+
import { tailwindTransformGlobalCss } from "jopijs/postcss";
|
|
6
|
+
import { getWebSiteConfig } from "jopijs/coreconfig";
|
|
7
|
+
const gIsProduction = getWebSiteConfig().isProduction;
|
|
6
8
|
export async function esBuildBundle(params) {
|
|
7
9
|
// To know: will generate:
|
|
8
10
|
// * Some files out/page_xxxx.js, where each page is an "page.tsx".
|
|
@@ -22,7 +24,7 @@ export async function esBuildBundle(params) {
|
|
|
22
24
|
splitting: true,
|
|
23
25
|
plugins: [
|
|
24
26
|
jopiLoaderPlugin,
|
|
25
|
-
jopiReplaceText()
|
|
27
|
+
jopiReplaceText(),
|
|
26
28
|
],
|
|
27
29
|
loader: {
|
|
28
30
|
".css": "css",
|
|
@@ -46,9 +48,8 @@ export async function esBuildBundle(params) {
|
|
|
46
48
|
'.html': 'text',
|
|
47
49
|
'.md': 'text'
|
|
48
50
|
},
|
|
49
|
-
minify:
|
|
50
|
-
|
|
51
|
-
sourcemap: true,
|
|
51
|
+
minify: gIsProduction,
|
|
52
|
+
sourcemap: !gIsProduction,
|
|
52
53
|
// Will trigger an error on collision detection.
|
|
53
54
|
allowOverwrite: false,
|
|
54
55
|
// Produce metadata about the build.
|
|
@@ -63,7 +64,7 @@ export async function esBuildBundle(params) {
|
|
|
63
64
|
buildOptions.outdir = jk_fs.join(buildOptions.outdir, params.pageKey);
|
|
64
65
|
buildOptions.plugins?.push(jopiDetectRebuild(params));
|
|
65
66
|
}
|
|
66
|
-
await
|
|
67
|
+
await tailwindTransformGlobalCss(params);
|
|
67
68
|
const context = await esbuild.context(buildOptions);
|
|
68
69
|
let result = await context.rebuild();
|
|
69
70
|
if (params.singlePageMode) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"esbuild.js","sourceRoot":"","sources":["../../src/@bundler/esbuild.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,EAAE,EAAkB,MAAM,SAAS,CAAC;AAClD,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EAAC,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAC,MAAM,cAAc,CAAC;AAClF,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"esbuild.js","sourceRoot":"","sources":["../../src/@bundler/esbuild.ts"],"names":[],"mappings":"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"}
|
package/dist/@bundler/plugins.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import {} from "esbuild";
|
|
2
2
|
import fs from "node:fs/promises";
|
|
3
3
|
import path from "node:path";
|
|
4
|
-
import {
|
|
4
|
+
import { tailwindTransformGlobalCss } from "jopijs/postcss";
|
|
5
5
|
import * as jk_events from "jopi-toolkit/jk_events";
|
|
6
|
+
import * as jk_fs from "jopi-toolkit/jk_fs";
|
|
6
7
|
import { installEsBuildPlugins } from "jopijs/loader-tools";
|
|
7
8
|
import MagicString from 'magic-string';
|
|
8
9
|
import { SourceMapConsumer, SourceMapGenerator } from "source-map";
|
|
@@ -36,6 +37,7 @@ export function jopiReplaceText__Old() {
|
|
|
36
37
|
build.onLoad({ filter: /\.(tsx|jsx|ts|js)$/ }, async (args) => {
|
|
37
38
|
const oldContent = await fs.readFile(args.path, 'utf8');
|
|
38
39
|
let newContent = oldContent.replaceAll("jBundler_ifServer", "jBundler_ifBrowser");
|
|
40
|
+
newContent = newContent.replaceAll("JOPI_BUNDLER_UI_MODE", "default");
|
|
39
41
|
if (newContent === oldContent)
|
|
40
42
|
return undefined;
|
|
41
43
|
const useSourceMap = !!build.initialOptions.sourcemap;
|
|
@@ -46,6 +48,7 @@ export function jopiReplaceText__Old() {
|
|
|
46
48
|
const existingSourceMap = await getExistingSourceMap(args.path, oldContent);
|
|
47
49
|
const magic = new MagicString(oldContent, { filename: args.path });
|
|
48
50
|
magic.replaceAll("jBundler_ifServer", "jBundler_ifBrowser");
|
|
51
|
+
magic.replaceAll("JOPI_BUNDLER_UI_MODE", "default");
|
|
49
52
|
const map = magic.generateMap({
|
|
50
53
|
file: args.path,
|
|
51
54
|
source: path.basename(args.path),
|
|
@@ -97,6 +100,7 @@ export function jopiReplaceText() {
|
|
|
97
100
|
build.onLoad({ filter: /\.(tsx|jsx|ts|js)$/ }, async (args) => {
|
|
98
101
|
const oldContent = await fs.readFile(args.path, 'utf8');
|
|
99
102
|
let newContent = oldContent.replaceAll("jBundler_ifServer", "jBundler_ifBrowser");
|
|
103
|
+
newContent = newContent.replaceAll("JOPI_BUNDLER_UI_MODE", "default");
|
|
100
104
|
if (newContent === oldContent)
|
|
101
105
|
return undefined;
|
|
102
106
|
let loader = path.extname(args.path).toLowerCase().substring(1);
|
|
@@ -128,7 +132,7 @@ export function jopiDetectRebuild(params) {
|
|
|
128
132
|
// - Global mode: never occurs.
|
|
129
133
|
//
|
|
130
134
|
if (params.requireTailwind) {
|
|
131
|
-
await
|
|
135
|
+
await tailwindTransformGlobalCss(params);
|
|
132
136
|
}
|
|
133
137
|
if (params.singlePageMode) {
|
|
134
138
|
// This event will execute Jopi Linker.
|
|
@@ -154,7 +158,7 @@ export function jopiDetectRebuild(params) {
|
|
|
154
158
|
export const jopiLoaderPlugin = {
|
|
155
159
|
name: "jopi-loader",
|
|
156
160
|
setup(build) {
|
|
157
|
-
installEsBuildPlugins(build);
|
|
161
|
+
installEsBuildPlugins(build, "esbuild");
|
|
158
162
|
},
|
|
159
163
|
};
|
|
160
164
|
//# sourceMappingURL=plugins.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/@bundler/plugins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/@bundler/plugins.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,21 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import React from "react";
|
|
3
|
-
import { PageContext, PageController_ExposePrivate } from "jopijs/ui";
|
|
3
|
+
import { htmlNodesToText, PageContext, PageController_ExposePrivate } from "jopijs/ui";
|
|
4
4
|
import * as ReactServer from "react-dom/server";
|
|
5
5
|
export default function ({ children, controller }) {
|
|
6
|
-
|
|
6
|
+
let body = ReactServer.renderToStaticMarkup(_jsx(PageContext.Provider, { value: controller, children: children }));
|
|
7
7
|
const state = controller.getOptions();
|
|
8
|
-
|
|
8
|
+
body = "<div>" + body + "</div>";
|
|
9
|
+
if (state.bodyBegin) {
|
|
10
|
+
body = htmlNodesToText(state.bodyBegin) + body;
|
|
11
|
+
}
|
|
12
|
+
if (state.bodyEnd) {
|
|
13
|
+
body += htmlNodesToText(state.bodyEnd);
|
|
14
|
+
}
|
|
15
|
+
let headText = htmlNodesToText(state.head);
|
|
16
|
+
if (state.pageTitle !== undefined)
|
|
17
|
+
headText += `<title>${state.pageTitle}</title>`;
|
|
18
|
+
// noinspection HtmlRequiredTitleElement
|
|
19
|
+
return _jsxs("html", { ...state.htmlProps, children: [_jsx("head", { ...state.headProps, dangerouslySetInnerHTML: { __html: headText } }), _jsx("body", { ...state.bodyProps, dangerouslySetInnerHTML: { __html: body } })] });
|
|
9
20
|
}
|
|
10
21
|
//# sourceMappingURL=PageComponent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageComponent.js","sourceRoot":"","sources":["../../src/@core/PageComponent.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,WAAW,EAAE,4BAA4B,EAAC,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"PageComponent.js","sourceRoot":"","sources":["../../src/@core/PageComponent.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,eAAe,EAAE,WAAW,EAAE,4BAA4B,EAAC,MAAM,WAAW,CAAC;AACrF,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAEhD,MAAM,CAAC,OAAO,WAAU,EAAC,QAAQ,EAAE,UAAU,EAAqG;IAC9I,IAAI,IAAI,GAAG,WAAW,CAAC,oBAAoB,CACvC,KAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,UAAU,YAClC,QAAQ,GACU,CAC1B,CAAC;IAEF,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC;IAEtC,IAAI,GAAG,OAAO,GAAG,IAAI,GAAG,QAAQ,CAAC;IACjC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QAClB,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IACnD,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,IAAI,IAAI,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,KAAK,CAAC,SAAS,KAAG,SAAS;QAAE,QAAQ,IAAI,UAAU,KAAK,CAAC,SAAS,UAAU,CAAC;IAEjF,wCAAwC;IACxC,OAAO,mBAAU,KAAK,CAAC,SAAS,aAC5B,kBAAU,KAAK,CAAC,SAAS,EAAE,uBAAuB,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,GAC/D,EACP,kBAAU,KAAK,CAAC,SAAS,EAAE,uBAAuB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAI,IACrE,CAAA;AACX,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CoreWebSite } from "../jopiCoreWebSite.tsx";
|
|
2
2
|
import { type BundlerConfig } from "./config.ts";
|
|
3
3
|
import { type VirtualUrlEntry } from "jopijs/loader-tools";
|
|
4
4
|
export interface CreateBundleParams {
|
|
@@ -8,7 +8,7 @@ export interface CreateBundleParams {
|
|
|
8
8
|
outputDir: string;
|
|
9
9
|
genDir: string;
|
|
10
10
|
publicUrl: string;
|
|
11
|
-
webSite:
|
|
11
|
+
webSite: CoreWebSite;
|
|
12
12
|
config: BundlerConfig;
|
|
13
13
|
requireTailwind: boolean;
|
|
14
14
|
virtualUrlMap: VirtualUrlEntry[];
|
|
@@ -18,5 +18,5 @@ export interface CreateBundleParams {
|
|
|
18
18
|
pageExtraParams: any;
|
|
19
19
|
promise?: Promise<void>;
|
|
20
20
|
}
|
|
21
|
-
export declare function createBundle(webSite:
|
|
21
|
+
export declare function createBundle(webSite: CoreWebSite): Promise<void>;
|
|
22
22
|
export declare function createBundleForPage(pageKey: string, route: string): Promise<void>;
|
|
@@ -6,7 +6,7 @@ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExte
|
|
|
6
6
|
}
|
|
7
7
|
return path;
|
|
8
8
|
};
|
|
9
|
-
import {
|
|
9
|
+
import { CoreWebSite } from "../jopiCoreWebSite.js";
|
|
10
10
|
import * as jk_fs from "jopi-toolkit/jk_fs";
|
|
11
11
|
import * as jk_events from "jopi-toolkit/jk_events";
|
|
12
12
|
import { getBundleDirPath } from "./config.js";
|
|
@@ -14,10 +14,10 @@ import { getBundlerConfig } from "./config.js";
|
|
|
14
14
|
import { getExtraCssToBundle } from "./extraContent.js";
|
|
15
15
|
import { configureServer } from "./server.js";
|
|
16
16
|
import { getVirtualUrlMap } from "jopijs/loader-tools";
|
|
17
|
-
import {
|
|
17
|
+
import { getWebSiteConfig } from "jopijs/coreconfig";
|
|
18
18
|
import { logBundler } from "../_logs.js";
|
|
19
19
|
export async function createBundle(webSite) {
|
|
20
|
-
const genDir = getBundleDirPath(
|
|
20
|
+
const genDir = getBundleDirPath();
|
|
21
21
|
const outputDir = jk_fs.join(genDir, "out");
|
|
22
22
|
// Reset the dir.
|
|
23
23
|
await jk_fs.rmDir(genDir);
|
|
@@ -28,11 +28,11 @@ export async function createBundle(webSite) {
|
|
|
28
28
|
const requireTailwind = (getBundlerConfig().tailwind.disable) !== true;
|
|
29
29
|
const cssToImport = [...getExtraCssToBundle()];
|
|
30
30
|
if (requireTailwind)
|
|
31
|
-
cssToImport.push("./
|
|
31
|
+
cssToImport.push("./global.css");
|
|
32
32
|
// Bun has his own bundler system of development.
|
|
33
33
|
const config = getBundlerConfig();
|
|
34
34
|
gCreateBundleData = {
|
|
35
|
-
singlePageMode:
|
|
35
|
+
singlePageMode: getWebSiteConfig().isSinglePageMode,
|
|
36
36
|
outputDir, genDir, publicUrl, innerUrl, webSite, requireTailwind,
|
|
37
37
|
config: getBundlerConfig(), entryPoints: [...config.entryPoints],
|
|
38
38
|
virtualUrlMap: getVirtualUrlMap(),
|
|
@@ -41,8 +41,6 @@ export async function createBundle(webSite) {
|
|
|
41
41
|
await executeBundler(gCreateBundleData);
|
|
42
42
|
configureServer(outputDir);
|
|
43
43
|
}
|
|
44
|
-
let gCreateBundleData;
|
|
45
|
-
let gPageBundlerIsOk = {};
|
|
46
44
|
export async function createBundleForPage(pageKey, route) {
|
|
47
45
|
// Allow knowing of this page is already compiled.
|
|
48
46
|
if (gPageBundlerIsOk[pageKey])
|
|
@@ -73,7 +71,7 @@ async function executeBundler(params) {
|
|
|
73
71
|
// When using React HMR, we don't use the same bundler.
|
|
74
72
|
// (internally it's an optimized single-page mode).
|
|
75
73
|
// So, we don't need to compile the full bundle.
|
|
76
|
-
if (!
|
|
74
|
+
if (!gIsSinglePageMode) {
|
|
77
75
|
const endLog = logBundler.beginInfo("Bundling all pages");
|
|
78
76
|
// Will create the HTML pages.
|
|
79
77
|
await jk_events.sendAsyncEvent("@jopi.bundler.beforeCreateBundle", params);
|
|
@@ -81,7 +79,9 @@ async function executeBundler(params) {
|
|
|
81
79
|
endLog();
|
|
82
80
|
}
|
|
83
81
|
}
|
|
84
|
-
//
|
|
85
82
|
const FALLBACK_PACKAGE = "jopijs/bundler";
|
|
86
83
|
let gIsBundlerLoader = false;
|
|
84
|
+
let gIsSinglePageMode = getWebSiteConfig().isSinglePageMode;
|
|
85
|
+
let gCreateBundleData;
|
|
86
|
+
let gPageBundlerIsOk = {};
|
|
87
87
|
//# sourceMappingURL=bundler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundler.js","sourceRoot":"","sources":["../../../src/@core/bundler/bundler.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"bundler.js","sourceRoot":"","sources":["../../../src/@core/bundler/bundler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,8 @@
|
|
|
1
|
-
import type { Config as TailwindConfig } from 'tailwindcss';
|
|
2
1
|
import postcss from 'postcss';
|
|
3
|
-
import { type WebSite } from "../jopiWebSite.tsx";
|
|
4
2
|
export type PostCssInitializer = (sources: string[], tailwindPlugin: postcss.AcceptedPlugin | undefined) => postcss.AcceptedPlugin[];
|
|
5
3
|
export interface BundlerConfig {
|
|
6
4
|
tailwind: {
|
|
7
|
-
config?: TailwindConfig;
|
|
8
|
-
globalCssContent?: string;
|
|
9
|
-
globalCssFilePath?: string;
|
|
10
5
|
disable?: boolean;
|
|
11
|
-
extraSourceFiles?: string[];
|
|
12
6
|
};
|
|
13
7
|
postCss: {
|
|
14
8
|
initializer?: PostCssInitializer;
|
|
@@ -19,5 +13,4 @@ export interface BundlerConfig {
|
|
|
19
13
|
entryPoints: string[];
|
|
20
14
|
}
|
|
21
15
|
export declare function getBundlerConfig(): BundlerConfig;
|
|
22
|
-
export declare function getBundleDirPath(
|
|
23
|
-
export declare function getGlobalCssFileContent(config: BundlerConfig): Promise<string>;
|
|
16
|
+
export declare function getBundleDirPath(): string;
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import postcss from 'postcss';
|
|
2
|
-
import { WebSiteImpl } from "../jopiWebSite.js";
|
|
3
2
|
import path from "node:path";
|
|
4
|
-
import
|
|
5
|
-
import * as jk_app from "jopi-toolkit/jk_app";
|
|
3
|
+
import { getWebSiteConfig, jopiTempDir } from "jopijs/coreconfig";
|
|
6
4
|
const gBundlerConfig = {
|
|
7
5
|
tailwind: {},
|
|
8
6
|
postCss: {},
|
|
@@ -12,82 +10,11 @@ const gBundlerConfig = {
|
|
|
12
10
|
export function getBundlerConfig() {
|
|
13
11
|
return gBundlerConfig;
|
|
14
12
|
}
|
|
15
|
-
export function getBundleDirPath(
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
return path.join(gTempDirPath, webSiteHost);
|
|
13
|
+
export function getBundleDirPath() {
|
|
14
|
+
const config = getWebSiteConfig();
|
|
15
|
+
let webSiteHost = config.webSiteUrl;
|
|
16
|
+
webSiteHost = config.webSiteUrl.substring(webSiteHost.indexOf("://") + 3);
|
|
17
|
+
webSiteHost = webSiteHost.replaceAll(".", "_").replaceAll(":", "_");
|
|
18
|
+
return path.join(jopiTempDir, webSiteHost);
|
|
22
19
|
}
|
|
23
|
-
let gGlobalCssContent;
|
|
24
|
-
export async function getGlobalCssFileContent(config) {
|
|
25
|
-
if (gGlobalCssContent)
|
|
26
|
-
return gGlobalCssContent;
|
|
27
|
-
if (config.tailwind.globalCssContent) {
|
|
28
|
-
return config.tailwind.globalCssContent;
|
|
29
|
-
}
|
|
30
|
-
if (config.tailwind.globalCssFilePath) {
|
|
31
|
-
if (!await jk_fs.isFile(config.tailwind.globalCssFilePath)) {
|
|
32
|
-
throw new Error(`Tailwind - File not found where resolving 'global.css': ${config.tailwind.globalCssFilePath}`);
|
|
33
|
-
}
|
|
34
|
-
return jk_fs.readTextFromFile(config.tailwind.globalCssFilePath);
|
|
35
|
-
}
|
|
36
|
-
let rootDir = jk_fs.dirname(jk_app.findPackageJson());
|
|
37
|
-
let dirItems = await jk_fs.listDir(jk_fs.join(rootDir, "src"));
|
|
38
|
-
let globalCss = `/* Warning: generated file */`;
|
|
39
|
-
let coreGlobalCssPath = jk_fs.join(rootDir, "global.css");
|
|
40
|
-
if (await jk_fs.isFile(coreGlobalCssPath)) {
|
|
41
|
-
let content = await jk_fs.readTextFromFile(coreGlobalCssPath);
|
|
42
|
-
globalCss += "\n\n/* --- Compiled from ./global.css --- */\n\n" + content;
|
|
43
|
-
}
|
|
44
|
-
coreGlobalCssPath = jk_fs.join(rootDir, "src/global.css");
|
|
45
|
-
if (await jk_fs.isFile(coreGlobalCssPath)) {
|
|
46
|
-
let content = await jk_fs.readTextFromFile(coreGlobalCssPath);
|
|
47
|
-
globalCss += "\n\n/* --- Compiled from ./src/global.css --- */\n\n" + content;
|
|
48
|
-
}
|
|
49
|
-
for (let item of dirItems) {
|
|
50
|
-
if (!item.isDirectory)
|
|
51
|
-
continue;
|
|
52
|
-
if (!item.name.startsWith("mod_"))
|
|
53
|
-
continue;
|
|
54
|
-
let globalCssPath = jk_fs.join(item.fullPath, "global.css");
|
|
55
|
-
let content = await jk_fs.readTextFromFile(globalCssPath);
|
|
56
|
-
if (content) {
|
|
57
|
-
content = removeImportDoublon(globalCss, content);
|
|
58
|
-
globalCss += `\n\n/* --- Compiled from ./src/${item.name}/global.css --- */`;
|
|
59
|
-
globalCss += "\n" + content;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
await jk_fs.writeTextToFile(jk_fs.join(rootDir, "global.compiled.css"), globalCss);
|
|
63
|
-
return gGlobalCssContent = globalCss;
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Remove '@import' already found into globalCss
|
|
67
|
-
*/
|
|
68
|
-
function removeImportDoublon(globalCss, content) {
|
|
69
|
-
let foundImports = {};
|
|
70
|
-
for (let line of globalCss.split("\n")) {
|
|
71
|
-
let tmp = line.trim();
|
|
72
|
-
if (tmp.startsWith("@import")) {
|
|
73
|
-
foundImports[tmp] = true;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
let lines = [];
|
|
77
|
-
for (let line of content.split("\n")) {
|
|
78
|
-
let tmp = line.trim();
|
|
79
|
-
if (tmp.startsWith("@import")) {
|
|
80
|
-
if (foundImports[tmp])
|
|
81
|
-
continue;
|
|
82
|
-
foundImports[tmp] = true;
|
|
83
|
-
}
|
|
84
|
-
lines.push(line);
|
|
85
|
-
}
|
|
86
|
-
return lines.join("\n");
|
|
87
|
-
}
|
|
88
|
-
// Don't use node_modules because of a bug when using workspaces.
|
|
89
|
-
// This bug is doing that WebStorm doesn't resolve the file to his real location
|
|
90
|
-
// but to the workspace node_modules (and not the project inside the workspace).
|
|
91
|
-
//
|
|
92
|
-
let gTempDirPath = path.resolve(jk_app.getTempDir(), ".reactHydrateCache");
|
|
93
20
|
//# sourceMappingURL=config.js.map
|