create-jen-app 1.2.1 → 1.2.3
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/index.js +1 -6
- package/package.json +2 -2
- package/templates/static/.esbuild/jen.config.js +18 -0
- package/templates/static/README.md +63 -67
- package/templates/static/build.js +4 -6
- package/templates/static/jen.config.ts +3 -5
- package/templates/static/jenjs.d.ts +3 -3
- package/templates/static/lib/api/(hello).d.ts +5 -5
- package/templates/static/lib/api/(hello).js +7 -7
- package/templates/static/lib/auth/cookie-utils.d.ts +20 -11
- package/templates/static/lib/auth/cookie-utils.js +66 -69
- package/templates/static/lib/auth/jwt.d.ts +28 -0
- package/templates/static/lib/auth/jwt.js +50 -6
- package/templates/static/lib/auth/session.d.ts +34 -34
- package/templates/static/lib/auth/session.js +79 -81
- package/templates/static/lib/build/asset-hashing.js +4 -4
- package/templates/static/lib/build/asset-manifest.js +4 -4
- package/templates/static/lib/build/build.d.ts +20 -0
- package/templates/static/lib/build/build.js +43 -6
- package/templates/static/lib/build/island-hydration.js +2 -2
- package/templates/static/lib/build/minifier.js +12 -12
- package/templates/static/lib/build/page-renderer.d.ts +2 -2
- package/templates/static/lib/build/page-renderer.js +3 -3
- package/templates/static/lib/build/production-build.d.ts +1 -1
- package/templates/static/lib/build/production-build.js +4 -4
- package/templates/static/lib/build/ssg-pipeline.d.ts +1 -1
- package/templates/static/lib/build/ssg-pipeline.js +19 -19
- package/templates/static/lib/build-tools/build-site.d.ts +3 -3
- package/templates/static/lib/build-tools/build-site.js +27 -30
- package/templates/static/lib/cache/index.d.ts +8 -0
- package/templates/static/lib/cache/index.js +8 -0
- package/templates/static/lib/cache/memory.d.ts +31 -4
- package/templates/static/lib/cache/memory.js +38 -12
- package/templates/static/lib/cache/redis.d.ts +43 -4
- package/templates/static/lib/cache/redis.js +59 -14
- package/templates/static/lib/cli/banner.d.ts +5 -1
- package/templates/static/lib/cli/banner.js +18 -14
- package/templates/static/lib/cli/templates/ssg/jen.config.js +29 -29
- package/templates/static/lib/cli/templates/ssg/site/index.js +6 -1
- package/templates/static/lib/cli/templates/ssr/jen.config.js +29 -29
- package/templates/static/lib/cli/templates/ssr/site/index.js +6 -1
- package/templates/static/lib/compilers/esbuild-plugins.js +96 -98
- package/templates/static/lib/compilers/svelte.d.ts +10 -10
- package/templates/static/lib/compilers/svelte.js +31 -31
- package/templates/static/lib/compilers/vue.d.ts +8 -8
- package/templates/static/lib/compilers/vue.js +76 -68
- package/templates/static/lib/core/config.d.ts +217 -50
- package/templates/static/lib/core/http.d.ts +55 -2
- package/templates/static/lib/core/http.js +66 -20
- package/templates/static/lib/core/middleware-hooks.d.ts +204 -31
- package/templates/static/lib/core/middleware-hooks.js +86 -41
- package/templates/static/lib/core/paths.d.ts +42 -4
- package/templates/static/lib/core/paths.js +34 -2
- package/templates/static/lib/core/routes/match.d.ts +51 -3
- package/templates/static/lib/core/routes/match.js +44 -11
- package/templates/static/lib/core/routes/scan.d.ts +49 -5
- package/templates/static/lib/core/routes/scan.js +174 -115
- package/templates/static/lib/core/types.d.ts +148 -13
- package/templates/static/lib/css/compiler.d.ts +16 -13
- package/templates/static/lib/css/compiler.js +62 -58
- package/templates/static/lib/db/connector.d.ts +27 -1
- package/templates/static/lib/db/connector.js +37 -11
- package/templates/static/lib/db/drivers/jdb.d.ts +13 -9
- package/templates/static/lib/db/drivers/jdb.js +41 -39
- package/templates/static/lib/db/drivers/sql.d.ts +16 -12
- package/templates/static/lib/db/drivers/sql.js +152 -135
- package/templates/static/lib/db/index.d.ts +20 -12
- package/templates/static/lib/db/index.js +41 -41
- package/templates/static/lib/db/types.d.ts +22 -18
- package/templates/static/lib/graphql/index.d.ts +47 -0
- package/templates/static/lib/graphql/index.js +50 -3
- package/templates/static/lib/graphql/resolvers.d.ts +51 -11
- package/templates/static/lib/graphql/resolvers.js +22 -6
- package/templates/static/lib/graphql/schema.d.ts +34 -0
- package/templates/static/lib/graphql/schema.js +34 -2
- package/templates/static/lib/i18n/en.json +2 -2
- package/templates/static/lib/i18n/es.json +2 -2
- package/templates/static/lib/i18n/index.d.ts +4 -4
- package/templates/static/lib/i18n/index.js +10 -10
- package/templates/static/lib/import/jen-import.d.ts +39 -10
- package/templates/static/lib/import/jen-import.js +130 -80
- package/templates/static/lib/index.d.ts +42 -11
- package/templates/static/lib/index.js +21 -8
- package/templates/static/lib/jdb/engine.d.ts +35 -6
- package/templates/static/lib/jdb/engine.js +260 -144
- package/templates/static/lib/jdb/index.d.ts +32 -0
- package/templates/static/lib/jdb/index.js +32 -0
- package/templates/static/lib/jdb/types.d.ts +212 -30
- package/templates/static/lib/jdb/utils.d.ts +60 -0
- package/templates/static/lib/jdb/utils.js +159 -107
- package/templates/static/lib/middleware/builtins/body-parser.d.ts +15 -0
- package/templates/static/lib/middleware/builtins/body-parser.js +53 -35
- package/templates/static/lib/middleware/builtins/cors.d.ts +8 -6
- package/templates/static/lib/middleware/builtins/cors.js +52 -48
- package/templates/static/lib/middleware/builtins/logger.d.ts +18 -0
- package/templates/static/lib/middleware/builtins/logger.js +31 -13
- package/templates/static/lib/middleware/builtins/rate-limit.d.ts +19 -2
- package/templates/static/lib/middleware/builtins/rate-limit.js +75 -55
- package/templates/static/lib/middleware/builtins/request-id.d.ts +18 -0
- package/templates/static/lib/middleware/builtins/request-id.js +26 -5
- package/templates/static/lib/middleware/builtins/security-headers.d.ts +18 -0
- package/templates/static/lib/middleware/builtins/security-headers.js +51 -20
- package/templates/static/lib/middleware/context.d.ts +102 -15
- package/templates/static/lib/middleware/context.js +121 -30
- package/templates/static/lib/middleware/decorators.d.ts +18 -1
- package/templates/static/lib/middleware/decorators.js +83 -34
- package/templates/static/lib/middleware/errors/handler.js +22 -24
- package/templates/static/lib/middleware/errors/http-error.d.ts +3 -3
- package/templates/static/lib/middleware/errors/http-error.js +8 -8
- package/templates/static/lib/middleware/kernel.d.ts +67 -4
- package/templates/static/lib/middleware/kernel.js +80 -17
- package/templates/static/lib/middleware/pipeline.d.ts +51 -2
- package/templates/static/lib/middleware/pipeline.js +143 -45
- package/templates/static/lib/middleware/registry.d.ts +67 -8
- package/templates/static/lib/middleware/registry.js +83 -22
- package/templates/static/lib/middleware/response.d.ts +73 -11
- package/templates/static/lib/middleware/response.js +104 -40
- package/templates/static/lib/middleware/utils/matcher.js +11 -12
- package/templates/static/lib/native/bundle.d.ts +13 -8
- package/templates/static/lib/native/bundle.js +14 -14
- package/templates/static/lib/native/dev-server.d.ts +11 -4
- package/templates/static/lib/native/dev-server.js +14 -12
- package/templates/static/lib/native/index.d.ts +20 -20
- package/templates/static/lib/native/index.js +23 -21
- package/templates/static/lib/native/optimizer.d.ts +14 -10
- package/templates/static/lib/native/optimizer.js +14 -14
- package/templates/static/lib/native/style-compiler.d.ts +17 -8
- package/templates/static/lib/native/style-compiler.js +9 -9
- package/templates/static/lib/plugin/loader.d.ts +8 -6
- package/templates/static/lib/plugin/loader.js +25 -31
- package/templates/static/lib/runtime/client-runtime.d.ts +15 -0
- package/templates/static/lib/runtime/client-runtime.js +23 -9
- package/templates/static/lib/runtime/hmr.d.ts +23 -1
- package/templates/static/lib/runtime/hmr.js +27 -5
- package/templates/static/lib/runtime/hydrate.d.ts +17 -0
- package/templates/static/lib/runtime/hydrate.js +48 -21
- package/templates/static/lib/runtime/island-hydration-client.d.ts +5 -2
- package/templates/static/lib/runtime/island-hydration-client.js +122 -91
- package/templates/static/lib/runtime/islands.d.ts +82 -27
- package/templates/static/lib/runtime/islands.js +92 -54
- package/templates/static/lib/runtime/render.d.ts +36 -9
- package/templates/static/lib/runtime/render.js +208 -130
- package/templates/static/lib/server/api-routes.d.ts +96 -28
- package/templates/static/lib/server/api-routes.js +214 -156
- package/templates/static/lib/server/api.d.ts +3 -3
- package/templates/static/lib/server/api.js +93 -92
- package/templates/static/lib/server/app.d.ts +37 -3
- package/templates/static/lib/server/app.js +328 -254
- package/templates/static/lib/server/runtimeServe.d.ts +56 -0
- package/templates/static/lib/server/runtimeServe.js +130 -69
- package/templates/static/lib/server/ssr.d.ts +161 -0
- package/templates/static/lib/server/ssr.js +219 -0
- package/templates/static/lib/shared/log.d.ts +47 -3
- package/templates/static/lib/shared/log.js +60 -10
- package/templates/static/package.json +5 -1
- package/templates/static/server.js +4 -6
- package/templates/static/site/(home).tsx +30 -12
- package/templates/static/site/styles/global.scss +89 -78
- package/templates/static/tsconfig.json +39 -39
- 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/LICENSE +0 -21
- 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
|
@@ -1,18 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Request context object passed through the middleware chain.
|
|
3
|
+
* Wraps Node.js req/res objects and provides helper methods and parsed request data.
|
|
4
|
+
* Each middleware receives this context and can read/modify its properties.
|
|
5
|
+
*
|
|
6
|
+
* The context enables:
|
|
7
|
+
* - Access to parsed URL, query params, route params, cookies, headers
|
|
8
|
+
* - Convenient response building methods (json(), headers())
|
|
9
|
+
* - State storage for passing data between middlewares
|
|
10
|
+
* - Request body parsing and caching
|
|
11
|
+
*/
|
|
1
12
|
export class Context {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
/**
|
|
14
|
+
* Initializes a request context from Node.js request and response objects.
|
|
15
|
+
* Parses the URL, extracts query parameters, and initializes helpers.
|
|
16
|
+
*
|
|
17
|
+
* @param req Node.js IncomingMessage
|
|
18
|
+
* @param res Node.js ServerResponse
|
|
19
|
+
*/
|
|
20
|
+
constructor(req: any, res: any);
|
|
21
|
+
/**
|
|
22
|
+
* Raw Node.js IncomingMessage request object.
|
|
23
|
+
* Contains method, url, headers, socket, etc.
|
|
24
|
+
*/
|
|
25
|
+
req: any;
|
|
26
|
+
/**
|
|
27
|
+
* Raw Node.js ServerResponse response object.
|
|
28
|
+
* Used to send response data back to the client.
|
|
29
|
+
*/
|
|
30
|
+
res: any;
|
|
31
|
+
/**
|
|
32
|
+
* Parsed URL object with scheme, host, pathname, search, searchParams, etc.
|
|
33
|
+
* Automatically constructed from req.url and req.headers.host.
|
|
34
|
+
*
|
|
35
|
+
* @example ctx.url.pathname for "/posts/42", ctx.url.searchParams for query parsing
|
|
36
|
+
*/
|
|
37
|
+
url: URL;
|
|
38
|
+
/**
|
|
39
|
+
* Shared state object for middleware to store data.
|
|
40
|
+
* Useful for passing values between middlewares in the chain without response headers.
|
|
41
|
+
*
|
|
42
|
+
* @example ctx.state.userId = 42; // Set in auth middleware, read in handler
|
|
43
|
+
*/
|
|
44
|
+
state: {};
|
|
45
|
+
/**
|
|
46
|
+
* ResponseBuilder instance for fluent response building.
|
|
47
|
+
* Use ctx.response.status().json() or ctx.response.header() to build responses.
|
|
48
|
+
* Alternatively, use ctx.json() shortcut for quick JSON responses.
|
|
49
|
+
*/
|
|
50
|
+
response: ResponseBuilder;
|
|
51
|
+
/**
|
|
52
|
+
* Parsed request body cache.
|
|
53
|
+
* Set by body parser middleware if request has a body.
|
|
54
|
+
* Can be null if no body parser ran or if the request has no body.
|
|
55
|
+
*/
|
|
56
|
+
body: any;
|
|
57
|
+
/**
|
|
58
|
+
* Query string parameters as an object.
|
|
59
|
+
* Automatically parsed from ctx.url.searchParams on construction.
|
|
60
|
+
* Keys and values are always strings.
|
|
61
|
+
*
|
|
62
|
+
* @example For URL "/posts?sort=date&limit=10", yields { sort: "date", limit: "10" }
|
|
63
|
+
*/
|
|
64
|
+
query: {
|
|
65
|
+
[k: string]: string;
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* Route parameters extracted from the URL path.
|
|
69
|
+
* Set by route matching middleware based on dynamic route patterns.
|
|
70
|
+
* Empty object initially; populated when a route matches.
|
|
71
|
+
*
|
|
72
|
+
* @example For route "/posts/:id" matching "/posts/42", yields { id: "42" }
|
|
73
|
+
*/
|
|
74
|
+
params: {};
|
|
75
|
+
/**
|
|
76
|
+
* Getter that parses and caches cookies from the request.
|
|
77
|
+
* Parses the Cookie header into an object of name-value pairs.
|
|
78
|
+
* Values are automatically decoded using decodeURIComponent.
|
|
79
|
+
* Memoization is implicit; called fresh each time.
|
|
80
|
+
*
|
|
81
|
+
* @returns Object with cookie names as keys and values as cookie values
|
|
82
|
+
*
|
|
83
|
+
* @example
|
|
84
|
+
* const sessionId = ctx.cookies.sessionId; // Get a cookie value
|
|
85
|
+
* // For header "sessionId=abc123; theme=dark" yields { sessionId: "abc123", theme: "dark" }
|
|
86
|
+
*/
|
|
87
|
+
get cookies(): {
|
|
88
|
+
[k: string]: any;
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* Convenience method to send a JSON response.
|
|
92
|
+
* Combines ctx.response.status().json().send() into a single call.
|
|
93
|
+
*
|
|
94
|
+
* @param data Object to serialize as JSON and send
|
|
95
|
+
* @param status HTTP status code; defaults to 200 (OK)
|
|
96
|
+
*
|
|
97
|
+
* @returns Result of response.send() (undefined if response is sent)
|
|
98
|
+
*
|
|
99
|
+
* @example
|
|
100
|
+
* ctx.json({ success: true }, 201);
|
|
101
|
+
* ctx.json({ error: "Not found" }, 404);
|
|
102
|
+
*/
|
|
103
|
+
json(data: any, status?: number): void;
|
|
17
104
|
}
|
|
18
105
|
import { ResponseBuilder } from "./response.js";
|
|
@@ -16,35 +16,126 @@
|
|
|
16
16
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
18
|
import { ResponseBuilder } from "./response.js";
|
|
19
|
+
/**
|
|
20
|
+
* Request context object passed through the middleware chain.
|
|
21
|
+
* Wraps Node.js req/res objects and provides helper methods and parsed request data.
|
|
22
|
+
* Each middleware receives this context and can read/modify its properties.
|
|
23
|
+
*
|
|
24
|
+
* The context enables:
|
|
25
|
+
* - Access to parsed URL, query params, route params, cookies, headers
|
|
26
|
+
* - Convenient response building methods (json(), headers())
|
|
27
|
+
* - State storage for passing data between middlewares
|
|
28
|
+
* - Request body parsing and caching
|
|
29
|
+
*/
|
|
19
30
|
export class Context {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
31
|
+
/**
|
|
32
|
+
* Raw Node.js IncomingMessage request object.
|
|
33
|
+
* Contains method, url, headers, socket, etc.
|
|
34
|
+
*/
|
|
35
|
+
req;
|
|
36
|
+
/**
|
|
37
|
+
* Raw Node.js ServerResponse response object.
|
|
38
|
+
* Used to send response data back to the client.
|
|
39
|
+
*/
|
|
40
|
+
res;
|
|
41
|
+
/**
|
|
42
|
+
* Parsed URL object with scheme, host, pathname, search, searchParams, etc.
|
|
43
|
+
* Automatically constructed from req.url and req.headers.host.
|
|
44
|
+
*
|
|
45
|
+
* @example ctx.url.pathname for "/posts/42", ctx.url.searchParams for query parsing
|
|
46
|
+
*/
|
|
47
|
+
url;
|
|
48
|
+
/**
|
|
49
|
+
* Shared state object for middleware to store data.
|
|
50
|
+
* Useful for passing values between middlewares in the chain without response headers.
|
|
51
|
+
*
|
|
52
|
+
* @example ctx.state.userId = 42; // Set in auth middleware, read in handler
|
|
53
|
+
*/
|
|
54
|
+
state;
|
|
55
|
+
/**
|
|
56
|
+
* ResponseBuilder instance for fluent response building.
|
|
57
|
+
* Use ctx.response.status().json() or ctx.response.header() to build responses.
|
|
58
|
+
* Alternatively, use ctx.json() shortcut for quick JSON responses.
|
|
59
|
+
*/
|
|
60
|
+
response;
|
|
61
|
+
/**
|
|
62
|
+
* Parsed request body cache.
|
|
63
|
+
* Set by body parser middleware if request has a body.
|
|
64
|
+
* Can be null if no body parser ran or if the request has no body.
|
|
65
|
+
*/
|
|
66
|
+
body;
|
|
67
|
+
/**
|
|
68
|
+
* Query string parameters as an object.
|
|
69
|
+
* Automatically parsed from ctx.url.searchParams on construction.
|
|
70
|
+
* Keys and values are always strings.
|
|
71
|
+
*
|
|
72
|
+
* @example For URL "/posts?sort=date&limit=10", yields { sort: "date", limit: "10" }
|
|
73
|
+
*/
|
|
74
|
+
query;
|
|
75
|
+
/**
|
|
76
|
+
* Route parameters extracted from the URL path.
|
|
77
|
+
* Set by route matching middleware based on dynamic route patterns.
|
|
78
|
+
* Empty object initially; populated when a route matches.
|
|
79
|
+
*
|
|
80
|
+
* @example For route "/posts/:id" matching "/posts/42", yields { id: "42" }
|
|
81
|
+
*/
|
|
82
|
+
params;
|
|
83
|
+
/**
|
|
84
|
+
* Initializes a request context from Node.js request and response objects.
|
|
85
|
+
* Parses the URL, extracts query parameters, and initializes helpers.
|
|
86
|
+
*
|
|
87
|
+
* @param req Node.js IncomingMessage
|
|
88
|
+
* @param res Node.js ServerResponse
|
|
89
|
+
*/
|
|
90
|
+
constructor(req, res) {
|
|
91
|
+
this.req = req;
|
|
92
|
+
this.res = res;
|
|
93
|
+
this.url = new URL(
|
|
94
|
+
req.url ?? "/",
|
|
95
|
+
`http://${req.headers.host || "localhost"}`,
|
|
96
|
+
);
|
|
97
|
+
this.state = {};
|
|
98
|
+
this.response = new ResponseBuilder(res);
|
|
99
|
+
this.body = null;
|
|
100
|
+
this.query = Object.fromEntries(this.url.searchParams);
|
|
101
|
+
this.params = {};
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Getter that parses and caches cookies from the request.
|
|
105
|
+
* Parses the Cookie header into an object of name-value pairs.
|
|
106
|
+
* Values are automatically decoded using decodeURIComponent.
|
|
107
|
+
* Memoization is implicit; called fresh each time.
|
|
108
|
+
*
|
|
109
|
+
* @returns Object with cookie names as keys and values as cookie values
|
|
110
|
+
*
|
|
111
|
+
* @example
|
|
112
|
+
* const sessionId = ctx.cookies.sessionId; // Get a cookie value
|
|
113
|
+
* // For header "sessionId=abc123; theme=dark" yields { sessionId: "abc123", theme: "dark" }
|
|
114
|
+
*/
|
|
115
|
+
get cookies() {
|
|
116
|
+
const header = this.req.headers.cookie;
|
|
117
|
+
if (!header) return {};
|
|
118
|
+
return Object.fromEntries(
|
|
119
|
+
header.split(";").map((c) => {
|
|
120
|
+
const [key, ...v] = c.trim().split("=");
|
|
121
|
+
return [key, decodeURIComponent(v.join("="))];
|
|
122
|
+
}),
|
|
123
|
+
);
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Convenience method to send a JSON response.
|
|
127
|
+
* Combines ctx.response.status().json().send() into a single call.
|
|
128
|
+
*
|
|
129
|
+
* @param data Object to serialize as JSON and send
|
|
130
|
+
* @param status HTTP status code; defaults to 200 (OK)
|
|
131
|
+
*
|
|
132
|
+
* @returns Result of response.send() (undefined if response is sent)
|
|
133
|
+
*
|
|
134
|
+
* @example
|
|
135
|
+
* ctx.json({ success: true }, 201);
|
|
136
|
+
* ctx.json({ error: "Not found" }, 404);
|
|
137
|
+
*/
|
|
138
|
+
json(data, status = 200) {
|
|
139
|
+
return this.response.status(status).json(data).send();
|
|
140
|
+
}
|
|
50
141
|
}
|
|
@@ -1,2 +1,19 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Class or method decorator for attaching middleware to handlers.
|
|
3
|
+
* Allows declaring middleware dependencies declaratively on class definitions or methods.
|
|
4
|
+
* Middleware is merged with existing middleware if applied multiple times.
|
|
5
|
+
*
|
|
6
|
+
* @param middleware Middleware functions to attach.
|
|
7
|
+
* @returns A decorator function compatible with class or method decoration.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* @UseMiddleware(authMiddleware, corsMiddleware)
|
|
11
|
+
* class UserController {
|
|
12
|
+
* @UseMiddleware(rateLimitMiddleware)
|
|
13
|
+
* async getUsers(ctx) { ... }
|
|
14
|
+
* }
|
|
15
|
+
*/
|
|
16
|
+
export function UseMiddleware(
|
|
17
|
+
...middleware: any[]
|
|
18
|
+
): (target: any, propertyKey: any, descriptor: any) => void;
|
|
2
19
|
export const MIDDLEWARE_METADATA_KEY: unique symbol;
|
|
@@ -15,47 +15,96 @@
|
|
|
15
15
|
* You should have received a copy of the GNU General Public License
|
|
16
16
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Metadata storage for decorator information.
|
|
20
|
+
* Provides a fallback when Reflect.metadata is not available.
|
|
21
|
+
* This avoids adding the reflect-metadata dependency for basic decorator support.
|
|
22
|
+
*
|
|
23
|
+
* Uses WeakMap for automatic cleanup when target objects are garbage collected.
|
|
24
|
+
*/
|
|
20
25
|
const MetadataStorage = new WeakMap();
|
|
26
|
+
/**
|
|
27
|
+
* Retrieves metadata attached to a target via decorators.
|
|
28
|
+
* Uses the Reflect API if available; otherwise falls back to WeakMap storage.
|
|
29
|
+
*
|
|
30
|
+
* @param key The metadata key (usually a Symbol).
|
|
31
|
+
* @param target The class or object to get metadata from.
|
|
32
|
+
* @param propertyKey Optional property name for method/property-level metadata.
|
|
33
|
+
* @returns The metadata value, or undefined if not found.
|
|
34
|
+
*/
|
|
21
35
|
function getMetadata(key, target, propertyKey) {
|
|
36
|
+
// Use native Reflect API if available for better compatibility.
|
|
37
|
+
// @ts-ignore
|
|
38
|
+
if (typeof Reflect !== "undefined" && Reflect.getMetadata) {
|
|
22
39
|
// @ts-ignore
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
return undefined;
|
|
30
|
-
const mapKey = propertyKey ? `${String(key)}:${String(propertyKey)}` : key;
|
|
31
|
-
return targetMap.get(mapKey);
|
|
40
|
+
return Reflect.getMetadata(key, target, propertyKey);
|
|
41
|
+
}
|
|
42
|
+
const targetMap = MetadataStorage.get(target);
|
|
43
|
+
if (!targetMap) return undefined;
|
|
44
|
+
const mapKey = propertyKey ? `${String(key)}:${String(propertyKey)}` : key;
|
|
45
|
+
return targetMap.get(mapKey);
|
|
32
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Stores metadata on a target for use by decorators.
|
|
49
|
+
* Uses the Reflect API if available; otherwise falls back to WeakMap storage.
|
|
50
|
+
*
|
|
51
|
+
* @param key The metadata key (usually a Symbol).
|
|
52
|
+
* @param value The value to store.
|
|
53
|
+
* @param target The class or object to attach metadata to.
|
|
54
|
+
* @param propertyKey Optional property name for method/property-level metadata.
|
|
55
|
+
*/
|
|
33
56
|
function defineMetadata(key, value, target, propertyKey) {
|
|
57
|
+
// Use native Reflect API if available for better compatibility.
|
|
58
|
+
// @ts-ignore
|
|
59
|
+
if (typeof Reflect !== "undefined" && Reflect.defineMetadata) {
|
|
34
60
|
// @ts-ignore
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
const mapKey = propertyKey ? `${String(key)}:${String(propertyKey)}` : key;
|
|
45
|
-
targetMap.set(mapKey, value);
|
|
61
|
+
return Reflect.defineMetadata(key, value, target, propertyKey);
|
|
62
|
+
}
|
|
63
|
+
let targetMap = MetadataStorage.get(target);
|
|
64
|
+
if (!targetMap) {
|
|
65
|
+
targetMap = new Map();
|
|
66
|
+
MetadataStorage.set(target, targetMap);
|
|
67
|
+
}
|
|
68
|
+
const mapKey = propertyKey ? `${String(key)}:${String(propertyKey)}` : key;
|
|
69
|
+
targetMap.set(mapKey, value);
|
|
46
70
|
}
|
|
71
|
+
// Unique symbol to store middleware metadata on classes and methods.
|
|
47
72
|
export const MIDDLEWARE_METADATA_KEY = Symbol("jen:middleware");
|
|
73
|
+
/**
|
|
74
|
+
* Class or method decorator for attaching middleware to handlers.
|
|
75
|
+
* Allows declaring middleware dependencies declaratively on class definitions or methods.
|
|
76
|
+
* Middleware is merged with existing middleware if applied multiple times.
|
|
77
|
+
*
|
|
78
|
+
* @param middleware Middleware functions to attach.
|
|
79
|
+
* @returns A decorator function compatible with class or method decoration.
|
|
80
|
+
*
|
|
81
|
+
* @example
|
|
82
|
+
* @UseMiddleware(authMiddleware, corsMiddleware)
|
|
83
|
+
* class UserController {
|
|
84
|
+
* @UseMiddleware(rateLimitMiddleware)
|
|
85
|
+
* async getUsers(ctx) { ... }
|
|
86
|
+
* }
|
|
87
|
+
*/
|
|
48
88
|
export function UseMiddleware(...middleware) {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}
|
|
89
|
+
return function (target, propertyKey, descriptor) {
|
|
90
|
+
if (descriptor) {
|
|
91
|
+
// Method decorator: attach middleware to a specific method.
|
|
92
|
+
const existing =
|
|
93
|
+
getMetadata(MIDDLEWARE_METADATA_KEY, target, propertyKey) || [];
|
|
94
|
+
defineMetadata(
|
|
95
|
+
MIDDLEWARE_METADATA_KEY,
|
|
96
|
+
[...existing, ...middleware],
|
|
97
|
+
target,
|
|
98
|
+
propertyKey,
|
|
99
|
+
);
|
|
100
|
+
} else {
|
|
101
|
+
// Class decorator: attach middleware to all methods in the class.
|
|
102
|
+
const existing = getMetadata(MIDDLEWARE_METADATA_KEY, target) || [];
|
|
103
|
+
defineMetadata(
|
|
104
|
+
MIDDLEWARE_METADATA_KEY,
|
|
105
|
+
[...existing, ...middleware],
|
|
106
|
+
target,
|
|
107
|
+
);
|
|
108
|
+
}
|
|
109
|
+
};
|
|
61
110
|
}
|
|
@@ -17,20 +17,18 @@
|
|
|
17
17
|
*/
|
|
18
18
|
import { HttpError } from "./http-error.js";
|
|
19
19
|
export async function errorHandler(ctx, next) {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
if (accept.includes("text/html")) {
|
|
33
|
-
const html = `
|
|
20
|
+
try {
|
|
21
|
+
await next();
|
|
22
|
+
} catch (err) {
|
|
23
|
+
const status = err instanceof HttpError ? err.statusCode : 500;
|
|
24
|
+
const message = err.message || "Internal Server Error";
|
|
25
|
+
const details = err instanceof HttpError ? err.details : undefined;
|
|
26
|
+
console.error(`Error processing request: ${message}`, err);
|
|
27
|
+
// Check if response is already sent
|
|
28
|
+
if (ctx.res.writableEnded) return;
|
|
29
|
+
const accept = ctx.req.headers.accept || "";
|
|
30
|
+
if (accept.includes("text/html")) {
|
|
31
|
+
const html = `
|
|
34
32
|
<!DOCTYPE html>
|
|
35
33
|
<html>
|
|
36
34
|
<head>
|
|
@@ -51,15 +49,15 @@ export async function errorHandler(ctx, next) {
|
|
|
51
49
|
</body>
|
|
52
50
|
</html>
|
|
53
51
|
`;
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
}
|
|
57
|
-
ctx.response.status(status).json({
|
|
58
|
-
error: true,
|
|
59
|
-
statusCode: status,
|
|
60
|
-
message,
|
|
61
|
-
details,
|
|
62
|
-
});
|
|
63
|
-
ctx.response.send();
|
|
52
|
+
ctx.response.status(status).html(html).send();
|
|
53
|
+
return;
|
|
64
54
|
}
|
|
55
|
+
ctx.response.status(status).json({
|
|
56
|
+
error: true,
|
|
57
|
+
statusCode: status,
|
|
58
|
+
message,
|
|
59
|
+
details,
|
|
60
|
+
});
|
|
61
|
+
ctx.response.send();
|
|
62
|
+
}
|
|
65
63
|
}
|
|
@@ -16,12 +16,12 @@
|
|
|
16
16
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
18
|
export class HttpError extends Error {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
19
|
+
statusCode;
|
|
20
|
+
details;
|
|
21
|
+
constructor(statusCode, message, details) {
|
|
22
|
+
super(message);
|
|
23
|
+
this.statusCode = statusCode;
|
|
24
|
+
this.details = details;
|
|
25
|
+
Object.setPrototypeOf(this, HttpError.prototype);
|
|
26
|
+
}
|
|
27
27
|
}
|
|
@@ -1,6 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core HTTP request handler that manages middleware execution and request context.
|
|
3
|
+
*
|
|
4
|
+
* The Kernel implements a middleware pipeline pattern:
|
|
5
|
+
* 1. Receives Node.js req and res objects
|
|
6
|
+
* 2. Wraps them in a Context object with helper methods and properties
|
|
7
|
+
* 3. Composes registered middlewares into a callable pipeline
|
|
8
|
+
* 4. Executes the pipeline with the context for request processing
|
|
9
|
+
*
|
|
10
|
+
* Middlewares can:
|
|
11
|
+
* - Access/modify request and response via ctx.req, ctx.res, ctx.response
|
|
12
|
+
* - Read/set cookies, headers, query params, route params
|
|
13
|
+
* - Store and retrieve shared state in ctx.state
|
|
14
|
+
* - Call ctx.response.json() or other response builders
|
|
15
|
+
* - Control flow via next() to continue to next middleware
|
|
16
|
+
*/
|
|
1
17
|
export class Kernel {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Array of global middleware functions that run for every request.
|
|
20
|
+
* Middlewares are stored in order of registration (use() calls).
|
|
21
|
+
* Executed sequentially in Pipeline.compose().
|
|
22
|
+
*/
|
|
23
|
+
globalMiddleware: any[];
|
|
24
|
+
/**
|
|
25
|
+
* Registers a middleware function to run for all requests.
|
|
26
|
+
* Middleware can be a function, a class constructor, or an object with handle() method.
|
|
27
|
+
*
|
|
28
|
+
* @param mw Middleware function: (ctx, next) => Promise<void>
|
|
29
|
+
* Or class with: new MyMiddleware().handle(ctx, next)
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* kernel.use(async (ctx, next) => {
|
|
33
|
+
* console.log(`${ctx.req.method} ${ctx.url.pathname}`);
|
|
34
|
+
* await next();
|
|
35
|
+
* });
|
|
36
|
+
*/
|
|
37
|
+
use(mw: any): void;
|
|
38
|
+
/**
|
|
39
|
+
* Processes an HTTP request through the global middleware pipeline.
|
|
40
|
+
* Creates a Context wrapping the request/response, composes middlewares, and executes them.
|
|
41
|
+
*
|
|
42
|
+
* @param req Node.js IncomingMessage (HTTP request object)
|
|
43
|
+
* @param res Node.js ServerResponse (HTTP response object)
|
|
44
|
+
*
|
|
45
|
+
* @returns Promise that resolves when middleware chain completes
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* const server = createServer((req, res) => {
|
|
49
|
+
* kernel.handle(req, res);
|
|
50
|
+
* });
|
|
51
|
+
*/
|
|
52
|
+
handle(req: any, res: any): Promise<void>;
|
|
53
|
+
/**
|
|
54
|
+
* Processes a request through global middleware plus a registered middleware group.
|
|
55
|
+
* Retrieves middleware from the registry by group name and composes them with global middleware.
|
|
56
|
+
* Useful for route-specific or feature-specific middleware chains.
|
|
57
|
+
*
|
|
58
|
+
* @param req Node.js IncomingMessage
|
|
59
|
+
* @param res Node.js ServerResponse
|
|
60
|
+
* @param groupName Name of the middleware group registered in MiddlewareRegistry
|
|
61
|
+
*
|
|
62
|
+
* @returns Promise that resolves when complete middleware chain executes
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* // Given a group named "apiMiddleware" with auth and logging
|
|
66
|
+
* await kernel.handleWithGroup(req, res, "apiMiddleware");
|
|
67
|
+
*/
|
|
68
|
+
handleWithGroup(req: any, res: any, groupName: any): Promise<void>;
|
|
6
69
|
}
|