nitro 3.0.1-alpha.0 → 3.0.1-alpha.2
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 +2 -0
- package/dist/_build/common.mjs +24940 -0
- package/dist/_build/rolldown.mjs +172 -0
- package/dist/_build/rollup.mjs +201 -0
- package/dist/_build/vite.build.mjs +16 -0
- package/dist/_chunks/dev.mjs +707 -0
- package/dist/_chunks/nitro.mjs +1191 -0
- package/dist/_chunks/nitro2.mjs +101 -0
- package/dist/_chunks/utils.mjs +254 -0
- package/dist/_common.mjs +45 -0
- package/dist/_dev.d.mts +12 -0
- package/dist/_libs/c12+giget+readdirp+chokidar.d.mts +214 -0
- package/dist/_libs/citty.mjs +363 -0
- package/dist/_libs/commondir+is-reference.mjs +1300 -0
- package/dist/_libs/compatx.d.mts +47 -0
- package/dist/_libs/compatx.mjs +46 -0
- package/dist/_libs/confbox.mjs +2509 -0
- package/dist/_libs/esbuild.d.mts +20 -0
- package/dist/_libs/escape-string-regexp.mjs +8 -0
- package/dist/_libs/estree-walker.mjs +187 -0
- package/dist/_libs/hasown+resolve+deepmerge.mjs +1972 -0
- package/dist/_libs/httpxy.d.mts +79 -0
- package/dist/_libs/httpxy.mjs +415 -0
- package/dist/_libs/klona.mjs +38 -0
- package/dist/_libs/magic-string.d.mts +220 -0
- package/dist/_libs/mlly.d.mts +57 -0
- package/dist/_libs/nypm+giget+tinyexec.mjs +3603 -0
- package/dist/_libs/pkg-types.d.mts +23 -0
- package/dist/_libs/plugin-alias.mjs +66 -0
- package/dist/_libs/plugin-inject.mjs +135 -0
- package/dist/_libs/plugin-json.mjs +36 -0
- package/dist/_libs/pluginutils+plugin-commonjs.d.mts +241 -0
- package/dist/_libs/pluginutils.mjs +652 -0
- package/dist/_libs/rc9+c12+dotenv.mjs +972 -0
- package/dist/_libs/readdirp+chokidar.mjs +1611 -0
- package/dist/_libs/remapping.mjs +117 -0
- package/dist/_libs/resolve-uri+gen-mapping.mjs +448 -0
- package/dist/_libs/rou3.d.mts +43 -0
- package/dist/_libs/rou3.mjs +322 -0
- package/dist/_libs/std-env.d.mts +4 -0
- package/dist/_libs/tsconfck.mjs +832 -0
- package/dist/_libs/ultrahtml.mjs +138 -0
- package/dist/_libs/unimport+unplugin.mjs +1785 -0
- package/dist/_libs/unplugin+unimport.d.mts +426 -0
- package/dist/_libs/unwasm.d.mts +29 -0
- package/dist/_presets.mjs +1802 -0
- package/dist/builder.d.mts +63 -0
- package/dist/builder.mjs +9 -0
- package/dist/cli/_chunks/build.mjs +48 -0
- package/dist/cli/_chunks/common.mjs +15 -0
- package/dist/cli/_chunks/dev.mjs +62 -0
- package/dist/cli/_chunks/list.mjs +27 -0
- package/dist/cli/_chunks/prepare.mjs +19 -0
- package/dist/cli/_chunks/run.mjs +55 -0
- package/dist/cli/_chunks/task.mjs +16 -0
- package/dist/cli/index.d.mts +1 -1
- package/dist/cli/index.mjs +20 -476
- package/dist/node_modules/@poppinss/colors/build/index.js +130 -160
- package/dist/node_modules/@poppinss/colors/package.json +20 -18
- package/dist/node_modules/@poppinss/dumper/build/formatters/html/main.js +1 -1
- package/dist/node_modules/@poppinss/dumper/package.json +1 -1
- package/dist/node_modules/@poppinss/exception/build/index.js +36 -55
- package/dist/node_modules/@poppinss/exception/package.json +19 -16
- package/dist/node_modules/@sindresorhus/is/distribution/index.js +47 -6
- package/dist/node_modules/@sindresorhus/is/package.json +1 -1
- package/dist/node_modules/@speed-highlight/core/dist/index.js +2 -2
- package/dist/node_modules/@speed-highlight/core/dist/terminal.js +2 -2
- package/dist/node_modules/@speed-highlight/core/package.json +8 -4
- package/dist/node_modules/cookie-es/dist/index.mjs +262 -0
- package/dist/node_modules/cookie-es/package.json +37 -0
- package/dist/node_modules/hookable/dist/index.mjs +244 -268
- package/dist/node_modules/hookable/package.json +29 -26
- package/dist/node_modules/rendu/dist/index.mjs +380 -0
- package/dist/node_modules/rendu/package.json +47 -0
- package/dist/node_modules/ufo/dist/index.mjs +16 -9
- package/dist/node_modules/ufo/package.json +15 -14
- package/dist/node_modules/unctx/package.json +16 -16
- package/dist/node_modules/youch/build/{chunk-4XB2BYKC.js → chunk-7QV3D5YX.js} +2 -4
- package/dist/node_modules/youch/build/{chunk-PUHGL6HA.js → chunk-AUGPHE32.js} +2 -4
- package/dist/node_modules/youch/build/{chunk-VE4LENUR.js → chunk-CM7DWJNZ.js} +4 -5
- package/dist/node_modules/youch/build/{chunk-JAN2TFI2.js → chunk-EJH674NB.js} +6 -5
- package/dist/node_modules/youch/build/{chunk-EUJBVOYB.js → chunk-OIJ3WD7L.js} +2 -4
- package/dist/node_modules/youch/build/{chunk-HFSXRSKS.js → chunk-P36L72PL.js} +5 -3
- package/dist/node_modules/youch/build/{chunk-4YEN7HVQ.js → chunk-PE3GG3TN.js} +5 -1
- package/dist/node_modules/youch/build/{chunk-PINJDICN.js → chunk-X53OIOJH.js} +2 -4
- package/dist/node_modules/youch/build/index.js +22 -15
- package/dist/node_modules/youch/build/public/error_info/style.css +1 -0
- package/dist/node_modules/youch/build/public/error_metadata/style.css +3 -0
- package/dist/node_modules/youch/build/public/error_stack/script.js +20 -22
- package/dist/node_modules/youch/build/public/error_stack/style.css +2 -3
- package/dist/node_modules/youch/build/public/header/script.js +0 -2
- package/dist/node_modules/youch/build/public/layout/script.js +0 -8
- package/dist/node_modules/youch/build/public/layout/style.css +4 -0
- package/dist/node_modules/youch/package.json +16 -17
- package/dist/presets/_nitro/runtime/nitro-dev.d.mts +2 -1
- package/dist/presets/_nitro/runtime/nitro-dev.mjs +47 -42
- package/dist/presets/_nitro/runtime/nitro-prerenderer.d.mts +3 -3
- package/dist/presets/_nitro/runtime/nitro-prerenderer.mjs +11 -15
- package/dist/presets/_nitro/runtime/service-worker.d.mts +2 -1
- package/dist/presets/_nitro/runtime/service-worker.mjs +17 -14
- package/dist/presets/aws-amplify/runtime/aws-amplify.d.mts +2 -1
- package/dist/presets/aws-amplify/runtime/aws-amplify.mjs +8 -7
- package/dist/presets/aws-lambda/runtime/_utils.d.mts +3 -13
- package/dist/presets/aws-lambda/runtime/_utils.mjs +95 -81
- package/dist/presets/aws-lambda/runtime/aws-lambda-streaming.d.mts +2 -3
- package/dist/presets/aws-lambda/runtime/aws-lambda-streaming.mjs +25 -29
- package/dist/presets/aws-lambda/runtime/aws-lambda.d.mts +1 -1
- package/dist/presets/aws-lambda/runtime/aws-lambda.mjs +9 -9
- package/dist/presets/azure/runtime/_utils.mjs +43 -43
- package/dist/presets/azure/runtime/azure-swa.d.mts +3 -3
- package/dist/presets/azure/runtime/azure-swa.mjs +25 -23
- package/dist/presets/bun/runtime/bun.d.mts +3 -1
- package/dist/presets/bun/runtime/bun.mjs +34 -22
- package/dist/presets/cloudflare/runtime/_module-handler.d.mts +12 -9
- package/dist/presets/cloudflare/runtime/_module-handler.mjs +84 -90
- package/dist/presets/cloudflare/runtime/cloudflare-durable.d.mts +7 -15
- package/dist/presets/cloudflare/runtime/cloudflare-durable.mjs +62 -64
- package/dist/presets/cloudflare/runtime/cloudflare-module.d.mts +2 -8
- package/dist/presets/cloudflare/runtime/cloudflare-module.mjs +15 -18
- package/dist/presets/cloudflare/runtime/cloudflare-pages.d.mts +13 -13
- package/dist/presets/cloudflare/runtime/cloudflare-pages.mjs +35 -43
- package/dist/presets/cloudflare/runtime/plugin.dev.d.mts +2 -2
- package/dist/presets/cloudflare/runtime/plugin.dev.mjs +89 -82
- package/dist/presets/cloudflare/runtime/shims/workers.dev.mjs +27 -0
- package/dist/presets/deno/runtime/deno-deploy.d.mts +5 -1
- package/dist/presets/deno/runtime/deno-deploy.mjs +15 -13
- package/dist/presets/deno/runtime/deno-server.d.mts +1 -4
- package/dist/presets/deno/runtime/deno-server.mjs +32 -53
- package/dist/presets/netlify/runtime/netlify-edge.d.mts +2 -2
- package/dist/presets/netlify/runtime/netlify-edge.mjs +18 -14
- package/dist/presets/netlify/runtime/netlify.d.mts +3 -2
- package/dist/presets/netlify/runtime/netlify.mjs +15 -19
- package/dist/presets/node/runtime/node-cluster.d.mts +3 -1
- package/dist/presets/node/runtime/node-cluster.mjs +49 -54
- package/dist/presets/node/runtime/node-middleware.d.mts +3 -4
- package/dist/presets/node/runtime/node-middleware.mjs +9 -9
- package/dist/presets/node/runtime/node-server.d.mts +1 -1
- package/dist/presets/node/runtime/node-server.mjs +36 -34
- package/dist/presets/standard/runtime/server.d.mts +2 -4
- package/dist/presets/standard/runtime/server.mjs +3 -5
- package/dist/presets/stormkit/runtime/stormkit.d.mts +14 -14
- package/dist/presets/stormkit/runtime/stormkit.mjs +22 -22
- package/dist/presets/vercel/runtime/isr.d.mts +2 -0
- package/dist/presets/vercel/runtime/isr.mjs +19 -0
- package/dist/presets/vercel/runtime/vercel.node.d.mts +3 -0
- package/dist/presets/vercel/runtime/vercel.node.mjs +24 -0
- package/dist/presets/vercel/runtime/vercel.web.d.mts +8 -0
- package/dist/presets/vercel/runtime/vercel.web.mjs +25 -0
- package/dist/presets/winterjs/runtime/winterjs.d.mts +2 -1
- package/dist/presets/winterjs/runtime/winterjs.mjs +74 -70
- package/dist/presets/zeabur/runtime/zeabur.d.mts +2 -2
- package/dist/presets/zeabur/runtime/zeabur.mjs +2 -2
- package/dist/runtime/app.d.mts +1 -0
- package/dist/runtime/app.mjs +1 -0
- package/dist/runtime/cache.d.mts +1 -0
- package/dist/runtime/cache.mjs +1 -0
- package/dist/runtime/config.d.mts +3 -0
- package/dist/runtime/config.mjs +4 -0
- package/dist/runtime/context.d.mts +1 -0
- package/dist/runtime/context.mjs +1 -0
- package/dist/runtime/database.d.mts +1 -0
- package/dist/runtime/database.mjs +1 -0
- package/dist/runtime/internal/app.d.mts +15 -1
- package/dist/runtime/internal/app.mjs +199 -144
- package/dist/runtime/internal/cache.d.mts +9 -5
- package/dist/runtime/internal/cache.mjs +248 -219
- package/dist/runtime/internal/context.d.mts +9 -9
- package/dist/runtime/internal/context.mjs +17 -10
- package/dist/runtime/internal/database.mjs +9 -11
- package/dist/runtime/internal/error/dev.d.mts +4 -4
- package/dist/runtime/internal/error/dev.mjs +106 -105
- package/dist/runtime/internal/error/hooks.d.mts +1 -0
- package/dist/runtime/internal/error/hooks.mjs +9 -0
- package/dist/runtime/internal/error/prod.d.mts +5 -4
- package/dist/runtime/internal/error/prod.mjs +51 -59
- package/dist/runtime/internal/error/utils.d.mts +4 -4
- package/dist/runtime/internal/error/utils.mjs +1 -1
- package/dist/runtime/internal/meta.d.mts +1 -1
- package/dist/runtime/internal/meta.mjs +1 -1
- package/dist/runtime/internal/plugin.d.mts +2 -2
- package/dist/runtime/internal/plugin.mjs +1 -1
- package/dist/runtime/internal/route-rules.d.mts +4 -8
- package/dist/runtime/internal/route-rules.mjs +54 -52
- package/dist/runtime/internal/routes/dev-tasks.d.mts +1 -2
- package/dist/runtime/internal/routes/dev-tasks.mjs +17 -19
- package/dist/runtime/internal/routes/openapi.mjs +82 -88
- package/dist/runtime/internal/routes/renderer-template.d.mts +1 -1
- package/dist/runtime/internal/routes/renderer-template.dev.d.mts +1 -2
- package/dist/runtime/internal/routes/renderer-template.dev.mjs +15 -17
- package/dist/runtime/internal/routes/renderer-template.mjs +2 -2
- package/dist/runtime/internal/routes/scalar.mjs +22 -23
- package/dist/runtime/internal/routes/swagger.mjs +9 -11
- package/dist/runtime/internal/runtime-config.d.mts +4 -4
- package/dist/runtime/internal/runtime-config.mjs +44 -39
- package/dist/runtime/internal/static.mjs +63 -74
- package/dist/runtime/internal/storage.mjs +3 -3
- package/dist/runtime/internal/task.d.mts +6 -6
- package/dist/runtime/internal/task.mjs +57 -61
- package/dist/runtime/internal/vite/dev-entry.mjs +11 -2
- package/dist/runtime/internal/vite/{dev-worker.mjs → node-runner.mjs} +54 -57
- package/dist/runtime/internal/vite/ssr-renderer.mjs +3 -1
- package/{lib/runtime-meta.d.mts → dist/runtime/meta.d.mts} +2 -2
- package/dist/runtime/meta.mjs +26 -0
- package/dist/runtime/nitro.d.mts +9 -0
- package/dist/runtime/nitro.mjs +32 -0
- package/dist/runtime/runtime-config.d.mts +1 -0
- package/dist/runtime/runtime-config.mjs +1 -0
- package/dist/runtime/storage.d.mts +1 -0
- package/dist/runtime/storage.mjs +1 -0
- package/dist/runtime/task.d.mts +1 -0
- package/dist/runtime/task.mjs +1 -0
- package/dist/runtime/virtual/_runtime_warn.mjs +5 -0
- package/dist/runtime/virtual/database.d.mts +8 -0
- package/dist/runtime/virtual/database.mjs +2 -0
- package/dist/runtime/virtual/error-handler.d.mts +6 -0
- package/dist/runtime/virtual/error-handler.mjs +9 -0
- package/dist/runtime/virtual/feature-flags.d.mts +7 -0
- package/dist/runtime/virtual/feature-flags.mjs +7 -0
- package/dist/runtime/virtual/plugins.d.mts +3 -0
- package/dist/runtime/virtual/plugins.mjs +2 -0
- package/dist/runtime/virtual/polyfills.d.mts +3 -0
- package/dist/runtime/virtual/polyfills.mjs +2 -0
- package/dist/runtime/virtual/public-assets.d.mts +9 -0
- package/dist/runtime/virtual/public-assets.mjs +8 -0
- package/dist/runtime/virtual/renderer-template.d.mts +4 -0
- package/dist/runtime/virtual/renderer-template.mjs +7 -0
- package/dist/runtime/virtual/routing-meta.d.mts +7 -0
- package/dist/runtime/virtual/routing-meta.mjs +2 -0
- package/dist/runtime/virtual/routing.d.mts +8 -0
- package/dist/runtime/virtual/routing.mjs +11 -0
- package/dist/runtime/virtual/runtime-config.d.mts +3 -0
- package/dist/runtime/virtual/runtime-config.mjs +5 -0
- package/dist/runtime/virtual/server-assets.d.mts +6 -0
- package/dist/runtime/virtual/server-assets.mjs +12 -0
- package/dist/runtime/virtual/storage.d.mts +3 -0
- package/dist/runtime/virtual/storage.mjs +5 -0
- package/dist/runtime/virtual/tasks.d.mts +10 -0
- package/dist/runtime/virtual/tasks.mjs +3 -0
- package/dist/runtime/vite.d.mts +8 -0
- package/dist/runtime/vite.mjs +9 -0
- package/dist/types/index.d.mts +2561 -2312
- package/dist/types/index.mjs +10 -0
- package/dist/vite.d.mts +44 -51
- package/dist/vite.mjs +737 -68
- package/lib/tsconfig.json +27 -0
- package/lib/vite.types.d.mts +26 -0
- package/lib/vite.types.mjs +2 -0
- package/package.json +118 -101
- package/dist/_chunks/app.mjs +0 -19797
- package/dist/_chunks/build.mjs +0 -84
- package/dist/_chunks/build2.mjs +0 -318
- package/dist/_chunks/build3.mjs +0 -6452
- package/dist/_chunks/detect-acorn.mjs +0 -503
- package/dist/_chunks/index.mjs +0 -22242
- package/dist/_chunks/index2.mjs +0 -297
- package/dist/_chunks/index3.mjs +0 -1058
- package/dist/_chunks/index4.mjs +0 -1206
- package/dist/_chunks/info.mjs +0 -11157
- package/dist/_chunks/json5.mjs +0 -68
- package/dist/_chunks/jsonc.mjs +0 -51
- package/dist/_chunks/pathe.M-eThtNZ.mjs +0 -204
- package/dist/_chunks/plugin.mjs +0 -960
- package/dist/_chunks/server.mjs +0 -254
- package/dist/_chunks/snapshot.mjs +0 -284
- package/dist/_chunks/toml.mjs +0 -259
- package/dist/_chunks/yaml.mjs +0 -86
- package/dist/cli/build.mjs +0 -54
- package/dist/cli/common.mjs +0 -13
- package/dist/cli/dev.mjs +0 -95
- package/dist/cli/index2.mjs +0 -17
- package/dist/cli/list.mjs +0 -34
- package/dist/cli/prepare.mjs +0 -24
- package/dist/cli/run.mjs +0 -60
- package/dist/index.d.mts +0 -52
- package/dist/index.mjs +0 -55
- package/dist/node_modules/cookie/dist/index.js +0 -239
- package/dist/node_modules/cookie/package.json +0 -42
- package/dist/node_modules/kleur/index.js +0 -110
- package/dist/node_modules/klona/dist/index.mjs +0 -81
- package/dist/node_modules/klona/full/index.mjs +0 -53
- package/dist/node_modules/klona/package.json +0 -74
- package/dist/node_modules/std-env/dist/index.mjs +0 -1
- package/dist/node_modules/std-env/package.json +0 -46
- package/dist/node_modules/youch/build/chunk-OSUFJZHZ.js +0 -6
- package/dist/presets/vercel/runtime/vercel.d.mts +0 -8
- package/dist/presets/vercel/runtime/vercel.mjs +0 -17
- package/dist/presets.mjs +0 -2460
- package/dist/runtime/index.d.mts +0 -11
- package/dist/runtime/index.mjs +0 -17
- package/dist/runtime/internal/debug.d.mts +0 -2
- package/dist/runtime/internal/debug.mjs +0 -5
- package/dist/runtime/internal/empty.d.mts +0 -0
- package/dist/runtime/internal/index.d.mts +0 -3
- package/dist/runtime/internal/index.mjs +0 -3
- package/dist/runtime/internal/lib/http-graceful-shutdown.d.mts +0 -16
- package/dist/runtime/internal/lib/http-graceful-shutdown.mjs +0 -213
- package/dist/runtime/internal/renderer.d.mts +0 -3
- package/dist/runtime/internal/renderer.mjs +0 -36
- package/dist/runtime/internal/shutdown.d.mts +0 -9
- package/dist/runtime/internal/shutdown.mjs +0 -34
- package/dist/runtime/internal/utils.d.mts +0 -1
- package/dist/runtime/internal/utils.mjs +0 -15
- package/dist/runtime/internal/vite/dev-entry.d.mts +0 -1
- package/dist/runtime/internal/vite/prod-setup.d.mts +0 -4
- package/dist/runtime/internal/vite/prod-setup.mjs +0 -55
- package/dist/runtime/internal/vite/ssr-renderer.d.mts +0 -4
- package/lib/config.d.mts +0 -9
- package/lib/config.mjs +0 -5
- package/lib/deps/ofetch.mjs +0 -1
- package/lib/deps/ofetch.mts +0 -1
- package/lib/meta.d.mts +0 -5
- package/lib/meta.mjs +0 -21
- package/lib/runtime-meta.mjs +0 -38
- /package/dist/runtime/{internal/vite/dev-worker.d.mts → virtual/_runtime_warn.d.mts} +0 -0
- /package/lib/{deps/h3.d.mts → h3.d.mts} +0 -0
- /package/lib/{deps/h3.mjs → h3.mjs} +0 -0
|
@@ -1,73 +1,69 @@
|
|
|
1
1
|
import { Cron } from "croner";
|
|
2
2
|
import { HTTPError } from "h3";
|
|
3
|
-
import {
|
|
4
|
-
|
|
3
|
+
import { scheduledTasks, tasks } from "#nitro/virtual/tasks";
|
|
4
|
+
/** @experimental */
|
|
5
5
|
export function defineTask(def) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
if (typeof def.run !== "function") {
|
|
7
|
+
def.run = () => {
|
|
8
|
+
throw new TypeError("Task must implement a `run` method!");
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
return def;
|
|
12
12
|
}
|
|
13
13
|
const __runningTasks__ = {};
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
14
|
+
/** @experimental */
|
|
15
|
+
export async function runTask(name, { payload = {}, context = {} } = {}) {
|
|
16
|
+
if (__runningTasks__[name]) {
|
|
17
|
+
return __runningTasks__[name];
|
|
18
|
+
}
|
|
19
|
+
if (!(name in tasks)) {
|
|
20
|
+
throw new HTTPError({
|
|
21
|
+
message: `Task \`${name}\` is not available!`,
|
|
22
|
+
status: 404
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
if (!tasks[name].resolve) {
|
|
26
|
+
throw new HTTPError({
|
|
27
|
+
message: `Task \`${name}\` is not implemented!`,
|
|
28
|
+
status: 501
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
const handler = await tasks[name].resolve();
|
|
32
|
+
const taskEvent = {
|
|
33
|
+
name,
|
|
34
|
+
payload,
|
|
35
|
+
context
|
|
36
|
+
};
|
|
37
|
+
__runningTasks__[name] = handler.run(taskEvent);
|
|
38
|
+
try {
|
|
39
|
+
const res = await __runningTasks__[name];
|
|
40
|
+
return res;
|
|
41
|
+
} finally {
|
|
42
|
+
delete __runningTasks__[name];
|
|
43
|
+
}
|
|
42
44
|
}
|
|
45
|
+
/** @experimental */
|
|
43
46
|
export function startScheduleRunner() {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
console.error(
|
|
59
|
-
`Error while running scheduled task "${name}"`,
|
|
60
|
-
error
|
|
61
|
-
);
|
|
62
|
-
})
|
|
63
|
-
)
|
|
64
|
-
);
|
|
65
|
-
});
|
|
66
|
-
}
|
|
47
|
+
if (!scheduledTasks || scheduledTasks.length === 0 || process.env.TEST) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
const payload = { scheduledTime: Date.now() };
|
|
51
|
+
for (const schedule of scheduledTasks) {
|
|
52
|
+
new Cron(schedule.cron, async () => {
|
|
53
|
+
await Promise.all(schedule.tasks.map((name) => runTask(name, {
|
|
54
|
+
payload,
|
|
55
|
+
context: {}
|
|
56
|
+
}).catch((error) => {
|
|
57
|
+
console.error(`Error while running scheduled task "${name}"`, error);
|
|
58
|
+
})));
|
|
59
|
+
});
|
|
60
|
+
}
|
|
67
61
|
}
|
|
62
|
+
/** @experimental */
|
|
68
63
|
export function getCronTasks(cron) {
|
|
69
|
-
|
|
64
|
+
return (scheduledTasks || []).find((task) => task.cron === cron)?.tasks || [];
|
|
70
65
|
}
|
|
66
|
+
/** @experimental */
|
|
71
67
|
export function runCronTasks(cron, ctx) {
|
|
72
|
-
|
|
68
|
+
return Promise.all(getCronTasks(cron).map((name) => runTask(name, ctx)));
|
|
73
69
|
}
|
|
@@ -1,6 +1,15 @@
|
|
|
1
|
-
import "#nitro
|
|
2
|
-
import
|
|
1
|
+
import "#nitro/virtual/polyfills";
|
|
2
|
+
import wsAdapter from "crossws/adapters/node";
|
|
3
|
+
|
|
4
|
+
import { useNitroApp } from "nitro/app";
|
|
5
|
+
import { resolveWebsocketHooks } from "#nitro/runtime/app";
|
|
3
6
|
|
|
4
7
|
const nitroApp = useNitroApp();
|
|
5
8
|
|
|
6
9
|
export const fetch = nitroApp.fetch;
|
|
10
|
+
|
|
11
|
+
const ws = import.meta._websocket
|
|
12
|
+
? wsAdapter({ resolve: resolveWebsocketHooks })
|
|
13
|
+
: undefined;
|
|
14
|
+
|
|
15
|
+
export const handleUpgrade = ws?.handleUpgrade;
|
|
@@ -5,9 +5,10 @@ import { getSocketAddress, isSocketSupported } from "get-port-please";
|
|
|
5
5
|
|
|
6
6
|
// ----- Environment runners -----
|
|
7
7
|
|
|
8
|
-
const envs =
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
const envs = (globalThis.__nitro_vite_envs__ ??= {
|
|
9
|
+
nitro: undefined,
|
|
10
|
+
ssr: undefined,
|
|
11
|
+
});
|
|
11
12
|
|
|
12
13
|
class EnvRunner {
|
|
13
14
|
constructor({ name, entry }) {
|
|
@@ -37,7 +38,7 @@ class EnvRunner {
|
|
|
37
38
|
},
|
|
38
39
|
},
|
|
39
40
|
new ESModulesEvaluator(),
|
|
40
|
-
process.env.
|
|
41
|
+
process.env.NITRO_DEBUG ? console.debug : undefined
|
|
41
42
|
);
|
|
42
43
|
|
|
43
44
|
this.reload();
|
|
@@ -150,69 +151,30 @@ parentPort.on("message", (payload) => {
|
|
|
150
151
|
}
|
|
151
152
|
});
|
|
152
153
|
|
|
153
|
-
//
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
globalThis.fetch = function nitroViteFetch(input, init) {
|
|
157
|
-
// Only override if viteEnvName is specified
|
|
158
|
-
const viteEnvName = getViteEnv(init) || getViteEnv(input);
|
|
159
|
-
if (!viteEnvName) {
|
|
160
|
-
return originalFetch(input, init);
|
|
161
|
-
}
|
|
154
|
+
// Trap unhandled errors to avoid worker crash
|
|
155
|
+
process.on("unhandledRejection", (error) => console.error(error));
|
|
156
|
+
process.on("uncaughtException", (error) => console.error(error));
|
|
162
157
|
|
|
163
|
-
|
|
164
|
-
const viteEnv = envs[viteEnvName];
|
|
165
|
-
if (!viteEnv) {
|
|
166
|
-
throw httpError(404, `Unknown vite environment "${viteEnvName}"`);
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
// Normalize input (relative urls)
|
|
170
|
-
if (typeof input === "string" && input[0] === "/") {
|
|
171
|
-
input = new URL(input, "http://localhost");
|
|
172
|
-
}
|
|
158
|
+
// ----- RSC Support -----
|
|
173
159
|
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
headers.set("x-vite-env", viteEnvName);
|
|
160
|
+
// define __VITE_ENVIRONMENT_RUNNER_IMPORT__ for RSC support
|
|
161
|
+
// https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-rsc/README.md#__vite_environment_runner_import__
|
|
177
162
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
163
|
+
globalThis.__VITE_ENVIRONMENT_RUNNER_IMPORT__ = async function (
|
|
164
|
+
environmentName,
|
|
165
|
+
id
|
|
166
|
+
) {
|
|
167
|
+
const env = envs[environmentName];
|
|
168
|
+
if (!env) {
|
|
169
|
+
throw new Error(`Vite environment "${environmentName}" is not registered`);
|
|
184
170
|
}
|
|
185
|
-
|
|
186
|
-
// Fetch via vite env
|
|
187
|
-
return viteEnv.fetch(input);
|
|
171
|
+
return env.runner.import(id);
|
|
188
172
|
};
|
|
189
173
|
|
|
190
|
-
function getViteEnv(input) {
|
|
191
|
-
if (!input || typeof input !== "object") {
|
|
192
|
-
return;
|
|
193
|
-
}
|
|
194
|
-
if ("viteEnv" in input) {
|
|
195
|
-
return input.viteEnv;
|
|
196
|
-
}
|
|
197
|
-
if (input.headers) {
|
|
198
|
-
return (
|
|
199
|
-
input.headers["x-vite-env"] ||
|
|
200
|
-
input.headers.get?.("x-vite-env") ||
|
|
201
|
-
(Array.isArray(input.headers) &&
|
|
202
|
-
input.headers.find((h) => h[0].toLowerCase() === "x-vite-env")?.[1])
|
|
203
|
-
);
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
|
|
207
174
|
// ----- Server -----
|
|
208
175
|
|
|
209
176
|
async function reload() {
|
|
210
177
|
try {
|
|
211
|
-
// Apply globals
|
|
212
|
-
for (const [key, value] of Object.entries(workerData.globals || {})) {
|
|
213
|
-
globalThis[key] = value;
|
|
214
|
-
}
|
|
215
|
-
// Reload all envs
|
|
216
178
|
await Promise.all(Object.values(envs).map((env) => env?.reload()));
|
|
217
179
|
} catch (error) {
|
|
218
180
|
console.error(error);
|
|
@@ -240,9 +202,18 @@ if (workerData.server) {
|
|
|
240
202
|
})
|
|
241
203
|
);
|
|
242
204
|
|
|
205
|
+
server.on("upgrade", (req, socket, head) => {
|
|
206
|
+
const handleUpgrade = envs["nitro"]?.entry?.handleUpgrade;
|
|
207
|
+
handleUpgrade?.(req, socket, head);
|
|
208
|
+
});
|
|
209
|
+
|
|
243
210
|
parentPort.on("message", async (message) => {
|
|
244
211
|
if (message?.type === "full-reload") {
|
|
245
212
|
await reload();
|
|
213
|
+
} else if (message?.event === "shutdown") {
|
|
214
|
+
server.close(() => {
|
|
215
|
+
parentPort.postMessage({ event: "exit" });
|
|
216
|
+
});
|
|
246
217
|
}
|
|
247
218
|
});
|
|
248
219
|
await listen(server);
|
|
@@ -276,6 +247,32 @@ function httpError(status, message) {
|
|
|
276
247
|
}
|
|
277
248
|
|
|
278
249
|
async function renderError(req, error) {
|
|
250
|
+
if (req.headers.get("accept")?.includes("application/json")) {
|
|
251
|
+
return new Response(
|
|
252
|
+
JSON.stringify(
|
|
253
|
+
{
|
|
254
|
+
status: error.status || 500,
|
|
255
|
+
name: error.name || "Error",
|
|
256
|
+
message: error.message,
|
|
257
|
+
stack: (error.stack || "")
|
|
258
|
+
.split("\n")
|
|
259
|
+
.splice(1)
|
|
260
|
+
.map((l) => l.trim()),
|
|
261
|
+
},
|
|
262
|
+
null,
|
|
263
|
+
2
|
|
264
|
+
),
|
|
265
|
+
{
|
|
266
|
+
status: error.status || 500,
|
|
267
|
+
headers: {
|
|
268
|
+
"Content-Type": "application/json",
|
|
269
|
+
"Cache-Control": "no-store, max-age=0, must-revalidate",
|
|
270
|
+
Pragma: "no-cache",
|
|
271
|
+
Expires: "0",
|
|
272
|
+
},
|
|
273
|
+
}
|
|
274
|
+
);
|
|
275
|
+
}
|
|
279
276
|
const { Youch } = await import("youch");
|
|
280
277
|
const youch = new Youch();
|
|
281
278
|
return new Response(await youch.toHTML(error), {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export declare const
|
|
1
|
+
export declare const version: string;
|
|
2
2
|
export declare const runtimeDir: string;
|
|
3
3
|
export declare const presetsDir: string;
|
|
4
|
-
export declare const
|
|
4
|
+
export declare const pkgDir: string;
|
|
5
5
|
export declare const runtimeDependencies: string[];
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { fileURLToPath } from "node:url";
|
|
2
|
+
import packageJson from "../../package.json" with { type: "json" };
|
|
3
|
+
export const version = packageJson.version;
|
|
4
|
+
const resolve = (path) => fileURLToPath(new URL(path, import.meta.url));
|
|
5
|
+
export const runtimeDir = /* @__PURE__ */ resolve("./");
|
|
6
|
+
export const presetsDir = /* @__PURE__ */ resolve("../presets/");
|
|
7
|
+
export const pkgDir = /* @__PURE__ */ resolve("../../");
|
|
8
|
+
export const runtimeDependencies = [
|
|
9
|
+
"crossws",
|
|
10
|
+
"croner",
|
|
11
|
+
"db0",
|
|
12
|
+
"defu",
|
|
13
|
+
"destr",
|
|
14
|
+
"h3",
|
|
15
|
+
"rou3",
|
|
16
|
+
"hookable",
|
|
17
|
+
"ofetch",
|
|
18
|
+
"ohash",
|
|
19
|
+
"rendu",
|
|
20
|
+
"scule",
|
|
21
|
+
"srvx",
|
|
22
|
+
"ufo",
|
|
23
|
+
"unctx",
|
|
24
|
+
"unenv",
|
|
25
|
+
"unstorage"
|
|
26
|
+
];
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { NitroConfig } from "nitro/types";
|
|
2
|
+
import type { ServerRequestContext } from "srvx";
|
|
3
|
+
import { type H3EventContext } from "h3";
|
|
4
|
+
export declare function defineConfig(config: Omit<NitroConfig, "rootDir">): Omit<NitroConfig, "rootDir">;
|
|
5
|
+
export { defineNitroPlugin as definePlugin } from "./internal/plugin.mjs";
|
|
6
|
+
export { defineRouteMeta } from "./internal/meta.mjs";
|
|
7
|
+
export { defineNitroErrorHandler as defineErrorHandler } from "./internal/error/utils.mjs";
|
|
8
|
+
export declare function serverFetch(resource: string | URL | Request, init?: RequestInit, context?: ServerRequestContext | H3EventContext): Promise<Response>;
|
|
9
|
+
export declare function fetch(resource: string | URL | Request, init?: RequestInit, context?: ServerRequestContext | H3EventContext): Promise<Response>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { toRequest } from "h3";
|
|
2
|
+
export function defineConfig(config) {
|
|
3
|
+
return config;
|
|
4
|
+
}
|
|
5
|
+
// Type (only) helpers
|
|
6
|
+
export { defineNitroPlugin as definePlugin } from "./internal/plugin.mjs";
|
|
7
|
+
export { defineRouteMeta } from "./internal/meta.mjs";
|
|
8
|
+
export { defineNitroErrorHandler as defineErrorHandler } from "./internal/error/utils.mjs";
|
|
9
|
+
// Runtime
|
|
10
|
+
export function serverFetch(resource, init, context) {
|
|
11
|
+
const nitro = globalThis.__nitro__?.default || globalThis.__nitro__?.prerender || globalThis.__nitro_builder__;
|
|
12
|
+
if (!nitro) {
|
|
13
|
+
return Promise.reject(new Error("Nitro instance is not available."));
|
|
14
|
+
}
|
|
15
|
+
const req = toRequest(resource, init);
|
|
16
|
+
req.context = {
|
|
17
|
+
...req.context,
|
|
18
|
+
...context
|
|
19
|
+
};
|
|
20
|
+
try {
|
|
21
|
+
return Promise.resolve(nitro.fetch(req));
|
|
22
|
+
} catch (error) {
|
|
23
|
+
return Promise.reject(error);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export function fetch(resource, init, context) {
|
|
27
|
+
if (typeof resource === "string" && resource.charCodeAt(0) === 47) {
|
|
28
|
+
return serverFetch(resource, init, context);
|
|
29
|
+
}
|
|
30
|
+
resource = resource._request || resource;
|
|
31
|
+
return globalThis.fetch(resource, init);
|
|
32
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { useRuntimeConfig } from "./internal/runtime-config.mjs";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { useRuntimeConfig } from "./internal/runtime-config.mjs";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { useStorage } from "./internal/storage.mjs";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { useStorage } from "./internal/storage.mjs";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { defineTask, runTask } from "./internal/task.mjs";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { defineTask, runTask } from "./internal/task.mjs";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import "./_runtime_warn.mjs";
|
|
2
|
+
import type { NitroErrorHandler } from "nitro/types";
|
|
3
|
+
type EParams = Parameters<NitroErrorHandler>;
|
|
4
|
+
type EReturn = ReturnType<NitroErrorHandler>;
|
|
5
|
+
declare const errorHandler: (error: EParams[0], event: EParams[1]) => EReturn;
|
|
6
|
+
export default errorHandler;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import "./_runtime_warn.mjs";
|
|
2
|
+
export declare const hasRoutes: boolean;
|
|
3
|
+
export declare const hasRouteRules: boolean;
|
|
4
|
+
export declare const hasGlobalMiddleware: boolean;
|
|
5
|
+
export declare const hasRoutedMiddleware: boolean;
|
|
6
|
+
export declare const hasPlugins: boolean;
|
|
7
|
+
export declare const hasHooks: boolean;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import "./_runtime_warn.mjs";
|
|
2
|
+
import type { PublicAsset } from "nitro/types";
|
|
3
|
+
export declare const publicAssetBases: string[];
|
|
4
|
+
export declare const isPublicAssetURL: (id: string) => boolean;
|
|
5
|
+
export declare const getPublicAssetMeta: (id: string) => {
|
|
6
|
+
maxAge?: number;
|
|
7
|
+
} | null;
|
|
8
|
+
export declare const readAsset: (id: string) => Promise<Buffer>;
|
|
9
|
+
export declare const getAsset: (id: string) => PublicAsset | null;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import "./_runtime_warn.mjs";
|
|
2
|
+
export const publicAssetBases = [];
|
|
3
|
+
export const isPublicAssetURL = () => false;
|
|
4
|
+
export const getPublicAssetMeta = () => null;
|
|
5
|
+
export const readAsset = async () => {
|
|
6
|
+
throw new Error("Asset not found");
|
|
7
|
+
};
|
|
8
|
+
export const getAsset = () => null;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import "./_runtime_warn.mjs";
|
|
2
|
+
import type { Middleware, H3Route } from "h3";
|
|
3
|
+
import type { MatchedRoute } from "rou3";
|
|
4
|
+
import type { MatchedRouteRule } from "nitro/types";
|
|
5
|
+
export declare function findRoute(_method: string, _path: string): MatchedRoute<H3Route> | undefined;
|
|
6
|
+
export declare function findRouteRules(_method: string, _path: string): MatchedRoute<MatchedRouteRule[]>[];
|
|
7
|
+
export declare const globalMiddleware: Middleware[];
|
|
8
|
+
export declare function findRoutedMiddleware(_method: string, _path: string): MatchedRoute<Middleware>[];
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import "./_runtime_warn.mjs";
|
|
2
|
+
export function findRoute(_method, _path) {
|
|
3
|
+
return undefined;
|
|
4
|
+
}
|
|
5
|
+
export function findRouteRules(_method, _path) {
|
|
6
|
+
return [];
|
|
7
|
+
}
|
|
8
|
+
export const globalMiddleware = [];
|
|
9
|
+
export function findRoutedMiddleware(_method, _path) {
|
|
10
|
+
return [];
|
|
11
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import "./_runtime_warn.mjs";
|
|
2
|
+
import type { AssetMeta } from "nitro/types";
|
|
3
|
+
export declare const assets: unknown;
|
|
4
|
+
export declare function readAsset<T = any>(_id: string): Promise<T>;
|
|
5
|
+
export declare function statAsset(_id: string): Promise<AssetMeta>;
|
|
6
|
+
export declare function getKeys(): Promise<string[]>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import "./_runtime_warn.mjs";
|
|
2
|
+
import { createStorage } from "unstorage";
|
|
3
|
+
export const assets = createStorage();
|
|
4
|
+
export function readAsset(_id) {
|
|
5
|
+
return Promise.resolve({});
|
|
6
|
+
}
|
|
7
|
+
export function statAsset(_id) {
|
|
8
|
+
return Promise.resolve({});
|
|
9
|
+
}
|
|
10
|
+
export function getKeys() {
|
|
11
|
+
return Promise.resolve([]);
|
|
12
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import "./_runtime_warn.mjs";
|
|
2
|
+
import type { Task, TaskMeta } from "nitro/types";
|
|
3
|
+
export declare const tasks: Record<string, {
|
|
4
|
+
resolve?: () => Promise<Task>;
|
|
5
|
+
meta: TaskMeta;
|
|
6
|
+
}>;
|
|
7
|
+
export declare const scheduledTasks: false | {
|
|
8
|
+
cron: string;
|
|
9
|
+
tasks: string[];
|
|
10
|
+
}[];
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
type FetchableEnv = {
|
|
2
|
+
fetch: (request: Request) => Response | Promise<Response>;
|
|
3
|
+
};
|
|
4
|
+
declare global {
|
|
5
|
+
var __nitro_vite_envs__: Record<string, FetchableEnv>;
|
|
6
|
+
}
|
|
7
|
+
export declare function fetchViteEnv(viteEnvName: string, input: RequestInfo | URL, init?: RequestInit);
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { HTTPError, toRequest } from "h3";
|
|
2
|
+
export function fetchViteEnv(viteEnvName, input, init) {
|
|
3
|
+
const envs = globalThis.__nitro_vite_envs__ || {};
|
|
4
|
+
const viteEnv = envs[viteEnvName];
|
|
5
|
+
if (!viteEnv) {
|
|
6
|
+
throw HTTPError.status(404);
|
|
7
|
+
}
|
|
8
|
+
return Promise.resolve(viteEnv.fetch(toRequest(input, init)));
|
|
9
|
+
}
|