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,90 @@
|
|
|
1
|
+
import {
|
|
2
|
+
parse,
|
|
3
|
+
compileScript,
|
|
4
|
+
compileTemplate,
|
|
5
|
+
compileStyle,
|
|
6
|
+
} from "@vue/compiler-sfc";
|
|
7
|
+
import { log } from "../shared/log.js";
|
|
8
|
+
export class VueCompiler {
|
|
9
|
+
compile(source, options) {
|
|
10
|
+
try {
|
|
11
|
+
const filename = options.filename || "component.vue";
|
|
12
|
+
const id = options.id || filename.replace(/[^a-z0-9]/gi, "_");
|
|
13
|
+
// Parse SFC
|
|
14
|
+
const parseResult = parse(source, { filename });
|
|
15
|
+
const descriptor = parseResult.descriptor;
|
|
16
|
+
let scriptCode = "";
|
|
17
|
+
let templateCode = "";
|
|
18
|
+
let styleCode = "";
|
|
19
|
+
// Compile script
|
|
20
|
+
if (descriptor.script || descriptor.scriptSetup) {
|
|
21
|
+
const scriptCompiled = compileScript(descriptor, {
|
|
22
|
+
id,
|
|
23
|
+
isProd: options.minified ?? false,
|
|
24
|
+
});
|
|
25
|
+
scriptCode = scriptCompiled.content;
|
|
26
|
+
}
|
|
27
|
+
// Compile template
|
|
28
|
+
if (descriptor.template) {
|
|
29
|
+
const templateCompiled = compileTemplate({
|
|
30
|
+
source: descriptor.template.content,
|
|
31
|
+
filename,
|
|
32
|
+
id,
|
|
33
|
+
compilerOptions: {
|
|
34
|
+
isCustomElement: (tag) => tag.startsWith("custom-"),
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
if (templateCompiled.errors.length > 0) {
|
|
38
|
+
return {
|
|
39
|
+
code: "",
|
|
40
|
+
error: `Template compilation error: ${templateCompiled.errors.join(", ")}`,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
templateCode = templateCompiled.code;
|
|
44
|
+
}
|
|
45
|
+
// Compile styles (scoped)
|
|
46
|
+
if (descriptor.styles.length > 0) {
|
|
47
|
+
descriptor.styles.forEach((style, idx) => {
|
|
48
|
+
const styleCompiled = compileStyle({
|
|
49
|
+
source: style.content,
|
|
50
|
+
filename,
|
|
51
|
+
id,
|
|
52
|
+
scoped: style.scoped ?? false,
|
|
53
|
+
});
|
|
54
|
+
if (styleCompiled.errors.length > 0) {
|
|
55
|
+
log.warn(
|
|
56
|
+
`Style compilation warning at style[${idx}]: ${styleCompiled.errors.join(", ")}`,
|
|
57
|
+
);
|
|
58
|
+
}
|
|
59
|
+
styleCode += styleCompiled.code + "\n";
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
// Inject styles at runtime
|
|
63
|
+
let injectStyle = "";
|
|
64
|
+
if (styleCode.trim()) {
|
|
65
|
+
const escapedStyle = styleCode
|
|
66
|
+
.replace(/"/g, '\\"')
|
|
67
|
+
.replace(/\n/g, "\\n");
|
|
68
|
+
injectStyle = `
|
|
69
|
+
const style = document.createElement('style');
|
|
70
|
+
style.textContent = "${escapedStyle}";
|
|
71
|
+
document.head.appendChild(style);
|
|
72
|
+
`;
|
|
73
|
+
}
|
|
74
|
+
// Build final module
|
|
75
|
+
const finalCode = `
|
|
76
|
+
${scriptCode || "export default {}"}
|
|
77
|
+
${templateCode}
|
|
78
|
+
${injectStyle}
|
|
79
|
+
`;
|
|
80
|
+
return { code: finalCode };
|
|
81
|
+
} catch (err) {
|
|
82
|
+
const message = err.message || String(err);
|
|
83
|
+
log.error(`[Vue] Compilation error: ${message}`);
|
|
84
|
+
return { code: "", error: message };
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
export function createVueCompiler() {
|
|
89
|
+
return new VueCompiler();
|
|
90
|
+
}
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rendering mode for routes in the application.
|
|
3
|
+
*
|
|
4
|
+
* - "ssr": Server-side rendering - renders on each request, optimal for dynamic content
|
|
5
|
+
* - "ssg": Static site generation - pre-renders routes at build time, fastest for static content
|
|
6
|
+
* - "isr": Incremental static regeneration - revalidates static pages on demand
|
|
7
|
+
* - "ppr": Partial pre-rendering - mixes static and dynamic content
|
|
8
|
+
*/
|
|
9
|
+
export type RenderMode = "ssr" | "ssg" | "isr" | "ppr";
|
|
10
|
+
/**
|
|
11
|
+
* Complete configuration schema for the Jen.js framework.
|
|
12
|
+
* This type defines all available configuration options for a Jen.js application.
|
|
13
|
+
* Applications must provide a jen.config.js or jen.config.ts file exporting a FrameworkConfig object.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* import type { FrameworkConfig } from "jenjs";
|
|
18
|
+
* export default {
|
|
19
|
+
* siteDir: "src",
|
|
20
|
+
* distDir: "dist",
|
|
21
|
+
* routes: {
|
|
22
|
+
* fileExtensions: [".tsx", ".ts", ".jsx", ".js"],
|
|
23
|
+
* routeFilePattern: /^\(([^)]+)\)/,
|
|
24
|
+
* enableIndexFallback: true
|
|
25
|
+
* },
|
|
26
|
+
* // ... rest of config
|
|
27
|
+
* } as FrameworkConfig;
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export type FrameworkConfig = {
|
|
31
|
+
/**
|
|
32
|
+
* Root directory where route files, components, and assets are located.
|
|
33
|
+
* Relative to project root (CWD). Example: "src", "site", "pages".
|
|
34
|
+
*/
|
|
35
|
+
siteDir: string;
|
|
36
|
+
/**
|
|
37
|
+
* Output directory for build artifacts (compiled HTML, CSS, JavaScript).
|
|
38
|
+
* Relative to project root. Created automatically if it doesn't exist.
|
|
39
|
+
*/
|
|
40
|
+
distDir: string;
|
|
41
|
+
/**
|
|
42
|
+
* Route discovery and file pattern configuration.
|
|
43
|
+
*/
|
|
44
|
+
routes: {
|
|
45
|
+
/**
|
|
46
|
+
* File extensions to treat as route files.
|
|
47
|
+
* Examples: [".tsx", ".ts", ".jsx", ".js"]
|
|
48
|
+
*/
|
|
49
|
+
fileExtensions: string[];
|
|
50
|
+
/**
|
|
51
|
+
* RegExp pattern to match route file names and extract route segment.
|
|
52
|
+
* Example: /^\(([^)]+)\)/ matches "(home).tsx" and captures "home"
|
|
53
|
+
*/
|
|
54
|
+
routeFilePattern: RegExp;
|
|
55
|
+
/**
|
|
56
|
+
* Whether to serve /dir/index.html when accessing /dir/
|
|
57
|
+
*/
|
|
58
|
+
enableIndexFallback: boolean;
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Default rendering behavior for all routes.
|
|
62
|
+
*/
|
|
63
|
+
rendering: {
|
|
64
|
+
/**
|
|
65
|
+
* Default render mode if not specified in route module exports.
|
|
66
|
+
*/
|
|
67
|
+
defaultMode: RenderMode;
|
|
68
|
+
/**
|
|
69
|
+
* Default revalidation interval in seconds for ISR mode.
|
|
70
|
+
* Used if route doesn't specify custom revalidateSeconds.
|
|
71
|
+
*/
|
|
72
|
+
defaultRevalidateSeconds: number;
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* HTML content to inject into every rendered page.
|
|
76
|
+
*/
|
|
77
|
+
inject: {
|
|
78
|
+
/**
|
|
79
|
+
* Array of HTML strings to inject into <head>.
|
|
80
|
+
* Examples: meta tags, link tags, analytics scripts
|
|
81
|
+
*/
|
|
82
|
+
head: string[];
|
|
83
|
+
/**
|
|
84
|
+
* Array of HTML strings to inject before closing </body>.
|
|
85
|
+
* Examples: analytics, logging scripts
|
|
86
|
+
*/
|
|
87
|
+
bodyEnd: string[];
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* CSS and SCSS compilation configuration.
|
|
91
|
+
*/
|
|
92
|
+
css: {
|
|
93
|
+
/**
|
|
94
|
+
* Path to global SCSS file to compile to styles.css.
|
|
95
|
+
* Relative to siteDir. Example: "styles/global.scss"
|
|
96
|
+
*/
|
|
97
|
+
globalScss: string;
|
|
98
|
+
/**
|
|
99
|
+
* Maximum file size in bytes for critical CSS extraction.
|
|
100
|
+
* CSS larger than this may not be inlined in <head>.
|
|
101
|
+
*/
|
|
102
|
+
criticalBudget?: number;
|
|
103
|
+
/**
|
|
104
|
+
* Whether to extract and inline critical CSS for above-the-fold content.
|
|
105
|
+
*/
|
|
106
|
+
extractCritical?: boolean;
|
|
107
|
+
};
|
|
108
|
+
/**
|
|
109
|
+
* Static asset serving configuration.
|
|
110
|
+
*/
|
|
111
|
+
assets: {
|
|
112
|
+
/**
|
|
113
|
+
* Directory containing public assets that should be copied to dist as-is.
|
|
114
|
+
* Relative to siteDir. Example: "public", "static"
|
|
115
|
+
*/
|
|
116
|
+
publicDir: string;
|
|
117
|
+
/**
|
|
118
|
+
* HTTP Cache-Control header value for assets.
|
|
119
|
+
* Example: "public, max-age=31536000" for long-term caching
|
|
120
|
+
*/
|
|
121
|
+
cacheControl: string;
|
|
122
|
+
/**
|
|
123
|
+
* Length of hash suffix for versioned asset filenames.
|
|
124
|
+
* Used for cache-busting. Example: 8 produces "app.a1b2c3d4.js"
|
|
125
|
+
*/
|
|
126
|
+
hashLength?: number;
|
|
127
|
+
};
|
|
128
|
+
/**
|
|
129
|
+
* HTTP server configuration.
|
|
130
|
+
*/
|
|
131
|
+
server: {
|
|
132
|
+
/**
|
|
133
|
+
* Port number for the development server.
|
|
134
|
+
* Example: 3000, 8080
|
|
135
|
+
*/
|
|
136
|
+
port: number;
|
|
137
|
+
/**
|
|
138
|
+
* Hostname to bind the development server to.
|
|
139
|
+
* Example: "localhost", "0.0.0.0", "127.0.0.1"
|
|
140
|
+
*/
|
|
141
|
+
hostname: string;
|
|
142
|
+
};
|
|
143
|
+
/**
|
|
144
|
+
* Optional build-time optimizations.
|
|
145
|
+
*/
|
|
146
|
+
build?: {
|
|
147
|
+
/**
|
|
148
|
+
* Whether to minify HTML output in production builds.
|
|
149
|
+
*/
|
|
150
|
+
minifyHtml?: boolean;
|
|
151
|
+
/**
|
|
152
|
+
* Whether to minify CSS output in production builds.
|
|
153
|
+
*/
|
|
154
|
+
minifyCss?: boolean;
|
|
155
|
+
/**
|
|
156
|
+
* Whether to minify JavaScript output in production builds.
|
|
157
|
+
*/
|
|
158
|
+
minifyJs?: boolean;
|
|
159
|
+
/**
|
|
160
|
+
* Whether to hash asset filenames for cache-busting.
|
|
161
|
+
* Example: "app.abc123.js" instead of "app.js"
|
|
162
|
+
*/
|
|
163
|
+
hashAssets?: boolean;
|
|
164
|
+
/**
|
|
165
|
+
* Whether to generate an asset manifest JSON file for reverse lookups.
|
|
166
|
+
*/
|
|
167
|
+
generateManifest?: boolean;
|
|
168
|
+
/**
|
|
169
|
+
* Whether to generate a sitemap.xml for SEO.
|
|
170
|
+
*/
|
|
171
|
+
generateSitemap?: boolean;
|
|
172
|
+
/**
|
|
173
|
+
* Directory for storing build cache to enable incremental builds.
|
|
174
|
+
*/
|
|
175
|
+
cacheDir?: string;
|
|
176
|
+
/**
|
|
177
|
+
* Whether to perform incremental builds (only rebuild changed files).
|
|
178
|
+
*/
|
|
179
|
+
incrementalBuild?: boolean;
|
|
180
|
+
/**
|
|
181
|
+
* Whether to generate source maps for debugging in production.
|
|
182
|
+
*/
|
|
183
|
+
sourceMap?: boolean;
|
|
184
|
+
};
|
|
185
|
+
/**
|
|
186
|
+
* Optional development server settings.
|
|
187
|
+
*/
|
|
188
|
+
dev?: {
|
|
189
|
+
/**
|
|
190
|
+
* Whether to enable server-side rendering in development mode.
|
|
191
|
+
*/
|
|
192
|
+
enableSSR?: boolean;
|
|
193
|
+
/**
|
|
194
|
+
* Whether to enable live reload on file changes.
|
|
195
|
+
*/
|
|
196
|
+
liveReload?: boolean;
|
|
197
|
+
/**
|
|
198
|
+
* Custom port for development server (overrides server.port).
|
|
199
|
+
*/
|
|
200
|
+
port?: number;
|
|
201
|
+
};
|
|
202
|
+
/**
|
|
203
|
+
* Optional SEO and search engine optimization settings.
|
|
204
|
+
*/
|
|
205
|
+
seo?: {
|
|
206
|
+
/**
|
|
207
|
+
* Whether to automatically generate robots.txt.
|
|
208
|
+
*/
|
|
209
|
+
generateRobotsTxt?: boolean;
|
|
210
|
+
/**
|
|
211
|
+
* Whether to automatically generate sitemap.xml.
|
|
212
|
+
*/
|
|
213
|
+
generateSitemap?: boolean;
|
|
214
|
+
/**
|
|
215
|
+
* Base URL for sitemap entries.
|
|
216
|
+
* Example: "https://example.com"
|
|
217
|
+
*/
|
|
218
|
+
sitemapBaseUrl?: string;
|
|
219
|
+
};
|
|
220
|
+
};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { IncomingMessage } from "node:http";
|
|
2
|
+
/**
|
|
3
|
+
* Parses the HTTP Cookie header into an object of name-value pairs.
|
|
4
|
+
*
|
|
5
|
+
* Cookie format (RFC 6265):
|
|
6
|
+
* - Multiple cookies separated by semicolons
|
|
7
|
+
* - Each cookie is name=value with optional whitespace
|
|
8
|
+
* - Cookie values are URL-encoded and must be decoded
|
|
9
|
+
*
|
|
10
|
+
* Edge cases handled:
|
|
11
|
+
* - Missing or empty Cookie header returns empty object
|
|
12
|
+
* - Whitespace is trimmed from names and values
|
|
13
|
+
* - Values may contain equals signs (split only on first =)
|
|
14
|
+
* - Empty names or values are filtered out
|
|
15
|
+
* - Values are URL-decoded to handle special characters
|
|
16
|
+
*
|
|
17
|
+
* @param req Node.js IncomingMessage with headers property
|
|
18
|
+
*
|
|
19
|
+
* @returns Object with cookie names as keys and decoded values
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* // Header: "sessionId=abc123; theme=dark; path=/admin"
|
|
23
|
+
* // Returns: { sessionId: "abc123", theme: "dark", path: "/admin" }
|
|
24
|
+
*
|
|
25
|
+
* // Header missing or empty
|
|
26
|
+
* // Returns: {}
|
|
27
|
+
*/
|
|
28
|
+
export declare function parseCookies(
|
|
29
|
+
req: IncomingMessage,
|
|
30
|
+
): Record<string, string>;
|
|
31
|
+
/**
|
|
32
|
+
* Converts Node.js headers object to a flat string-valued object.
|
|
33
|
+
*
|
|
34
|
+
* Header normalization:
|
|
35
|
+
* - Node.js headers may have array values (for multiple headers with same name)
|
|
36
|
+
* - Arrays are joined with comma-space to follow HTTP spec (RFC 2822)
|
|
37
|
+
* - Non-array string values are kept as-is
|
|
38
|
+
* - Header names are already lowercased by Node.js
|
|
39
|
+
*
|
|
40
|
+
* Motivation:
|
|
41
|
+
* Application code typically expects headers as a flat object with string values,
|
|
42
|
+
* not Node.js's mixed types. This normalizes the data structure for consistency.
|
|
43
|
+
*
|
|
44
|
+
* @param headers The headers object from IncomingMessage.headers
|
|
45
|
+
*
|
|
46
|
+
* @returns Flat object with header names (lowercase) as keys and string values
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* // Input (from Node.js):
|
|
50
|
+
* { accept: "text/html", "accept-encoding": ["gzip", "deflate"], "content-type": "application/json" }
|
|
51
|
+
* // Output:
|
|
52
|
+
* { accept: "text/html", "accept-encoding": "gzip, deflate", "content-type": "application/json" }
|
|
53
|
+
*/
|
|
54
|
+
export declare function headersToObject(
|
|
55
|
+
headers: IncomingMessage["headers"],
|
|
56
|
+
): Record<string, string>;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parses the HTTP Cookie header into an object of name-value pairs.
|
|
3
|
+
*
|
|
4
|
+
* Cookie format (RFC 6265):
|
|
5
|
+
* - Multiple cookies separated by semicolons
|
|
6
|
+
* - Each cookie is name=value with optional whitespace
|
|
7
|
+
* - Cookie values are URL-encoded and must be decoded
|
|
8
|
+
*
|
|
9
|
+
* Edge cases handled:
|
|
10
|
+
* - Missing or empty Cookie header returns empty object
|
|
11
|
+
* - Whitespace is trimmed from names and values
|
|
12
|
+
* - Values may contain equals signs (split only on first =)
|
|
13
|
+
* - Empty names or values are filtered out
|
|
14
|
+
* - Values are URL-decoded to handle special characters
|
|
15
|
+
*
|
|
16
|
+
* @param req Node.js IncomingMessage with headers property
|
|
17
|
+
*
|
|
18
|
+
* @returns Object with cookie names as keys and decoded values
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* // Header: "sessionId=abc123; theme=dark; path=/admin"
|
|
22
|
+
* // Returns: { sessionId: "abc123", theme: "dark", path: "/admin" }
|
|
23
|
+
*
|
|
24
|
+
* // Header missing or empty
|
|
25
|
+
* // Returns: {}
|
|
26
|
+
*/
|
|
27
|
+
export function parseCookies(req) {
|
|
28
|
+
const cookie = req.headers.cookie;
|
|
29
|
+
if (!cookie) return {};
|
|
30
|
+
const out = {};
|
|
31
|
+
for (const part of cookie.split(";")) {
|
|
32
|
+
const [k, ...rest] = part.trim().split("=");
|
|
33
|
+
const trimmedName = k.trim();
|
|
34
|
+
const trimmedValue = rest.join("=").trim();
|
|
35
|
+
if (trimmedName && trimmedValue) {
|
|
36
|
+
out[trimmedName] = decodeURIComponent(trimmedValue);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return out;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Converts Node.js headers object to a flat string-valued object.
|
|
43
|
+
*
|
|
44
|
+
* Header normalization:
|
|
45
|
+
* - Node.js headers may have array values (for multiple headers with same name)
|
|
46
|
+
* - Arrays are joined with comma-space to follow HTTP spec (RFC 2822)
|
|
47
|
+
* - Non-array string values are kept as-is
|
|
48
|
+
* - Header names are already lowercased by Node.js
|
|
49
|
+
*
|
|
50
|
+
* Motivation:
|
|
51
|
+
* Application code typically expects headers as a flat object with string values,
|
|
52
|
+
* not Node.js's mixed types. This normalizes the data structure for consistency.
|
|
53
|
+
*
|
|
54
|
+
* @param headers The headers object from IncomingMessage.headers
|
|
55
|
+
*
|
|
56
|
+
* @returns Flat object with header names (lowercase) as keys and string values
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* // Input (from Node.js):
|
|
60
|
+
* { accept: "text/html", "accept-encoding": ["gzip", "deflate"], "content-type": "application/json" }
|
|
61
|
+
* // Output:
|
|
62
|
+
* { accept: "text/html", "accept-encoding": "gzip, deflate", "content-type": "application/json" }
|
|
63
|
+
*/
|
|
64
|
+
export function headersToObject(headers) {
|
|
65
|
+
const out = {};
|
|
66
|
+
for (const [k, v] of Object.entries(headers)) {
|
|
67
|
+
if (Array.isArray(v)) out[k] = v.join(", ");
|
|
68
|
+
else if (typeof v === "string") out[k] = v;
|
|
69
|
+
}
|
|
70
|
+
return out;
|
|
71
|
+
}
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
import type { IncomingMessage, ServerResponse } from "node:http";
|
|
2
|
+
/**
|
|
3
|
+
* Context object passed to route middleware functions.
|
|
4
|
+
* Provides access to request data and response methods.
|
|
5
|
+
*
|
|
6
|
+
* Route middleware executes before the page loader and renderer.
|
|
7
|
+
* Middleware can:
|
|
8
|
+
* - Check authentication and authorization
|
|
9
|
+
* - Validate or transform request data
|
|
10
|
+
* - Set response headers or status codes
|
|
11
|
+
* - Attach data for use in loaders and page components
|
|
12
|
+
* - Short-circuit rendering by calling redirect() or json()
|
|
13
|
+
*
|
|
14
|
+
* Execution flow:
|
|
15
|
+
* 1. Route middleware array executes sequentially
|
|
16
|
+
* 2. Each middleware receives this context
|
|
17
|
+
* 3. Middleware can call next() implicitly by returning/not throwing
|
|
18
|
+
* 4. Early termination via redirect() or json() throws a sentinel error
|
|
19
|
+
* 5. After middleware, the loader runs with middleware.data pre-populated
|
|
20
|
+
*
|
|
21
|
+
* Example use cases:
|
|
22
|
+
* - Authentication: Check user session, throw redirect to login if needed
|
|
23
|
+
* - Data enrichment: Populate ctx.data with user info for the page
|
|
24
|
+
* - Response control: Set custom headers, status codes, CORS headers
|
|
25
|
+
* - Request validation: Validate params/query, return error JSON if invalid
|
|
26
|
+
*/
|
|
27
|
+
export interface RouteMiddlewareContext {
|
|
28
|
+
/**
|
|
29
|
+
* Node.js IncomingMessage with request method, URL, headers, etc.
|
|
30
|
+
* Direct access for advanced use cases not covered by the context.
|
|
31
|
+
*/
|
|
32
|
+
req: IncomingMessage;
|
|
33
|
+
/**
|
|
34
|
+
* Node.js ServerResponse for sending responses.
|
|
35
|
+
* Methods status(), setHeader(), redirect(), and json() wrap this.
|
|
36
|
+
*/
|
|
37
|
+
res: ServerResponse;
|
|
38
|
+
/**
|
|
39
|
+
* Parsed URL object with pathname, searchParams, host, etc.
|
|
40
|
+
* Same URL available in LoaderContext; middleware and loader see the same URL.
|
|
41
|
+
*/
|
|
42
|
+
url: URL;
|
|
43
|
+
/**
|
|
44
|
+
* Route parameters extracted from the URL path by route matching.
|
|
45
|
+
* For route "/posts/:id" matching "/posts/42", yields { id: "42" }.
|
|
46
|
+
*/
|
|
47
|
+
params: Record<string, string>;
|
|
48
|
+
/**
|
|
49
|
+
* Query string parameters from the URL search string.
|
|
50
|
+
* For "/search?q=test&limit=10", yields { q: "test", limit: "10" }.
|
|
51
|
+
*/
|
|
52
|
+
query: Record<string, string>;
|
|
53
|
+
/**
|
|
54
|
+
* HTTP request headers as a normalized object.
|
|
55
|
+
* Keys are lowercase; values are strings or comma-separated lists.
|
|
56
|
+
*/
|
|
57
|
+
headers: Record<string, string>;
|
|
58
|
+
/**
|
|
59
|
+
* Parsed HTTP cookies as an object.
|
|
60
|
+
* Keys are cookie names; values are decoded cookie values.
|
|
61
|
+
*/
|
|
62
|
+
cookies: Record<string, string>;
|
|
63
|
+
/**
|
|
64
|
+
* Data object that middleware can populate.
|
|
65
|
+
* Data is passed to the loader and page component.
|
|
66
|
+
* Useful for sharing computed values (user info, locale, etc.) from middleware to components.
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ctx.data.userId = 42; // Set in auth middleware
|
|
70
|
+
* ctx.data.locale = 'en'; // Set in i18n middleware
|
|
71
|
+
* // Then in loader and page: function Page({ data }) { ... data.userId ... }
|
|
72
|
+
*/
|
|
73
|
+
data?: Record<string, any>;
|
|
74
|
+
/**
|
|
75
|
+
* Sets the HTTP response status code.
|
|
76
|
+
* Default is 200 (OK) unless changed by middleware.
|
|
77
|
+
* Returns this for method chaining.
|
|
78
|
+
*
|
|
79
|
+
* @param code HTTP status code (200, 404, 500, etc.)
|
|
80
|
+
* @returns This context for chaining with other methods
|
|
81
|
+
*
|
|
82
|
+
* @example ctx.status(404).json({ error: "Not found" });
|
|
83
|
+
*/
|
|
84
|
+
status: (code: number) => RouteMiddlewareContext;
|
|
85
|
+
/**
|
|
86
|
+
* Sets an HTTP response header.
|
|
87
|
+
* Multiple calls with the same key overwrite previous values.
|
|
88
|
+
* Returns this for method chaining.
|
|
89
|
+
*
|
|
90
|
+
* @param key Header name (Content-Type, Set-Cookie, etc.)
|
|
91
|
+
* @param value Header value
|
|
92
|
+
* @returns This context for chaining
|
|
93
|
+
*
|
|
94
|
+
* @example ctx.setHeader("Cache-Control", "no-cache").setHeader("X-Custom", "value");
|
|
95
|
+
*/
|
|
96
|
+
setHeader: (key: string, value: string) => RouteMiddlewareContext;
|
|
97
|
+
/**
|
|
98
|
+
* Sends a redirect response and stops middleware execution.
|
|
99
|
+
* Sets Location header and sends the response.
|
|
100
|
+
* Default status code is 302 (temporary redirect); 301 is permanent.
|
|
101
|
+
*
|
|
102
|
+
* Throws a sentinel error ("__REDIRECT__") to stop further execution.
|
|
103
|
+
* This error is caught by executeRouteMiddleware() and not re-thrown.
|
|
104
|
+
*
|
|
105
|
+
* @param url Destination URL for the redirect
|
|
106
|
+
* @param statusCode HTTP status code; defaults to 302 (temporary redirect)
|
|
107
|
+
* @throws Error with message "__REDIRECT__" to stop execution
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* if (!user) ctx.redirect("/login", 302); // Never returns; throw is implicit
|
|
111
|
+
*/
|
|
112
|
+
redirect: (url: string, statusCode?: number) => never;
|
|
113
|
+
/**
|
|
114
|
+
* Sends a JSON response and stops middleware execution.
|
|
115
|
+
* Sets Content-Type and sends JSON-stringified data.
|
|
116
|
+
* Useful for API errors or early JSON responses.
|
|
117
|
+
*
|
|
118
|
+
* Throws a sentinel error ("__JSON__") to stop further execution.
|
|
119
|
+
* This error is caught and not re-thrown.
|
|
120
|
+
*
|
|
121
|
+
* @param data Object or value to JSON-encode and send
|
|
122
|
+
* @param statusCode HTTP status code; defaults to 200 (OK)
|
|
123
|
+
* @throws Error with message "__JSON__" to stop execution
|
|
124
|
+
*
|
|
125
|
+
* @example
|
|
126
|
+
* if (!params.id) ctx.json({ error: "Missing id" }, 400); // Never returns
|
|
127
|
+
*/
|
|
128
|
+
json: (data: any, statusCode?: number) => never;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Middleware function that executes for a specific route before rendering.
|
|
132
|
+
*
|
|
133
|
+
* Signature:
|
|
134
|
+
* - Accepts RouteMiddlewareContext
|
|
135
|
+
* - Returns nothing (void or Promise<void>)
|
|
136
|
+
* - Can be sync or async
|
|
137
|
+
*
|
|
138
|
+
* Behavior:
|
|
139
|
+
* - Return/resolve to continue to next middleware or rendering
|
|
140
|
+
* - Call ctx.redirect() or ctx.json() to send response and stop
|
|
141
|
+
* - Throw an error to propagate error to error handler
|
|
142
|
+
* - Modifying ctx.data shares values with loader and page
|
|
143
|
+
*
|
|
144
|
+
* @example
|
|
145
|
+
* const authMiddleware: RouteMiddleware = async (ctx) => {
|
|
146
|
+
* const user = await getUser(ctx.cookies.sessionId);
|
|
147
|
+
* if (!user) ctx.redirect("/login");
|
|
148
|
+
* ctx.data.user = user; // Available in loader and page
|
|
149
|
+
* };
|
|
150
|
+
*/
|
|
151
|
+
export type RouteMiddleware = (
|
|
152
|
+
ctx: RouteMiddlewareContext,
|
|
153
|
+
) => Promise<void> | void;
|
|
154
|
+
/**
|
|
155
|
+
* Type definitions note:
|
|
156
|
+
* Route module types (middleware field, hydrate field) are defined in core/types.ts.
|
|
157
|
+
* This module provides the middleware execution engine and context object.
|
|
158
|
+
*/
|
|
159
|
+
/**
|
|
160
|
+
* Creates a middleware context object from request data.
|
|
161
|
+
* Called by the renderer before executing route middleware.
|
|
162
|
+
*
|
|
163
|
+
* Initializes:
|
|
164
|
+
* - All request data (req, res, url, params, query, headers, cookies)
|
|
165
|
+
* - Empty data object for middleware to populate
|
|
166
|
+
* - Helper methods (status, setHeader, redirect, json) as chainable methods
|
|
167
|
+
*
|
|
168
|
+
* @param opts Configuration with raw request data
|
|
169
|
+
* @param opts.req Node.js IncomingMessage
|
|
170
|
+
* @param opts.res Node.js ServerResponse
|
|
171
|
+
* @param opts.url Parsed URL from request
|
|
172
|
+
* @param opts.params Route parameters from URL path
|
|
173
|
+
* @param opts.query Query string parameters
|
|
174
|
+
* @param opts.headers Normalized headers object
|
|
175
|
+
* @param opts.cookies Parsed cookies from Cookie header
|
|
176
|
+
*
|
|
177
|
+
* @returns Initialized RouteMiddlewareContext ready for middleware execution
|
|
178
|
+
*/
|
|
179
|
+
export declare function createRouteMiddlewareContext(opts: {
|
|
180
|
+
req: IncomingMessage;
|
|
181
|
+
res: ServerResponse;
|
|
182
|
+
url: URL;
|
|
183
|
+
params: Record<string, string>;
|
|
184
|
+
query: Record<string, string>;
|
|
185
|
+
headers: Record<string, string>;
|
|
186
|
+
cookies: Record<string, string>;
|
|
187
|
+
}): RouteMiddlewareContext;
|
|
188
|
+
/**
|
|
189
|
+
* Executes an array of route middleware sequentially for a route.
|
|
190
|
+
*
|
|
191
|
+
* Execution model:
|
|
192
|
+
* 1. Iterates through middlewares in order
|
|
193
|
+
* 2. Each middleware is awaited (even if synchronous)
|
|
194
|
+
* 3. Middleware can populate ctx.data for use by loader and page
|
|
195
|
+
* 4. If middleware calls ctx.redirect() or ctx.json(), error is caught and re-thrown
|
|
196
|
+
* 5. Other errors are propagated immediately
|
|
197
|
+
*
|
|
198
|
+
* Control flow:
|
|
199
|
+
* - Normal completion: all middlewares finish and function returns
|
|
200
|
+
* - Early exit: middleware calls ctx.redirect() or ctx.json()
|
|
201
|
+
* - Error: middleware throws or ctx.redirect()/json() throws sentinel error
|
|
202
|
+
*
|
|
203
|
+
* Side effects:
|
|
204
|
+
* - Response headers, status, and body may be sent by middleware
|
|
205
|
+
* - ctx.data may be modified by middleware
|
|
206
|
+
* - Should only be called in server context (SSR); not during SSG build
|
|
207
|
+
*
|
|
208
|
+
* @param middlewares Array of middleware functions to execute
|
|
209
|
+
* @param ctx RouteMiddlewareContext created by createRouteMiddlewareContext()
|
|
210
|
+
*
|
|
211
|
+
* @returns Promise that resolves if all middlewares complete normally
|
|
212
|
+
* @throws Error with message "__REDIRECT__" if middleware calls ctx.redirect()
|
|
213
|
+
* @throws Error with message "__JSON__" if middleware calls ctx.json()
|
|
214
|
+
* @throws Error from middleware if it throws
|
|
215
|
+
*/
|
|
216
|
+
export declare function executeRouteMiddleware(
|
|
217
|
+
middlewares: RouteMiddleware[],
|
|
218
|
+
ctx: RouteMiddlewareContext,
|
|
219
|
+
): Promise<void>;
|