create-jen-app 1.2.2 → 1.2.4
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 +3 -1
- package/dist/colors.js +0 -17
- package/dist/create.js +5 -17
- package/dist/generator.js +14 -31
- package/package.json +2 -2
- package/templates/ssr-isr/README.md +77 -0
- package/templates/ssr-isr/build.js +118 -0
- package/templates/ssr-isr/jen.config.ts +109 -0
- package/templates/ssr-isr/jenjs.d.ts +22 -0
- package/templates/ssr-isr/lib/api/(hello).d.ts +7 -0
- package/templates/ssr-isr/lib/api/(hello).js +9 -0
- package/templates/ssr-isr/lib/auth/cookie-utils.d.ts +33 -0
- package/templates/ssr-isr/lib/auth/cookie-utils.js +79 -0
- package/templates/ssr-isr/lib/auth/index.js +2 -0
- package/templates/ssr-isr/lib/auth/jwt.d.ts +30 -0
- package/templates/ssr-isr/lib/auth/jwt.js +57 -0
- package/templates/ssr-isr/lib/auth/session.d.ts +44 -0
- package/templates/ssr-isr/lib/auth/session.js +92 -0
- package/templates/ssr-isr/lib/build/asset-hashing.d.ts +10 -0
- package/templates/ssr-isr/lib/build/asset-hashing.js +25 -0
- package/templates/ssr-isr/lib/build/asset-manifest.d.ts +11 -0
- package/templates/ssr-isr/lib/build/asset-manifest.js +21 -0
- package/templates/ssr-isr/lib/build/build.d.ts +24 -0
- package/templates/ssr-isr/lib/build/build.js +141 -0
- package/templates/{static → ssr-isr}/lib/build/island-hydration.d.ts +8 -5
- package/templates/ssr-isr/lib/build/island-hydration.js +44 -0
- package/templates/ssr-isr/lib/build/minifier.d.ts +20 -0
- package/templates/ssr-isr/lib/build/minifier.js +46 -0
- package/templates/ssr-isr/lib/build/page-renderer.d.ts +17 -0
- package/templates/ssr-isr/lib/build/page-renderer.js +28 -0
- package/templates/ssr-isr/lib/build/production-build.d.ts +10 -0
- package/templates/ssr-isr/lib/build/production-build.js +13 -0
- package/templates/ssr-isr/lib/build/ssg-pipeline.d.ts +15 -0
- package/templates/ssr-isr/lib/build/ssg-pipeline.js +113 -0
- package/templates/{static → ssr-isr}/lib/build-tools/build-site.d.ts +3 -3
- package/templates/ssr-isr/lib/build-tools/build-site.js +36 -0
- package/templates/ssr-isr/lib/cache/index.d.ts +10 -0
- package/templates/ssr-isr/lib/cache/index.js +10 -0
- package/templates/ssr-isr/lib/cache/memory.d.ts +33 -0
- package/templates/ssr-isr/lib/cache/memory.js +40 -0
- package/templates/ssr-isr/lib/cache/redis.d.ts +45 -0
- package/templates/ssr-isr/lib/cache/redis.js +61 -0
- package/templates/ssr-isr/lib/cli/banner.d.ts +5 -0
- package/templates/ssr-isr/lib/cli/banner.js +28 -0
- package/templates/ssr-isr/lib/cli/templates/ssg/jen.config.js +32 -0
- package/templates/ssr-isr/lib/cli/templates/ssg/site/index.js +9 -0
- package/templates/ssr-isr/lib/cli/templates/ssr/jen.config.js +32 -0
- package/templates/ssr-isr/lib/cli/templates/ssr/site/index.js +9 -0
- package/templates/ssr-isr/lib/compilers/esbuild-plugins.js +111 -0
- package/templates/ssr-isr/lib/compilers/svelte.d.ts +18 -0
- package/templates/ssr-isr/lib/compilers/svelte.js +44 -0
- package/templates/ssr-isr/lib/compilers/vue.d.ts +15 -0
- package/templates/ssr-isr/lib/compilers/vue.js +90 -0
- package/templates/ssr-isr/lib/core/config.d.ts +220 -0
- package/templates/ssr-isr/lib/core/http.d.ts +56 -0
- package/templates/ssr-isr/lib/core/http.js +71 -0
- package/templates/ssr-isr/lib/core/middleware-hooks.d.ts +219 -0
- package/templates/ssr-isr/lib/core/middleware-hooks.js +97 -0
- package/templates/ssr-isr/lib/core/paths.d.ts +44 -0
- package/templates/ssr-isr/lib/core/paths.js +39 -0
- package/templates/ssr-isr/lib/core/routes/match.d.ts +54 -0
- package/templates/ssr-isr/lib/core/routes/match.js +47 -0
- package/templates/ssr-isr/lib/core/routes/scan.d.ts +53 -0
- package/templates/ssr-isr/lib/core/routes/scan.js +190 -0
- package/templates/ssr-isr/lib/core/types.d.ts +153 -0
- package/templates/ssr-isr/lib/core/types.js +1 -0
- package/templates/ssr-isr/lib/css/compiler.d.ts +23 -0
- package/templates/ssr-isr/lib/css/compiler.js +74 -0
- package/templates/ssr-isr/lib/db/connector.d.ts +30 -0
- package/templates/ssr-isr/lib/db/connector.js +42 -0
- package/templates/ssr-isr/lib/db/drivers/jdb.d.ts +17 -0
- package/templates/ssr-isr/lib/db/drivers/jdb.js +44 -0
- package/templates/ssr-isr/lib/db/drivers/sql.d.ts +22 -0
- package/templates/ssr-isr/lib/db/drivers/sql.js +182 -0
- package/templates/ssr-isr/lib/db/index.d.ts +27 -0
- package/templates/ssr-isr/lib/db/index.js +48 -0
- package/templates/ssr-isr/lib/db/types.d.ts +33 -0
- package/templates/ssr-isr/lib/db/types.js +1 -0
- package/templates/ssr-isr/lib/graphql/index.d.ts +48 -0
- package/templates/ssr-isr/lib/graphql/index.js +52 -0
- package/templates/ssr-isr/lib/graphql/resolvers.d.ts +57 -0
- package/templates/ssr-isr/lib/graphql/resolvers.js +25 -0
- package/templates/ssr-isr/lib/graphql/schema.d.ts +35 -0
- package/templates/ssr-isr/lib/graphql/schema.js +35 -0
- package/templates/ssr-isr/lib/i18n/en.json +4 -0
- package/templates/ssr-isr/lib/i18n/es.json +4 -0
- package/templates/ssr-isr/lib/i18n/index.d.ts +8 -0
- package/templates/ssr-isr/lib/i18n/index.js +15 -0
- package/templates/ssr-isr/lib/import/jen-import.d.ts +56 -0
- package/templates/ssr-isr/lib/import/jen-import.js +161 -0
- package/templates/{static → ssr-isr}/lib/index.d.ts +42 -11
- package/templates/ssr-isr/lib/index.js +116 -0
- package/templates/ssr-isr/lib/jdb/engine.d.ts +38 -0
- package/templates/ssr-isr/lib/jdb/engine.js +275 -0
- package/templates/ssr-isr/lib/jdb/index.d.ts +34 -0
- package/templates/ssr-isr/lib/jdb/index.js +34 -0
- package/templates/ssr-isr/lib/jdb/types.d.ts +228 -0
- package/templates/ssr-isr/lib/jdb/types.js +1 -0
- package/templates/ssr-isr/lib/jdb/utils.d.ts +66 -0
- package/templates/ssr-isr/lib/jdb/utils.js +176 -0
- package/templates/ssr-isr/lib/middleware/builtins/body-parser.d.ts +16 -0
- package/templates/ssr-isr/lib/middleware/builtins/body-parser.js +56 -0
- package/templates/ssr-isr/lib/middleware/builtins/cors.d.ts +15 -0
- package/templates/ssr-isr/lib/middleware/builtins/cors.js +54 -0
- package/templates/ssr-isr/lib/middleware/builtins/logger.d.ts +19 -0
- package/templates/ssr-isr/lib/middleware/builtins/logger.js +34 -0
- package/templates/ssr-isr/lib/middleware/builtins/rate-limit.d.ts +22 -0
- package/templates/ssr-isr/lib/middleware/builtins/rate-limit.js +79 -0
- package/templates/ssr-isr/lib/middleware/builtins/request-id.d.ts +19 -0
- package/templates/ssr-isr/lib/middleware/builtins/request-id.js +29 -0
- package/templates/ssr-isr/lib/middleware/builtins/security-headers.d.ts +19 -0
- package/templates/ssr-isr/lib/middleware/builtins/security-headers.js +53 -0
- package/templates/ssr-isr/lib/middleware/context.d.ts +105 -0
- package/templates/ssr-isr/lib/middleware/context.js +124 -0
- package/templates/ssr-isr/lib/middleware/decorators.d.ts +19 -0
- package/templates/ssr-isr/lib/middleware/decorators.js +93 -0
- package/templates/ssr-isr/lib/middleware/errors/handler.js +46 -0
- package/templates/ssr-isr/lib/middleware/errors/http-error.d.ts +5 -0
- package/templates/ssr-isr/lib/middleware/errors/http-error.js +10 -0
- package/templates/ssr-isr/lib/middleware/kernel.d.ts +69 -0
- package/templates/ssr-isr/lib/middleware/kernel.js +85 -0
- package/templates/ssr-isr/lib/middleware/pipeline.d.ts +53 -0
- package/templates/ssr-isr/lib/middleware/pipeline.js +148 -0
- package/templates/ssr-isr/lib/middleware/registry.d.ts +69 -0
- package/templates/ssr-isr/lib/middleware/registry.js +85 -0
- package/templates/ssr-isr/lib/middleware/response.d.ts +75 -0
- package/templates/ssr-isr/lib/middleware/response.js +107 -0
- package/templates/ssr-isr/lib/middleware/types.d.ts +1 -0
- package/templates/ssr-isr/lib/middleware/types.js +1 -0
- package/templates/ssr-isr/lib/middleware/utils/matcher.js +13 -0
- package/templates/ssr-isr/lib/native/bundle.d.ts +24 -0
- package/templates/ssr-isr/lib/native/bundle.js +22 -0
- package/templates/ssr-isr/lib/native/dev-server.d.ts +13 -0
- package/templates/ssr-isr/lib/native/dev-server.js +23 -0
- package/templates/{static → ssr-isr}/lib/native/index.d.ts +20 -20
- package/templates/ssr-isr/lib/native/index.js +33 -0
- package/templates/ssr-isr/lib/native/optimizer.d.ts +21 -0
- package/templates/ssr-isr/lib/native/optimizer.js +20 -0
- package/templates/ssr-isr/lib/native/style-compiler.d.ts +19 -0
- package/templates/ssr-isr/lib/native/style-compiler.js +19 -0
- package/templates/ssr-isr/lib/plugin/loader.d.ts +10 -0
- package/templates/ssr-isr/lib/plugin/loader.js +36 -0
- package/templates/ssr-isr/lib/runtime/client-runtime.d.ts +16 -0
- package/templates/ssr-isr/lib/runtime/client-runtime.js +25 -0
- package/templates/ssr-isr/lib/runtime/hmr.d.ts +23 -0
- package/templates/ssr-isr/lib/runtime/hmr.js +59 -0
- package/templates/ssr-isr/lib/runtime/hydrate.d.ts +18 -0
- package/templates/ssr-isr/lib/runtime/hydrate.js +55 -0
- package/templates/ssr-isr/lib/runtime/island-hydration-client.d.ts +8 -0
- package/templates/ssr-isr/lib/runtime/island-hydration-client.js +146 -0
- package/templates/ssr-isr/lib/runtime/islands.d.ts +101 -0
- package/templates/ssr-isr/lib/runtime/islands.js +110 -0
- package/templates/ssr-isr/lib/runtime/render.d.ts +40 -0
- package/templates/ssr-isr/lib/runtime/render.js +244 -0
- package/templates/ssr-isr/lib/server/api-routes.d.ts +112 -0
- package/templates/ssr-isr/lib/server/api-routes.js +237 -0
- package/templates/{static → ssr-isr}/lib/server/api.d.ts +3 -3
- package/templates/ssr-isr/lib/server/api.js +108 -0
- package/templates/ssr-isr/lib/server/app.d.ts +44 -0
- package/templates/ssr-isr/lib/server/app.js +438 -0
- package/templates/ssr-isr/lib/server/runtimeServe.d.ts +60 -0
- package/templates/ssr-isr/lib/server/runtimeServe.js +169 -0
- package/templates/ssr-isr/lib/server/ssr.d.ts +161 -0
- package/templates/ssr-isr/lib/server/ssr.js +202 -0
- package/templates/ssr-isr/lib/shared/log.d.ts +49 -0
- package/templates/ssr-isr/lib/shared/log.js +64 -0
- package/templates/ssr-isr/package.json +23 -0
- package/templates/ssr-isr/server.js +128 -0
- package/templates/ssr-isr/site/pages/(index).tsx +11 -0
- package/templates/ssr-isr/site/styles/global.scss +37 -0
- package/templates/ssr-isr/tsconfig.json +39 -0
- package/templates/static/README.md +63 -67
- package/templates/static/build.js +31 -21
- package/templates/static/jen.config.ts +0 -20
- package/templates/static/jenjs.d.ts +0 -18
- package/templates/static/lib/api/(hello).js +7 -24
- package/templates/static/lib/api/examples/files/[...slug].js +22 -0
- package/templates/static/lib/api/examples/hello.js +11 -0
- package/templates/static/lib/api/examples/posts/[id].js +37 -0
- package/templates/static/lib/api/examples/posts.js +37 -0
- package/templates/static/lib/api/examples/search.js +23 -0
- package/templates/static/lib/api/index.js +41 -0
- package/templates/static/lib/api/loader.js +234 -0
- package/templates/static/lib/api/router.js +259 -0
- package/templates/static/lib/assets/types.js +1 -0
- package/templates/static/lib/auth/cookie-utils.js +69 -85
- package/templates/static/lib/auth/index.js +0 -17
- package/templates/static/lib/auth/jwt.js +48 -21
- package/templates/static/lib/auth/session.js +79 -98
- package/templates/static/lib/build/asset-hashing.js +47 -39
- package/templates/static/lib/build/asset-manifest.js +18 -35
- package/templates/static/lib/build/build.js +277 -95
- package/templates/static/lib/build/bundle-analyzer-ui.js +417 -0
- package/templates/static/lib/build/bundle-analyzer.js +945 -0
- package/templates/static/lib/build/code-splitter.js +194 -0
- package/templates/static/lib/build/feature-analyzer.js +190 -0
- package/templates/static/lib/build/feature-gate.js +257 -0
- package/templates/static/lib/build/island-hydration.js +17 -35
- package/templates/static/lib/build/lazy-loader.js +322 -0
- package/templates/static/lib/build/minifier.js +42 -61
- package/templates/static/lib/build/page-renderer.js +25 -42
- package/templates/static/lib/build/production-build.js +11 -28
- package/templates/static/lib/build/rust-hashing.js +71 -0
- package/templates/static/lib/build/script-optimizer.js +285 -0
- package/templates/static/lib/build/ssg-pipeline.js +107 -113
- package/templates/static/lib/build/vercel-output.js +298 -0
- package/templates/static/lib/build-tools/build-site.js +27 -47
- package/templates/static/lib/cache/index.js +6 -15
- package/templates/static/lib/cache/memory.js +37 -28
- package/templates/static/lib/cache/redis.js +56 -28
- package/templates/static/lib/cli/banner.js +18 -31
- package/templates/static/lib/cli/templates/ssg/jen.config.js +29 -46
- package/templates/static/lib/cli/templates/ssg/site/index.js +6 -1
- package/templates/static/lib/cli/templates/ssr/jen.config.js +29 -46
- package/templates/static/lib/cli/templates/ssr/site/index.js +6 -1
- package/templates/static/lib/client/Image.js +42 -0
- package/templates/static/lib/client/Link.js +190 -0
- package/templates/static/lib/client/PWA.js +46 -0
- package/templates/static/lib/client/Seo.js +97 -0
- package/templates/static/lib/client/index.js +9 -0
- package/templates/static/lib/client/useNavigation.js +25 -0
- package/templates/static/lib/client/useRouter.js +64 -0
- package/templates/static/lib/client-routing/Link.js +17 -0
- package/templates/static/lib/client-routing/index.js +19 -0
- package/templates/static/lib/client-routing/router.js +151 -0
- package/templates/static/lib/client-routing/signal.js +147 -0
- package/templates/static/lib/compilers/esbuild-plugins.js +96 -115
- package/templates/static/lib/compilers/svelte.js +31 -48
- package/templates/static/lib/compilers/vue.js +76 -85
- package/templates/static/lib/core/config.js +0 -17
- package/templates/static/lib/core/feature-guard.js +136 -0
- package/templates/static/lib/core/features.js +99 -0
- package/templates/static/lib/core/http.js +65 -36
- package/templates/static/lib/core/layouts/index.js +10 -0
- package/templates/static/lib/core/layouts/render.js +158 -0
- package/templates/static/lib/core/layouts/scan.js +112 -0
- package/templates/static/lib/core/layouts/types.js +1 -0
- package/templates/static/lib/core/lifecycle.js +129 -0
- package/templates/static/lib/core/loader-schema.js +81 -0
- package/templates/static/lib/core/middleware-hooks.js +86 -58
- package/templates/static/lib/core/paths.js +31 -16
- package/templates/static/lib/core/routes/advanced.js +114 -0
- package/templates/static/lib/core/routes/handlers.js +181 -0
- package/templates/static/lib/core/routes/match.js +129 -24
- package/templates/static/lib/core/routes/orchestrator.js +171 -0
- package/templates/static/lib/core/routes/rendering-config.js +131 -0
- package/templates/static/lib/core/routes/scan.js +174 -132
- package/templates/static/lib/core/types.js +0 -17
- package/templates/static/lib/css/compiler.js +63 -76
- package/templates/static/lib/data-fetching/cache.js +223 -0
- package/templates/static/lib/data-fetching/client.js +202 -0
- package/templates/static/lib/data-fetching/feature-guard.js +29 -0
- package/templates/static/lib/data-fetching/graphql.js +265 -0
- package/templates/static/lib/data-fetching/index.js +57 -0
- package/templates/static/lib/data-fetching/rest.js +256 -0
- package/templates/static/lib/data-fetching/server.js +182 -0
- package/templates/static/lib/data-fetching/types.js +5 -0
- package/templates/static/lib/db/connector.js +37 -28
- package/templates/static/lib/db/drivers/jdb.js +41 -56
- package/templates/static/lib/db/drivers/sql.js +152 -152
- package/templates/static/lib/db/index.js +42 -59
- package/templates/static/lib/db/types.js +0 -17
- package/templates/static/lib/devtools/component-tree.js +106 -0
- package/templates/static/lib/devtools/devtools.js +638 -0
- package/templates/static/lib/devtools/event-bus.js +29 -0
- package/templates/static/lib/devtools/event-logger.js +67 -0
- package/templates/static/lib/devtools/index.js +9 -0
- package/templates/static/lib/devtools/integration.js +149 -0
- package/templates/static/lib/devtools/performance.js +84 -0
- package/templates/static/lib/devtools/persistence.js +57 -0
- package/templates/static/lib/devtools/plugins.js +97 -0
- package/templates/static/lib/devtools/search.js +89 -0
- package/templates/static/lib/devtools/ui.js +769 -0
- package/templates/static/lib/features/api/handler.js +10 -0
- package/templates/static/lib/features/api/index.js +5 -0
- package/templates/static/lib/features/api/types.js +4 -0
- package/templates/static/lib/features/middleware/compiled.js +7 -0
- package/templates/static/lib/features/middleware/index.js +5 -0
- package/templates/static/lib/features/middleware/types.js +4 -0
- package/templates/static/lib/fonts/index.js +46 -0
- package/templates/static/lib/fonts/inject.js +125 -0
- package/templates/static/lib/fonts/loader.js +196 -0
- package/templates/static/lib/fonts/types.js +1 -0
- package/templates/static/lib/graphql/index.js +46 -16
- package/templates/static/lib/graphql/resolvers.js +42 -19
- package/templates/static/lib/graphql/schema.js +30 -15
- package/templates/static/lib/i18n/en.json +2 -2
- package/templates/static/lib/i18n/es.json +2 -2
- package/templates/static/lib/i18n/index.js +17 -29
- package/templates/static/lib/import/jen-import.js +130 -97
- package/templates/static/lib/index.js +82 -115
- package/templates/static/lib/jdb/engine.js +259 -160
- package/templates/static/lib/jdb/index.js +28 -13
- package/templates/static/lib/jdb/types.js +0 -17
- package/templates/static/lib/jdb/utils.js +159 -124
- package/templates/static/lib/middleware/builtins/cors.js +55 -64
- package/templates/static/lib/middleware/context.js +120 -46
- package/templates/static/lib/middleware/kernel.js +186 -31
- package/templates/static/lib/middleware/pipeline.js +140 -59
- package/templates/static/lib/middleware/registry.js +80 -36
- package/templates/static/lib/middleware/response.js +101 -54
- package/templates/static/lib/plugin/examples/analytics-plugin.js +183 -0
- package/templates/static/lib/plugin/examples/cdn-upload-plugin.js +94 -0
- package/templates/static/lib/plugin/loader.js +25 -48
- package/templates/static/lib/plugin/plugin-manager.js +177 -0
- package/templates/static/lib/plugin/types.js +28 -0
- package/templates/static/lib/runtime/client-runtime.js +19 -22
- package/templates/static/lib/runtime/hmr.js +23 -18
- package/templates/static/lib/runtime/hydrate.js +47 -37
- package/templates/static/lib/runtime/island-hydration-client.js +122 -108
- package/templates/static/lib/runtime/islands.js +92 -71
- package/templates/static/lib/runtime/render.js +385 -149
- package/templates/static/lib/security/security-config.js +60 -0
- package/templates/static/lib/security/security-middleware.js +229 -0
- package/templates/static/lib/server/api-routes.js +339 -171
- package/templates/static/lib/server/api.js +93 -109
- package/templates/static/lib/server/app.js +660 -270
- package/templates/static/lib/server/isr.js +365 -0
- package/templates/static/lib/server/runtimeServe.js +157 -89
- package/templates/static/lib/server/ssr.js +295 -0
- package/templates/static/lib/server-actions/handler.js +180 -0
- package/templates/static/lib/server-actions/index.js +19 -0
- package/templates/static/lib/server-actions/middleware.js +146 -0
- package/templates/static/lib/server-actions/scan.js +152 -0
- package/templates/static/lib/server-actions/types.js +1 -0
- package/templates/static/lib/server-actions/validators.js +156 -0
- package/templates/static/lib/shared/log.js +74 -25
- package/templates/static/lib/telemetry/api/rate-limiter.js +32 -0
- package/templates/static/lib/telemetry/api/validator.js +67 -0
- package/templates/static/lib/telemetry/client.js +121 -0
- package/templates/static/lib/telemetry/tests/rate-limiter.test.js +46 -0
- package/templates/static/lib/telemetry/tests/validator.test.js +62 -0
- package/templates/static/lib/vendor/glob/glob.js +4766 -0
- package/templates/static/lib/vendor/preact/preact.module.js +797 -0
- package/templates/static/lib/vendor/sass/sass.node.mjs +212 -0
- package/templates/static/package.json +4 -0
- package/templates/static/server.js +23 -25
- package/templates/static/site/(home).tsx +12 -12
- package/templates/static/site/styles/global.scss +89 -78
- package/templates/static/tsconfig.json +43 -39
- package/templates/static/.esbuild/jen.config.js +0 -1
- package/templates/static/lib/api/(hello).d.ts +0 -7
- package/templates/static/lib/auth/cookie-utils.d.ts +0 -24
- package/templates/static/lib/auth/jwt.d.ts +0 -2
- package/templates/static/lib/auth/session.d.ts +0 -44
- package/templates/static/lib/build/asset-hashing.d.ts +0 -10
- package/templates/static/lib/build/asset-manifest.d.ts +0 -11
- package/templates/static/lib/build/build.d.ts +0 -4
- package/templates/static/lib/build/minifier.d.ts +0 -20
- package/templates/static/lib/build/page-renderer.d.ts +0 -17
- package/templates/static/lib/build/production-build.d.ts +0 -10
- package/templates/static/lib/build/ssg-pipeline.d.ts +0 -15
- package/templates/static/lib/cache/index.d.ts +0 -2
- package/templates/static/lib/cache/memory.d.ts +0 -6
- package/templates/static/lib/cache/redis.d.ts +0 -6
- package/templates/static/lib/cli/banner.d.ts +0 -1
- package/templates/static/lib/compilers/svelte.d.ts +0 -18
- package/templates/static/lib/compilers/vue.d.ts +0 -15
- package/templates/static/lib/core/config.d.ts +0 -53
- package/templates/static/lib/core/http.d.ts +0 -3
- package/templates/static/lib/core/middleware-hooks.d.ts +0 -46
- package/templates/static/lib/core/paths.d.ts +0 -6
- package/templates/static/lib/core/routes/match.d.ts +0 -6
- package/templates/static/lib/core/routes/scan.d.ts +0 -9
- package/templates/static/lib/core/types.d.ts +0 -18
- package/templates/static/lib/css/compiler.d.ts +0 -20
- package/templates/static/lib/db/connector.d.ts +0 -4
- package/templates/static/lib/db/drivers/jdb.d.ts +0 -13
- package/templates/static/lib/db/drivers/sql.d.ts +0 -18
- package/templates/static/lib/db/index.d.ts +0 -19
- package/templates/static/lib/db/types.d.ts +0 -29
- package/templates/static/lib/graphql/index.d.ts +0 -1
- package/templates/static/lib/graphql/resolvers.d.ts +0 -17
- package/templates/static/lib/graphql/schema.d.ts +0 -1
- package/templates/static/lib/i18n/index.d.ts +0 -8
- package/templates/static/lib/import/jen-import.d.ts +0 -27
- package/templates/static/lib/jdb/engine.d.ts +0 -9
- package/templates/static/lib/jdb/index.d.ts +0 -2
- package/templates/static/lib/jdb/types.d.ts +0 -46
- package/templates/static/lib/jdb/utils.d.ts +0 -6
- package/templates/static/lib/middleware/builtins/body-parser.d.ts +0 -1
- package/templates/static/lib/middleware/builtins/body-parser.js +0 -55
- package/templates/static/lib/middleware/builtins/cors.d.ts +0 -13
- package/templates/static/lib/middleware/builtins/logger.d.ts +0 -1
- package/templates/static/lib/middleware/builtins/logger.js +0 -33
- package/templates/static/lib/middleware/builtins/rate-limit.d.ts +0 -5
- package/templates/static/lib/middleware/builtins/rate-limit.js +0 -76
- package/templates/static/lib/middleware/builtins/request-id.d.ts +0 -1
- package/templates/static/lib/middleware/builtins/request-id.js +0 -25
- package/templates/static/lib/middleware/builtins/security-headers.d.ts +0 -1
- package/templates/static/lib/middleware/builtins/security-headers.js +0 -39
- package/templates/static/lib/middleware/context.d.ts +0 -18
- package/templates/static/lib/middleware/decorators.d.ts +0 -2
- package/templates/static/lib/middleware/decorators.js +0 -61
- package/templates/static/lib/middleware/errors/handler.js +0 -65
- package/templates/static/lib/middleware/errors/http-error.d.ts +0 -5
- package/templates/static/lib/middleware/errors/http-error.js +0 -27
- package/templates/static/lib/middleware/kernel.d.ts +0 -6
- package/templates/static/lib/middleware/pipeline.d.ts +0 -4
- package/templates/static/lib/middleware/registry.d.ts +0 -10
- package/templates/static/lib/middleware/response.d.ts +0 -13
- package/templates/static/lib/middleware/types.js +0 -18
- package/templates/static/lib/middleware/utils/matcher.js +0 -31
- package/templates/static/lib/native/bundle.d.ts +0 -19
- package/templates/static/lib/native/bundle.js +0 -39
- package/templates/static/lib/native/dev-server.d.ts +0 -6
- package/templates/static/lib/native/dev-server.js +0 -38
- package/templates/static/lib/native/index.js +0 -48
- package/templates/static/lib/native/optimizer.d.ts +0 -17
- package/templates/static/lib/native/optimizer.js +0 -37
- package/templates/static/lib/native/style-compiler.d.ts +0 -10
- package/templates/static/lib/native/style-compiler.js +0 -36
- package/templates/static/lib/plugin/loader.d.ts +0 -8
- package/templates/static/lib/runtime/client-runtime.d.ts +0 -1
- package/templates/static/lib/runtime/hmr.d.ts +0 -1
- package/templates/static/lib/runtime/hydrate.d.ts +0 -1
- package/templates/static/lib/runtime/island-hydration-client.d.ts +0 -5
- package/templates/static/lib/runtime/islands.d.ts +0 -46
- package/templates/static/lib/runtime/render.d.ts +0 -13
- package/templates/static/lib/server/api-routes.d.ts +0 -44
- package/templates/static/lib/server/app.d.ts +0 -10
- package/templates/static/lib/server/runtimeServe.d.ts +0 -4
- package/templates/static/lib/shared/log.d.ts +0 -5
- package/templates/static/node_modules/.bin/esbuild +0 -16
- package/templates/static/node_modules/.bin/esbuild.cmd +0 -17
- package/templates/static/node_modules/.bin/esbuild.ps1 +0 -28
- package/templates/static/node_modules/.bin/tsc +0 -16
- package/templates/static/node_modules/.bin/tsc.cmd +0 -17
- package/templates/static/node_modules/.bin/tsc.ps1 +0 -28
- package/templates/static/node_modules/.bin/tsserver +0 -16
- package/templates/static/node_modules/.bin/tsserver.cmd +0 -17
- package/templates/static/node_modules/.bin/tsserver.ps1 +0 -28
- package/templates/static/node_modules/.jen/cache/B__Jen.js_packages_create-jen-app_templates_static_site_(home).tsx.mjs +0 -14
- package/templates/static/node_modules/.jen/cache/B__Jen.js_packages_create-jen-app_yo_site_(home).tsx.mjs +0 -11
- package/templates/static/node_modules/.package-lock.json +0 -585
- package/templates/static/node_modules/@esbuild/win32-x64/README.md +0 -3
- package/templates/static/node_modules/@esbuild/win32-x64/esbuild.exe +0 -0
- package/templates/static/node_modules/@esbuild/win32-x64/package.json +0 -20
- package/templates/static/node_modules/@jenjs/master/README.md +0 -24
- package/templates/static/node_modules/@jenjs/master/index.js +0 -3655
- package/templates/static/node_modules/@jenjs/master/package.json +0 -36
- package/templates/static/node_modules/@polka/url/build.js +0 -49
- package/templates/static/node_modules/@polka/url/build.mjs +0 -47
- package/templates/static/node_modules/@polka/url/index.d.ts +0 -11
- package/templates/static/node_modules/@polka/url/package.json +0 -30
- package/templates/static/node_modules/@polka/url/readme.md +0 -68
- package/templates/static/node_modules/@types/node/LICENSE +0 -21
- package/templates/static/node_modules/@types/node/README.md +0 -15
- package/templates/static/node_modules/@types/node/assert/strict.d.ts +0 -111
- package/templates/static/node_modules/@types/node/assert.d.ts +0 -1078
- package/templates/static/node_modules/@types/node/async_hooks.d.ts +0 -603
- package/templates/static/node_modules/@types/node/buffer.buffer.d.ts +0 -472
- package/templates/static/node_modules/@types/node/buffer.d.ts +0 -1934
- package/templates/static/node_modules/@types/node/child_process.d.ts +0 -1476
- package/templates/static/node_modules/@types/node/cluster.d.ts +0 -578
- package/templates/static/node_modules/@types/node/compatibility/disposable.d.ts +0 -14
- package/templates/static/node_modules/@types/node/compatibility/index.d.ts +0 -9
- package/templates/static/node_modules/@types/node/compatibility/indexable.d.ts +0 -20
- package/templates/static/node_modules/@types/node/compatibility/iterators.d.ts +0 -20
- package/templates/static/node_modules/@types/node/console.d.ts +0 -452
- package/templates/static/node_modules/@types/node/constants.d.ts +0 -21
- package/templates/static/node_modules/@types/node/crypto.d.ts +0 -4545
- package/templates/static/node_modules/@types/node/dgram.d.ts +0 -600
- package/templates/static/node_modules/@types/node/diagnostics_channel.d.ts +0 -578
- package/templates/static/node_modules/@types/node/dns/promises.d.ts +0 -503
- package/templates/static/node_modules/@types/node/dns.d.ts +0 -923
- package/templates/static/node_modules/@types/node/domain.d.ts +0 -170
- package/templates/static/node_modules/@types/node/events.d.ts +0 -976
- package/templates/static/node_modules/@types/node/fs/promises.d.ts +0 -1295
- package/templates/static/node_modules/@types/node/fs.d.ts +0 -4461
- package/templates/static/node_modules/@types/node/globals.d.ts +0 -172
- package/templates/static/node_modules/@types/node/globals.typedarray.d.ts +0 -38
- package/templates/static/node_modules/@types/node/http.d.ts +0 -2089
- package/templates/static/node_modules/@types/node/http2.d.ts +0 -2644
- package/templates/static/node_modules/@types/node/https.d.ts +0 -579
- package/templates/static/node_modules/@types/node/index.d.ts +0 -97
- package/templates/static/node_modules/@types/node/inspector.d.ts +0 -253
- package/templates/static/node_modules/@types/node/inspector.generated.d.ts +0 -4052
- package/templates/static/node_modules/@types/node/module.d.ts +0 -891
- package/templates/static/node_modules/@types/node/net.d.ts +0 -1057
- package/templates/static/node_modules/@types/node/os.d.ts +0 -506
- package/templates/static/node_modules/@types/node/package.json +0 -145
- package/templates/static/node_modules/@types/node/path.d.ts +0 -200
- package/templates/static/node_modules/@types/node/perf_hooks.d.ts +0 -968
- package/templates/static/node_modules/@types/node/process.d.ts +0 -2089
- package/templates/static/node_modules/@types/node/punycode.d.ts +0 -117
- package/templates/static/node_modules/@types/node/querystring.d.ts +0 -152
- package/templates/static/node_modules/@types/node/readline/promises.d.ts +0 -161
- package/templates/static/node_modules/@types/node/readline.d.ts +0 -594
- package/templates/static/node_modules/@types/node/repl.d.ts +0 -428
- package/templates/static/node_modules/@types/node/sea.d.ts +0 -153
- package/templates/static/node_modules/@types/node/sqlite.d.ts +0 -721
- package/templates/static/node_modules/@types/node/stream/consumers.d.ts +0 -38
- package/templates/static/node_modules/@types/node/stream/promises.d.ts +0 -90
- package/templates/static/node_modules/@types/node/stream/web.d.ts +0 -622
- package/templates/static/node_modules/@types/node/stream.d.ts +0 -1664
- package/templates/static/node_modules/@types/node/string_decoder.d.ts +0 -67
- package/templates/static/node_modules/@types/node/test.d.ts +0 -2163
- package/templates/static/node_modules/@types/node/timers/promises.d.ts +0 -108
- package/templates/static/node_modules/@types/node/timers.d.ts +0 -287
- package/templates/static/node_modules/@types/node/tls.d.ts +0 -1319
- package/templates/static/node_modules/@types/node/trace_events.d.ts +0 -197
- package/templates/static/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +0 -468
- package/templates/static/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -34
- package/templates/static/node_modules/@types/node/ts5.6/index.d.ts +0 -97
- package/templates/static/node_modules/@types/node/tty.d.ts +0 -208
- package/templates/static/node_modules/@types/node/url.d.ts +0 -984
- package/templates/static/node_modules/@types/node/util.d.ts +0 -2606
- package/templates/static/node_modules/@types/node/v8.d.ts +0 -920
- package/templates/static/node_modules/@types/node/vm.d.ts +0 -1000
- package/templates/static/node_modules/@types/node/wasi.d.ts +0 -181
- package/templates/static/node_modules/@types/node/web-globals/abortcontroller.d.ts +0 -34
- package/templates/static/node_modules/@types/node/web-globals/domexception.d.ts +0 -68
- package/templates/static/node_modules/@types/node/web-globals/events.d.ts +0 -97
- package/templates/static/node_modules/@types/node/web-globals/fetch.d.ts +0 -55
- package/templates/static/node_modules/@types/node/web-globals/navigator.d.ts +0 -22
- package/templates/static/node_modules/@types/node/web-globals/storage.d.ts +0 -24
- package/templates/static/node_modules/@types/node/worker_threads.d.ts +0 -784
- package/templates/static/node_modules/@types/node/zlib.d.ts +0 -683
- package/templates/static/node_modules/esbuild/LICENSE.md +0 -21
- package/templates/static/node_modules/esbuild/README.md +0 -3
- package/templates/static/node_modules/esbuild/bin/esbuild +0 -223
- package/templates/static/node_modules/esbuild/install.js +0 -289
- package/templates/static/node_modules/esbuild/lib/main.d.ts +0 -716
- package/templates/static/node_modules/esbuild/lib/main.js +0 -2242
- package/templates/static/node_modules/esbuild/package.json +0 -49
- package/templates/static/node_modules/mrmime/index.d.ts +0 -2
- package/templates/static/node_modules/mrmime/index.js +0 -449
- package/templates/static/node_modules/mrmime/index.mjs +0 -448
- package/templates/static/node_modules/mrmime/license +0 -21
- package/templates/static/node_modules/mrmime/package.json +0 -44
- package/templates/static/node_modules/mrmime/readme.md +0 -130
- package/templates/static/node_modules/preact/README.md +0 -185
- package/templates/static/node_modules/preact/compat/client.d.ts +0 -13
- package/templates/static/node_modules/preact/compat/client.js +0 -21
- package/templates/static/node_modules/preact/compat/client.mjs +0 -24
- package/templates/static/node_modules/preact/compat/dist/compat.js +0 -2
- package/templates/static/node_modules/preact/compat/dist/compat.js.map +0 -1
- package/templates/static/node_modules/preact/compat/dist/compat.mjs +0 -2
- package/templates/static/node_modules/preact/compat/dist/compat.module.js +0 -2
- package/templates/static/node_modules/preact/compat/dist/compat.module.js.map +0 -1
- package/templates/static/node_modules/preact/compat/dist/compat.umd.js +0 -2
- package/templates/static/node_modules/preact/compat/dist/compat.umd.js.map +0 -1
- package/templates/static/node_modules/preact/compat/jsx-dev-runtime.js +0 -3
- package/templates/static/node_modules/preact/compat/jsx-dev-runtime.mjs +0 -3
- package/templates/static/node_modules/preact/compat/jsx-runtime.js +0 -3
- package/templates/static/node_modules/preact/compat/jsx-runtime.mjs +0 -3
- package/templates/static/node_modules/preact/compat/package.json +0 -55
- package/templates/static/node_modules/preact/compat/scheduler.js +0 -15
- package/templates/static/node_modules/preact/compat/scheduler.mjs +0 -23
- package/templates/static/node_modules/preact/compat/server.browser.js +0 -11
- package/templates/static/node_modules/preact/compat/server.js +0 -36
- package/templates/static/node_modules/preact/compat/server.mjs +0 -17
- package/templates/static/node_modules/preact/compat/src/Children.js +0 -21
- package/templates/static/node_modules/preact/compat/src/PureComponent.js +0 -16
- package/templates/static/node_modules/preact/compat/src/forwardRef.js +0 -44
- package/templates/static/node_modules/preact/compat/src/hooks.js +0 -70
- package/templates/static/node_modules/preact/compat/src/index.d.ts +0 -351
- package/templates/static/node_modules/preact/compat/src/index.js +0 -238
- package/templates/static/node_modules/preact/compat/src/internal.d.ts +0 -48
- package/templates/static/node_modules/preact/compat/src/memo.js +0 -35
- package/templates/static/node_modules/preact/compat/src/portals.js +0 -78
- package/templates/static/node_modules/preact/compat/src/render.js +0 -313
- package/templates/static/node_modules/preact/compat/src/suspense-list.d.ts +0 -16
- package/templates/static/node_modules/preact/compat/src/suspense-list.js +0 -127
- package/templates/static/node_modules/preact/compat/src/suspense.d.ts +0 -19
- package/templates/static/node_modules/preact/compat/src/suspense.js +0 -291
- package/templates/static/node_modules/preact/compat/src/util.js +0 -33
- package/templates/static/node_modules/preact/compat/test-utils.js +0 -1
- package/templates/static/node_modules/preact/compat/test-utils.mjs +0 -1
- package/templates/static/node_modules/preact/debug/dist/debug.js +0 -2
- package/templates/static/node_modules/preact/debug/dist/debug.js.map +0 -1
- package/templates/static/node_modules/preact/debug/dist/debug.mjs +0 -2
- package/templates/static/node_modules/preact/debug/dist/debug.module.js +0 -2
- package/templates/static/node_modules/preact/debug/dist/debug.module.js.map +0 -1
- package/templates/static/node_modules/preact/debug/dist/debug.umd.js +0 -2
- package/templates/static/node_modules/preact/debug/dist/debug.umd.js.map +0 -1
- package/templates/static/node_modules/preact/debug/package.json +0 -27
- package/templates/static/node_modules/preact/debug/src/check-props.js +0 -54
- package/templates/static/node_modules/preact/debug/src/component-stack.js +0 -146
- package/templates/static/node_modules/preact/debug/src/constants.js +0 -3
- package/templates/static/node_modules/preact/debug/src/debug.js +0 -593
- package/templates/static/node_modules/preact/debug/src/index.d.ts +0 -23
- package/templates/static/node_modules/preact/debug/src/index.js +0 -12
- package/templates/static/node_modules/preact/debug/src/internal.d.ts +0 -82
- package/templates/static/node_modules/preact/debug/src/util.js +0 -15
- package/templates/static/node_modules/preact/devtools/dist/devtools.js +0 -2
- package/templates/static/node_modules/preact/devtools/dist/devtools.js.map +0 -1
- package/templates/static/node_modules/preact/devtools/dist/devtools.mjs +0 -2
- package/templates/static/node_modules/preact/devtools/dist/devtools.module.js +0 -2
- package/templates/static/node_modules/preact/devtools/dist/devtools.module.js.map +0 -1
- package/templates/static/node_modules/preact/devtools/dist/devtools.umd.js +0 -2
- package/templates/static/node_modules/preact/devtools/dist/devtools.umd.js.map +0 -1
- package/templates/static/node_modules/preact/devtools/package.json +0 -25
- package/templates/static/node_modules/preact/devtools/src/devtools.js +0 -21
- package/templates/static/node_modules/preact/devtools/src/index.d.ts +0 -8
- package/templates/static/node_modules/preact/devtools/src/index.js +0 -15
- package/templates/static/node_modules/preact/dist/preact.js +0 -2
- package/templates/static/node_modules/preact/dist/preact.js.map +0 -1
- package/templates/static/node_modules/preact/dist/preact.min.js +0 -2
- package/templates/static/node_modules/preact/dist/preact.min.js.map +0 -1
- package/templates/static/node_modules/preact/dist/preact.min.module.js +0 -2
- package/templates/static/node_modules/preact/dist/preact.min.module.js.map +0 -1
- package/templates/static/node_modules/preact/dist/preact.min.umd.js +0 -2
- package/templates/static/node_modules/preact/dist/preact.min.umd.js.map +0 -1
- package/templates/static/node_modules/preact/dist/preact.mjs +0 -2
- package/templates/static/node_modules/preact/dist/preact.module.js +0 -2
- package/templates/static/node_modules/preact/dist/preact.module.js.map +0 -1
- package/templates/static/node_modules/preact/dist/preact.umd.js +0 -2
- package/templates/static/node_modules/preact/dist/preact.umd.js.map +0 -1
- package/templates/static/node_modules/preact/hooks/dist/hooks.js +0 -2
- package/templates/static/node_modules/preact/hooks/dist/hooks.js.map +0 -1
- package/templates/static/node_modules/preact/hooks/dist/hooks.mjs +0 -2
- package/templates/static/node_modules/preact/hooks/dist/hooks.module.js +0 -2
- package/templates/static/node_modules/preact/hooks/dist/hooks.module.js.map +0 -1
- package/templates/static/node_modules/preact/hooks/dist/hooks.umd.js +0 -2
- package/templates/static/node_modules/preact/hooks/dist/hooks.umd.js.map +0 -1
- package/templates/static/node_modules/preact/hooks/package.json +0 -35
- package/templates/static/node_modules/preact/hooks/src/index.d.ts +0 -145
- package/templates/static/node_modules/preact/hooks/src/index.js +0 -555
- package/templates/static/node_modules/preact/hooks/src/internal.d.ts +0 -103
- package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.js +0 -2
- package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.js.map +0 -1
- package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs +0 -2
- package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js +0 -2
- package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js.map +0 -1
- package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.umd.js +0 -2
- package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.umd.js.map +0 -1
- package/templates/static/node_modules/preact/jsx-runtime/package.json +0 -28
- package/templates/static/node_modules/preact/jsx-runtime/src/index.d.ts +0 -62
- package/templates/static/node_modules/preact/jsx-runtime/src/index.js +0 -206
- package/templates/static/node_modules/preact/jsx-runtime/src/utils.js +0 -36
- package/templates/static/node_modules/preact/package.json +0 -258
- package/templates/static/node_modules/preact/src/cjs.js +0 -3
- package/templates/static/node_modules/preact/src/clone-element.js +0 -48
- package/templates/static/node_modules/preact/src/component.js +0 -249
- package/templates/static/node_modules/preact/src/constants.js +0 -22
- package/templates/static/node_modules/preact/src/create-context.js +0 -60
- package/templates/static/node_modules/preact/src/create-element.js +0 -97
- package/templates/static/node_modules/preact/src/diff/catch-error.js +0 -46
- package/templates/static/node_modules/preact/src/diff/children.js +0 -451
- package/templates/static/node_modules/preact/src/diff/index.js +0 -684
- package/templates/static/node_modules/preact/src/diff/props.js +0 -173
- package/templates/static/node_modules/preact/src/dom.d.ts +0 -2476
- package/templates/static/node_modules/preact/src/index-5.d.ts +0 -399
- package/templates/static/node_modules/preact/src/index.d.ts +0 -402
- package/templates/static/node_modules/preact/src/index.js +0 -13
- package/templates/static/node_modules/preact/src/internal.d.ts +0 -190
- package/templates/static/node_modules/preact/src/jsx.d.ts +0 -2878
- package/templates/static/node_modules/preact/src/options.js +0 -16
- package/templates/static/node_modules/preact/src/render.js +0 -78
- package/templates/static/node_modules/preact/src/util.js +0 -28
- package/templates/static/node_modules/preact/test-utils/dist/testUtils.js +0 -2
- package/templates/static/node_modules/preact/test-utils/dist/testUtils.js.map +0 -1
- package/templates/static/node_modules/preact/test-utils/dist/testUtils.mjs +0 -2
- package/templates/static/node_modules/preact/test-utils/dist/testUtils.module.js +0 -2
- package/templates/static/node_modules/preact/test-utils/dist/testUtils.module.js.map +0 -1
- package/templates/static/node_modules/preact/test-utils/dist/testUtils.umd.js +0 -2
- package/templates/static/node_modules/preact/test-utils/dist/testUtils.umd.js.map +0 -1
- package/templates/static/node_modules/preact/test-utils/package.json +0 -28
- package/templates/static/node_modules/preact/test-utils/src/index.d.ts +0 -3
- package/templates/static/node_modules/preact/test-utils/src/index.js +0 -129
- package/templates/static/node_modules/preact-render-to-string/LICENSE +0 -21
- package/templates/static/node_modules/preact-render-to-string/README.md +0 -149
- package/templates/static/node_modules/preact-render-to-string/dist/commonjs.js +0 -2
- package/templates/static/node_modules/preact-render-to-string/dist/index.d.ts +0 -17
- package/templates/static/node_modules/preact-render-to-string/dist/index.js +0 -6
- package/templates/static/node_modules/preact-render-to-string/dist/index.js.map +0 -1
- package/templates/static/node_modules/preact-render-to-string/dist/index.mjs +0 -2
- package/templates/static/node_modules/preact-render-to-string/dist/index.module.js +0 -2
- package/templates/static/node_modules/preact-render-to-string/dist/index.module.js.map +0 -1
- package/templates/static/node_modules/preact-render-to-string/dist/index.umd.js +0 -2
- package/templates/static/node_modules/preact-render-to-string/dist/index.umd.js.map +0 -1
- package/templates/static/node_modules/preact-render-to-string/dist/internal.d.ts +0 -35
- package/templates/static/node_modules/preact-render-to-string/dist/jsx/commonjs.js +0 -2
- package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.js +0 -4
- package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.js.map +0 -1
- package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.mjs +0 -2
- package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.module.js +0 -2
- package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.module.js.map +0 -1
- package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.umd.js +0 -2
- package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.umd.js.map +0 -1
- package/templates/static/node_modules/preact-render-to-string/dist/jsx.d.ts +0 -24
- package/templates/static/node_modules/preact-render-to-string/dist/stream/index.js +0 -2
- package/templates/static/node_modules/preact-render-to-string/dist/stream/index.js.map +0 -1
- package/templates/static/node_modules/preact-render-to-string/dist/stream/index.mjs +0 -2
- package/templates/static/node_modules/preact-render-to-string/dist/stream/index.module.js +0 -2
- package/templates/static/node_modules/preact-render-to-string/dist/stream/index.module.js.map +0 -1
- package/templates/static/node_modules/preact-render-to-string/dist/stream/index.umd.js +0 -2
- package/templates/static/node_modules/preact-render-to-string/dist/stream/index.umd.js.map +0 -1
- package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.js +0 -884
- package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.js.map +0 -1
- package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.mjs +0 -884
- package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.module.js +0 -884
- package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.module.js.map +0 -1
- package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.umd.js +0 -888
- package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.umd.js.map +0 -1
- package/templates/static/node_modules/preact-render-to-string/dist/stream-node.d.ts +0 -19
- package/templates/static/node_modules/preact-render-to-string/dist/stream.d.ts +0 -10
- package/templates/static/node_modules/preact-render-to-string/jsx.d.ts +0 -24
- package/templates/static/node_modules/preact-render-to-string/jsx.js +0 -1
- package/templates/static/node_modules/preact-render-to-string/package.json +0 -152
- package/templates/static/node_modules/preact-render-to-string/src/index.d.ts +0 -17
- package/templates/static/node_modules/preact-render-to-string/src/index.js +0 -764
- package/templates/static/node_modules/preact-render-to-string/src/internal.d.ts +0 -35
- package/templates/static/node_modules/preact-render-to-string/src/jsx.d.ts +0 -24
- package/templates/static/node_modules/preact-render-to-string/src/jsx.js +0 -102
- package/templates/static/node_modules/preact-render-to-string/src/lib/chunked.js +0 -97
- package/templates/static/node_modules/preact-render-to-string/src/lib/client.js +0 -62
- package/templates/static/node_modules/preact-render-to-string/src/lib/constants.js +0 -20
- package/templates/static/node_modules/preact-render-to-string/src/lib/polyfills.js +0 -8
- package/templates/static/node_modules/preact-render-to-string/src/lib/util.js +0 -208
- package/templates/static/node_modules/preact-render-to-string/src/pretty.js +0 -491
- package/templates/static/node_modules/preact-render-to-string/src/stream-node.d.ts +0 -19
- package/templates/static/node_modules/preact-render-to-string/src/stream-node.js +0 -84
- package/templates/static/node_modules/preact-render-to-string/src/stream.d.ts +0 -10
- package/templates/static/node_modules/preact-render-to-string/src/stream.js +0 -43
- package/templates/static/node_modules/preact-render-to-string/typings.json +0 -5
- package/templates/static/node_modules/sirv/build.js +0 -197
- package/templates/static/node_modules/sirv/build.mjs +0 -197
- package/templates/static/node_modules/sirv/index.d.mts +0 -29
- package/templates/static/node_modules/sirv/index.d.ts +0 -33
- package/templates/static/node_modules/sirv/package.json +0 -40
- package/templates/static/node_modules/sirv/readme.md +0 -238
- package/templates/static/node_modules/totalist/dist/index.js +0 -24
- package/templates/static/node_modules/totalist/dist/index.mjs +0 -22
- package/templates/static/node_modules/totalist/index.d.ts +0 -3
- package/templates/static/node_modules/totalist/license +0 -21
- package/templates/static/node_modules/totalist/package.json +0 -55
- package/templates/static/node_modules/totalist/readme.md +0 -109
- package/templates/static/node_modules/totalist/sync/index.d.ts +0 -3
- package/templates/static/node_modules/totalist/sync/index.js +0 -17
- package/templates/static/node_modules/totalist/sync/index.mjs +0 -15
- package/templates/static/node_modules/typescript/bin/tsc +0 -2
- package/templates/static/node_modules/typescript/bin/tsserver +0 -2
- package/templates/static/node_modules/typescript/lib/cs/diagnosticMessages.generated.json +0 -2122
- package/templates/static/node_modules/typescript/lib/de/diagnosticMessages.generated.json +0 -2122
- package/templates/static/node_modules/typescript/lib/es/diagnosticMessages.generated.json +0 -2122
- package/templates/static/node_modules/typescript/lib/fr/diagnosticMessages.generated.json +0 -2122
- package/templates/static/node_modules/typescript/lib/it/diagnosticMessages.generated.json +0 -2122
- package/templates/static/node_modules/typescript/lib/ja/diagnosticMessages.generated.json +0 -2122
- package/templates/static/node_modules/typescript/lib/ko/diagnosticMessages.generated.json +0 -2122
- package/templates/static/node_modules/typescript/lib/lib.d.ts +0 -22
- package/templates/static/node_modules/typescript/lib/lib.decorators.d.ts +0 -384
- package/templates/static/node_modules/typescript/lib/lib.decorators.legacy.d.ts +0 -22
- package/templates/static/node_modules/typescript/lib/lib.dom.asynciterable.d.ts +0 -41
- package/templates/static/node_modules/typescript/lib/lib.dom.d.ts +0 -39429
- package/templates/static/node_modules/typescript/lib/lib.dom.iterable.d.ts +0 -571
- package/templates/static/node_modules/typescript/lib/lib.es2015.collection.d.ts +0 -147
- package/templates/static/node_modules/typescript/lib/lib.es2015.core.d.ts +0 -597
- package/templates/static/node_modules/typescript/lib/lib.es2015.d.ts +0 -28
- package/templates/static/node_modules/typescript/lib/lib.es2015.generator.d.ts +0 -77
- package/templates/static/node_modules/typescript/lib/lib.es2015.iterable.d.ts +0 -605
- package/templates/static/node_modules/typescript/lib/lib.es2015.promise.d.ts +0 -81
- package/templates/static/node_modules/typescript/lib/lib.es2015.proxy.d.ts +0 -128
- package/templates/static/node_modules/typescript/lib/lib.es2015.reflect.d.ts +0 -144
- package/templates/static/node_modules/typescript/lib/lib.es2015.symbol.d.ts +0 -46
- package/templates/static/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts +0 -326
- package/templates/static/node_modules/typescript/lib/lib.es2016.array.include.d.ts +0 -116
- package/templates/static/node_modules/typescript/lib/lib.es2016.d.ts +0 -21
- package/templates/static/node_modules/typescript/lib/lib.es2016.full.d.ts +0 -23
- package/templates/static/node_modules/typescript/lib/lib.es2016.intl.d.ts +0 -31
- package/templates/static/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts +0 -21
- package/templates/static/node_modules/typescript/lib/lib.es2017.d.ts +0 -26
- package/templates/static/node_modules/typescript/lib/lib.es2017.date.d.ts +0 -31
- package/templates/static/node_modules/typescript/lib/lib.es2017.full.d.ts +0 -23
- package/templates/static/node_modules/typescript/lib/lib.es2017.intl.d.ts +0 -44
- package/templates/static/node_modules/typescript/lib/lib.es2017.object.d.ts +0 -49
- package/templates/static/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts +0 -135
- package/templates/static/node_modules/typescript/lib/lib.es2017.string.d.ts +0 -45
- package/templates/static/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts +0 -53
- package/templates/static/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts +0 -77
- package/templates/static/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts +0 -53
- package/templates/static/node_modules/typescript/lib/lib.es2018.d.ts +0 -24
- package/templates/static/node_modules/typescript/lib/lib.es2018.full.d.ts +0 -24
- package/templates/static/node_modules/typescript/lib/lib.es2018.intl.d.ts +0 -83
- package/templates/static/node_modules/typescript/lib/lib.es2018.promise.d.ts +0 -30
- package/templates/static/node_modules/typescript/lib/lib.es2018.regexp.d.ts +0 -37
- package/templates/static/node_modules/typescript/lib/lib.es2019.array.d.ts +0 -79
- package/templates/static/node_modules/typescript/lib/lib.es2019.d.ts +0 -24
- package/templates/static/node_modules/typescript/lib/lib.es2019.full.d.ts +0 -24
- package/templates/static/node_modules/typescript/lib/lib.es2019.intl.d.ts +0 -23
- package/templates/static/node_modules/typescript/lib/lib.es2019.object.d.ts +0 -33
- package/templates/static/node_modules/typescript/lib/lib.es2019.string.d.ts +0 -37
- package/templates/static/node_modules/typescript/lib/lib.es2019.symbol.d.ts +0 -24
- package/templates/static/node_modules/typescript/lib/lib.es2020.bigint.d.ts +0 -765
- package/templates/static/node_modules/typescript/lib/lib.es2020.d.ts +0 -27
- package/templates/static/node_modules/typescript/lib/lib.es2020.date.d.ts +0 -42
- package/templates/static/node_modules/typescript/lib/lib.es2020.full.d.ts +0 -24
- package/templates/static/node_modules/typescript/lib/lib.es2020.intl.d.ts +0 -474
- package/templates/static/node_modules/typescript/lib/lib.es2020.number.d.ts +0 -28
- package/templates/static/node_modules/typescript/lib/lib.es2020.promise.d.ts +0 -47
- package/templates/static/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts +0 -99
- package/templates/static/node_modules/typescript/lib/lib.es2020.string.d.ts +0 -44
- package/templates/static/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts +0 -41
- package/templates/static/node_modules/typescript/lib/lib.es2021.d.ts +0 -23
- package/templates/static/node_modules/typescript/lib/lib.es2021.full.d.ts +0 -24
- package/templates/static/node_modules/typescript/lib/lib.es2021.intl.d.ts +0 -166
- package/templates/static/node_modules/typescript/lib/lib.es2021.promise.d.ts +0 -48
- package/templates/static/node_modules/typescript/lib/lib.es2021.string.d.ts +0 -33
- package/templates/static/node_modules/typescript/lib/lib.es2021.weakref.d.ts +0 -78
- package/templates/static/node_modules/typescript/lib/lib.es2022.array.d.ts +0 -121
- package/templates/static/node_modules/typescript/lib/lib.es2022.d.ts +0 -25
- package/templates/static/node_modules/typescript/lib/lib.es2022.error.d.ts +0 -75
- package/templates/static/node_modules/typescript/lib/lib.es2022.full.d.ts +0 -24
- package/templates/static/node_modules/typescript/lib/lib.es2022.intl.d.ts +0 -145
- package/templates/static/node_modules/typescript/lib/lib.es2022.object.d.ts +0 -26
- package/templates/static/node_modules/typescript/lib/lib.es2022.regexp.d.ts +0 -39
- package/templates/static/node_modules/typescript/lib/lib.es2022.string.d.ts +0 -25
- package/templates/static/node_modules/typescript/lib/lib.es2023.array.d.ts +0 -924
- package/templates/static/node_modules/typescript/lib/lib.es2023.collection.d.ts +0 -21
- package/templates/static/node_modules/typescript/lib/lib.es2023.d.ts +0 -22
- package/templates/static/node_modules/typescript/lib/lib.es2023.full.d.ts +0 -24
- package/templates/static/node_modules/typescript/lib/lib.es2023.intl.d.ts +0 -56
- package/templates/static/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts +0 -65
- package/templates/static/node_modules/typescript/lib/lib.es2024.collection.d.ts +0 -29
- package/templates/static/node_modules/typescript/lib/lib.es2024.d.ts +0 -26
- package/templates/static/node_modules/typescript/lib/lib.es2024.full.d.ts +0 -24
- package/templates/static/node_modules/typescript/lib/lib.es2024.object.d.ts +0 -29
- package/templates/static/node_modules/typescript/lib/lib.es2024.promise.d.ts +0 -35
- package/templates/static/node_modules/typescript/lib/lib.es2024.regexp.d.ts +0 -25
- package/templates/static/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts +0 -68
- package/templates/static/node_modules/typescript/lib/lib.es2024.string.d.ts +0 -29
- package/templates/static/node_modules/typescript/lib/lib.es5.d.ts +0 -4601
- package/templates/static/node_modules/typescript/lib/lib.es6.d.ts +0 -23
- package/templates/static/node_modules/typescript/lib/lib.esnext.array.d.ts +0 -35
- package/templates/static/node_modules/typescript/lib/lib.esnext.collection.d.ts +0 -96
- package/templates/static/node_modules/typescript/lib/lib.esnext.d.ts +0 -29
- package/templates/static/node_modules/typescript/lib/lib.esnext.decorators.d.ts +0 -28
- package/templates/static/node_modules/typescript/lib/lib.esnext.disposable.d.ts +0 -193
- package/templates/static/node_modules/typescript/lib/lib.esnext.error.d.ts +0 -24
- package/templates/static/node_modules/typescript/lib/lib.esnext.float16.d.ts +0 -445
- package/templates/static/node_modules/typescript/lib/lib.esnext.full.d.ts +0 -24
- package/templates/static/node_modules/typescript/lib/lib.esnext.intl.d.ts +0 -21
- package/templates/static/node_modules/typescript/lib/lib.esnext.iterator.d.ts +0 -148
- package/templates/static/node_modules/typescript/lib/lib.esnext.promise.d.ts +0 -34
- package/templates/static/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts +0 -25
- package/templates/static/node_modules/typescript/lib/lib.scripthost.d.ts +0 -322
- package/templates/static/node_modules/typescript/lib/lib.webworker.asynciterable.d.ts +0 -41
- package/templates/static/node_modules/typescript/lib/lib.webworker.d.ts +0 -13150
- package/templates/static/node_modules/typescript/lib/lib.webworker.importscripts.d.ts +0 -23
- package/templates/static/node_modules/typescript/lib/lib.webworker.iterable.d.ts +0 -340
- package/templates/static/node_modules/typescript/lib/pl/diagnosticMessages.generated.json +0 -2122
- package/templates/static/node_modules/typescript/lib/pt-br/diagnosticMessages.generated.json +0 -2122
- package/templates/static/node_modules/typescript/lib/ru/diagnosticMessages.generated.json +0 -2122
- package/templates/static/node_modules/typescript/lib/tr/diagnosticMessages.generated.json +0 -2122
- package/templates/static/node_modules/typescript/lib/tsc.js +0 -8
- package/templates/static/node_modules/typescript/lib/tsserver.js +0 -8
- package/templates/static/node_modules/typescript/lib/tsserverlibrary.d.ts +0 -17
- package/templates/static/node_modules/typescript/lib/tsserverlibrary.js +0 -21
- package/templates/static/node_modules/typescript/lib/typescript.d.ts +0 -11437
- /package/templates/{static → ssr-isr}/lib/auth/index.d.ts +0 -0
- /package/templates/{static → ssr-isr}/lib/cli/templates/ssg/jen.config.d.ts +0 -0
- /package/templates/{static → ssr-isr}/lib/cli/templates/ssg/site/index.d.ts +0 -0
- /package/templates/{static → ssr-isr}/lib/cli/templates/ssr/jen.config.d.ts +0 -0
- /package/templates/{static → ssr-isr}/lib/cli/templates/ssr/site/index.d.ts +0 -0
- /package/templates/{static → ssr-isr}/lib/compilers/esbuild-plugins.d.ts +0 -0
- /package/templates/{static/lib/middleware/types.d.ts → ssr-isr/lib/core/config.js} +0 -0
- /package/templates/{static → ssr-isr}/lib/middleware/errors/handler.d.ts +0 -0
- /package/templates/{static → ssr-isr}/lib/middleware/utils/matcher.d.ts +0 -0
- /package/templates/static/{node_modules → lib/vendor}/preact/LICENSE +0 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export interface OptimizerOptions {
|
|
2
|
+
files: string[];
|
|
3
|
+
minify?: boolean;
|
|
4
|
+
compress?: boolean;
|
|
5
|
+
imageOptimization?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare function optimize(opts: OptimizerOptions): Promise<{
|
|
8
|
+
originalSize: number;
|
|
9
|
+
optimizedSize: number;
|
|
10
|
+
savings: number;
|
|
11
|
+
files: string[];
|
|
12
|
+
}>;
|
|
13
|
+
export declare function optimizeImages(
|
|
14
|
+
inputDir: string,
|
|
15
|
+
outputDir: string,
|
|
16
|
+
options?: {
|
|
17
|
+
format?: "webp" | "avif";
|
|
18
|
+
quality?: number;
|
|
19
|
+
},
|
|
20
|
+
): Promise<void>;
|
|
21
|
+
export declare function minifyHTML(html: string): Promise<string>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export async function optimize(opts) {
|
|
2
|
+
console.log(`[OPTIMIZER] Optimizing ${opts.files.length} files`);
|
|
3
|
+
// Placeholder: simulated optimization results
|
|
4
|
+
const originalSize = 1024 * 100; // 100KB
|
|
5
|
+
const optimizedSize = 1024 * 75; // 75KB (25% reduction)
|
|
6
|
+
return {
|
|
7
|
+
originalSize,
|
|
8
|
+
optimizedSize,
|
|
9
|
+
savings: originalSize - optimizedSize,
|
|
10
|
+
files: opts.files,
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export async function optimizeImages(inputDir, outputDir, options = {}) {
|
|
14
|
+
console.log(`[OPTIMIZER] Image optimization: ${inputDir} -> ${outputDir}`);
|
|
15
|
+
// Placeholder: would use native image processing
|
|
16
|
+
}
|
|
17
|
+
export async function minifyHTML(html) {
|
|
18
|
+
// Simple minification placeholder
|
|
19
|
+
return html.replace(/\s+/g, " ").replace(/>\s+</g, "><").trim();
|
|
20
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface StyleCompilerOptions {
|
|
2
|
+
input: string;
|
|
3
|
+
output?: string;
|
|
4
|
+
minify?: boolean;
|
|
5
|
+
sourcemap?: boolean;
|
|
6
|
+
includePaths?: string[];
|
|
7
|
+
}
|
|
8
|
+
export declare function compileScss(
|
|
9
|
+
opts: StyleCompilerOptions,
|
|
10
|
+
): Promise<string>;
|
|
11
|
+
export declare function compileCSS(
|
|
12
|
+
input: string,
|
|
13
|
+
minify?: boolean,
|
|
14
|
+
): Promise<string>;
|
|
15
|
+
export declare function watchStyles(
|
|
16
|
+
input: string,
|
|
17
|
+
output: string,
|
|
18
|
+
onChange: (css: string) => void,
|
|
19
|
+
): Promise<void>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export async function compileScss(opts) {
|
|
2
|
+
// Placeholder: returns CSS placeholder
|
|
3
|
+
console.log(`[STYLE COMPILER] Compiling SCSS: ${opts.input}`);
|
|
4
|
+
const css = `
|
|
5
|
+
/* SCSS compiled from: ${opts.input} */
|
|
6
|
+
/* Note: Full SCSS compilation requires dart-sass or native Rust implementation */
|
|
7
|
+
body { margin: 0; padding: 0; }
|
|
8
|
+
`;
|
|
9
|
+
return css;
|
|
10
|
+
}
|
|
11
|
+
export async function compileCSS(input, minify = false) {
|
|
12
|
+
console.log(`[STYLE COMPILER] Processing CSS: ${input}`);
|
|
13
|
+
// Placeholder: returns input CSS
|
|
14
|
+
return input;
|
|
15
|
+
}
|
|
16
|
+
export async function watchStyles(input, output, onChange) {
|
|
17
|
+
// Placeholder watcher
|
|
18
|
+
console.log(`[STYLE COMPILER] Watching: ${input}`);
|
|
19
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface Plugin {
|
|
2
|
+
name: string;
|
|
3
|
+
version?: string;
|
|
4
|
+
onBuild?: () => void | Promise<void>;
|
|
5
|
+
onServe?: () => void | Promise<void>;
|
|
6
|
+
onDeploy?: () => void | Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
export declare function runPlugins(
|
|
9
|
+
event?: "build" | "serve" | "deploy",
|
|
10
|
+
): Promise<void>;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
// Plugin loader
|
|
2
|
+
// Migrated from Python src/python/plugins.py
|
|
3
|
+
import { readdirSync } from "node:fs";
|
|
4
|
+
import { join } from "node:path";
|
|
5
|
+
import { pathToFileURL } from "node:url";
|
|
6
|
+
import { log } from "../shared/log.js";
|
|
7
|
+
const PLUGIN_DIR = "src/plugin/plugins";
|
|
8
|
+
export async function runPlugins(event = "build") {
|
|
9
|
+
log.info(`Running plugins (${event})...`);
|
|
10
|
+
try {
|
|
11
|
+
const files = readdirSync(PLUGIN_DIR);
|
|
12
|
+
for (const file of files) {
|
|
13
|
+
if (!file.endsWith(".ts") && !file.endsWith(".js")) continue;
|
|
14
|
+
const pluginPath = join(process.cwd(), PLUGIN_DIR, file);
|
|
15
|
+
const pluginUrl = pathToFileURL(pluginPath).href;
|
|
16
|
+
try {
|
|
17
|
+
const module = await import(pluginUrl);
|
|
18
|
+
const plugin = module.default;
|
|
19
|
+
if (!plugin) continue;
|
|
20
|
+
log.info(` Loading plugin: ${plugin.name}`);
|
|
21
|
+
if (event === "build" && plugin.onBuild) {
|
|
22
|
+
await plugin.onBuild();
|
|
23
|
+
} else if (event === "serve" && plugin.onServe) {
|
|
24
|
+
await plugin.onServe();
|
|
25
|
+
} else if (event === "deploy" && plugin.onDeploy) {
|
|
26
|
+
await plugin.onDeploy();
|
|
27
|
+
}
|
|
28
|
+
} catch (err) {
|
|
29
|
+
log.error(` Plugin error: ${file} - ${String(err)}`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
log.info("Plugins executed.");
|
|
33
|
+
} catch (err) {
|
|
34
|
+
log.warn(`Plugin directory not found: ${PLUGIN_DIR}`);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Retrieve framework data injected by the server into the page HTML.
|
|
3
|
+
* The server embeds loader result data, route params, and query parameters
|
|
4
|
+
* into a hidden DOM element with id "__FRAMEWORK_DATA__" as JSON.
|
|
5
|
+
*
|
|
6
|
+
* This data is passed to page components during hydration as props.
|
|
7
|
+
* Returns null if the element does not exist or JSON is malformed,
|
|
8
|
+
* allowing graceful degradation without throwing errors.
|
|
9
|
+
*
|
|
10
|
+
* Usage:
|
|
11
|
+
* const data = getFrameworkData();
|
|
12
|
+
* // data = { data: {...}, params: {...}, query: {...} }
|
|
13
|
+
*
|
|
14
|
+
* @returns Framework data object { data, params, query } or null if not found.
|
|
15
|
+
*/
|
|
16
|
+
export declare function getFrameworkData(): any;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Retrieve framework data injected by the server into the page HTML.
|
|
3
|
+
* The server embeds loader result data, route params, and query parameters
|
|
4
|
+
* into a hidden DOM element with id "__FRAMEWORK_DATA__" as JSON.
|
|
5
|
+
*
|
|
6
|
+
* This data is passed to page components during hydration as props.
|
|
7
|
+
* Returns null if the element does not exist or JSON is malformed,
|
|
8
|
+
* allowing graceful degradation without throwing errors.
|
|
9
|
+
*
|
|
10
|
+
* Usage:
|
|
11
|
+
* const data = getFrameworkData();
|
|
12
|
+
* // data = { data: {...}, params: {...}, query: {...} }
|
|
13
|
+
*
|
|
14
|
+
* @returns Framework data object { data, params, query } or null if not found.
|
|
15
|
+
*/
|
|
16
|
+
export function getFrameworkData() {
|
|
17
|
+
const el = document.getElementById("__FRAMEWORK_DATA__");
|
|
18
|
+
if (!el) return null;
|
|
19
|
+
try {
|
|
20
|
+
return JSON.parse(el.textContent || "null");
|
|
21
|
+
} catch {
|
|
22
|
+
// Silently return null if JSON is invalid; page hydrates with default props
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client-side Hot Module Replacement (HMR) / Live Reload code.
|
|
3
|
+
* This script is injected into the browser during development mode.
|
|
4
|
+
*
|
|
5
|
+
* Features:
|
|
6
|
+
* - Establishes Server-Sent Events (SSE) connection to /__hmr endpoint
|
|
7
|
+
* - Listens for "reload" events (full page reload on route/component changes)
|
|
8
|
+
* - Listens for "style-update" events (CSS updates without full reload)
|
|
9
|
+
* - Automatically retries connection if lost
|
|
10
|
+
*
|
|
11
|
+
* The script uses IIFE (Immediately Invoked Function Expression) to avoid
|
|
12
|
+
* polluting the global scope.
|
|
13
|
+
*
|
|
14
|
+
* How it works:
|
|
15
|
+
* 1. Server watches file system for changes
|
|
16
|
+
* 2. On change, server sends SSE event to clients
|
|
17
|
+
* 3. Client receives event and either reloads or updates CSS
|
|
18
|
+
* 4. CSS updates use cache-busting query params to force fresh load
|
|
19
|
+
*
|
|
20
|
+
* Only injected in development mode; production builds do not include this.
|
|
21
|
+
*/
|
|
22
|
+
export declare const HMR_CLIENT_SCRIPT =
|
|
23
|
+
'\n(function() {\n console.log("[Jen.js] Connecting to HMR...");\n const evt = new EventSource("/__hmr");\n\n evt.onopen = () => console.log("[Jen.js] HMR Connected");\n\n // Full page reload on route or component changes\n evt.addEventListener("reload", () => {\n console.log("[Jen.js] Reloading...");\n window.location.reload();\n });\n\n // CSS-only reload without full page reload (faster UX for style-only changes)\n evt.addEventListener("style-update", (e) => {\n const file = JSON.parse(e.data).file; // e.g., "styles.css"\n console.log("[Jen.js] Style update:", file);\n \n // Find matching link tags by pathname\n const links = document.querySelectorAll(\'link[rel="stylesheet"]\');\n for (const link of links) {\n const url = new URL(link.href);\n if (url.pathname.endsWith(file)) {\n // Force reload by updating cache-busting query param (timestamp)\n url.searchParams.set("t", Date.now());\n link.href = url.toString();\n console.log("[Jen.js] Updated stylesheet:", file);\n }\n }\n });\n\n evt.onerror = () => {\n // Connection closed; EventSource automatically retries\n // (commented out: chatty in development; uncomment if needed for debugging)\n // console.log("[Jen.js] HMR disconnected, retrying...");\n };\n})();\n';
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client-side Hot Module Replacement (HMR) / Live Reload code.
|
|
3
|
+
* This script is injected into the browser during development mode.
|
|
4
|
+
*
|
|
5
|
+
* Features:
|
|
6
|
+
* - Establishes Server-Sent Events (SSE) connection to /__hmr endpoint
|
|
7
|
+
* - Listens for "reload" events (full page reload on route/component changes)
|
|
8
|
+
* - Listens for "style-update" events (CSS updates without full reload)
|
|
9
|
+
* - Automatically retries connection if lost
|
|
10
|
+
*
|
|
11
|
+
* The script uses IIFE (Immediately Invoked Function Expression) to avoid
|
|
12
|
+
* polluting the global scope.
|
|
13
|
+
*
|
|
14
|
+
* How it works:
|
|
15
|
+
* 1. Server watches file system for changes
|
|
16
|
+
* 2. On change, server sends SSE event to clients
|
|
17
|
+
* 3. Client receives event and either reloads or updates CSS
|
|
18
|
+
* 4. CSS updates use cache-busting query params to force fresh load
|
|
19
|
+
*
|
|
20
|
+
* Only injected in development mode; production builds do not include this.
|
|
21
|
+
*/
|
|
22
|
+
export const HMR_CLIENT_SCRIPT = `
|
|
23
|
+
(function() {
|
|
24
|
+
console.log("[Jen.js] Connecting to HMR...");
|
|
25
|
+
const evt = new EventSource("/__hmr");
|
|
26
|
+
|
|
27
|
+
evt.onopen = () => console.log("[Jen.js] HMR Connected");
|
|
28
|
+
|
|
29
|
+
// Full page reload on route or component changes
|
|
30
|
+
evt.addEventListener("reload", () => {
|
|
31
|
+
console.log("[Jen.js] Reloading...");
|
|
32
|
+
window.location.reload();
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
// CSS-only reload without full page reload (faster UX for style-only changes)
|
|
36
|
+
evt.addEventListener("style-update", (e) => {
|
|
37
|
+
const file = JSON.parse(e.data).file; // e.g., "styles.css"
|
|
38
|
+
console.log("[Jen.js] Style update:", file);
|
|
39
|
+
|
|
40
|
+
// Find matching link tags by pathname
|
|
41
|
+
const links = document.querySelectorAll('link[rel="stylesheet"]');
|
|
42
|
+
for (const link of links) {
|
|
43
|
+
const url = new URL(link.href);
|
|
44
|
+
if (url.pathname.endsWith(file)) {
|
|
45
|
+
// Force reload by updating cache-busting query param (timestamp)
|
|
46
|
+
url.searchParams.set("t", Date.now());
|
|
47
|
+
link.href = url.toString();
|
|
48
|
+
console.log("[Jen.js] Updated stylesheet:", file);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
evt.onerror = () => {
|
|
54
|
+
// Connection closed; EventSource automatically retries
|
|
55
|
+
// (commented out: chatty in development; uncomment if needed for debugging)
|
|
56
|
+
// console.log("[Jen.js] HMR disconnected, retrying...");
|
|
57
|
+
};
|
|
58
|
+
})();
|
|
59
|
+
`;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hydrate a server-rendered page with client-side interactivity.
|
|
3
|
+
* This function is called once on page load in the browser.
|
|
4
|
+
* It attaches Preact event listeners and state management to existing DOM without re-rendering.
|
|
5
|
+
*
|
|
6
|
+
* Flow:
|
|
7
|
+
* 1. Retrieve framework data (loader result, route params, query) injected by server into page HTML
|
|
8
|
+
* 2. Dynamically import the route component module
|
|
9
|
+
* 3. Construct Preact component tree passing data as props
|
|
10
|
+
* 4. Attach to existing #app element (matches server-rendered HTML structure)
|
|
11
|
+
*
|
|
12
|
+
* Errors during hydration are logged but do not throw; the page remains functional
|
|
13
|
+
* with reduced interactivity if hydration fails.
|
|
14
|
+
*
|
|
15
|
+
* @param entryPath - Path to the route component module (e.g., "./routes/index.js")
|
|
16
|
+
* This path is typically injected into the HTML as a script attribute by the server.
|
|
17
|
+
*/
|
|
18
|
+
export declare function hydrateClient(entryPath: string): Promise<void>;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { hydrate } from "preact";
|
|
2
|
+
import { h } from "preact";
|
|
3
|
+
import { getFrameworkData } from "./client-runtime.js";
|
|
4
|
+
/**
|
|
5
|
+
* Hydrate a server-rendered page with client-side interactivity.
|
|
6
|
+
* This function is called once on page load in the browser.
|
|
7
|
+
* It attaches Preact event listeners and state management to existing DOM without re-rendering.
|
|
8
|
+
*
|
|
9
|
+
* Flow:
|
|
10
|
+
* 1. Retrieve framework data (loader result, route params, query) injected by server into page HTML
|
|
11
|
+
* 2. Dynamically import the route component module
|
|
12
|
+
* 3. Construct Preact component tree passing data as props
|
|
13
|
+
* 4. Attach to existing #app element (matches server-rendered HTML structure)
|
|
14
|
+
*
|
|
15
|
+
* Errors during hydration are logged but do not throw; the page remains functional
|
|
16
|
+
* with reduced interactivity if hydration fails.
|
|
17
|
+
*
|
|
18
|
+
* @param entryPath - Path to the route component module (e.g., "./routes/index.js")
|
|
19
|
+
* This path is typically injected into the HTML as a script attribute by the server.
|
|
20
|
+
*/
|
|
21
|
+
export async function hydrateClient(entryPath) {
|
|
22
|
+
try {
|
|
23
|
+
// Retrieve loader data, params, and query injected into page HTML by server
|
|
24
|
+
const data = getFrameworkData();
|
|
25
|
+
// Dynamically import route component
|
|
26
|
+
const mod = await import(entryPath);
|
|
27
|
+
// Validate that route exports a default component
|
|
28
|
+
if (!mod.default) {
|
|
29
|
+
console.error(
|
|
30
|
+
`Failed to hydrate: route module does not export default component`,
|
|
31
|
+
);
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
// Construct Preact VDOM tree with data as props
|
|
35
|
+
const Page = mod.default;
|
|
36
|
+
const app = h(Page, {
|
|
37
|
+
data: data?.data ?? null,
|
|
38
|
+
params: data?.params ?? {},
|
|
39
|
+
query: data?.query ?? {},
|
|
40
|
+
});
|
|
41
|
+
// Find root DOM element for hydration
|
|
42
|
+
const root = document.getElementById("app");
|
|
43
|
+
if (!root) {
|
|
44
|
+
console.error("Failed to hydrate: #app element not found in DOM");
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
// Attach Preact to existing DOM tree without re-rendering
|
|
48
|
+
hydrate(app, root);
|
|
49
|
+
} catch (err) {
|
|
50
|
+
console.error(
|
|
51
|
+
"Hydration failed:",
|
|
52
|
+
err instanceof Error ? err.message : String(err),
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Initialize island hydration when DOM is ready.
|
|
3
|
+
* Waits for DOMContentLoaded if the page is still loading, otherwise starts immediately.
|
|
4
|
+
* This ensures island DOM elements exist before hydration attempts.
|
|
5
|
+
*
|
|
6
|
+
* Called automatically on module import.
|
|
7
|
+
*/
|
|
8
|
+
export declare function initializeIslands(): void;
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { hydrate } from "preact";
|
|
2
|
+
import { h } from "preact";
|
|
3
|
+
/**
|
|
4
|
+
* Extract island metadata from HTML comment markers.
|
|
5
|
+
* Scans the entire document for markers in the format:
|
|
6
|
+
* <!--__ISLAND_{LOAD|IDLE|VISIBLE}__:id:componentPath:propsJson-->
|
|
7
|
+
*
|
|
8
|
+
* Silently skips malformed markers and continues processing remaining islands.
|
|
9
|
+
* This resilience allows graceful degradation if some islands fail to parse.
|
|
10
|
+
*
|
|
11
|
+
* @returns Array of detected islands ready for hydration.
|
|
12
|
+
*/
|
|
13
|
+
function extractIslands() {
|
|
14
|
+
const islands = [];
|
|
15
|
+
const html = document.documentElement.outerHTML;
|
|
16
|
+
// Regex matches: <!--__ISLAND_{LOAD|IDLE|VISIBLE}__:id:componentPath:propsJson-->
|
|
17
|
+
const regex = /<!--__ISLAND_(LOAD|IDLE|VISIBLE)__:([^:]+):([^:]+):(.+?)-->/g;
|
|
18
|
+
let match;
|
|
19
|
+
while ((match = regex.exec(html)) !== null) {
|
|
20
|
+
const strategy = match[1].toLowerCase();
|
|
21
|
+
const id = match[2];
|
|
22
|
+
const component = match[3];
|
|
23
|
+
// Unescape '<' that was escaped to prevent HTML parsing issues
|
|
24
|
+
const propsStr = match[4].replace(/\\u003c/g, "<");
|
|
25
|
+
try {
|
|
26
|
+
islands.push({
|
|
27
|
+
id,
|
|
28
|
+
component,
|
|
29
|
+
strategy,
|
|
30
|
+
props: JSON.parse(propsStr),
|
|
31
|
+
});
|
|
32
|
+
} catch {
|
|
33
|
+
console.warn(`Failed to parse island ${id}`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return islands;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Hydrate a single island by importing its component and attaching Preact listeners.
|
|
40
|
+
* Dynamically imports the component module via a hydration endpoint to ensure
|
|
41
|
+
* the component code is loaded before hydration.
|
|
42
|
+
*
|
|
43
|
+
* If the DOM element (island.id) is not found, logs a warning and returns early.
|
|
44
|
+
* If the component import or hydration fails, logs an error but does not propagate.
|
|
45
|
+
* This resilience prevents one failed island from breaking others.
|
|
46
|
+
*
|
|
47
|
+
* @param island - Island metadata including id, component path, and props.
|
|
48
|
+
*/
|
|
49
|
+
async function hydrateIsland(island) {
|
|
50
|
+
const target = document.getElementById(island.id);
|
|
51
|
+
if (!target) {
|
|
52
|
+
console.warn(`Island target #${island.id} not found`);
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
try {
|
|
56
|
+
// Import component via hydration endpoint which ensures proper module resolution
|
|
57
|
+
const hydrationUrl = `/__hydrate?file=${encodeURIComponent(island.component)}`;
|
|
58
|
+
const mod = await import(hydrationUrl);
|
|
59
|
+
const Component = mod.default;
|
|
60
|
+
if (!Component) {
|
|
61
|
+
console.warn(`Component not exported from ${island.component}`);
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
// Construct Preact VDOM with island props and attach to DOM element
|
|
65
|
+
const app = h(Component, island.props);
|
|
66
|
+
hydrate(app, target);
|
|
67
|
+
} catch (err) {
|
|
68
|
+
console.error(`Failed to hydrate island ${island.id}:`, err);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Orchestrate island hydration based on strategy.
|
|
73
|
+
* Distributes hydration across the timeline to optimize page load performance.
|
|
74
|
+
*
|
|
75
|
+
* Strategies:
|
|
76
|
+
* - "load": Hydrate immediately (for critical above-the-fold interactive components)
|
|
77
|
+
* - "idle": Hydrate when browser is idle (requestIdleCallback, or 2000ms fallback)
|
|
78
|
+
* - "visible": Hydrate when element scrolls into view (IntersectionObserver, or 3000ms fallback)
|
|
79
|
+
*
|
|
80
|
+
* Fallbacks ensure older browsers still hydrate despite missing modern APIs.
|
|
81
|
+
*
|
|
82
|
+
* @param islands - Array of islands to hydrate.
|
|
83
|
+
*/
|
|
84
|
+
function hydrateWithStrategy(islands) {
|
|
85
|
+
for (const island of islands) {
|
|
86
|
+
switch (island.strategy) {
|
|
87
|
+
case "load":
|
|
88
|
+
// Hydrate immediately for critical interactive components
|
|
89
|
+
hydrateIsland(island);
|
|
90
|
+
break;
|
|
91
|
+
case "idle":
|
|
92
|
+
// Hydrate when browser is idle to avoid blocking user interaction
|
|
93
|
+
if ("requestIdleCallback" in window) {
|
|
94
|
+
requestIdleCallback(() => hydrateIsland(island));
|
|
95
|
+
} else {
|
|
96
|
+
// Fallback: hydrate after 2 seconds (allows critical path to complete)
|
|
97
|
+
setTimeout(() => hydrateIsland(island), 2000);
|
|
98
|
+
}
|
|
99
|
+
break;
|
|
100
|
+
case "visible":
|
|
101
|
+
// Hydrate only when element becomes visible in the viewport
|
|
102
|
+
if ("IntersectionObserver" in window) {
|
|
103
|
+
const target = document.getElementById(island.id);
|
|
104
|
+
if (target) {
|
|
105
|
+
const observer = new IntersectionObserver(
|
|
106
|
+
(entries) => {
|
|
107
|
+
// Hydrate on first intersection and stop observing
|
|
108
|
+
if (entries[0].isIntersecting) {
|
|
109
|
+
hydrateIsland(island);
|
|
110
|
+
observer.disconnect();
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
{ threshold: 0.1 },
|
|
114
|
+
);
|
|
115
|
+
observer.observe(target);
|
|
116
|
+
}
|
|
117
|
+
} else {
|
|
118
|
+
// Fallback: hydrate after 3 seconds (reasonable delay for below-fold elements)
|
|
119
|
+
setTimeout(() => hydrateIsland(island), 3000);
|
|
120
|
+
}
|
|
121
|
+
break;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Initialize island hydration when DOM is ready.
|
|
127
|
+
* Waits for DOMContentLoaded if the page is still loading, otherwise starts immediately.
|
|
128
|
+
* This ensures island DOM elements exist before hydration attempts.
|
|
129
|
+
*
|
|
130
|
+
* Called automatically on module import.
|
|
131
|
+
*/
|
|
132
|
+
export function initializeIslands() {
|
|
133
|
+
if (document.readyState === "loading") {
|
|
134
|
+
// DOM still loading; wait for DOMContentLoaded before extracting islands
|
|
135
|
+
document.addEventListener("DOMContentLoaded", () => {
|
|
136
|
+
const islands = extractIslands();
|
|
137
|
+
hydrateWithStrategy(islands);
|
|
138
|
+
});
|
|
139
|
+
} else {
|
|
140
|
+
// DOM already loaded; hydrate immediately
|
|
141
|
+
const islands = extractIslands();
|
|
142
|
+
hydrateWithStrategy(islands);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
// Auto-initialize on import (framework injects this script into HTML in dev mode)
|
|
146
|
+
initializeIslands();
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hydration strategy for interactive islands.
|
|
3
|
+
* Determines when client-side JavaScript is loaded and hydration occurs:
|
|
4
|
+
* - "load": Hydrate immediately on page load (eager)
|
|
5
|
+
* - "idle": Hydrate when browser is idle via requestIdleCallback (deferred, low-priority)
|
|
6
|
+
* - "visible": Hydrate when island becomes visible via IntersectionObserver (viewport-based)
|
|
7
|
+
*/
|
|
8
|
+
export type HydrationStrategy = "load" | "idle" | "visible";
|
|
9
|
+
/**
|
|
10
|
+
* Props interface for islands (not actively used, provided for type reference).
|
|
11
|
+
*/
|
|
12
|
+
export interface IslandProps {
|
|
13
|
+
"client:load"?: boolean;
|
|
14
|
+
"client:idle"?: boolean;
|
|
15
|
+
"client:visible"?: boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Mark a component as an interactive island for partial hydration.
|
|
19
|
+
* Islands are components that require client-side interactivity while the rest of the page
|
|
20
|
+
* remains static HTML. This enables efficient selective hydration.
|
|
21
|
+
*
|
|
22
|
+
* How it works:
|
|
23
|
+
* - Marks component with metadata (__island, __hydrationStrategy)
|
|
24
|
+
* - Server renderer detects marked components and emits HTML comments with island metadata
|
|
25
|
+
* - Client JavaScript discovers islands from HTML comments and hydrates based on strategy
|
|
26
|
+
*
|
|
27
|
+
* Usage in route:
|
|
28
|
+
* import { Island } from "jenjs";
|
|
29
|
+
* import CounterImpl from "./counter.tsx";
|
|
30
|
+
* export default function Page() {
|
|
31
|
+
* const Counter = Island(CounterImpl, "load");
|
|
32
|
+
* return <Counter count={5} />;
|
|
33
|
+
* }
|
|
34
|
+
*
|
|
35
|
+
* Strategies:
|
|
36
|
+
* - "load": Best for above-the-fold critical interactive components
|
|
37
|
+
* - "idle": Good for secondary interactive elements (lighter priority)
|
|
38
|
+
* - "visible": Best for below-the-fold components; hydrates only when scrolled into view
|
|
39
|
+
*
|
|
40
|
+
* @param Component - The Preact component to mark as an island.
|
|
41
|
+
* @param strategy - Hydration timing strategy.
|
|
42
|
+
* @returns The same component with island metadata attached.
|
|
43
|
+
*/
|
|
44
|
+
export declare function Island<P extends Record<string, any>>(
|
|
45
|
+
Component: any,
|
|
46
|
+
strategy: HydrationStrategy,
|
|
47
|
+
): any;
|
|
48
|
+
/**
|
|
49
|
+
* Metadata for a detected island extracted from server-rendered HTML.
|
|
50
|
+
* Includes the island's unique ID, component path, hydration strategy, and serialized props.
|
|
51
|
+
*/
|
|
52
|
+
export interface DetectedIsland {
|
|
53
|
+
/** Unique identifier for this island instance on the page. */
|
|
54
|
+
id: string;
|
|
55
|
+
/** Path to the component module (e.g., "./components/counter.js"). */
|
|
56
|
+
component: string;
|
|
57
|
+
/** Hydration strategy: when to hydrate this island. */
|
|
58
|
+
strategy: HydrationStrategy;
|
|
59
|
+
/** Serialized component props (deserialized from JSON in HTML comment). */
|
|
60
|
+
props: any;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Generate an HTML comment marker that encodes island metadata.
|
|
64
|
+
* Server renderer calls this after rendering each island component.
|
|
65
|
+
* The marker is embedded in the HTML and later parsed by the client.
|
|
66
|
+
*
|
|
67
|
+
* Format: <!--__ISLAND_{STRATEGY}__:{id}:{componentPath}:{propsJson}-->
|
|
68
|
+
* Example: <!--__ISLAND_LOAD__:island-1:./counter.js:{"count":5}-->
|
|
69
|
+
*
|
|
70
|
+
* Note: '<' in JSON is escaped to '\\u003c' to prevent breaking HTML parsing
|
|
71
|
+
* (literal '<' in props could confuse the HTML parser or regex extraction).
|
|
72
|
+
*
|
|
73
|
+
* @param id - Unique identifier for the island (e.g., "island-1", "counter-2").
|
|
74
|
+
* @param componentPath - Path to the component module.
|
|
75
|
+
* @param strategy - Hydration timing strategy.
|
|
76
|
+
* @param props - Component props object (will be JSON.stringify'd).
|
|
77
|
+
* @returns HTML comment string encoding the island metadata.
|
|
78
|
+
*/
|
|
79
|
+
export declare function createIslandMarker(
|
|
80
|
+
id: string,
|
|
81
|
+
componentPath: string,
|
|
82
|
+
strategy: HydrationStrategy,
|
|
83
|
+
props: any,
|
|
84
|
+
): string;
|
|
85
|
+
/**
|
|
86
|
+
* Extract island metadata from server-rendered HTML.
|
|
87
|
+
* Client-side function that parses island markers from HTML comments.
|
|
88
|
+
* Called during page initialization to discover which components need hydration.
|
|
89
|
+
*
|
|
90
|
+
* Parsing strategy:
|
|
91
|
+
* - Regex finds HTML comments matching the island marker format
|
|
92
|
+
* - Extracts strategy, id, componentPath, and props from comment
|
|
93
|
+
* - Validates all fields are present and props are valid JSON
|
|
94
|
+
* - Logs warnings for invalid markers but continues processing remaining islands
|
|
95
|
+
*
|
|
96
|
+
* Return value includes only valid, parseable islands; invalid ones are skipped.
|
|
97
|
+
*
|
|
98
|
+
* @param html - Server-rendered HTML string (typically document.body.innerHTML or full page HTML).
|
|
99
|
+
* @returns Array of detected islands with complete metadata ready for hydration.
|
|
100
|
+
*/
|
|
101
|
+
export declare function extractIslandsFromHtml(html: string): DetectedIsland[];
|