nitro-nightly 3.0.0-beta-28969273.f7aa9de6 → 4.0.0-20251010-091516-7cafddba
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 +8 -39
- package/dist/_chunks/app.mjs +19797 -0
- package/dist/_chunks/build.mjs +84 -0
- package/dist/_chunks/build2.mjs +318 -0
- package/dist/_chunks/build3.mjs +6452 -0
- package/dist/_chunks/detect-acorn.mjs +503 -0
- package/dist/_chunks/index.mjs +22242 -0
- package/dist/_chunks/index2.mjs +297 -0
- package/dist/_chunks/index3.mjs +1058 -0
- package/dist/_chunks/index4.mjs +1206 -0
- package/dist/_chunks/info.mjs +11157 -0
- package/dist/_chunks/json5.mjs +68 -0
- package/dist/_chunks/jsonc.mjs +51 -0
- package/dist/_chunks/pathe.M-eThtNZ.mjs +204 -0
- package/dist/_chunks/plugin.mjs +960 -0
- package/dist/_chunks/server.mjs +254 -0
- package/dist/_chunks/snapshot.mjs +284 -0
- package/dist/_chunks/toml.mjs +259 -0
- package/dist/_chunks/yaml.mjs +86 -0
- package/dist/cli/build.mjs +10 -3
- package/dist/cli/dev.mjs +41 -9
- package/dist/cli/index.mjs +460 -1
- package/dist/cli/index2.mjs +4 -1
- package/dist/cli/list.mjs +10 -4
- package/dist/cli/prepare.mjs +6 -3
- package/dist/cli/run.mjs +7 -4
- package/dist/index.d.mts +52 -0
- package/dist/index.mjs +55 -0
- package/dist/node_modules/@poppinss/colors/build/index.js +169 -0
- package/dist/node_modules/@poppinss/colors/package.json +116 -0
- package/dist/node_modules/@poppinss/dumper/build/chunk-26HALFTP.js +602 -0
- package/dist/node_modules/@poppinss/dumper/build/formatters/console/main.js +441 -0
- package/dist/node_modules/@poppinss/dumper/build/formatters/html/main.js +717 -0
- package/dist/node_modules/@poppinss/dumper/package.json +122 -0
- package/dist/node_modules/@poppinss/exception/build/index.js +63 -0
- package/dist/node_modules/@poppinss/exception/package.json +106 -0
- package/dist/node_modules/@sindresorhus/is/distribution/index.js +1313 -0
- package/dist/node_modules/@sindresorhus/is/distribution/utilities.js +3 -0
- package/dist/node_modules/@sindresorhus/is/package.json +81 -0
- package/dist/node_modules/@speed-highlight/core/dist/index.js +4 -0
- package/dist/node_modules/@speed-highlight/core/dist/terminal.js +2 -0
- package/dist/node_modules/@speed-highlight/core/package.json +90 -0
- package/dist/node_modules/cookie/dist/index.js +239 -0
- package/dist/node_modules/cookie/package.json +42 -0
- package/dist/node_modules/croner/dist/croner.js +1 -0
- package/dist/node_modules/croner/package.json +63 -0
- package/dist/node_modules/defu/dist/defu.mjs +69 -0
- package/dist/node_modules/defu/package.json +43 -0
- package/dist/node_modules/destr/dist/index.mjs +72 -0
- package/dist/node_modules/destr/package.json +47 -0
- package/dist/node_modules/error-stack-parser-es/dist/index.mjs +38 -0
- package/dist/node_modules/error-stack-parser-es/dist/lite.mjs +167 -0
- package/dist/node_modules/error-stack-parser-es/package.json +83 -0
- package/dist/node_modules/get-port-please/dist/index.mjs +430 -0
- package/dist/node_modules/get-port-please/package.json +39 -0
- package/dist/node_modules/hookable/dist/index.mjs +290 -0
- package/dist/node_modules/hookable/package.json +49 -0
- package/dist/node_modules/kleur/index.js +110 -0
- package/dist/node_modules/kleur/index.mjs +110 -0
- package/dist/node_modules/kleur/package.json +51 -0
- package/dist/node_modules/klona/dist/index.mjs +81 -0
- package/dist/node_modules/klona/full/index.mjs +53 -0
- package/dist/node_modules/klona/package.json +74 -0
- package/dist/node_modules/scule/dist/index.mjs +80 -0
- package/dist/node_modules/scule/package.json +43 -0
- package/dist/node_modules/source-map/lib/array-set.js +100 -0
- package/dist/node_modules/source-map/lib/base64-vlq.js +94 -0
- package/dist/node_modules/source-map/lib/base64.js +19 -0
- package/dist/node_modules/source-map/lib/binary-search.js +113 -0
- package/dist/node_modules/source-map/lib/mapping-list.js +83 -0
- package/dist/node_modules/source-map/lib/mappings.wasm +0 -0
- package/dist/node_modules/source-map/lib/read-wasm.js +27 -0
- package/dist/node_modules/source-map/lib/source-map-consumer.js +1081 -0
- package/dist/node_modules/source-map/lib/source-map-generator.js +439 -0
- package/dist/node_modules/source-map/lib/source-node.js +430 -0
- package/dist/node_modules/source-map/lib/url.js +13 -0
- package/dist/node_modules/source-map/lib/util.js +444 -0
- package/dist/node_modules/source-map/lib/wasm.js +138 -0
- package/dist/node_modules/source-map/package.json +79 -0
- package/dist/node_modules/source-map/source-map.js +10 -0
- package/dist/node_modules/std-env/dist/index.mjs +1 -0
- package/dist/node_modules/std-env/package.json +46 -0
- package/dist/node_modules/supports-color/index.js +202 -0
- package/dist/node_modules/supports-color/package.json +64 -0
- package/dist/node_modules/ufo/dist/index.mjs +638 -0
- package/dist/node_modules/ufo/package.json +47 -0
- package/dist/node_modules/unctx/dist/index.mjs +131 -0
- package/dist/node_modules/unctx/package.json +67 -0
- package/dist/node_modules/youch/build/chunk-4L7RY2JA.js +42 -0
- package/dist/node_modules/youch/build/chunk-4XB2BYKC.js +85 -0
- package/dist/node_modules/youch/build/chunk-4YEN7HVQ.js +61 -0
- package/dist/node_modules/youch/build/chunk-EUJBVOYB.js +83 -0
- package/dist/node_modules/youch/build/chunk-HFSXRSKS.js +85 -0
- package/dist/node_modules/youch/build/chunk-JAN2TFI2.js +222 -0
- package/dist/node_modules/youch/build/chunk-OSUFJZHZ.js +6 -0
- package/dist/node_modules/youch/build/chunk-PINJDICN.js +72 -0
- package/dist/node_modules/youch/build/chunk-PUHGL6HA.js +41 -0
- package/dist/node_modules/youch/build/chunk-VE4LENUR.js +45 -0
- package/dist/node_modules/youch/build/index.js +352 -0
- package/dist/node_modules/youch/build/public/error_cause/style.css +5 -0
- package/dist/node_modules/youch/build/public/error_info/script.js +13 -0
- package/dist/node_modules/youch/build/public/error_info/style.css +144 -0
- package/dist/node_modules/youch/build/public/error_stack/script.js +74 -0
- package/dist/node_modules/youch/build/public/error_stack/style.css +220 -0
- package/dist/node_modules/youch/build/public/error_stack_source/style.css +123 -0
- package/dist/node_modules/youch/build/public/header/script.js +16 -0
- package/dist/node_modules/youch/build/public/header/style.css +56 -0
- package/dist/node_modules/youch/build/public/layout/script.js +20 -0
- package/dist/node_modules/youch/build/public/layout/style.css +431 -0
- package/dist/node_modules/youch/package.json +133 -0
- package/dist/node_modules/youch-core/build/index.js +316 -0
- package/dist/node_modules/youch-core/package.json +124 -0
- package/dist/presets/_nitro/runtime/nitro-dev.mjs +48 -73
- package/dist/presets/_nitro/runtime/{nitro-prerenderer.d.ts → nitro-prerenderer.d.mts} +1 -1
- package/dist/presets/_nitro/runtime/nitro-prerenderer.mjs +12 -1
- package/dist/presets/_nitro/runtime/service-worker.mjs +5 -15
- package/dist/presets/aws-amplify/runtime/aws-amplify.mjs +2 -2
- package/dist/presets/aws-lambda/runtime/_utils.d.mts +18 -0
- package/dist/presets/aws-lambda/runtime/_utils.mjs +102 -0
- package/dist/presets/aws-lambda/runtime/aws-lambda-streaming.d.mts +3 -0
- package/dist/presets/aws-lambda/runtime/aws-lambda-streaming.mjs +12 -32
- package/dist/presets/aws-lambda/runtime/aws-lambda.d.mts +3 -0
- package/dist/presets/aws-lambda/runtime/aws-lambda.mjs +6 -38
- package/dist/{runtime/internal/utils.azure.d.ts → presets/azure/runtime/_utils.d.mts} +1 -1
- package/dist/{runtime/internal/utils.azure.mjs → presets/azure/runtime/_utils.mjs} +3 -4
- package/dist/presets/azure/runtime/azure-swa.mjs +11 -13
- package/dist/presets/bun/runtime/bun.mjs +13 -18
- package/dist/presets/cloudflare/runtime/_module-handler.d.mts +13 -0
- package/dist/presets/cloudflare/runtime/_module-handler.mjs +93 -0
- package/dist/presets/cloudflare/runtime/cloudflare-durable.d.mts +19 -0
- package/dist/presets/cloudflare/runtime/cloudflare-durable.mjs +74 -0
- package/dist/presets/cloudflare/runtime/cloudflare-module.d.mts +9 -0
- package/dist/presets/cloudflare/runtime/cloudflare-module.mjs +13 -97
- package/dist/presets/cloudflare/runtime/{cloudflare-pages.d.ts → cloudflare-pages.d.mts} +1 -1
- package/dist/presets/cloudflare/runtime/cloudflare-pages.mjs +19 -27
- package/dist/{runtime/internal/timing.d.ts → presets/cloudflare/runtime/plugin.dev.d.mts} +1 -0
- package/dist/presets/cloudflare/runtime/plugin.dev.mjs +89 -0
- package/dist/presets/deno/runtime/deno-deploy.mjs +11 -25
- package/dist/presets/deno/runtime/deno-server.d.mts +6 -0
- package/dist/presets/deno/runtime/deno-server.mjs +15 -21
- package/dist/presets/netlify/runtime/netlify-edge.d.mts +3 -0
- package/dist/presets/netlify/runtime/netlify-edge.mjs +8 -16
- package/dist/presets/netlify/runtime/netlify.mjs +16 -45
- package/dist/presets/node/runtime/{cluster.mjs → node-cluster.mjs} +1 -3
- package/dist/presets/node/runtime/node-middleware.d.mts +4 -0
- package/dist/presets/node/runtime/{node-listener.mjs → node-middleware.mjs} +3 -4
- package/dist/presets/node/runtime/node-server.mjs +3 -4
- package/dist/presets/standard/runtime/server.d.mts +5 -0
- package/dist/presets/standard/runtime/server.mjs +6 -0
- package/dist/presets/stormkit/runtime/stormkit.mjs +8 -12
- package/dist/presets/vercel/runtime/vercel.d.mts +8 -0
- package/dist/presets/vercel/runtime/vercel.mjs +11 -11
- package/dist/presets/winterjs/runtime/winterjs.mjs +22 -4
- package/dist/presets/{node/runtime/node-server.d.ts → zeabur/runtime/zeabur.d.mts} +1 -1
- package/dist/presets/zeabur/runtime/zeabur.mjs +2 -6
- package/dist/presets.mjs +2460 -0
- package/dist/runtime/index.d.mts +11 -0
- package/dist/runtime/index.mjs +8 -8
- package/dist/runtime/internal/app.d.mts +2 -0
- package/dist/runtime/internal/app.mjs +129 -128
- package/dist/runtime/internal/cache.d.mts +7 -0
- package/dist/runtime/internal/cache.mjs +82 -175
- package/dist/runtime/internal/{context.d.ts → context.d.mts} +3 -3
- package/dist/runtime/internal/context.mjs +6 -6
- package/dist/runtime/internal/error/dev.d.mts +9 -0
- package/dist/runtime/internal/error/dev.mjs +122 -0
- package/dist/runtime/internal/error/prod.d.mts +8 -0
- package/dist/runtime/internal/error/prod.mjs +62 -0
- package/dist/runtime/internal/error/utils.d.mts +8 -0
- package/dist/runtime/internal/error/utils.mjs +3 -0
- package/dist/runtime/internal/index.d.mts +3 -0
- package/dist/runtime/internal/index.mjs +1 -14
- package/dist/runtime/internal/renderer.d.mts +3 -0
- package/dist/runtime/internal/renderer.mjs +29 -33
- package/dist/runtime/internal/route-rules.d.mts +8 -0
- package/dist/runtime/internal/route-rules.mjs +58 -63
- package/dist/runtime/internal/routes/dev-tasks.d.mts +3 -0
- package/dist/runtime/internal/routes/dev-tasks.mjs +23 -0
- package/dist/runtime/internal/routes/openapi.d.mts +3 -0
- package/dist/runtime/internal/routes/openapi.mjs +24 -9
- package/dist/runtime/internal/routes/renderer-template.d.mts +2 -0
- package/dist/runtime/internal/routes/renderer-template.dev.d.mts +3 -0
- package/dist/runtime/internal/routes/renderer-template.dev.mjs +21 -0
- package/dist/runtime/internal/routes/renderer-template.mjs +4 -0
- package/dist/runtime/internal/routes/scalar.d.mts +3 -0
- package/dist/runtime/internal/routes/scalar.mjs +7 -4
- package/dist/runtime/internal/routes/swagger.d.mts +3 -0
- package/dist/runtime/internal/routes/swagger.mjs +5 -4
- package/dist/runtime/internal/{utils.env.d.ts → runtime-config.d.mts} +4 -2
- package/dist/runtime/internal/{utils.env.mjs → runtime-config.mjs} +16 -6
- package/dist/runtime/internal/static.d.mts +3 -0
- package/dist/runtime/internal/static.mjs +24 -36
- package/dist/runtime/internal/storage.mjs +2 -1
- package/dist/runtime/internal/task.mjs +6 -6
- package/dist/runtime/internal/utils.d.mts +1 -0
- package/dist/runtime/internal/utils.mjs +1 -116
- package/dist/runtime/internal/vite/dev-entry.d.mts +1 -0
- package/dist/runtime/internal/vite/dev-entry.mjs +6 -0
- package/dist/runtime/internal/vite/dev-worker.mjs +362 -0
- package/dist/runtime/internal/vite/prod-setup.d.mts +4 -0
- package/dist/runtime/internal/vite/prod-setup.mjs +55 -0
- package/dist/runtime/internal/vite/ssr-renderer.d.mts +4 -0
- package/dist/runtime/internal/vite/ssr-renderer.mjs +4 -0
- package/dist/types/index.d.mts +2688 -138
- package/dist/vite.d.mts +59 -0
- package/dist/vite.mjs +68 -0
- package/lib/config.d.mts +9 -0
- package/lib/deps/h3.d.mts +1 -0
- package/lib/deps/h3.mjs +1 -0
- package/lib/deps/ofetch.mjs +1 -0
- package/lib/deps/ofetch.mts +1 -0
- package/lib/meta.d.mts +5 -0
- package/lib/meta.mjs +21 -0
- package/{runtime-meta.d.ts → lib/runtime-meta.d.mts} +1 -0
- package/{runtime-meta.mjs → lib/runtime-meta.mjs} +12 -4
- package/package.json +142 -160
- package/cli.d.ts +0 -1
- package/config.d.ts +0 -1
- package/core.d.ts +0 -1
- package/dist/cli/index.d.ts +0 -1
- package/dist/config/index.d.mts +0 -6
- package/dist/config/index.d.ts +0 -6
- package/dist/core/index.d.mts +0 -30
- package/dist/core/index.d.ts +0 -30
- package/dist/core/index.mjs +0 -2456
- package/dist/kit/index.d.mts +0 -44
- package/dist/kit/index.d.ts +0 -44
- package/dist/kit/index.mjs +0 -71
- package/dist/meta/index.d.mts +0 -3
- package/dist/meta/index.d.ts +0 -3
- package/dist/meta/index.mjs +0 -3
- package/dist/presets/_all.gen.d.ts +0 -2
- package/dist/presets/_all.gen.mjs +0 -52
- package/dist/presets/_nitro/base-worker.d.ts +0 -2
- package/dist/presets/_nitro/base-worker.mjs +0 -25
- package/dist/presets/_nitro/nitro-dev.d.ts +0 -2
- package/dist/presets/_nitro/nitro-dev.mjs +0 -19
- package/dist/presets/_nitro/nitro-prerender.d.ts +0 -2
- package/dist/presets/_nitro/nitro-prerender.mjs +0 -17
- package/dist/presets/_nitro/preset.d.ts +0 -2
- package/dist/presets/_nitro/preset.mjs +0 -5
- package/dist/presets/_nitro/service-worker.d.ts +0 -2
- package/dist/presets/_nitro/service-worker.mjs +0 -110
- package/dist/presets/_resolve.d.ts +0 -8
- package/dist/presets/_resolve.mjs +0 -44
- package/dist/presets/_static/preset.d.ts +0 -2
- package/dist/presets/_static/preset.mjs +0 -69
- package/dist/presets/_types.gen.d.ts +0 -16
- package/dist/presets/alwaysdata/preset.d.ts +0 -2
- package/dist/presets/alwaysdata/preset.mjs +0 -14
- package/dist/presets/aws-amplify/preset.d.ts +0 -3
- package/dist/presets/aws-amplify/preset.mjs +0 -27
- package/dist/presets/aws-amplify/types.d.ts +0 -141
- package/dist/presets/aws-amplify/utils.d.ts +0 -2
- package/dist/presets/aws-amplify/utils.mjs +0 -82
- package/dist/presets/aws-lambda/preset.d.ts +0 -2
- package/dist/presets/aws-lambda/preset.mjs +0 -21
- package/dist/presets/aws-lambda/runtime/aws-lambda-streaming.d.ts +0 -14
- package/dist/presets/aws-lambda/runtime/aws-lambda.d.ts +0 -4
- package/dist/presets/azure/preset.d.ts +0 -3
- package/dist/presets/azure/preset.mjs +0 -44
- package/dist/presets/azure/runtime/azure-functions.mjs +0 -24
- package/dist/presets/azure/runtime/azure-swa.d.ts +0 -5
- package/dist/presets/azure/types.d.ts +0 -13
- package/dist/presets/azure/types.mjs +0 -0
- package/dist/presets/azure/utils.d.ts +0 -3
- package/dist/presets/azure/utils.mjs +0 -183
- package/dist/presets/bun/preset.d.ts +0 -2
- package/dist/presets/bun/preset.mjs +0 -17
- package/dist/presets/cleavr/preset.d.ts +0 -2
- package/dist/presets/cleavr/preset.mjs +0 -12
- package/dist/presets/cloudflare/preset.d.ts +0 -3
- package/dist/presets/cloudflare/preset.mjs +0 -145
- package/dist/presets/cloudflare/runtime/cloudflare-module.d.ts +0 -13
- package/dist/presets/cloudflare/runtime/cloudflare-worker.mjs +0 -64
- package/dist/presets/cloudflare/types.d.ts +0 -89
- package/dist/presets/cloudflare/types.mjs +0 -0
- package/dist/presets/cloudflare/types.wrangler.d.ts +0 -974
- package/dist/presets/cloudflare/types.wrangler.mjs +0 -0
- package/dist/presets/cloudflare/utils.d.ts +0 -3
- package/dist/presets/cloudflare/utils.mjs +0 -163
- package/dist/presets/deno/preset.d.ts +0 -2
- package/dist/presets/deno/preset.mjs +0 -148
- package/dist/presets/deno/runtime/_deno-env-polyfill.d.ts +0 -0
- package/dist/presets/deno/runtime/_deno-env-polyfill.mjs +0 -1
- package/dist/presets/digitalocean/preset.d.ts +0 -2
- package/dist/presets/digitalocean/preset.mjs +0 -11
- package/dist/presets/edgio/preset.d.ts +0 -2
- package/dist/presets/edgio/preset.mjs +0 -95
- package/dist/presets/firebase/preset.d.ts +0 -3
- package/dist/presets/firebase/preset.mjs +0 -50
- package/dist/presets/firebase/runtime/firebase-gen-1.d.ts +0 -2
- package/dist/presets/firebase/runtime/firebase-gen-1.mjs +0 -7
- package/dist/presets/firebase/runtime/firebase-gen-2.d.ts +0 -2
- package/dist/presets/firebase/runtime/firebase-gen-2.mjs +0 -14
- package/dist/presets/firebase/runtime/firebase-gen-default.d.ts +0 -1
- package/dist/presets/firebase/runtime/firebase-gen-default.mjs +0 -1
- package/dist/presets/firebase/types.d.ts +0 -38
- package/dist/presets/firebase/types.mjs +0 -0
- package/dist/presets/firebase/utils.d.ts +0 -3
- package/dist/presets/firebase/utils.mjs +0 -50
- package/dist/presets/flightcontrol/preset.d.ts +0 -2
- package/dist/presets/flightcontrol/preset.mjs +0 -11
- package/dist/presets/heroku/preset.d.ts +0 -2
- package/dist/presets/heroku/preset.mjs +0 -11
- package/dist/presets/iis/preset.d.ts +0 -2
- package/dist/presets/iis/preset.mjs +0 -32
- package/dist/presets/iis/utils.d.ts +0 -3
- package/dist/presets/iis/utils.mjs +0 -161
- package/dist/presets/index.d.mts +0 -1
- package/dist/presets/index.d.ts +0 -2
- package/dist/presets/index.mjs +0 -1
- package/dist/presets/koyeb/preset.d.ts +0 -2
- package/dist/presets/koyeb/preset.mjs +0 -11
- package/dist/presets/netlify/legacy/preset.d.ts +0 -2
- package/dist/presets/netlify/legacy/preset.mjs +0 -143
- package/dist/presets/netlify/legacy/runtime/_deno-env-polyfill.d.ts +0 -0
- package/dist/presets/netlify/legacy/runtime/_deno-env-polyfill.mjs +0 -1
- package/dist/presets/netlify/legacy/runtime/netlify-builder.d.ts +0 -3
- package/dist/presets/netlify/legacy/runtime/netlify-builder.mjs +0 -5
- package/dist/presets/netlify/legacy/runtime/netlify-edge.d.ts +0 -2
- package/dist/presets/netlify/legacy/runtime/netlify-edge.mjs +0 -25
- package/dist/presets/netlify/legacy/runtime/netlify-lambda.d.ts +0 -3
- package/dist/presets/netlify/legacy/runtime/netlify-lambda.mjs +0 -38
- package/dist/presets/netlify/legacy/runtime/netlify.d.ts +0 -4
- package/dist/presets/netlify/legacy/runtime/netlify.mjs +0 -22
- package/dist/presets/netlify/legacy/utils.d.ts +0 -4
- package/dist/presets/netlify/legacy/utils.mjs +0 -113
- package/dist/presets/netlify/preset.d.ts +0 -3
- package/dist/presets/netlify/preset.mjs +0 -128
- package/dist/presets/netlify/runtime/_deno-env-polyfill.d.ts +0 -0
- package/dist/presets/netlify/runtime/_deno-env-polyfill.mjs +0 -1
- package/dist/presets/netlify/runtime/netlify-edge.d.ts +0 -2
- package/dist/presets/netlify/types.d.ts +0 -12
- package/dist/presets/netlify/types.mjs +0 -0
- package/dist/presets/netlify/utils.d.ts +0 -5
- package/dist/presets/netlify/utils.mjs +0 -94
- package/dist/presets/node/preset.d.ts +0 -2
- package/dist/presets/node/preset.mjs +0 -49
- package/dist/presets/node/runtime/cli.d.ts +0 -1
- package/dist/presets/node/runtime/cli.mjs +0 -22
- package/dist/presets/node/runtime/node-listener.d.ts +0 -6
- package/dist/presets/platform.sh/preset.d.ts +0 -2
- package/dist/presets/platform.sh/preset.mjs +0 -11
- package/dist/presets/render.com/preset.d.ts +0 -2
- package/dist/presets/render.com/preset.mjs +0 -11
- package/dist/presets/stormkit/preset.d.ts +0 -2
- package/dist/presets/stormkit/preset.mjs +0 -15
- package/dist/presets/vercel/preset.d.ts +0 -3
- package/dist/presets/vercel/preset.mjs +0 -104
- package/dist/presets/vercel/runtime/vercel-edge.d.ts +0 -2
- package/dist/presets/vercel/runtime/vercel-edge.mjs +0 -22
- package/dist/presets/vercel/runtime/vercel.d.ts +0 -4
- package/dist/presets/vercel/types.d.ts +0 -78
- package/dist/presets/vercel/types.mjs +0 -0
- package/dist/presets/vercel/utils.d.ts +0 -5
- package/dist/presets/vercel/utils.mjs +0 -186
- package/dist/presets/winterjs/preset.d.ts +0 -2
- package/dist/presets/winterjs/preset.mjs +0 -20
- package/dist/presets/winterjs/runtime/winterjs.d.ts +0 -1
- package/dist/presets/zeabur/preset.d.ts +0 -2
- package/dist/presets/zeabur/preset.mjs +0 -70
- package/dist/presets/zeabur/runtime/zeabur.d.ts +0 -4
- package/dist/rollup/index.d.mts +0 -5
- package/dist/rollup/index.d.ts +0 -5
- package/dist/rollup/index.mjs +0 -1673
- package/dist/runtime/index.d.ts +0 -12
- package/dist/runtime/internal/app.d.ts +0 -3
- package/dist/runtime/internal/cache.d.ts +0 -8
- package/dist/runtime/internal/client.mjs +0 -4
- package/dist/runtime/internal/config.d.ts +0 -5
- package/dist/runtime/internal/config.mjs +0 -45
- package/dist/runtime/internal/error.d.ts +0 -4
- package/dist/runtime/internal/error.mjs +0 -73
- package/dist/runtime/internal/index.d.ts +0 -6
- package/dist/runtime/internal/renderer.d.ts +0 -2
- package/dist/runtime/internal/route-rules.d.ts +0 -14
- package/dist/runtime/internal/routes/openapi.d.ts +0 -3
- package/dist/runtime/internal/routes/scalar.d.ts +0 -2
- package/dist/runtime/internal/routes/swagger.d.ts +0 -2
- package/dist/runtime/internal/static.d.ts +0 -2
- package/dist/runtime/internal/timing.mjs +0 -29
- package/dist/runtime/internal/utils.d.ts +0 -21
- package/dist/runtime/internal/utils.lambda.d.ts +0 -10
- package/dist/runtime/internal/utils.lambda.mjs +0 -30
- package/dist/shared/nitro.bra5i6ER.d.mts +0 -620
- package/dist/shared/nitro.bra5i6ER.d.ts +0 -620
- package/dist/types/index.d.ts +0 -260
- package/kit.d.ts +0 -1
- package/meta.d.ts +0 -1
- package/presets.d.ts +0 -1
- package/rollup.d.ts +0 -1
- package/runtime.d.ts +0 -1
- package/types.d.ts +0 -1
- /package/dist/presets/_nitro/runtime/{nitro-dev.d.ts → nitro-dev.d.mts} +0 -0
- /package/dist/presets/_nitro/runtime/{service-worker.d.ts → service-worker.d.mts} +0 -0
- /package/dist/presets/aws-amplify/runtime/{aws-amplify.d.ts → aws-amplify.d.mts} +0 -0
- /package/dist/presets/azure/runtime/{azure-functions.d.ts → azure-swa.d.mts} +0 -0
- /package/dist/presets/bun/runtime/{bun.d.ts → bun.d.mts} +0 -0
- /package/dist/presets/{cloudflare/runtime/cloudflare-worker.d.ts → deno/runtime/deno-deploy.d.mts} +0 -0
- /package/dist/presets/netlify/runtime/{netlify.d.ts → netlify.d.mts} +0 -0
- /package/dist/presets/node/runtime/{cluster.d.ts → node-cluster.d.mts} +0 -0
- /package/dist/presets/{deno/runtime/deno-server.d.ts → node/runtime/node-server.d.mts} +0 -0
- /package/dist/presets/stormkit/runtime/{stormkit.d.ts → stormkit.d.mts} +0 -0
- /package/dist/presets/{deno/runtime/deno-deploy.d.ts → winterjs/runtime/winterjs.d.mts} +0 -0
- /package/dist/runtime/internal/{database.d.ts → database.d.mts} +0 -0
- /package/dist/runtime/internal/{debug.d.ts → debug.d.mts} +0 -0
- /package/dist/{presets/_types.gen.mjs → runtime/internal/empty.d.mts} +0 -0
- /package/dist/{presets/aws-amplify/types.mjs → runtime/internal/empty.mjs} +0 -0
- /package/dist/runtime/internal/lib/{http-graceful-shutdown.d.ts → http-graceful-shutdown.d.mts} +0 -0
- /package/dist/runtime/internal/{meta.d.ts → meta.d.mts} +0 -0
- /package/dist/runtime/internal/{plugin.d.ts → plugin.d.mts} +0 -0
- /package/dist/runtime/internal/{shutdown.d.ts → shutdown.d.mts} +0 -0
- /package/dist/runtime/internal/{storage.d.ts → storage.d.mts} +0 -0
- /package/dist/runtime/internal/{task.d.ts → task.d.mts} +0 -0
- /package/dist/runtime/internal/{client.d.ts → vite/dev-worker.d.mts} +0 -0
- /package/{dist/config/index.mjs → lib/config.mjs} +0 -0
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
// src/parser.ts
|
|
2
|
+
import { fileURLToPath } from "url";
|
|
3
|
+
import { readFile } from "fs/promises";
|
|
4
|
+
import { Exception } from "@poppinss/exception";
|
|
5
|
+
import { parse } from "error-stack-parser-es";
|
|
6
|
+
|
|
7
|
+
// src/debug.ts
|
|
8
|
+
import { debuglog } from "util";
|
|
9
|
+
var debug_default = debuglog("youch:core");
|
|
10
|
+
|
|
11
|
+
// src/source_file.ts
|
|
12
|
+
var SourceFile = class {
|
|
13
|
+
#contents;
|
|
14
|
+
constructor(options) {
|
|
15
|
+
if ("contents" in options) {
|
|
16
|
+
this.#contents = options.contents;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Slice the file contents for the buffer size around a given
|
|
21
|
+
* line number.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```ts
|
|
25
|
+
* const chunks = sourceFile.slice(11, 7)
|
|
26
|
+
* // Here chunks will be an array of 7 items from line number
|
|
27
|
+
* // 8 to 14
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
slice(lineNumber, bufferSize) {
|
|
31
|
+
if (!this.#contents) {
|
|
32
|
+
return void 0;
|
|
33
|
+
}
|
|
34
|
+
const lines = this.#contents.split(/\n|\r\n/);
|
|
35
|
+
const contentSize = lines.length;
|
|
36
|
+
const chunkSize = Math.ceil((bufferSize - 1) / 2);
|
|
37
|
+
let startIndex = chunkSize >= lineNumber ? 0 : lineNumber - chunkSize - 1;
|
|
38
|
+
if (contentSize - lineNumber < chunkSize) {
|
|
39
|
+
startIndex = Math.max(startIndex - (chunkSize - (contentSize - lineNumber)), 0);
|
|
40
|
+
}
|
|
41
|
+
const sourceIndex = lineNumber - 1;
|
|
42
|
+
const startRemainder = startIndex - sourceIndex + chunkSize;
|
|
43
|
+
const endIndex = startRemainder + chunkSize + lineNumber;
|
|
44
|
+
debug_default("slicing file contents", {
|
|
45
|
+
startIndex,
|
|
46
|
+
endIndex,
|
|
47
|
+
sourceIndex,
|
|
48
|
+
contentSize,
|
|
49
|
+
bufferSize,
|
|
50
|
+
chunkSize
|
|
51
|
+
});
|
|
52
|
+
return lines.slice(startIndex, endIndex).map((chunk, index) => {
|
|
53
|
+
return {
|
|
54
|
+
chunk,
|
|
55
|
+
lineNumber: startIndex + index + 1
|
|
56
|
+
};
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
// src/parser.ts
|
|
62
|
+
var ErrorParser = class _ErrorParser {
|
|
63
|
+
/**
|
|
64
|
+
* FS source loader reads the file contents from the filesystem
|
|
65
|
+
* for all non-native frames
|
|
66
|
+
*/
|
|
67
|
+
static fsSourceLoader = async (frame) => {
|
|
68
|
+
if (!frame.fileName || frame.fileType !== "fs" || frame.type === "native") {
|
|
69
|
+
return void 0;
|
|
70
|
+
}
|
|
71
|
+
debug_default("reading contents for source file %s", frame.fileName);
|
|
72
|
+
try {
|
|
73
|
+
return {
|
|
74
|
+
contents: await readFile(frame.fileName, "utf-8")
|
|
75
|
+
};
|
|
76
|
+
} catch (error) {
|
|
77
|
+
debug_default(`Unable to read source file %s, error %s`, frame.fileName, error.message);
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* Native frames filename identifiers for Node.js and
|
|
82
|
+
* Deno
|
|
83
|
+
*/
|
|
84
|
+
#nativeFramesIdentifiers = ["node:", "ext:"];
|
|
85
|
+
/**
|
|
86
|
+
* Native frames filename identifier for Bun. In case of
|
|
87
|
+
* bun, the filename exactly matches the keyword "native"
|
|
88
|
+
*/
|
|
89
|
+
#bunNativeIdentifier = "native";
|
|
90
|
+
/**
|
|
91
|
+
* Cache of preloaded source files along with their absolute
|
|
92
|
+
* path
|
|
93
|
+
*/
|
|
94
|
+
#sourceFiles = /* @__PURE__ */ new Map();
|
|
95
|
+
/**
|
|
96
|
+
* The offset can be used to skip initial frames from the
|
|
97
|
+
* error stack
|
|
98
|
+
*/
|
|
99
|
+
#offset;
|
|
100
|
+
/**
|
|
101
|
+
* Custom source loader to consult for reading the sourcefile
|
|
102
|
+
* contents
|
|
103
|
+
*/
|
|
104
|
+
#sourceLoader = _ErrorParser.fsSourceLoader;
|
|
105
|
+
/**
|
|
106
|
+
* Parsers are used to prepare the source value for parsing
|
|
107
|
+
*/
|
|
108
|
+
#parsers = [];
|
|
109
|
+
/**
|
|
110
|
+
* Transformers are used to post process the parsed error and
|
|
111
|
+
* attach additional information to it.
|
|
112
|
+
*/
|
|
113
|
+
#transformers = [];
|
|
114
|
+
constructor(options) {
|
|
115
|
+
options = options ?? {};
|
|
116
|
+
this.#offset = options.offset;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Normalizes the unknown error to be an Error
|
|
120
|
+
*/
|
|
121
|
+
#normalizeError(source) {
|
|
122
|
+
if (source instanceof Error) {
|
|
123
|
+
return source;
|
|
124
|
+
}
|
|
125
|
+
if (typeof source === "object" && source && "message" in source && "stack" in source) {
|
|
126
|
+
return source;
|
|
127
|
+
}
|
|
128
|
+
const error = new Exception(JSON.stringify(source));
|
|
129
|
+
error.help = 'To get as much information as possible from your errors, make sure to throw Error objects. See <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error</a> for more information.';
|
|
130
|
+
return error;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Returns the source chunks for a given file and the
|
|
134
|
+
* line number.
|
|
135
|
+
*/
|
|
136
|
+
async #getSource(frame) {
|
|
137
|
+
let sourceFile = this.#sourceFiles.get(frame.fileName);
|
|
138
|
+
if (sourceFile) {
|
|
139
|
+
debug_default("reading sourcefile from cache %s", frame.fileName);
|
|
140
|
+
return sourceFile.slice(frame.lineNumber ?? 1, 11);
|
|
141
|
+
}
|
|
142
|
+
const contents = await this.#sourceLoader(frame);
|
|
143
|
+
if (contents) {
|
|
144
|
+
sourceFile = new SourceFile(contents);
|
|
145
|
+
debug_default("caching sourcefile instance for %s", frame.fileName);
|
|
146
|
+
this.#sourceFiles.set(frame.fileName, sourceFile);
|
|
147
|
+
return sourceFile.slice(frame.lineNumber ?? 1, 11);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Syntax errors in JavaScript does not contain the source file
|
|
152
|
+
* location within the stack trace, since the error has
|
|
153
|
+
* happened in the language parser.
|
|
154
|
+
*
|
|
155
|
+
* However, Node.js includes the absolute path to the file within
|
|
156
|
+
* the stack trace contents as the first line. So we parse
|
|
157
|
+
* that out in this function.
|
|
158
|
+
*/
|
|
159
|
+
#parseSyntaxError(error) {
|
|
160
|
+
const [sourceIdentifier] = error.stack?.split("\n") || [];
|
|
161
|
+
const tokens = sourceIdentifier.split(":");
|
|
162
|
+
const lineNumber = Number(tokens.pop());
|
|
163
|
+
const fileName = tokens.join(":");
|
|
164
|
+
if (fileName && !Number.isNaN(lineNumber)) {
|
|
165
|
+
return [
|
|
166
|
+
{
|
|
167
|
+
fileName,
|
|
168
|
+
lineNumber,
|
|
169
|
+
source: sourceIdentifier
|
|
170
|
+
}
|
|
171
|
+
];
|
|
172
|
+
}
|
|
173
|
+
return [];
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Applies the offset on the frames to skip certain frames
|
|
177
|
+
* from the start
|
|
178
|
+
*/
|
|
179
|
+
#applyOffset(frames) {
|
|
180
|
+
if (this.#offset) {
|
|
181
|
+
return frames.slice(this.#offset);
|
|
182
|
+
}
|
|
183
|
+
return frames;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Replaces windows slash to unix slash
|
|
187
|
+
*/
|
|
188
|
+
#toUnixSlash(fileName) {
|
|
189
|
+
const isExtendedLengthPath = fileName.startsWith("\\\\?\\");
|
|
190
|
+
return isExtendedLengthPath ? fileName : fileName.replace(/\\/g, "/");
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Normalizes the filename to be a path with unix slash. The
|
|
194
|
+
* URL style paths are also converted to normalized file
|
|
195
|
+
* paths
|
|
196
|
+
*/
|
|
197
|
+
#normalizeFileName(fileName) {
|
|
198
|
+
if (fileName.startsWith("file:")) {
|
|
199
|
+
return this.#toUnixSlash(fileURLToPath(fileName));
|
|
200
|
+
}
|
|
201
|
+
return this.#toUnixSlash(fileName);
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Returns the type of the frame.
|
|
205
|
+
*/
|
|
206
|
+
#getFrameType(fileName) {
|
|
207
|
+
return this.#nativeFramesIdentifiers.some((identifier) => fileName.includes(identifier)) || fileName === this.#bunNativeIdentifier ? "native" : fileName.includes("node_modules/") ? "module" : "app";
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Returns the source type of the frame.
|
|
211
|
+
*/
|
|
212
|
+
#getFrameSourceType(fileName) {
|
|
213
|
+
return fileName.startsWith("http://") ? "http" : fileName.startsWith("https://") ? "https" : "fs";
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Enhances a frame to contain additional information
|
|
217
|
+
*/
|
|
218
|
+
async #enhanceFrames(frames) {
|
|
219
|
+
let stackFrames = [];
|
|
220
|
+
for (const { source: raw, ...frame } of frames) {
|
|
221
|
+
const stackFrame = {
|
|
222
|
+
...frame,
|
|
223
|
+
raw
|
|
224
|
+
};
|
|
225
|
+
if (!stackFrame.fileName) {
|
|
226
|
+
stackFrames.push(stackFrame);
|
|
227
|
+
continue;
|
|
228
|
+
}
|
|
229
|
+
stackFrame.fileName = this.#normalizeFileName(stackFrame.fileName);
|
|
230
|
+
stackFrame.type = this.#getFrameType(stackFrame.fileName);
|
|
231
|
+
stackFrame.fileType = this.#getFrameSourceType(stackFrame.fileName);
|
|
232
|
+
stackFrame.source = await this.#getSource(stackFrame);
|
|
233
|
+
debug_default("stack frame %O", stackFrame);
|
|
234
|
+
stackFrames.push(stackFrame);
|
|
235
|
+
}
|
|
236
|
+
return stackFrames;
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Register a parser. Parsers are synchronous functions
|
|
240
|
+
* that can be used to pre-process the source value
|
|
241
|
+
* before it get parsed.
|
|
242
|
+
*
|
|
243
|
+
* @example
|
|
244
|
+
* ```ts
|
|
245
|
+
* sourceFile.useParser((source) => {
|
|
246
|
+
* if (valueCanBeParsed) {
|
|
247
|
+
* return newValue
|
|
248
|
+
* }
|
|
249
|
+
* return source
|
|
250
|
+
* })
|
|
251
|
+
* ```
|
|
252
|
+
*/
|
|
253
|
+
useParser(parser) {
|
|
254
|
+
this.#parsers.push(parser);
|
|
255
|
+
return this;
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* Register a transformer. Transformers can be async functions
|
|
259
|
+
* to post-process the parsed error value.
|
|
260
|
+
*
|
|
261
|
+
* @example
|
|
262
|
+
* ```ts
|
|
263
|
+
* sourceFile.useTransformer((error, source) => {
|
|
264
|
+
* // mutate "error" properties
|
|
265
|
+
* })
|
|
266
|
+
* ```
|
|
267
|
+
*/
|
|
268
|
+
useTransformer(transformer) {
|
|
269
|
+
this.#transformers.push(transformer);
|
|
270
|
+
return this;
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Define a custom source loader to load the contents of the
|
|
274
|
+
* source file within the error stack.
|
|
275
|
+
*
|
|
276
|
+
* For example: You might want to register a custom source loader
|
|
277
|
+
* that makes an fetch call to the server to read the source of
|
|
278
|
+
* the file within the error stack.
|
|
279
|
+
*/
|
|
280
|
+
defineSourceLoader(loader) {
|
|
281
|
+
this.#sourceLoader = loader;
|
|
282
|
+
return this;
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Parse an unknown value into a parsed error object.
|
|
286
|
+
*/
|
|
287
|
+
async parse(source) {
|
|
288
|
+
debug_default("parsing source %O", source);
|
|
289
|
+
source = this.#parsers.reduce((result, parser) => {
|
|
290
|
+
result = parser(result);
|
|
291
|
+
return result;
|
|
292
|
+
}, source);
|
|
293
|
+
let error = this.#normalizeError(source);
|
|
294
|
+
debug_default("error normalized to %O", error);
|
|
295
|
+
let esFrames = error instanceof SyntaxError ? this.#parseSyntaxError(error) : [];
|
|
296
|
+
esFrames = esFrames.concat(parse(error, { allowEmpty: true }));
|
|
297
|
+
esFrames = this.#applyOffset(esFrames);
|
|
298
|
+
const parsedError = {
|
|
299
|
+
message: error.message,
|
|
300
|
+
name: error.name,
|
|
301
|
+
frames: await this.#enhanceFrames(esFrames),
|
|
302
|
+
hint: "hint" in error && error.hint ? String(error.hint) : "help" in error && error.help ? String(error.help) : void 0,
|
|
303
|
+
code: "code" in error ? String(error.code) : void 0,
|
|
304
|
+
cause: error.cause,
|
|
305
|
+
stack: error.stack,
|
|
306
|
+
raw: error
|
|
307
|
+
};
|
|
308
|
+
for (const transformer of this.#transformers) {
|
|
309
|
+
await transformer(parsedError, error);
|
|
310
|
+
}
|
|
311
|
+
return parsedError;
|
|
312
|
+
}
|
|
313
|
+
};
|
|
314
|
+
export {
|
|
315
|
+
ErrorParser
|
|
316
|
+
};
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "youch-core",
|
|
3
|
+
"description": "Error parser to parse an error instance into a collection of frames",
|
|
4
|
+
"version": "0.3.3",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"files": [
|
|
7
|
+
"build",
|
|
8
|
+
"!build/bin",
|
|
9
|
+
"!build/examples",
|
|
10
|
+
"!build/tests"
|
|
11
|
+
],
|
|
12
|
+
"main": "build/index.js",
|
|
13
|
+
"exports": {
|
|
14
|
+
".": "./build/index.js",
|
|
15
|
+
"./types": "./build/src/types.js"
|
|
16
|
+
},
|
|
17
|
+
"scripts": {
|
|
18
|
+
"pretest": "npm run lint",
|
|
19
|
+
"test": "c8 npm run quick:test",
|
|
20
|
+
"lint": "eslint .",
|
|
21
|
+
"format": "prettier --write .",
|
|
22
|
+
"typecheck": "tsc --noEmit",
|
|
23
|
+
"precompile": "npm run lint",
|
|
24
|
+
"compile": "tsup-node && tsc --emitDeclarationOnly --declaration",
|
|
25
|
+
"build": "npm run compile",
|
|
26
|
+
"version": "npm run build",
|
|
27
|
+
"prepublishOnly": "npm run build",
|
|
28
|
+
"release": "release-it",
|
|
29
|
+
"quick:test": "node --import=@poppinss/ts-exec --enable-source-maps bin/test.ts"
|
|
30
|
+
},
|
|
31
|
+
"devDependencies": {
|
|
32
|
+
"@adonisjs/eslint-config": "^3.0.0-next.0",
|
|
33
|
+
"@adonisjs/prettier-config": "^1.4.5",
|
|
34
|
+
"@adonisjs/tsconfig": "^2.0.0-next.0",
|
|
35
|
+
"@japa/assert": "^4.0.1",
|
|
36
|
+
"@japa/expect": "^3.0.4",
|
|
37
|
+
"@japa/expect-type": "^2.0.3",
|
|
38
|
+
"@japa/file-system": "^2.3.2",
|
|
39
|
+
"@japa/runner": "^4.2.0",
|
|
40
|
+
"@poppinss/ts-exec": "^1.4.0",
|
|
41
|
+
"@release-it/conventional-changelog": "^10.0.1",
|
|
42
|
+
"@types/node": "^24.0.10",
|
|
43
|
+
"ansis": "^4.1.0",
|
|
44
|
+
"axios": "^1.10.0",
|
|
45
|
+
"c8": "^10.1.3",
|
|
46
|
+
"eslint": "^9.30.1",
|
|
47
|
+
"got": "^14.4.7",
|
|
48
|
+
"prettier": "^3.6.2",
|
|
49
|
+
"release-it": "^19.0.3",
|
|
50
|
+
"strip-ansi": "^7.1.0",
|
|
51
|
+
"tinyhighlight": "^0.3.2",
|
|
52
|
+
"tsup": "^8.5.0",
|
|
53
|
+
"typescript": "^5.8.3",
|
|
54
|
+
"undici": "^7.11.0"
|
|
55
|
+
},
|
|
56
|
+
"dependencies": {
|
|
57
|
+
"@poppinss/exception": "^1.2.2",
|
|
58
|
+
"error-stack-parser-es": "^1.0.5"
|
|
59
|
+
},
|
|
60
|
+
"homepage": "https://github.com/poppinss/youch-core#readme",
|
|
61
|
+
"repository": {
|
|
62
|
+
"type": "git",
|
|
63
|
+
"url": "git+https://github.com/poppinss/youch-core.git"
|
|
64
|
+
},
|
|
65
|
+
"bugs": {
|
|
66
|
+
"url": "https://github.com/poppinss/youch-core/issues"
|
|
67
|
+
},
|
|
68
|
+
"keywords": [
|
|
69
|
+
"pretty-print",
|
|
70
|
+
"pretty-error"
|
|
71
|
+
],
|
|
72
|
+
"author": "Harminder Virk <virk@adonisjs.com>",
|
|
73
|
+
"license": "MIT",
|
|
74
|
+
"publishConfig": {
|
|
75
|
+
"access": "public",
|
|
76
|
+
"provenance": true
|
|
77
|
+
},
|
|
78
|
+
"tsup": {
|
|
79
|
+
"entry": [
|
|
80
|
+
"index.ts",
|
|
81
|
+
"src/types.ts"
|
|
82
|
+
],
|
|
83
|
+
"outDir": "./build",
|
|
84
|
+
"clean": true,
|
|
85
|
+
"format": "esm",
|
|
86
|
+
"dts": false,
|
|
87
|
+
"sourcemap": false,
|
|
88
|
+
"target": "esnext"
|
|
89
|
+
},
|
|
90
|
+
"release-it": {
|
|
91
|
+
"git": {
|
|
92
|
+
"requireCleanWorkingDir": true,
|
|
93
|
+
"requireUpstream": true,
|
|
94
|
+
"commitMessage": "chore(release): ${version}",
|
|
95
|
+
"tagAnnotation": "v${version}",
|
|
96
|
+
"push": true,
|
|
97
|
+
"tagName": "v${version}"
|
|
98
|
+
},
|
|
99
|
+
"github": {
|
|
100
|
+
"release": true
|
|
101
|
+
},
|
|
102
|
+
"npm": {
|
|
103
|
+
"publish": true,
|
|
104
|
+
"skipChecks": true
|
|
105
|
+
},
|
|
106
|
+
"plugins": {
|
|
107
|
+
"@release-it/conventional-changelog": {
|
|
108
|
+
"preset": {
|
|
109
|
+
"name": "angular"
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
"c8": {
|
|
115
|
+
"reporter": [
|
|
116
|
+
"text",
|
|
117
|
+
"html"
|
|
118
|
+
],
|
|
119
|
+
"exclude": [
|
|
120
|
+
"tests/**"
|
|
121
|
+
]
|
|
122
|
+
},
|
|
123
|
+
"prettier": "@adonisjs/prettier-config"
|
|
124
|
+
}
|
|
@@ -1,87 +1,62 @@
|
|
|
1
1
|
import "#nitro-internal-pollyfills";
|
|
2
2
|
import { useNitroApp } from "nitro/runtime";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
startScheduleRunner,
|
|
6
|
-
trapUnhandledNodeErrors
|
|
7
|
-
} from "nitro/runtime/internal";
|
|
8
|
-
import { scheduledTasks, tasks } from "#nitro-internal-virtual/tasks";
|
|
9
|
-
import { mkdirSync } from "node:fs";
|
|
3
|
+
import { trapUnhandledNodeErrors } from "nitro/runtime/internal";
|
|
4
|
+
import { startScheduleRunner } from "nitro/runtime/internal";
|
|
10
5
|
import { Server } from "node:http";
|
|
11
|
-
import
|
|
12
|
-
import { join } from "node:path";
|
|
6
|
+
import nodeCrypto from "node:crypto";
|
|
13
7
|
import { parentPort, threadId } from "node:worker_threads";
|
|
14
8
|
import wsAdapter from "crossws/adapters/node";
|
|
15
|
-
import {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
9
|
+
import { toNodeHandler } from "srvx/node";
|
|
10
|
+
import { getSocketAddress, isSocketSupported } from "get-port-please";
|
|
11
|
+
if (!globalThis.crypto) {
|
|
12
|
+
globalThis.crypto = nodeCrypto;
|
|
13
|
+
}
|
|
14
|
+
trapUnhandledNodeErrors();
|
|
15
|
+
parentPort?.on("message", (msg) => {
|
|
16
|
+
if (msg && msg.event === "shutdown") {
|
|
17
|
+
shutdown();
|
|
18
|
+
}
|
|
19
|
+
});
|
|
23
20
|
const nitroApp = useNitroApp();
|
|
24
|
-
const server = new Server(
|
|
21
|
+
const server = new Server(toNodeHandler(nitroApp.fetch));
|
|
22
|
+
let listener;
|
|
23
|
+
listen().catch((error) => {
|
|
24
|
+
console.error("Dev worker failed to listen:", error);
|
|
25
|
+
return shutdown();
|
|
26
|
+
});
|
|
25
27
|
if (import.meta._websocket) {
|
|
26
28
|
const { handleUpgrade } = wsAdapter(nitroApp.h3App.websocket);
|
|
27
29
|
server.on("upgrade", handleUpgrade);
|
|
28
30
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
return 0;
|
|
32
|
-
}
|
|
33
|
-
const socketName = `worker-${process.pid}-${threadId}.sock`;
|
|
34
|
-
if (isWindows) {
|
|
35
|
-
return join(String.raw`\\.\pipe\nitro`, socketName);
|
|
36
|
-
}
|
|
37
|
-
const socketDir = join(tmpdir(), "nitro");
|
|
38
|
-
mkdirSync(socketDir, { recursive: true });
|
|
39
|
-
return join(socketDir, socketName);
|
|
31
|
+
if (import.meta._tasks) {
|
|
32
|
+
startScheduleRunner();
|
|
40
33
|
}
|
|
41
|
-
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
34
|
+
async function listen() {
|
|
35
|
+
const listenAddr = await isSocketSupported() ? getSocketAddress({
|
|
36
|
+
name: `nitro-dev-${threadId}`,
|
|
37
|
+
pid: true,
|
|
38
|
+
random: true
|
|
39
|
+
}) : { port: 0, host: "localhost" };
|
|
40
|
+
return new Promise((resolve, reject) => {
|
|
41
|
+
try {
|
|
42
|
+
listener = server.listen(listenAddr, () => {
|
|
43
|
+
const address = server.address();
|
|
44
|
+
parentPort?.postMessage({
|
|
45
|
+
event: "listen",
|
|
46
|
+
address: typeof address === "string" ? { socketPath: address } : { host: "localhost", port: address?.port }
|
|
47
|
+
});
|
|
48
|
+
resolve();
|
|
49
|
+
});
|
|
50
|
+
} catch (error) {
|
|
51
|
+
reject(error);
|
|
52
|
+
}
|
|
47
53
|
});
|
|
48
|
-
});
|
|
49
|
-
nitroApp.router.get(
|
|
50
|
-
"/_nitro/tasks",
|
|
51
|
-
defineEventHandler(async (event) => {
|
|
52
|
-
const _tasks = await Promise.all(
|
|
53
|
-
Object.entries(tasks).map(async ([name, task]) => {
|
|
54
|
-
const _task = await task.resolve?.();
|
|
55
|
-
return [name, { description: _task?.meta?.description }];
|
|
56
|
-
})
|
|
57
|
-
);
|
|
58
|
-
return {
|
|
59
|
-
tasks: Object.fromEntries(_tasks),
|
|
60
|
-
scheduledTasks
|
|
61
|
-
};
|
|
62
|
-
})
|
|
63
|
-
);
|
|
64
|
-
nitroApp.router.use(
|
|
65
|
-
"/_nitro/tasks/:name",
|
|
66
|
-
defineEventHandler(async (event) => {
|
|
67
|
-
const name = getRouterParam(event, "name");
|
|
68
|
-
const payload = {
|
|
69
|
-
...getQuery(event),
|
|
70
|
-
...await readBody(event).then((r) => r?.payload).catch(() => ({}))
|
|
71
|
-
};
|
|
72
|
-
return await runTask(name, { payload });
|
|
73
|
-
})
|
|
74
|
-
);
|
|
75
|
-
trapUnhandledNodeErrors();
|
|
76
|
-
async function onShutdown(signal) {
|
|
77
|
-
await nitroApp.hooks.callHook("close");
|
|
78
54
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
startScheduleRunner();
|
|
55
|
+
async function shutdown() {
|
|
56
|
+
server.closeAllConnections?.();
|
|
57
|
+
await Promise.all([
|
|
58
|
+
new Promise((resolve) => listener?.close(resolve)),
|
|
59
|
+
nitroApp.hooks.callHook("close").catch(console.error)
|
|
60
|
+
]);
|
|
61
|
+
parentPort?.postMessage({ event: "exit" });
|
|
87
62
|
}
|
|
@@ -1,7 +1,18 @@
|
|
|
1
1
|
import "#nitro-internal-pollyfills";
|
|
2
|
+
import consola from "consola";
|
|
2
3
|
import { useNitroApp } from "nitro/runtime";
|
|
3
4
|
import { trapUnhandledNodeErrors } from "nitro/runtime/internal";
|
|
4
5
|
const nitroApp = useNitroApp();
|
|
5
|
-
export const
|
|
6
|
+
export const appFetch = nitroApp.fetch;
|
|
6
7
|
export const closePrerenderer = () => nitroApp.hooks.callHook("close");
|
|
8
|
+
nitroApp.hooks.hook("error", (error, context) => {
|
|
9
|
+
if (!error.unhandled && error.status >= 500 && context.event?.req?.headers instanceof Headers && context.event.req.headers.get("x-nitro-prerender")) {
|
|
10
|
+
consola.error(
|
|
11
|
+
`[prerender error]`,
|
|
12
|
+
`[${context.event.req.method}]`,
|
|
13
|
+
`[${context.event.req.url}]`,
|
|
14
|
+
error
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
});
|
|
7
18
|
trapUnhandledNodeErrors();
|
|
@@ -7,22 +7,12 @@ addEventListener("fetch", (event) => {
|
|
|
7
7
|
if (isPublicAssetURL(url.pathname) || url.pathname.includes("/_server/")) {
|
|
8
8
|
return;
|
|
9
9
|
}
|
|
10
|
-
event.
|
|
10
|
+
const req = event.request;
|
|
11
|
+
req.runtime ??= { name: "service-worker" };
|
|
12
|
+
req.runtime.serviceWorker ??= { event };
|
|
13
|
+
req.waitUntil = event.waitUntil.bind(event);
|
|
14
|
+
event.respondWith(nitroApp.fetch(req));
|
|
11
15
|
});
|
|
12
|
-
async function handleEvent(url, event) {
|
|
13
|
-
let body;
|
|
14
|
-
if (event.request.body) {
|
|
15
|
-
body = await event.request.arrayBuffer();
|
|
16
|
-
}
|
|
17
|
-
return nitroApp.localFetch(url.pathname + url.search, {
|
|
18
|
-
host: url.hostname,
|
|
19
|
-
protocol: url.protocol,
|
|
20
|
-
headers: event.request.headers,
|
|
21
|
-
method: event.request.method,
|
|
22
|
-
redirect: event.request.redirect,
|
|
23
|
-
body
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
16
|
self.addEventListener("install", () => {
|
|
27
17
|
self.skipWaiting();
|
|
28
18
|
});
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import "#nitro-internal-pollyfills";
|
|
2
2
|
import { useNitroApp } from "nitro/runtime";
|
|
3
3
|
import { Server } from "node:http";
|
|
4
|
-
import {
|
|
4
|
+
import { toNodeHandler } from "srvx/node";
|
|
5
5
|
const nitroApp = useNitroApp();
|
|
6
|
-
const server = new Server(
|
|
6
|
+
const server = new Server(toNodeHandler(nitroApp.fetch));
|
|
7
7
|
server.listen(3e3, (err) => {
|
|
8
8
|
if (err) {
|
|
9
9
|
console.error(err);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { APIGatewayProxyEvent, APIGatewayProxyEventV2 } from "aws-lambda";
|
|
2
|
+
import type { ServerRequest } from "srvx";
|
|
3
|
+
export declare function awsRequest(event: APIGatewayProxyEvent | APIGatewayProxyEventV2, context: unknown): ServerRequest;
|
|
4
|
+
export declare function awsResponseHeaders(response: Response): {
|
|
5
|
+
headers: any;
|
|
6
|
+
cookies: string[];
|
|
7
|
+
multiValueHeaders: {
|
|
8
|
+
"set-cookie": string[];
|
|
9
|
+
};
|
|
10
|
+
} | {
|
|
11
|
+
headers: any;
|
|
12
|
+
cookies?: undefined;
|
|
13
|
+
multiValueHeaders?: undefined;
|
|
14
|
+
};
|
|
15
|
+
export declare function awsResponseBody(response: Response): Promise<{
|
|
16
|
+
body: string;
|
|
17
|
+
isBase64Encoded?: boolean;
|
|
18
|
+
}>;
|