polen 0.9.1-next.2 → 0.10.0-next.10
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 -364
- package/build/api/api.d.ts +1 -0
- package/build/api/api.d.ts.map +1 -1
- package/build/api/api.js +1 -0
- package/build/api/api.js.map +1 -1
- package/build/api/config/configurator.d.ts +9 -1
- package/build/api/config/configurator.d.ts.map +1 -1
- package/build/api/config/configurator.js +18 -6
- package/build/api/config/configurator.js.map +1 -1
- package/build/api/config/load.js +5 -5
- package/build/api/config/load.js.map +1 -1
- package/build/api/config-resolver/resolve.js +2 -2
- package/build/api/config-resolver/resolve.js.map +1 -1
- package/build/api/content/$$.d.ts +7 -0
- package/build/api/content/$$.d.ts.map +1 -0
- package/build/api/content/$$.js +7 -0
- package/build/api/content/$$.js.map +1 -0
- package/build/api/content/$.d.ts +2 -0
- package/build/api/content/$.d.ts.map +1 -0
- package/build/api/content/$.js +2 -0
- package/build/api/content/$.js.map +1 -0
- package/build/api/content/metadata.d.ts +10 -0
- package/build/api/content/metadata.d.ts.map +1 -0
- package/build/api/content/metadata.js +9 -0
- package/build/api/content/metadata.js.map +1 -0
- package/build/api/content/navbar.d.ts +10 -0
- package/build/api/content/navbar.d.ts.map +1 -0
- package/build/api/content/navbar.js +45 -0
- package/build/api/content/navbar.js.map +1 -0
- package/build/api/content/page.d.ts +11 -0
- package/build/api/content/page.d.ts.map +1 -0
- package/build/api/content/page.js +2 -0
- package/build/api/content/page.js.map +1 -0
- package/build/api/content/scan.d.ts +19 -0
- package/build/api/content/scan.d.ts.map +1 -0
- package/build/api/content/scan.js +90 -0
- package/build/api/content/scan.js.map +1 -0
- package/build/api/content/sidebar.d.ts +104 -0
- package/build/api/content/sidebar.d.ts.map +1 -0
- package/build/api/content/sidebar.js +166 -0
- package/build/api/content/sidebar.js.map +1 -0
- package/build/api/content/utils.d.ts +5 -0
- package/build/api/content/utils.d.ts.map +1 -0
- package/build/api/content/utils.js +8 -0
- package/build/api/content/utils.js.map +1 -0
- package/build/api/schema/data-sources/schema-directory/schema-directory.js +1 -1
- package/build/api/schema/data-sources/schema-directory/schema-directory.js.map +1 -1
- package/build/api/static/index.d.ts +2 -0
- package/build/api/static/index.d.ts.map +1 -0
- package/build/api/static/index.js +2 -0
- package/build/api/static/index.js.map +1 -0
- package/build/api/static/manifest.d.ts +18 -0
- package/build/api/static/manifest.d.ts.map +1 -0
- package/build/api/static/manifest.js +13 -0
- package/build/api/static/manifest.js.map +1 -0
- package/build/api/static/rebase.d.ts +14 -0
- package/build/api/static/rebase.d.ts.map +1 -0
- package/build/api/static/rebase.js +110 -0
- package/build/api/static/rebase.js.map +1 -0
- package/build/api/static/static.d.ts +3 -0
- package/build/api/static/static.d.ts.map +1 -0
- package/build/api/static/static.js +3 -0
- package/build/api/static/static.js.map +1 -0
- package/build/api/vite/plugins/branding/index.d.ts +4 -0
- package/build/api/vite/plugins/branding/index.d.ts.map +1 -0
- package/build/api/vite/plugins/branding/index.js +80 -0
- package/build/api/vite/plugins/branding/index.js.map +1 -0
- package/build/api/vite/plugins/build.d.ts.map +1 -1
- package/build/api/vite/plugins/build.js +22 -1
- package/build/api/vite/plugins/build.js.map +1 -1
- package/build/api/vite/plugins/core.d.ts +2 -2
- package/build/api/vite/plugins/core.d.ts.map +1 -1
- package/build/api/vite/plugins/core.js +4 -5
- package/build/api/vite/plugins/core.js.map +1 -1
- package/build/api/vite/plugins/main.d.ts.map +1 -1
- package/build/api/vite/plugins/main.js +2 -1
- package/build/api/vite/plugins/main.js.map +1 -1
- package/build/api/vite/plugins/pages.d.ts +8 -14
- package/build/api/vite/plugins/pages.d.ts.map +1 -1
- package/build/api/vite/plugins/pages.js +110 -183
- package/build/api/vite/plugins/pages.js.map +1 -1
- package/build/api/vite/plugins/serve.js +5 -5
- package/build/api/vite/plugins/serve.js.map +1 -1
- package/build/cli/_/self-contained-mode.js +5 -5
- package/build/cli/_/self-contained-mode.js.map +1 -1
- package/build/cli/commands/static/$default.d.ts +3 -0
- package/build/cli/commands/static/$default.d.ts.map +1 -0
- package/build/cli/commands/static/$default.js +38 -0
- package/build/cli/commands/static/$default.js.map +1 -0
- package/build/cli/commands/static/rebase.d.ts +2 -0
- package/build/cli/commands/static/rebase.d.ts.map +1 -0
- package/build/cli/commands/static/rebase.js +26 -0
- package/build/cli/commands/static/rebase.js.map +1 -0
- package/build/cli/commands/static.d.ts +3 -0
- package/build/cli/commands/static.d.ts.map +1 -0
- package/build/cli/commands/static.js +5 -0
- package/build/cli/commands/static.js.map +1 -0
- package/build/exports/components.d.ts +2 -0
- package/build/exports/components.d.ts.map +1 -0
- package/build/exports/components.js +2 -0
- package/build/exports/components.js.map +1 -0
- package/build/lib/demos/builder.d.ts +83 -0
- package/build/lib/demos/builder.d.ts.map +1 -0
- package/build/lib/demos/builder.js +237 -0
- package/build/lib/demos/builder.js.map +1 -0
- package/build/lib/demos/config-schema.d.ts +243 -0
- package/build/lib/demos/config-schema.d.ts.map +1 -0
- package/build/lib/demos/config-schema.js +52 -0
- package/build/lib/demos/config-schema.js.map +1 -0
- package/build/lib/demos/config.d.ts +40 -0
- package/build/lib/demos/config.d.ts.map +1 -0
- package/build/lib/demos/config.js +180 -0
- package/build/lib/demos/config.js.map +1 -0
- package/build/lib/demos/index.d.ts +9 -0
- package/build/lib/demos/index.d.ts.map +1 -0
- package/build/lib/demos/index.js +8 -0
- package/build/lib/demos/index.js.map +1 -0
- package/build/lib/demos/ui/components.d.ts +33 -0
- package/build/lib/demos/ui/components.d.ts.map +1 -0
- package/build/lib/demos/ui/components.js +699 -0
- package/build/lib/demos/ui/components.js.map +1 -0
- package/build/lib/demos/ui/data-collector.d.ts +88 -0
- package/build/lib/demos/ui/data-collector.d.ts.map +1 -0
- package/build/lib/demos/ui/data-collector.js +174 -0
- package/build/lib/demos/ui/data-collector.js.map +1 -0
- package/build/lib/demos/ui/landing-page-cli.d.ts +3 -0
- package/build/lib/demos/ui/landing-page-cli.d.ts.map +1 -0
- package/build/lib/demos/ui/landing-page-cli.js +21 -0
- package/build/lib/demos/ui/landing-page-cli.js.map +1 -0
- package/build/lib/demos/ui/landing-page.d.ts +32 -0
- package/build/lib/demos/ui/landing-page.d.ts.map +1 -0
- package/build/lib/demos/ui/landing-page.js +83 -0
- package/build/lib/demos/ui/landing-page.js.map +1 -0
- package/build/lib/demos/ui/page-renderer.d.ts +26 -0
- package/build/lib/demos/ui/page-renderer.d.ts.map +1 -0
- package/build/lib/demos/ui/page-renderer.js +104 -0
- package/build/lib/demos/ui/page-renderer.js.map +1 -0
- package/build/lib/demos/utils.d.ts +14 -0
- package/build/lib/demos/utils.d.ts.map +1 -0
- package/build/lib/demos/utils.js +37 -0
- package/build/lib/demos/utils.js.map +1 -0
- package/build/lib/deployment/$$.d.ts +3 -0
- package/build/lib/deployment/$$.d.ts.map +1 -0
- package/build/lib/deployment/$$.js +3 -0
- package/build/lib/deployment/$$.js.map +1 -0
- package/build/lib/deployment/$.d.ts +2 -0
- package/build/lib/deployment/$.d.ts.map +1 -0
- package/build/lib/deployment/$.js +2 -0
- package/build/lib/deployment/$.js.map +1 -0
- package/build/lib/deployment/metadata.d.ts +32 -0
- package/build/lib/deployment/metadata.d.ts.map +1 -0
- package/build/lib/deployment/metadata.js +37 -0
- package/build/lib/deployment/metadata.js.map +1 -0
- package/build/lib/deployment/path-manager.d.ts +41 -0
- package/build/lib/deployment/path-manager.d.ts.map +1 -0
- package/build/lib/deployment/path-manager.js +157 -0
- package/build/lib/deployment/path-manager.js.map +1 -0
- package/build/lib/file-router/file-router.d.ts +0 -2
- package/build/lib/file-router/file-router.d.ts.map +1 -1
- package/build/lib/file-router/file-router.js +0 -2
- package/build/lib/file-router/file-router.js.map +1 -1
- package/build/lib/file-router/route.d.ts +2 -0
- package/build/lib/file-router/route.d.ts.map +1 -1
- package/build/lib/file-router/route.js.map +1 -1
- package/build/lib/file-router/scan.d.ts.map +1 -1
- package/build/lib/file-router/scan.js +22 -13
- package/build/lib/file-router/scan.js.map +1 -1
- package/build/lib/github-actions/git-controller.d.ts +50 -0
- package/build/lib/github-actions/git-controller.d.ts.map +1 -0
- package/build/lib/github-actions/git-controller.js +90 -0
- package/build/lib/github-actions/git-controller.js.map +1 -0
- package/build/lib/github-actions/github-actions.d.ts +7 -0
- package/build/lib/github-actions/github-actions.d.ts.map +1 -0
- package/build/lib/github-actions/github-actions.js +7 -0
- package/build/lib/github-actions/github-actions.js.map +1 -0
- package/build/lib/github-actions/index.d.ts +2 -0
- package/build/lib/github-actions/index.d.ts.map +1 -0
- package/build/lib/github-actions/index.js +2 -0
- package/build/lib/github-actions/index.js.map +1 -0
- package/build/lib/github-actions/lib/get-pr-deployments.d.ts +12 -0
- package/build/lib/github-actions/lib/get-pr-deployments.d.ts.map +1 -0
- package/build/lib/github-actions/lib/get-pr-deployments.js +51 -0
- package/build/lib/github-actions/lib/get-pr-deployments.js.map +1 -0
- package/build/lib/github-actions/pr-controller.d.ts +39 -0
- package/build/lib/github-actions/pr-controller.d.ts.map +1 -0
- package/build/lib/github-actions/pr-controller.js +122 -0
- package/build/lib/github-actions/pr-controller.js.map +1 -0
- package/build/lib/github-actions/run-step-cli.d.ts +9 -0
- package/build/lib/github-actions/run-step-cli.d.ts.map +1 -0
- package/build/lib/github-actions/run-step-cli.js +71 -0
- package/build/lib/github-actions/run-step-cli.js.map +1 -0
- package/build/lib/github-actions/runner.d.ts +17 -0
- package/build/lib/github-actions/runner.d.ts.map +1 -0
- package/build/lib/github-actions/runner.js +195 -0
- package/build/lib/github-actions/runner.js.map +1 -0
- package/build/lib/github-actions/schemas/context.d.ts +933 -0
- package/build/lib/github-actions/schemas/context.d.ts.map +1 -0
- package/build/lib/github-actions/schemas/context.js +407 -0
- package/build/lib/github-actions/schemas/context.js.map +1 -0
- package/build/lib/github-actions/schemas/index.d.ts +5 -0
- package/build/lib/github-actions/schemas/index.d.ts.map +1 -0
- package/build/lib/github-actions/schemas/index.js +5 -0
- package/build/lib/github-actions/schemas/index.js.map +1 -0
- package/build/lib/github-actions/search-module.d.ts +38 -0
- package/build/lib/github-actions/search-module.d.ts.map +1 -0
- package/build/lib/github-actions/search-module.js +40 -0
- package/build/lib/github-actions/search-module.js.map +1 -0
- package/build/lib/github-actions/step.d.ts +163 -0
- package/build/lib/github-actions/step.d.ts.map +1 -0
- package/build/lib/github-actions/step.js +121 -0
- package/build/lib/github-actions/step.js.map +1 -0
- package/build/lib/helpers.d.ts.map +1 -1
- package/build/lib/helpers.js +5 -3
- package/build/lib/helpers.js.map +1 -1
- package/build/lib/kit-temp.d.ts +54 -0
- package/build/lib/kit-temp.d.ts.map +1 -1
- package/build/lib/kit-temp.js +82 -14
- package/build/lib/kit-temp.js.map +1 -1
- package/build/lib/kit-temp.test-d.d.ts +2 -0
- package/build/lib/kit-temp.test-d.d.ts.map +1 -0
- package/build/lib/kit-temp.test-d.js +75 -0
- package/build/lib/kit-temp.test-d.js.map +1 -0
- package/build/lib/mask/$$.d.ts +3 -0
- package/build/lib/mask/$$.d.ts.map +1 -0
- package/build/lib/mask/$$.js +3 -0
- package/build/lib/mask/$$.js.map +1 -0
- package/build/lib/mask/$.d.ts +2 -0
- package/build/lib/mask/$.d.ts.map +1 -0
- package/build/lib/mask/$.js +2 -0
- package/build/lib/mask/$.js.map +1 -0
- package/build/lib/mask/apply.d.ts +86 -0
- package/build/lib/mask/apply.d.ts.map +1 -0
- package/build/lib/mask/apply.js +86 -0
- package/build/lib/mask/apply.js.map +1 -0
- package/build/lib/mask/mask.d.ts +124 -0
- package/build/lib/mask/mask.d.ts.map +1 -0
- package/build/lib/mask/mask.js +137 -0
- package/build/lib/mask/mask.js.map +1 -0
- package/build/lib/mask/mask.test-d.d.ts +2 -0
- package/build/lib/mask/mask.test-d.d.ts.map +1 -0
- package/build/lib/mask/mask.test-d.js +102 -0
- package/build/lib/mask/mask.test-d.js.map +1 -0
- package/build/lib/mutation-type.d.ts +18 -0
- package/build/lib/mutation-type.d.ts.map +1 -0
- package/build/lib/mutation-type.js +16 -0
- package/build/lib/mutation-type.js.map +1 -0
- package/build/lib/task/$$.d.ts +3 -0
- package/build/lib/task/$$.d.ts.map +1 -0
- package/build/lib/task/$$.js +3 -0
- package/build/lib/task/$$.js.map +1 -0
- package/build/lib/task/$.d.ts +2 -0
- package/build/lib/task/$.d.ts.map +1 -0
- package/build/lib/task/$.js +2 -0
- package/build/lib/task/$.js.map +1 -0
- package/build/lib/task/report.d.ts +28 -0
- package/build/lib/task/report.d.ts.map +1 -0
- package/build/lib/task/report.js +33 -0
- package/build/lib/task/report.js.map +1 -0
- package/build/lib/task/task.d.ts +44 -0
- package/build/lib/task/task.d.ts.map +1 -0
- package/build/lib/task/task.js +63 -0
- package/build/lib/task/task.js.map +1 -0
- package/build/lib/version-history/index.d.ts +3 -0
- package/build/lib/version-history/index.d.ts.map +1 -0
- package/build/lib/version-history/index.js +2 -0
- package/build/lib/version-history/index.js.map +1 -0
- package/build/lib/version-history/types.d.ts +64 -0
- package/build/lib/version-history/types.d.ts.map +1 -0
- package/build/lib/version-history/types.js +5 -0
- package/build/lib/version-history/types.js.map +1 -0
- package/build/lib/version-history/version-history.d.ts +85 -0
- package/build/lib/version-history/version-history.d.ts.map +1 -0
- package/build/lib/version-history/version-history.js +248 -0
- package/build/lib/version-history/version-history.js.map +1 -0
- package/build/project-data.d.ts +0 -1
- package/build/project-data.d.ts.map +1 -1
- package/build/sandbox.d.ts +2 -0
- package/build/sandbox.d.ts.map +1 -0
- package/build/sandbox.js +18 -0
- package/build/sandbox.js.map +1 -0
- package/build/singletons/debug.d.ts +1 -1
- package/build/singletons/debug.d.ts.map +1 -1
- package/build/singletons/debug.js +1 -1
- package/build/singletons/debug.js.map +1 -1
- package/build/template/components/HamburgerMenu.d.ts +9 -0
- package/build/template/components/HamburgerMenu.d.ts.map +1 -0
- package/build/template/components/HamburgerMenu.jsx +53 -0
- package/build/template/components/HamburgerMenu.jsx.map +1 -0
- package/build/template/components/Link.jsx +1 -1
- package/build/template/components/Logo.d.ts +9 -0
- package/build/template/components/Logo.d.ts.map +1 -0
- package/build/template/components/Logo.jsx +29 -0
- package/build/template/components/Logo.jsx.map +1 -0
- package/build/template/components/NotFound.d.ts +2 -0
- package/build/template/components/NotFound.d.ts.map +1 -0
- package/build/template/components/NotFound.jsx +26 -0
- package/build/template/components/NotFound.jsx.map +1 -0
- package/build/template/components/ThemeToggle.d.ts +3 -0
- package/build/template/components/ThemeToggle.d.ts.map +1 -0
- package/build/template/components/ThemeToggle.jsx +10 -0
- package/build/template/components/ThemeToggle.jsx.map +1 -0
- package/build/template/components/content/$$.d.ts +2 -0
- package/build/template/components/content/$$.d.ts.map +1 -0
- package/build/template/components/content/$$.js +2 -0
- package/build/template/components/content/$$.js.map +1 -0
- package/build/template/components/sidebar/Sidebar.d.ts +2 -2
- package/build/template/components/sidebar/Sidebar.d.ts.map +1 -1
- package/build/template/components/sidebar/SidebarItem.d.ts +3 -3
- package/build/template/components/sidebar/SidebarItem.d.ts.map +1 -1
- package/build/template/components/sidebar/SidebarItem.jsx +1 -1
- package/build/template/components/sidebar/SidebarItem.jsx.map +1 -1
- package/build/template/contexts/ThemeContext.d.ts +12 -0
- package/build/template/contexts/ThemeContext.d.ts.map +1 -0
- package/build/template/contexts/ThemeContext.jsx +41 -0
- package/build/template/contexts/ThemeContext.jsx.map +1 -0
- package/build/template/routes/root.d.ts.map +1 -1
- package/build/template/routes/root.jsx +66 -53
- package/build/template/routes/root.jsx.map +1 -1
- package/build/template/server/app.d.ts.map +1 -1
- package/build/template/server/app.js +2 -21
- package/build/template/server/app.js.map +1 -1
- package/package.json +27 -13
- package/src/api/api.ts +1 -0
- package/src/api/config/configurator.ts +28 -6
- package/src/api/config/load.ts +5 -5
- package/src/api/config-resolver/resolve.ts +2 -2
- package/src/api/content/$$.ts +6 -0
- package/src/api/content/$.test.ts +72 -0
- package/src/api/content/$.ts +1 -0
- package/src/api/content/metadata.ts +11 -0
- package/src/api/content/navbar.test.ts +55 -0
- package/src/api/content/navbar.ts +61 -0
- package/src/api/content/page.ts +12 -0
- package/src/api/content/scan.ts +117 -0
- package/src/api/content/sidebar.test.ts +297 -0
- package/src/api/content/sidebar.ts +283 -0
- package/src/api/content/utils.ts +7 -0
- package/src/api/schema/data-sources/schema-directory/schema-directory.ts +1 -1
- package/src/api/singletons/markdown/markdown.test.ts +1 -1
- package/src/api/static/index.ts +1 -0
- package/src/api/static/manifest.test.ts +106 -0
- package/src/api/static/manifest.ts +16 -0
- package/src/api/static/rebase.test.ts +229 -0
- package/src/api/static/rebase.ts +140 -0
- package/src/api/static/static.ts +2 -0
- package/src/api/utils/asset-url/asset-url.test.ts +4 -4
- package/src/api/vite/plugins/branding/index.ts +108 -0
- package/src/api/vite/plugins/build.ts +25 -1
- package/src/api/vite/plugins/core.ts +6 -7
- package/src/api/vite/plugins/main.ts +2 -0
- package/src/api/vite/plugins/pages.ts +131 -207
- package/src/api/vite/plugins/serve.ts +5 -5
- package/src/cli/_/self-contained-mode.ts +5 -5
- package/src/cli/commands/static/$default.ts +43 -0
- package/src/cli/commands/static/rebase.ts +37 -0
- package/src/cli/commands/static.ts +6 -0
- package/src/exports/components.ts +1 -0
- package/src/lib/demos/builder.ts +298 -0
- package/src/lib/demos/config-schema.ts +56 -0
- package/src/lib/demos/config.test.ts +193 -0
- package/src/lib/demos/config.ts +205 -0
- package/src/lib/demos/index.ts +9 -0
- package/src/lib/demos/ui/components.ts +739 -0
- package/src/lib/demos/ui/data-collector.ts +246 -0
- package/src/lib/demos/ui/landing-page-cli.ts +23 -0
- package/src/lib/demos/ui/landing-page.ts +126 -0
- package/src/lib/demos/ui/page-renderer.ts +124 -0
- package/src/lib/demos/utils.ts +43 -0
- package/src/lib/deployment/$$.ts +2 -0
- package/src/lib/deployment/$.test.ts +53 -0
- package/src/lib/deployment/$.ts +1 -0
- package/src/lib/deployment/metadata.ts +40 -0
- package/src/lib/deployment/path-manager.ts +186 -0
- package/src/lib/file-router/file-router.ts +0 -2
- package/src/lib/file-router/linter.test.ts +2 -0
- package/src/lib/file-router/route.ts +2 -0
- package/src/lib/file-router/scan.ts +26 -14
- package/src/lib/github-actions/git-controller.ts +151 -0
- package/src/lib/github-actions/github-actions.ts +6 -0
- package/src/lib/github-actions/index.ts +1 -0
- package/src/lib/github-actions/lib/get-pr-deployments.ts +76 -0
- package/src/lib/github-actions/pr-controller.test.ts +172 -0
- package/src/lib/github-actions/pr-controller.ts +183 -0
- package/src/lib/github-actions/run-step-cli.ts +84 -0
- package/src/lib/github-actions/runner.test.ts +192 -0
- package/src/lib/github-actions/runner.ts +226 -0
- package/src/lib/github-actions/schemas/context.ts +424 -0
- package/src/lib/github-actions/schemas/index.ts +5 -0
- package/src/lib/github-actions/search-module.test.ts +110 -0
- package/src/lib/github-actions/search-module.ts +76 -0
- package/src/lib/github-actions/step.test.ts +149 -0
- package/src/lib/github-actions/step.ts +232 -0
- package/src/lib/helpers.ts +4 -3
- package/src/lib/kit-temp.test-d.ts +115 -0
- package/src/lib/kit-temp.test.ts +127 -0
- package/src/lib/kit-temp.ts +128 -14
- package/src/lib/mask/$$.ts +2 -0
- package/src/lib/mask/$.test.ts +248 -0
- package/src/lib/mask/$.ts +1 -0
- package/src/lib/mask/apply.ts +134 -0
- package/src/lib/mask/mask.test-d.ts +144 -0
- package/src/lib/mask/mask.ts +244 -0
- package/src/lib/mutation-type.ts +20 -0
- package/src/lib/shiki/shiki.test.ts +1 -1
- package/src/lib/task/$$.ts +2 -0
- package/src/lib/task/$.test.ts +209 -0
- package/src/lib/task/$.ts +1 -0
- package/src/lib/task/report.ts +72 -0
- package/src/lib/task/task.ts +112 -0
- package/src/lib/version-history/index.test.ts +196 -0
- package/src/lib/version-history/index.ts +4 -0
- package/src/lib/version-history/types.ts +68 -0
- package/src/lib/version-history/version-history.ts +293 -0
- package/src/project-data.ts +0 -1
- package/src/sandbox.ts +20 -0
- package/src/singletons/debug.ts +1 -1
- package/src/template/components/HamburgerMenu.tsx +96 -0
- package/src/template/components/Link.tsx +1 -1
- package/src/template/components/Logo.tsx +46 -0
- package/src/template/components/NotFound.tsx +28 -0
- package/src/template/components/ThemeToggle.tsx +21 -0
- package/src/template/components/content/$$.ts +1 -0
- package/src/template/components/sidebar/Sidebar.tsx +2 -2
- package/src/template/components/sidebar/SidebarItem.tsx +8 -8
- package/src/template/contexts/ThemeContext.tsx +60 -0
- package/src/template/routes/root.tsx +85 -74
- package/src/template/server/app.ts +2 -27
- package/build/lib/file-router/scan-tree.d.ts +0 -20
- package/build/lib/file-router/scan-tree.d.ts.map +0 -1
- package/build/lib/file-router/scan-tree.js +0 -158
- package/build/lib/file-router/scan-tree.js.map +0 -1
- package/build/lib/file-router/sidebar/index.d.ts +0 -3
- package/build/lib/file-router/sidebar/index.d.ts.map +0 -1
- package/build/lib/file-router/sidebar/index.js +0 -4
- package/build/lib/file-router/sidebar/index.js.map +0 -1
- package/build/lib/file-router/sidebar/sidebar-tree.d.ts +0 -9
- package/build/lib/file-router/sidebar/sidebar-tree.d.ts.map +0 -1
- package/build/lib/file-router/sidebar/sidebar-tree.js +0 -85
- package/build/lib/file-router/sidebar/sidebar-tree.js.map +0 -1
- package/build/lib/file-router/sidebar/types.d.ts +0 -17
- package/build/lib/file-router/sidebar/types.d.ts.map +0 -1
- package/build/lib/file-router/sidebar/types.js +0 -2
- package/build/lib/file-router/sidebar/types.js.map +0 -1
- package/build/lib/tree/index.d.ts +0 -3
- package/build/lib/tree/index.d.ts.map +0 -1
- package/build/lib/tree/index.js +0 -2
- package/build/lib/tree/index.js.map +0 -1
- package/build/lib/tree/tree.d.ts +0 -62
- package/build/lib/tree/tree.d.ts.map +0 -1
- package/build/lib/tree/tree.js +0 -134
- package/build/lib/tree/tree.js.map +0 -1
- package/src/lib/file-router/scan-tree.test.ts +0 -189
- package/src/lib/file-router/scan-tree.ts +0 -205
- package/src/lib/file-router/sidebar/index.ts +0 -3
- package/src/lib/file-router/sidebar/sidebar-tree.test.ts +0 -123
- package/src/lib/file-router/sidebar/sidebar-tree.ts +0 -110
- package/src/lib/file-router/sidebar/types.ts +0 -19
- package/src/lib/tree/index.ts +0 -2
- package/src/lib/tree/tree.test.ts +0 -117
- package/src/lib/tree/tree.ts +0 -183
@@ -0,0 +1,140 @@
|
|
1
|
+
import { TinyGlobby } from '#dep/tiny-globby/index'
|
2
|
+
import { Fs, Path } from '@wollybeard/kit'
|
3
|
+
import { Err } from '@wollybeard/kit'
|
4
|
+
import { buildManifest, type PolenBuildManifest } from './manifest.ts'
|
5
|
+
|
6
|
+
export type RebasePlan = RebaseOverwritePlan | RebaseCopyPlan
|
7
|
+
|
8
|
+
export interface RebaseOverwritePlan {
|
9
|
+
changeMode: 'mutate'
|
10
|
+
newBasePath: string
|
11
|
+
sourcePath: string
|
12
|
+
}
|
13
|
+
|
14
|
+
export interface RebaseCopyPlan {
|
15
|
+
changeMode: 'copy'
|
16
|
+
newBasePath: string
|
17
|
+
sourcePath: string
|
18
|
+
targetPath: string
|
19
|
+
}
|
20
|
+
|
21
|
+
export const rebase = async (plan: RebasePlan): Promise<void> => {
|
22
|
+
// 1. Validate source is a Polen build
|
23
|
+
const manifestResult = await buildManifest.read(plan.sourcePath)
|
24
|
+
if (Err.is(manifestResult)) {
|
25
|
+
throw new Error(`Polen build manifest not found at: ${Path.join(plan.sourcePath, '.polen', 'build.json')}`)
|
26
|
+
}
|
27
|
+
const manifest = manifestResult
|
28
|
+
|
29
|
+
// 2. Validate newBasePath is valid URL path
|
30
|
+
if (!isValidUrlPath(plan.newBasePath)) {
|
31
|
+
throw new Error(`Invalid base path: ${plan.newBasePath}`)
|
32
|
+
}
|
33
|
+
|
34
|
+
// 3. Handle copy vs mutate
|
35
|
+
let workingPath: string
|
36
|
+
if (plan.changeMode === 'copy') {
|
37
|
+
if (await Fs.exists(plan.targetPath)) {
|
38
|
+
const isEmpty = await Fs.isEmptyDir(plan.targetPath)
|
39
|
+
if (!isEmpty) {
|
40
|
+
throw new Error(`Target path already exists and is not empty: ${plan.targetPath}`)
|
41
|
+
}
|
42
|
+
}
|
43
|
+
await Fs.copyDir({ from: plan.sourcePath, to: plan.targetPath })
|
44
|
+
workingPath = plan.targetPath
|
45
|
+
} else {
|
46
|
+
workingPath = plan.sourcePath
|
47
|
+
}
|
48
|
+
|
49
|
+
// 4. Update HTML files with new base path
|
50
|
+
await updateHtmlFiles(workingPath, manifest.basePath, plan.newBasePath)
|
51
|
+
|
52
|
+
// 5. Update manifest
|
53
|
+
await updateManifest(workingPath, { basePath: plan.newBasePath })
|
54
|
+
}
|
55
|
+
|
56
|
+
//
|
57
|
+
//
|
58
|
+
//
|
59
|
+
//
|
60
|
+
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ • Local Helpers
|
61
|
+
//
|
62
|
+
//
|
63
|
+
|
64
|
+
// TODO: this is very generic, factor out to kit-temp
|
65
|
+
const isValidUrlPath = (path: string): boolean => {
|
66
|
+
// URL path should start with / and not contain invalid characters
|
67
|
+
if (!path.startsWith('/')) return false
|
68
|
+
if (!path.endsWith('/')) return false
|
69
|
+
|
70
|
+
// Basic validation - no spaces, proper URL characters
|
71
|
+
const urlPathRegex = /^\/[a-zA-Z0-9\-._~:/?#[\]@!$&'()*+,;=%]*\/$/
|
72
|
+
return urlPathRegex.test(path)
|
73
|
+
}
|
74
|
+
|
75
|
+
const updateHtmlFiles = async (buildPath: string, oldBasePath: string, newBasePath: string): Promise<void> => {
|
76
|
+
// Find all HTML files recursively
|
77
|
+
const htmlFiles = await findHtmlFiles(buildPath)
|
78
|
+
|
79
|
+
for (const htmlFile of htmlFiles) {
|
80
|
+
await updateHtmlFile(htmlFile, oldBasePath, newBasePath)
|
81
|
+
}
|
82
|
+
}
|
83
|
+
|
84
|
+
const findHtmlFiles = async (dir: string): Promise<string[]> => {
|
85
|
+
return await TinyGlobby.glob('**/*.html', {
|
86
|
+
absolute: true,
|
87
|
+
cwd: dir,
|
88
|
+
onlyFiles: true,
|
89
|
+
})
|
90
|
+
}
|
91
|
+
|
92
|
+
const updateHtmlFile = async (filePath: string, oldBasePath: string, newBasePath: string): Promise<void> => {
|
93
|
+
const content = await Fs.read(filePath)
|
94
|
+
|
95
|
+
if (content === null) {
|
96
|
+
throw new Error(`Could not read HTML file: ${filePath}`)
|
97
|
+
}
|
98
|
+
|
99
|
+
// Simple regex-based approach to update base tag
|
100
|
+
// Look for existing base tag first
|
101
|
+
const baseTagRegex = /<base\s+href\s*=\s*["']([^"']*)["'][^>]*>/i
|
102
|
+
|
103
|
+
let updatedContent: string
|
104
|
+
|
105
|
+
if (baseTagRegex.test(content)) {
|
106
|
+
// Update existing base tag
|
107
|
+
updatedContent = content.replace(baseTagRegex, `<base href="${newBasePath}">`)
|
108
|
+
} else {
|
109
|
+
// Insert new base tag in head
|
110
|
+
const headRegex = /<head[^>]*>/i
|
111
|
+
const headMatch = content.match(headRegex)
|
112
|
+
|
113
|
+
if (headMatch) {
|
114
|
+
const insertPosition = headMatch.index! + headMatch[0].length
|
115
|
+
updatedContent = content.slice(0, insertPosition)
|
116
|
+
+ `\n <base href="${newBasePath}">`
|
117
|
+
+ content.slice(insertPosition)
|
118
|
+
} else {
|
119
|
+
throw new Error(`Could not find <head> tag in HTML file: ${filePath}`)
|
120
|
+
}
|
121
|
+
}
|
122
|
+
|
123
|
+
await Fs.write({ path: filePath, content: updatedContent })
|
124
|
+
}
|
125
|
+
|
126
|
+
const updateManifest = async (buildPath: string, updates: Partial<PolenBuildManifest>): Promise<void> => {
|
127
|
+
const manifestPath = Path.join(buildPath, '.polen', 'build.json')
|
128
|
+
const manifestResult = await buildManifest.read(buildPath)
|
129
|
+
if (Err.is(manifestResult)) {
|
130
|
+
throw new Error(`Polen build manifest not found at: ${manifestPath}`)
|
131
|
+
}
|
132
|
+
const currentManifest = manifestResult
|
133
|
+
|
134
|
+
const updatedManifest = { ...currentManifest, ...updates }
|
135
|
+
|
136
|
+
await Fs.write({
|
137
|
+
path: manifestPath,
|
138
|
+
content: JSON.stringify(updatedManifest, null, 2),
|
139
|
+
})
|
140
|
+
}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { describe, expect, test } from 'vitest'
|
2
|
-
import { assetUrl, faviconUrl, joinPaths, pageUrl } from './asset-url.
|
2
|
+
import { assetUrl, faviconUrl, joinPaths, pageUrl } from './asset-url.ts'
|
3
3
|
|
4
4
|
describe('asset-url helpers', () => {
|
5
5
|
describe('joinPaths', () => {
|
@@ -20,9 +20,9 @@ describe('asset-url helpers', () => {
|
|
20
20
|
|
21
21
|
describe('assetUrl', () => {
|
22
22
|
test('creates asset URLs with base path', () => {
|
23
|
-
expect(assetUrl('assets/app.
|
24
|
-
expect(assetUrl('assets/app.
|
25
|
-
expect(assetUrl('/assets/app.
|
23
|
+
expect(assetUrl('assets/app.ts', '/')).toBe('/assets/app.ts')
|
24
|
+
expect(assetUrl('assets/app.ts', '/my-app/')).toBe('/my-app/assets/app.ts')
|
25
|
+
expect(assetUrl('/assets/app.ts', '/my-app/')).toBe('/my-app/assets/app.ts')
|
26
26
|
})
|
27
27
|
})
|
28
28
|
|
@@ -0,0 +1,108 @@
|
|
1
|
+
import type { Config } from '#api/api'
|
2
|
+
import { polenVirtual } from '#api/vite/vi'
|
3
|
+
import type { Vite } from '#dep/vite/index'
|
4
|
+
import { type ExistenceDiff, getMutationType, MutationType } from '#lib/mutation-type'
|
5
|
+
import { debugPolen } from '#singletons/debug'
|
6
|
+
import { Fs } from '@wollybeard/kit'
|
7
|
+
import type { Plugin } from 'vite'
|
8
|
+
|
9
|
+
const viLogo = polenVirtual(['project', 'assets', 'logo.svg'])
|
10
|
+
|
11
|
+
const generateDefaultLogo = async () => {
|
12
|
+
return `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" width="128" height="128">
|
13
|
+
<circle cx="64" cy="64" r="48" fill="none" stroke="black" stroke-width="8"/>
|
14
|
+
</svg>`
|
15
|
+
}
|
16
|
+
|
17
|
+
export function Branding(config: Config.Config): Plugin {
|
18
|
+
const debug = debugPolen.sub('vite-plugin:branding')
|
19
|
+
debug('initialized')
|
20
|
+
|
21
|
+
return {
|
22
|
+
name: 'polen:branding',
|
23
|
+
enforce: 'pre',
|
24
|
+
|
25
|
+
async buildStart() {
|
26
|
+
this.addWatchFile(config.paths.project.absolute.public.logo)
|
27
|
+
},
|
28
|
+
|
29
|
+
async handleHotUpdate({ file, server }) {
|
30
|
+
return await handleWatchedFileChange({
|
31
|
+
watchedFile: config.paths.project.absolute.public.logo,
|
32
|
+
changedFile: file,
|
33
|
+
moduleId: viLogo.resolved,
|
34
|
+
server,
|
35
|
+
debug: debug,
|
36
|
+
})
|
37
|
+
},
|
38
|
+
|
39
|
+
resolveId(id) {
|
40
|
+
if (id === viLogo.id) {
|
41
|
+
return viLogo.resolved
|
42
|
+
}
|
43
|
+
},
|
44
|
+
|
45
|
+
async load(id) {
|
46
|
+
if (id === viLogo.resolved) {
|
47
|
+
const logoFileContent = await Fs.read(config.paths.project.absolute.public.logo)
|
48
|
+
const content = logoFileContent ? logoFileContent : await generateDefaultLogo()
|
49
|
+
const dataUrl = `data:image/svg+xml;base64,${Buffer.from(content).toString('base64')}`
|
50
|
+
return `export default ${JSON.stringify(dataUrl)}`
|
51
|
+
}
|
52
|
+
},
|
53
|
+
}
|
54
|
+
}
|
55
|
+
|
56
|
+
interface HandleWatchedFileChangeParams {
|
57
|
+
watchedFile: string
|
58
|
+
changedFile: string
|
59
|
+
moduleId: string
|
60
|
+
server: Vite.ViteDevServer
|
61
|
+
debug: (msg: string, data?: any) => void
|
62
|
+
}
|
63
|
+
|
64
|
+
const handleWatchedFileChange = async (
|
65
|
+
params: HandleWatchedFileChangeParams,
|
66
|
+
): Promise<Array<Vite.ModuleNode> | void> => {
|
67
|
+
const { watchedFile, changedFile, moduleId, server, debug } = params
|
68
|
+
|
69
|
+
// Check if change is for watched file
|
70
|
+
if (changedFile !== watchedFile) return
|
71
|
+
|
72
|
+
// Check current existence
|
73
|
+
const existsNow = await Fs.exists(watchedFile)
|
74
|
+
|
75
|
+
// Check previous existence via module graph
|
76
|
+
const module = server.moduleGraph.getModuleById(moduleId)
|
77
|
+
const existedBefore = !!module
|
78
|
+
|
79
|
+
// Early return if no mutation
|
80
|
+
if (!existedBefore && !existsNow) {
|
81
|
+
debug(`no mutation detected - file didn't exist before or after`, { file: changedFile })
|
82
|
+
return
|
83
|
+
}
|
84
|
+
|
85
|
+
const mutationType = getMutationType({
|
86
|
+
before: existedBefore,
|
87
|
+
after: existsNow,
|
88
|
+
} as ExistenceDiff)
|
89
|
+
|
90
|
+
debug(`file ${mutationType}`, { file: changedFile })
|
91
|
+
|
92
|
+
switch (mutationType) {
|
93
|
+
case MutationType.Create:
|
94
|
+
// Full reload needed - module never existed
|
95
|
+
server.ws.send({
|
96
|
+
type: 'full-reload',
|
97
|
+
path: '*',
|
98
|
+
})
|
99
|
+
break
|
100
|
+
|
101
|
+
case MutationType.Update:
|
102
|
+
case MutationType.Delete:
|
103
|
+
// Invalidate module for HMR
|
104
|
+
server.moduleGraph.invalidateModule(module!)
|
105
|
+
// Return empty array to prevent default HMR
|
106
|
+
return []
|
107
|
+
}
|
108
|
+
}
|
@@ -1,7 +1,9 @@
|
|
1
1
|
import type { Config } from '#api/config/index'
|
2
|
+
import type { PolenBuildManifest } from '#api/static/manifest'
|
2
3
|
import { Vite } from '#dep/vite/index'
|
3
4
|
import { ViteVirtual } from '#lib/vite-virtual/index'
|
4
5
|
import { Fs, Path } from '@wollybeard/kit'
|
6
|
+
import packageJson from '../../../../package.json' with { type: 'json' }
|
5
7
|
import { isKitUnusedExternalImport, isRadixModuleLevelDirective } from '../log-filters.ts'
|
6
8
|
import { polenVirtual } from '../vi.ts'
|
7
9
|
|
@@ -10,7 +12,7 @@ export const Build = (config: Config.Config): Vite.Plugin[] => {
|
|
10
12
|
|
11
13
|
// const outDir = Path.join(config.paths.project.rootDir, `dist`)
|
12
14
|
|
13
|
-
return [Manifest(config), {
|
15
|
+
return [Manifest(config), BuildManifest(config), {
|
14
16
|
name: `polen:build-client`,
|
15
17
|
apply: `build`,
|
16
18
|
applyToEnvironment: Vite.isEnvironmentClient,
|
@@ -144,3 +146,25 @@ const Manifest = (config: Config.Config): Vite.Plugin => {
|
|
144
146
|
),
|
145
147
|
}
|
146
148
|
}
|
149
|
+
|
150
|
+
const BuildManifest = (config: Config.Config): Vite.Plugin => {
|
151
|
+
return {
|
152
|
+
name: 'polen:build-manifest',
|
153
|
+
apply: 'build',
|
154
|
+
applyToEnvironment: Vite.isEnvironmentClient,
|
155
|
+
async generateBundle() {
|
156
|
+
const manifest: PolenBuildManifest = {
|
157
|
+
type: config.build.architecture === 'ssr' ? 'ssr' : 'ssg',
|
158
|
+
version: packageJson.version,
|
159
|
+
basePath: config.build.base || '/',
|
160
|
+
}
|
161
|
+
|
162
|
+
// Emit the manifest as an asset
|
163
|
+
this.emitFile({
|
164
|
+
type: 'asset',
|
165
|
+
fileName: '.polen/build.json',
|
166
|
+
source: JSON.stringify(manifest, null, 2),
|
167
|
+
})
|
168
|
+
},
|
169
|
+
}
|
170
|
+
}
|
@@ -6,7 +6,7 @@ import type { Vite } from '#dep/vite/index'
|
|
6
6
|
import { VitePluginJson } from '#lib/vite-plugin-json/index'
|
7
7
|
import { VitePluginReactiveData } from '#lib/vite-plugin-reactive-data/index'
|
8
8
|
import { ViteVirtual } from '#lib/vite-virtual/index'
|
9
|
-
import {
|
9
|
+
import { debugPolen } from '#singletons/debug'
|
10
10
|
import { superjson } from '#singletons/superjson'
|
11
11
|
import { Json, Str } from '@wollybeard/kit'
|
12
12
|
import type { ProjectData } from '../../../project-data.ts'
|
@@ -16,14 +16,14 @@ import { createLogger } from '../logger.ts'
|
|
16
16
|
import { polenVirtual } from '../vi.ts'
|
17
17
|
import { Pages } from './pages.ts'
|
18
18
|
|
19
|
-
const
|
19
|
+
const debug = debugPolen.sub(`vite-plugin-core`)
|
20
20
|
|
21
21
|
const viTemplateVariables = polenVirtual([`template`, `variables`])
|
22
22
|
const viTemplateSchemaAugmentations = polenVirtual([`template`, `schema-augmentations`])
|
23
23
|
const viProjectData = polenVirtual([`project`, `data.jsonsuper`], { allowPluginProcessing: true })
|
24
24
|
|
25
|
-
export interface
|
26
|
-
|
25
|
+
export interface ProjectRoutesModule {
|
26
|
+
routes: ReactRouter.RouteObject[]
|
27
27
|
}
|
28
28
|
|
29
29
|
export const Core = (config: Config.Config): Vite.PluginOption[] => {
|
@@ -87,7 +87,7 @@ export const Core = (config: Config.Config): Vite.PluginOption[] => {
|
|
87
87
|
name: `polen:internal-import-alias`,
|
88
88
|
enforce: 'pre' as const,
|
89
89
|
resolveId(id, importer) {
|
90
|
-
const d =
|
90
|
+
const d = debugPolen.sub(`vite-plugin:internal-import-alias`)
|
91
91
|
|
92
92
|
const isPolenImporter = Boolean(
|
93
93
|
importer
|
@@ -183,7 +183,7 @@ export const Core = (config: Config.Config): Vite.PluginOption[] => {
|
|
183
183
|
{
|
184
184
|
identifier: viProjectData,
|
185
185
|
async loader() {
|
186
|
-
|
186
|
+
debug(`loadingViProjectDataVirtualModule`)
|
187
187
|
const schema = await readSchema()
|
188
188
|
|
189
189
|
// ━ Schema presence causes adding some navbar items
|
@@ -206,7 +206,6 @@ export const Core = (config: Config.Config): Vite.PluginOption[] => {
|
|
206
206
|
|
207
207
|
const projectData: ProjectData = {
|
208
208
|
schema,
|
209
|
-
faviconPath: `/logo.svg`,
|
210
209
|
basePath: config.build.base,
|
211
210
|
paths: config.paths.project,
|
212
211
|
server: {
|
@@ -4,6 +4,7 @@ import ViteReact from '@vitejs/plugin-react-oxc'
|
|
4
4
|
// import { Arr, Path } from '@wollybeard/kit'
|
5
5
|
// import Inspect from 'vite-plugin-inspect'
|
6
6
|
// import Restart from 'vite-plugin-restart'
|
7
|
+
import { Branding } from './branding/index.ts'
|
7
8
|
import { Build } from './build.ts'
|
8
9
|
import { Core } from './core.ts'
|
9
10
|
import { Serve } from './serve.ts'
|
@@ -34,6 +35,7 @@ export const Main = (
|
|
34
35
|
|
35
36
|
plugins.push(
|
36
37
|
ViteReact(),
|
38
|
+
Branding(config),
|
37
39
|
Core(config),
|
38
40
|
Serve(config),
|
39
41
|
Build(config),
|