nitro-nightly 3.0.1-20260124-165031-9c6abf17 → 3.0.1-20260127-164246-ef01b092

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.
Files changed (46) hide show
  1. package/dist/_build/common.mjs +2084 -3212
  2. package/dist/_build/rolldown.mjs +12 -25
  3. package/dist/_build/rollup.mjs +11 -27
  4. package/dist/_build/vite.build.mjs +7 -11
  5. package/dist/_chunks/dev.mjs +20 -42
  6. package/dist/_chunks/nitro.mjs +13 -92
  7. package/dist/_chunks/nitro2.mjs +1 -5
  8. package/dist/_chunks/utils.mjs +10 -24
  9. package/dist/_common.mjs +12 -24
  10. package/dist/_libs/citty.mjs +1 -13
  11. package/dist/_libs/commondir+is-reference.mjs +12 -22
  12. package/dist/_libs/compatx.mjs +1 -4
  13. package/dist/_libs/confbox.mjs +363 -376
  14. package/dist/_libs/escape-string-regexp.mjs +1 -4
  15. package/dist/_libs/estree-walker.mjs +4 -92
  16. package/dist/_libs/hasown+resolve+deepmerge.mjs +144 -230
  17. package/dist/_libs/httpxy.mjs +5 -21
  18. package/dist/_libs/klona.mjs +1 -4
  19. package/dist/_libs/nypm+giget+tinyexec.mjs +874 -926
  20. package/dist/_libs/plugin-alias.mjs +1 -5
  21. package/dist/_libs/plugin-inject.mjs +1 -5
  22. package/dist/_libs/plugin-json.mjs +1 -5
  23. package/dist/_libs/pluginutils+plugin-commonjs.d.mts +2 -2
  24. package/dist/_libs/pluginutils.mjs +1 -31
  25. package/dist/_libs/rc9+c12+dotenv.mjs +43 -83
  26. package/dist/_libs/readdirp+chokidar.mjs +184 -360
  27. package/dist/_libs/remapping.mjs +1 -5
  28. package/dist/_libs/resolve-uri+gen-mapping.mjs +12 -48
  29. package/dist/_libs/rou3.mjs +1 -32
  30. package/dist/_libs/tsconfck.mjs +21 -334
  31. package/dist/_libs/ultrahtml.mjs +3 -16
  32. package/dist/_libs/unimport+unplugin.mjs +15 -75
  33. package/dist/_presets.mjs +260 -445
  34. package/dist/builder.mjs +1 -2
  35. package/dist/cli/_chunks/build.mjs +1 -5
  36. package/dist/cli/_chunks/common.mjs +1 -4
  37. package/dist/cli/_chunks/dev.mjs +1 -5
  38. package/dist/cli/_chunks/list.mjs +1 -5
  39. package/dist/cli/_chunks/prepare.mjs +1 -5
  40. package/dist/cli/_chunks/run.mjs +1 -5
  41. package/dist/cli/_chunks/task.mjs +1 -5
  42. package/dist/cli/index.mjs +1 -5
  43. package/dist/types/index.d.mts +5 -5
  44. package/dist/types/index.mjs +1 -2
  45. package/dist/vite.mjs +44 -63
  46. package/package.json +21 -21
package/dist/_presets.mjs CHANGED
@@ -12,8 +12,6 @@ import { hasProtocol, joinURL, withLeadingSlash, withTrailingSlash, withoutLeadi
12
12
  import { presetsDir, runtimeDir, version } from "nitro/meta";
13
13
  import { colors } from "consola/utils";
14
14
  import { kebabCase } from "scule";
15
-
16
- //#region src/presets/_utils/preset.ts
17
15
  function defineNitroPreset(preset, meta) {
18
16
  if (typeof preset !== "function" && preset.entry && preset.entry.startsWith(".")) preset.entry = resolve(presetsDir, preset.entry);
19
17
  return {
@@ -21,10 +19,7 @@ function defineNitroPreset(preset, meta) {
21
19
  _meta: meta
22
20
  };
23
21
  }
24
-
25
- //#endregion
26
- //#region src/presets/_nitro/base-worker.ts
27
- const baseWorker = defineNitroPreset({
22
+ var base_worker_default = [defineNitroPreset({
28
23
  entry: null,
29
24
  node: false,
30
25
  minify: true,
@@ -34,12 +29,8 @@ const baseWorker = defineNitroPreset({
34
29
  generatedCode: { symbols: true }
35
30
  } },
36
31
  inlineDynamicImports: true
37
- }, { name: "base-worker" });
38
- var base_worker_default = [baseWorker];
39
-
40
- //#endregion
41
- //#region src/presets/_nitro/nitro-dev.ts
42
- const nitroDev = defineNitroPreset({
32
+ }, { name: "base-worker" })];
33
+ var nitro_dev_default = [defineNitroPreset({
43
34
  entry: "./_nitro/runtime/nitro-dev",
44
35
  output: {
45
36
  dir: "{{ buildDir }}/dev",
@@ -58,84 +49,63 @@ const nitroDev = defineNitroPreset({
58
49
  }, {
59
50
  name: "nitro-dev",
60
51
  dev: true
61
- });
62
- var nitro_dev_default = [nitroDev];
63
-
64
- //#endregion
65
- //#region src/presets/_nitro/nitro-prerender.ts
66
- const nitroPrerender = defineNitroPreset({
52
+ })];
53
+ var nitro_prerender_default = [defineNitroPreset({
67
54
  entry: "./_nitro/runtime/nitro-prerenderer",
68
55
  serveStatic: true,
69
56
  output: { serverDir: "{{ buildDir }}/prerender" },
70
57
  externals: { noTrace: true }
71
- }, { name: "nitro-prerender" });
72
- var nitro_prerender_default = [nitroPrerender];
73
-
74
- //#endregion
75
- //#region src/presets/_nitro/preset.ts
58
+ }, { name: "nitro-prerender" })];
76
59
  var preset_default$26 = [
77
60
  ...base_worker_default,
78
61
  ...nitro_dev_default,
79
62
  ...nitro_prerender_default
80
63
  ];
81
-
82
- //#endregion
83
- //#region src/presets/_static/preset.ts
84
- const _static = defineNitroPreset({
85
- static: true,
86
- output: {
87
- dir: "{{ rootDir }}/.output",
88
- publicDir: "{{ output.dir }}/public"
89
- },
90
- prerender: { crawlLinks: true },
91
- commands: { preview: "npx serve ./public" }
92
- }, {
93
- name: "static",
94
- static: true
95
- });
96
- const githubPages = defineNitroPreset({
97
- extends: "static",
98
- commands: { deploy: "npx gh-pages --dotfiles -d ./public" },
99
- prerender: { routes: ["/", "/404.html"] },
100
- hooks: { async compiled(nitro) {
101
- await fsp.writeFile(join$1(nitro.options.output.publicDir, ".nojekyll"), "");
102
- } }
103
- }, {
104
- name: "github-pages",
105
- static: true
106
- });
107
- const gitlabPages = defineNitroPreset({
108
- extends: "static",
109
- prerender: { routes: ["/", "/404.html"] }
110
- }, {
111
- name: "gitlab-pages",
112
- static: true
113
- });
114
64
  var preset_default$25 = [
115
- _static,
116
- githubPages,
117
- gitlabPages
65
+ defineNitroPreset({
66
+ static: true,
67
+ output: {
68
+ dir: "{{ rootDir }}/.output",
69
+ publicDir: "{{ output.dir }}/public"
70
+ },
71
+ prerender: { crawlLinks: true },
72
+ commands: { preview: "npx serve ./public" }
73
+ }, {
74
+ name: "static",
75
+ static: true
76
+ }),
77
+ defineNitroPreset({
78
+ extends: "static",
79
+ commands: { deploy: "npx gh-pages --dotfiles -d ./public" },
80
+ prerender: { routes: ["/", "/404.html"] },
81
+ hooks: { async compiled(nitro) {
82
+ await fsp.writeFile(join$1(nitro.options.output.publicDir, ".nojekyll"), "");
83
+ } }
84
+ }, {
85
+ name: "github-pages",
86
+ static: true
87
+ }),
88
+ defineNitroPreset({
89
+ extends: "static",
90
+ prerender: { routes: ["/", "/404.html"] }
91
+ }, {
92
+ name: "gitlab-pages",
93
+ static: true
94
+ })
118
95
  ];
119
-
120
- //#endregion
121
- //#region src/presets/alwaysdata/preset.ts
122
- const alwaysdata = defineNitroPreset({
96
+ var preset_default$24 = [defineNitroPreset({
123
97
  extends: "node-server",
124
98
  serveStatic: true,
125
99
  commands: { deploy: "rsync -rRt --info=progress2 ./ [account]@ssh-[account].alwaysdata.net:www/my-app" }
126
- }, { name: "alwaysdata" });
127
- var preset_default$24 = [alwaysdata];
128
-
129
- //#endregion
130
- //#region src/presets/aws-amplify/utils.ts
100
+ }, { name: "alwaysdata" })];
131
101
  async function writeAmplifyFiles(nitro) {
132
102
  const outDir = nitro.options.output.dir;
133
103
  const routes = [];
134
104
  let hasWildcardPublicAsset = false;
135
105
  if (nitro.options.awsAmplify?.imageOptimization && !nitro.options.static) {
136
- const { path: path$1, cacheControl } = nitro.options.awsAmplify?.imageOptimization || {};
137
- if (path$1) routes.push({
138
- path: path$1,
106
+ const { path, cacheControl } = nitro.options.awsAmplify?.imageOptimization || {};
107
+ if (path) routes.push({
108
+ path,
139
109
  target: {
140
110
  kind: "ImageOptimization",
141
111
  cacheControl
@@ -188,10 +158,7 @@ async function writeAmplifyFiles(nitro) {
188
158
  await writeFile(resolve(outDir, "deploy-manifest.json"), JSON.stringify(deployManifest, null, 2));
189
159
  if (!nitro.options.static) await writeFile(resolve(outDir, "compute/default/server.js"), `import("./index.mjs")`);
190
160
  }
191
-
192
- //#endregion
193
- //#region src/presets/aws-amplify/preset.ts
194
- const awsAmplify = defineNitroPreset({
161
+ var preset_default$23 = [defineNitroPreset({
195
162
  entry: "./aws-amplify/runtime/aws-amplify",
196
163
  manifest: { deploymentId: process.env.AWS_JOB_ID },
197
164
  serveStatic: true,
@@ -207,34 +174,23 @@ const awsAmplify = defineNitroPreset({
207
174
  }, {
208
175
  name: "aws-amplify",
209
176
  stdName: "aws_amplify"
210
- });
211
- var preset_default$23 = [awsAmplify];
212
-
213
- //#endregion
214
- //#region src/presets/aws-lambda/preset.ts
215
- const awsLambda = defineNitroPreset({
177
+ })];
178
+ var preset_default$22 = [defineNitroPreset({
216
179
  entry: "./aws-lambda/runtime/aws-lambda",
217
180
  awsLambda: { streaming: false },
218
181
  hooks: { "rollup:before": (nitro, rollupConfig) => {
219
182
  if (nitro.options.awsLambda?.streaming) rollupConfig.input += "-streaming";
220
183
  } }
221
- }, { name: "aws-lambda" });
222
- var preset_default$22 = [awsLambda];
223
-
224
- //#endregion
225
- //#region src/presets/_utils/fs.ts
226
- function prettyPath(p$1, highlight = true) {
227
- p$1 = relative$1(process.cwd(), p$1);
228
- return highlight ? colors.cyan(p$1) : p$1;
184
+ }, { name: "aws-lambda" })];
185
+ function prettyPath(p, highlight = true) {
186
+ p = relative$1(process.cwd(), p);
187
+ return highlight ? colors.cyan(p) : p;
229
188
  }
230
189
  async function writeFile$1(file, contents, log = false) {
231
190
  await fsp.mkdir(dirname$1(file), { recursive: true });
232
191
  await fsp.writeFile(file, contents, typeof contents === "string" ? "utf8" : void 0);
233
192
  if (log) consola$1.info("Generated", prettyPath(file));
234
193
  }
235
-
236
- //#endregion
237
- //#region src/presets/azure/utils.ts
238
194
  async function writeSWARoutes(nitro) {
239
195
  const host = { version: "2.0" };
240
196
  const supportedNodeVersions = new Set(["20", "22"]);
@@ -321,10 +277,7 @@ async function writeSWARoutes(nitro) {
321
277
  await writeFile$1(resolve$1(nitro.options.output.publicDir, relativePrefix ? `${relativePrefix}/index.html` : "index.html"), "");
322
278
  }
323
279
  }
324
-
325
- //#endregion
326
- //#region src/presets/azure/preset.ts
327
- const azureSWA = defineNitroPreset({
280
+ var preset_default$21 = [defineNitroPreset({
328
281
  entry: "./azure/runtime/azure-swa",
329
282
  output: {
330
283
  serverDir: "{{ output.dir }}/server/functions",
@@ -337,12 +290,8 @@ const azureSWA = defineNitroPreset({
337
290
  }, {
338
291
  name: "azure-swa",
339
292
  stdName: "azure_static"
340
- });
341
- var preset_default$21 = [azureSWA];
342
-
343
- //#endregion
344
- //#region src/presets/bun/preset.ts
345
- const bun = defineNitroPreset({
293
+ })];
294
+ var preset_default$20 = [defineNitroPreset({
346
295
  entry: "./bun/runtime/bun",
347
296
  serveStatic: true,
348
297
  exportConditions: [
@@ -352,22 +301,14 @@ const bun = defineNitroPreset({
352
301
  "default"
353
302
  ],
354
303
  commands: { preview: "bun run ./server/index.mjs" }
355
- }, { name: "bun" });
356
- var preset_default$20 = [bun];
357
-
358
- //#endregion
359
- //#region src/presets/cleavr/preset.ts
360
- const cleavr = defineNitroPreset({
304
+ }, { name: "bun" })];
305
+ var preset_default$19 = [defineNitroPreset({
361
306
  extends: "node-server",
362
307
  serveStatic: true
363
308
  }, {
364
309
  name: "cleavr",
365
310
  stdName: "cleavr"
366
- });
367
- var preset_default$19 = [cleavr];
368
-
369
- //#endregion
370
- //#region src/presets/cloudflare/unenv/node-compat.ts
311
+ })];
371
312
  const builtnNodeModules$1 = [
372
313
  "node:_http_agent",
373
314
  "node:_http_client",
@@ -419,9 +360,6 @@ const builtnNodeModules$1 = [
419
360
  "node:util/types",
420
361
  "node:zlib"
421
362
  ];
422
-
423
- //#endregion
424
- //#region src/presets/cloudflare/unenv/preset.ts
425
363
  const unenvCfNodeCompat = {
426
364
  meta: { name: "nitro:cloudflare-node-compat" },
427
365
  external: builtnNodeModules$1,
@@ -443,9 +381,6 @@ const unenvCfExternals = {
443
381
  "cloudflare:workflows"
444
382
  ]
445
383
  };
446
-
447
- //#endregion
448
- //#region src/presets/cloudflare/utils.ts
449
384
  async function writeCFRoutes(nitro) {
450
385
  const _cfPagesConfig = nitro.options.cloudflare?.pages || {};
451
386
  const routes = {
@@ -472,22 +407,22 @@ async function writeCFRoutes(nitro) {
472
407
  "_worker.js",
473
408
  "_worker.js.map",
474
409
  "nitro.json",
475
- ...routes.exclude.map((path$1) => withoutLeadingSlash(path$1.replace(/\/\*$/, "/**")))
410
+ ...routes.exclude.map((path) => withoutLeadingSlash(path.replace(/\/\*$/, "/**")))
476
411
  ]
477
412
  });
478
413
  routes.exclude.push(...publicAssetFiles.map((i) => withLeadingSlash(i).replace(/\/index\.html$/, "").replace(/\.html$/, "") || "/").sort(comparePaths));
479
414
  routes.exclude.splice(100 - routes.include.length);
480
415
  await writeRoutes();
481
416
  }
482
- function comparePaths(a$1, b) {
483
- return a$1.split("/").length - b.split("/").length || a$1.localeCompare(b);
417
+ function comparePaths(a, b) {
418
+ return a.split("/").length - b.split("/").length || a.localeCompare(b);
484
419
  }
485
420
  async function writeCFHeaders(nitro, outdir) {
486
421
  const headersPath = join$1(outdir === "public" ? nitro.options.output.publicDir : nitro.options.output.dir, "_headers");
487
422
  const contents = [];
488
- const rules = Object.entries(nitro.options.routeRules).sort((a$1, b) => b[0].split(/\/(?!\*)/).length - a$1[0].split(/\/(?!\*)/).length);
489
- for (const [path$1, routeRules] of rules.filter(([_, routeRules$1]) => routeRules$1.headers)) {
490
- const headers = [joinURL(nitro.options.baseURL, path$1.replace("/**", "/*")), ...Object.entries({ ...routeRules.headers }).map(([header, value]) => ` ${header}: ${value}`)].join("\n");
423
+ const rules = Object.entries(nitro.options.routeRules).sort((a, b) => b[0].split(/\/(?!\*)/).length - a[0].split(/\/(?!\*)/).length);
424
+ for (const [path, routeRules] of rules.filter(([_, routeRules]) => routeRules.headers)) {
425
+ const headers = [joinURL(nitro.options.baseURL, path.replace("/**", "/*")), ...Object.entries({ ...routeRules.headers }).map(([header, value]) => ` ${header}: ${value}`)].join("\n");
491
426
  contents.push(headers);
492
427
  }
493
428
  if (existsSync(headersPath)) {
@@ -504,8 +439,8 @@ async function writeCFHeaders(nitro, outdir) {
504
439
  async function writeCFPagesRedirects(nitro) {
505
440
  const redirectsPath = join$1(nitro.options.output.dir, "_redirects");
506
441
  const contents = [existsSync(join$1(nitro.options.output.publicDir, "404.html")) ? `${joinURL(nitro.options.baseURL, "/*")} ${joinURL(nitro.options.baseURL, "/404.html")} 404` : ""];
507
- const rules = Object.entries(nitro.options.routeRules).sort((a$1, b) => a$1[0].split(/\/(?!\*)/).length - b[0].split(/\/(?!\*)/).length);
508
- for (const [key, routeRules] of rules.filter(([_, routeRules$1]) => routeRules$1.redirect)) {
442
+ const rules = Object.entries(nitro.options.routeRules).sort((a, b) => a[0].split(/\/(?!\*)/).length - b[0].split(/\/(?!\*)/).length);
443
+ for (const [key, routeRules] of rules.filter(([_, routeRules]) => routeRules.redirect)) {
509
444
  const code = routeRules.redirect.status;
510
445
  const from = joinURL(nitro.options.baseURL, key.replace("/**", "/*"));
511
446
  const to = hasProtocol(routeRules.redirect.to, { acceptRelative: true }) ? routeRules.redirect.to : joinURL(nitro.options.baseURL, routeRules.redirect.to);
@@ -591,9 +526,6 @@ async function generateWorkerName(nitro) {
591
526
  const subpath = relative(nitro.options.workspaceDir, nitro.options.rootDir);
592
527
  return `${gitRepo || pkgName}/${subpath}`.toLowerCase().replace(/[^a-zA-Z0-9-]/g, "-").replace(/-$/, "");
593
528
  }
594
-
595
- //#endregion
596
- //#region src/presets/cloudflare/dev.ts
597
529
  async function cloudflareDevModule(nitro) {
598
530
  if (!nitro.options.dev) return;
599
531
  nitro.options.unenv.push({
@@ -635,9 +567,6 @@ async function cloudflareDevModule(nitro) {
635
567
  extensions: [".mjs", ".ts"]
636
568
  }));
637
569
  }
638
-
639
- //#endregion
640
- //#region src/presets/cloudflare/entry-exports.ts
641
570
  const RESOLVE_EXTENSIONS = [
642
571
  ".ts",
643
572
  ".js",
@@ -665,9 +594,6 @@ function resolveExportsEntry(nitro) {
665
594
  else if (entry && !nitro.options.cloudflare?.exports) nitro.logger.info(`Detected \`${prettyPath$1(entry)}\` as Cloudflare entrypoint.`);
666
595
  return entry;
667
596
  }
668
-
669
- //#endregion
670
- //#region src/presets/cloudflare/preset.ts
671
597
  const cloudflarePages = defineNitroPreset({
672
598
  extends: "base-worker",
673
599
  entry: "./cloudflare/runtime/cloudflare-pages",
@@ -741,59 +667,54 @@ const cloudflareDev = defineNitroPreset({
741
667
  compatibilityDate: "2025-07-13",
742
668
  dev: true
743
669
  });
744
- const cloudflareModule = defineNitroPreset({
745
- extends: "base-worker",
746
- entry: "./cloudflare/runtime/cloudflare-module",
747
- output: { publicDir: "{{ output.dir }}/public/{{ baseURL }}" },
748
- exportConditions: ["workerd"],
749
- minify: false,
750
- commands: {
751
- preview: "npx wrangler --cwd ./ dev",
752
- deploy: "npx wrangler --cwd ./ deploy"
753
- },
754
- rollupConfig: { output: {
755
- format: "esm",
756
- exports: "named",
757
- inlineDynamicImports: false
758
- } },
759
- wasm: {
760
- lazy: false,
761
- esmImport: true
762
- },
763
- hooks: {
764
- "build:before": async (nitro) => {
765
- nitro.options.unenv.push(unenvCfExternals);
766
- await enableNodeCompat(nitro);
767
- await setupEntryExports(nitro);
768
- },
769
- async compiled(nitro) {
770
- await writeWranglerConfig(nitro, "module");
771
- await writeCFHeaders(nitro, "public");
772
- await writeFile$1(resolve$1(nitro.options.output.dir, "package.json"), JSON.stringify({
773
- private: true,
774
- main: "./server/index.mjs"
775
- }, null, 2));
776
- await writeFile$1(resolve$1(nitro.options.output.dir, "package-lock.json"), JSON.stringify({ lockfileVersion: 1 }, null, 2));
777
- }
778
- }
779
- }, {
780
- name: "cloudflare-module",
781
- stdName: "cloudflare_workers"
782
- });
783
- const cloudflareDurable = defineNitroPreset({
784
- extends: "cloudflare-module",
785
- entry: "./cloudflare/runtime/cloudflare-durable"
786
- }, { name: "cloudflare-durable" });
787
670
  var preset_default$18 = [
788
671
  cloudflarePages,
789
672
  cloudflarePagesStatic,
790
- cloudflareModule,
791
- cloudflareDurable,
673
+ defineNitroPreset({
674
+ extends: "base-worker",
675
+ entry: "./cloudflare/runtime/cloudflare-module",
676
+ output: { publicDir: "{{ output.dir }}/public/{{ baseURL }}" },
677
+ exportConditions: ["workerd"],
678
+ minify: false,
679
+ commands: {
680
+ preview: "npx wrangler --cwd ./ dev",
681
+ deploy: "npx wrangler --cwd ./ deploy"
682
+ },
683
+ rollupConfig: { output: {
684
+ format: "esm",
685
+ exports: "named",
686
+ inlineDynamicImports: false
687
+ } },
688
+ wasm: {
689
+ lazy: false,
690
+ esmImport: true
691
+ },
692
+ hooks: {
693
+ "build:before": async (nitro) => {
694
+ nitro.options.unenv.push(unenvCfExternals);
695
+ await enableNodeCompat(nitro);
696
+ await setupEntryExports(nitro);
697
+ },
698
+ async compiled(nitro) {
699
+ await writeWranglerConfig(nitro, "module");
700
+ await writeCFHeaders(nitro, "public");
701
+ await writeFile$1(resolve$1(nitro.options.output.dir, "package.json"), JSON.stringify({
702
+ private: true,
703
+ main: "./server/index.mjs"
704
+ }, null, 2));
705
+ await writeFile$1(resolve$1(nitro.options.output.dir, "package-lock.json"), JSON.stringify({ lockfileVersion: 1 }, null, 2));
706
+ }
707
+ }
708
+ }, {
709
+ name: "cloudflare-module",
710
+ stdName: "cloudflare_workers"
711
+ }),
712
+ defineNitroPreset({
713
+ extends: "cloudflare-module",
714
+ entry: "./cloudflare/runtime/cloudflare-durable"
715
+ }, { name: "cloudflare-durable" }),
792
716
  cloudflareDev
793
717
  ];
794
-
795
- //#endregion
796
- //#region src/presets/deno/unenv/node-compat.ts
797
718
  const builtnNodeModules = [
798
719
  "node:_http_agent",
799
720
  "node:_http_common",
@@ -863,9 +784,6 @@ const builtnNodeModules = [
863
784
  "node:worker_threads",
864
785
  "node:zlib"
865
786
  ];
866
-
867
- //#endregion
868
- //#region src/presets/deno/unenv/preset.ts
869
787
  const unenvDeno = {
870
788
  meta: { name: "nitro:deno" },
871
789
  external: builtnNodeModules.map((m) => `node:${m}`),
@@ -878,10 +796,7 @@ const unenvDeno = {
878
796
  Buffer: ["node:buffer", "Buffer"]
879
797
  }
880
798
  };
881
-
882
- //#endregion
883
- //#region src/presets/deno/preset.ts
884
- const denoDeploy = defineNitroPreset({
799
+ var preset_default$17 = [defineNitroPreset({
885
800
  entry: "./deno/runtime/deno-deploy",
886
801
  manifest: { deploymentId: process.env.DENO_DEPLOYMENT_ID },
887
802
  exportConditions: ["deno"],
@@ -901,8 +816,7 @@ const denoDeploy = defineNitroPreset({
901
816
  format: "esm"
902
817
  }
903
818
  }
904
- }, { name: "deno-deploy" });
905
- const denoServer = defineNitroPreset({
819
+ }, { name: "deno-deploy" }), defineNitroPreset({
906
820
  entry: "./deno/runtime/deno-server",
907
821
  serveStatic: true,
908
822
  exportConditions: ["deno"],
@@ -917,20 +831,12 @@ const denoServer = defineNitroPreset({
917
831
  }, {
918
832
  aliases: ["deno"],
919
833
  name: "deno-server"
920
- });
921
- var preset_default$17 = [denoDeploy, denoServer];
922
-
923
- //#endregion
924
- //#region src/presets/digitalocean/preset.ts
925
- const digitalOcean = defineNitroPreset({
834
+ })];
835
+ var preset_default$16 = [defineNitroPreset({
926
836
  extends: "node-server",
927
837
  serveStatic: true
928
- }, { name: "digital-ocean" });
929
- var preset_default$16 = [digitalOcean];
930
-
931
- //#endregion
932
- //#region src/presets/firebase/preset.ts
933
- const firebaseAppHosting = defineNitroPreset({
838
+ }, { name: "digital-ocean" })];
839
+ var preset_default$15 = [defineNitroPreset({
934
840
  extends: "node-server",
935
841
  serveStatic: true,
936
842
  hooks: { async compiled(nitro) {
@@ -953,32 +859,16 @@ const firebaseAppHosting = defineNitroPreset({
953
859
  }, {
954
860
  name: "firebase-app-hosting",
955
861
  stdName: "firebase_app_hosting"
956
- });
957
- var preset_default$15 = [firebaseAppHosting];
958
-
959
- //#endregion
960
- //#region src/presets/flightcontrol/preset.ts
961
- const flightControl = defineNitroPreset({
862
+ })];
863
+ var preset_default$14 = [defineNitroPreset({
962
864
  extends: "node-server",
963
865
  serveStatic: true
964
- }, { name: "flight-control" });
965
- var preset_default$14 = [flightControl];
966
-
967
- //#endregion
968
- //#region src/presets/genezio/preset.ts
969
- const genezio = defineNitroPreset({ extends: "aws_lambda" }, { name: "genezio" });
970
- var preset_default$13 = [genezio];
971
-
972
- //#endregion
973
- //#region src/presets/heroku/preset.ts
974
- const heroku = defineNitroPreset({
866
+ }, { name: "flight-control" })];
867
+ var preset_default$13 = [defineNitroPreset({ extends: "aws_lambda" }, { name: "genezio" })];
868
+ var preset_default$12 = [defineNitroPreset({
975
869
  extends: "node-server",
976
870
  serveStatic: true
977
- }, { name: "heroku" });
978
- var preset_default$12 = [heroku];
979
-
980
- //#endregion
981
- //#region src/presets/iis/utils.ts
871
+ }, { name: "heroku" })];
982
872
  async function writeIISFiles(nitro) {
983
873
  await writeFile$1(resolve$1(nitro.options.output.dir, "web.config"), await iisXmlTemplate(nitro));
984
874
  }
@@ -993,7 +883,7 @@ async function writeIISNodeFiles(nitro) {
993
883
  `);
994
884
  }
995
885
  async function iisnodeXmlTemplate(nitro) {
996
- const path$1 = resolve$1(nitro.options.rootDir, "web.config");
886
+ const path = resolve$1(nitro.options.rootDir, "web.config");
997
887
  const originalString = `<?xml version="1.0" encoding="utf-8"?>
998
888
  <!--
999
889
  This configuration file is required if iisnode is used to run node processes behind
@@ -1059,8 +949,8 @@ async function iisnodeXmlTemplate(nitro) {
1059
949
  </system.webServer>
1060
950
  </configuration>
1061
951
  `;
1062
- if (existsSync(path$1)) {
1063
- const fileString = await readFile(path$1, "utf8");
952
+ if (existsSync(path)) {
953
+ const fileString = await readFile(path, "utf8");
1064
954
  const originalWebConfig = await parseXmlDoc(originalString);
1065
955
  const fileWebConfig = await parseXmlDoc(fileString);
1066
956
  if (nitro.options.iis?.mergeConfig && !nitro.options.iis.overrideConfig) return buildNewXmlDoc(defu(fileWebConfig, originalWebConfig));
@@ -1069,7 +959,7 @@ async function iisnodeXmlTemplate(nitro) {
1069
959
  return originalString;
1070
960
  }
1071
961
  async function iisXmlTemplate(nitro) {
1072
- const path$1 = resolve$1(nitro.options.rootDir, "web.config");
962
+ const path = resolve$1(nitro.options.rootDir, "web.config");
1073
963
  const originalString = `<?xml version="1.0" encoding="UTF-8"?>
1074
964
  <configuration>
1075
965
  <system.webServer>
@@ -1085,8 +975,8 @@ async function iisXmlTemplate(nitro) {
1085
975
  </system.webServer>
1086
976
  </configuration>
1087
977
  `;
1088
- if (existsSync(path$1)) {
1089
- const fileString = await readFile(path$1, "utf8");
978
+ if (existsSync(path)) {
979
+ const fileString = await readFile(path, "utf8");
1090
980
  const originalWebConfig = await parseXmlDoc(originalString);
1091
981
  const fileWebConfig = await parseXmlDoc(fileString);
1092
982
  if (nitro.options.iis?.mergeConfig && !nitro.options.iis.overrideConfig) return buildNewXmlDoc(defu(fileWebConfig, originalWebConfig));
@@ -1108,35 +998,23 @@ async function buildNewXmlDoc(xmlObj) {
1108
998
  const { Builder } = await import("xml2js");
1109
999
  return new Builder().buildObject({ ...xmlObj });
1110
1000
  }
1111
-
1112
- //#endregion
1113
- //#region src/presets/iis/preset.ts
1114
- const iisHandler = defineNitroPreset({
1001
+ var preset_default$11 = [defineNitroPreset({
1115
1002
  extends: "node-server",
1116
1003
  serveStatic: true,
1117
1004
  hooks: { async compiled(nitro) {
1118
1005
  await writeIISFiles(nitro);
1119
1006
  } }
1120
- }, { name: "iis-handler" });
1121
- const iisNode = defineNitroPreset({
1007
+ }, { name: "iis-handler" }), defineNitroPreset({
1122
1008
  extends: "node-server",
1123
1009
  serveStatic: true,
1124
1010
  hooks: { async compiled(nitro) {
1125
1011
  await writeIISNodeFiles(nitro);
1126
1012
  } }
1127
- }, { name: "iis-node" });
1128
- var preset_default$11 = [iisHandler, iisNode];
1129
-
1130
- //#endregion
1131
- //#region src/presets/koyeb/preset.ts
1132
- const koyeb = defineNitroPreset({
1013
+ }, { name: "iis-node" })];
1014
+ var preset_default$10 = [defineNitroPreset({
1133
1015
  extends: "node-server",
1134
1016
  serveStatic: true
1135
- }, { name: "koyeb" });
1136
- var preset_default$10 = [koyeb];
1137
-
1138
- //#endregion
1139
- //#region src/presets/netlify/utils.ts
1017
+ }, { name: "koyeb" })];
1140
1018
  async function writeRedirects(nitro) {
1141
1019
  const redirectsPath = join$1(nitro.options.output.publicDir, "_redirects");
1142
1020
  let contents = "";
@@ -1144,8 +1022,8 @@ async function writeRedirects(nitro) {
1144
1022
  const staticFallback = existsSync(join$1(nitro.options.output.publicDir, "404.html")) ? "/* /404.html 404" : "";
1145
1023
  contents += staticFallback;
1146
1024
  }
1147
- const rules = Object.entries(nitro.options.routeRules).sort((a$1, b) => a$1[0].split(/\/(?!\*)/).length - b[0].split(/\/(?!\*)/).length);
1148
- for (const [key, routeRules] of rules.filter(([_, routeRules$1]) => routeRules$1.redirect)) {
1025
+ const rules = Object.entries(nitro.options.routeRules).sort((a, b) => a[0].split(/\/(?!\*)/).length - b[0].split(/\/(?!\*)/).length);
1026
+ for (const [key, routeRules] of rules.filter(([_, routeRules]) => routeRules.redirect)) {
1149
1027
  let code = routeRules.redirect.status;
1150
1028
  if (code === 307) code = 302;
1151
1029
  if (code === 308) code = 301;
@@ -1165,9 +1043,9 @@ async function writeRedirects(nitro) {
1165
1043
  async function writeHeaders(nitro) {
1166
1044
  const headersPath = join$1(nitro.options.output.publicDir, "_headers");
1167
1045
  let contents = "";
1168
- const rules = Object.entries(nitro.options.routeRules).sort((a$1, b) => b[0].split(/\/(?!\*)/).length - a$1[0].split(/\/(?!\*)/).length);
1169
- for (const [path$1, routeRules] of rules.filter(([_, routeRules$1]) => routeRules$1.headers)) {
1170
- const headers = [path$1.replace("/**", "/*"), ...Object.entries({ ...routeRules.headers }).map(([header, value]) => ` ${header}: ${value}`)].join("\n");
1046
+ const rules = Object.entries(nitro.options.routeRules).sort((a, b) => b[0].split(/\/(?!\*)/).length - a[0].split(/\/(?!\*)/).length);
1047
+ for (const [path, routeRules] of rules.filter(([_, routeRules]) => routeRules.headers)) {
1048
+ const headers = [path.replace("/**", "/*"), ...Object.entries({ ...routeRules.headers }).map(([header, value]) => ` ${header}: ${value}`)].join("\n");
1171
1049
  contents += headers + "\n";
1172
1050
  }
1173
1051
  if (existsSync(headersPath)) {
@@ -1182,7 +1060,7 @@ async function writeHeaders(nitro) {
1182
1060
  await promises.writeFile(headersPath, contents);
1183
1061
  }
1184
1062
  function getStaticPaths(publicAssets, baseURL) {
1185
- return ["/.netlify/*", ...publicAssets.filter((a$1) => a$1.fallthrough !== true && a$1.baseURL && a$1.baseURL !== "/").map((a$1) => joinURL(baseURL, a$1.baseURL, "*"))];
1063
+ return ["/.netlify/*", ...publicAssets.filter((a) => a.fallthrough !== true && a.baseURL && a.baseURL !== "/").map((a) => joinURL(baseURL, a.baseURL, "*"))];
1186
1064
  }
1187
1065
  function generateNetlifyFunction(nitro) {
1188
1066
  return `
@@ -1201,95 +1079,86 @@ export const config = {
1201
1079
  function getGeneratorString(nitro) {
1202
1080
  return `${nitro.options.framework.name}@${nitro.options.framework.version}`;
1203
1081
  }
1204
-
1205
- //#endregion
1206
- //#region src/presets/netlify/preset.ts
1207
- const netlify = defineNitroPreset({
1208
- entry: "./netlify/runtime/netlify",
1209
- manifest: { deploymentId: process.env.DEPLOY_ID },
1210
- output: {
1211
- dir: "{{ rootDir }}/.netlify/functions-internal",
1212
- publicDir: "{{ rootDir }}/dist/{{ baseURL }}"
1213
- },
1214
- prerender: { autoSubfolderIndex: false },
1215
- rollupConfig: { output: { entryFileNames: "main.mjs" } },
1216
- hooks: { async compiled(nitro) {
1217
- await writeHeaders(nitro);
1218
- await writeRedirects(nitro);
1219
- await promises.writeFile(join$1(nitro.options.output.dir, "server", "server.mjs"), generateNetlifyFunction(nitro));
1220
- if (nitro.options.netlify?.images) {
1221
- nitro.options.netlify.config ||= {};
1222
- nitro.options.netlify.config.images ||= nitro.options.netlify?.images;
1223
- }
1224
- if (Object.keys(nitro.options.netlify?.config || {}).length > 0) {
1225
- const configPath = join$1(nitro.options.output.dir, "../deploy/v1/config.json");
1226
- await promises.mkdir(dirname$1(configPath), { recursive: true });
1227
- await promises.writeFile(configPath, JSON.stringify(nitro.options.netlify?.config), "utf8");
1228
- }
1229
- } }
1230
- }, {
1231
- name: "netlify",
1232
- stdName: "netlify"
1233
- });
1234
- const netlifyEdge = defineNitroPreset({
1235
- extends: "base-worker",
1236
- entry: "./netlify/runtime/netlify-edge",
1237
- manifest: { deploymentId: process.env.DEPLOY_ID },
1238
- exportConditions: ["netlify"],
1239
- output: {
1240
- serverDir: "{{ rootDir }}/.netlify/edge-functions/server",
1241
- publicDir: "{{ rootDir }}/dist/{{ baseURL }}"
1242
- },
1243
- prerender: { autoSubfolderIndex: false },
1244
- rollupConfig: { output: {
1245
- entryFileNames: "server.js",
1246
- format: "esm"
1247
- } },
1248
- unenv: unenvDeno,
1249
- hooks: { async compiled(nitro) {
1250
- await writeHeaders(nitro);
1251
- await writeRedirects(nitro);
1252
- const manifest = {
1253
- version: 1,
1254
- functions: [{
1255
- path: "/*",
1256
- excludedPath: getStaticPaths(nitro.options.publicAssets, nitro.options.baseURL),
1257
- name: "edge server handler",
1258
- function: "server",
1259
- generator: getGeneratorString(nitro)
1260
- }]
1261
- };
1262
- const manifestPath = join$1(nitro.options.rootDir, ".netlify/edge-functions/manifest.json");
1263
- await promises.mkdir(dirname$1(manifestPath), { recursive: true });
1264
- await promises.writeFile(manifestPath, JSON.stringify(manifest, null, 2));
1265
- } }
1266
- }, { name: "netlify-edge" });
1267
- const netlifyStatic = defineNitroPreset({
1268
- extends: "static",
1269
- manifest: { deploymentId: process.env.DEPLOY_ID },
1270
- output: {
1271
- dir: "{{ rootDir }}/dist",
1272
- publicDir: "{{ rootDir }}/dist/{{ baseURL }}"
1273
- },
1274
- prerender: { autoSubfolderIndex: false },
1275
- commands: { preview: "npx serve ./" },
1276
- hooks: { async compiled(nitro) {
1277
- await writeHeaders(nitro);
1278
- await writeRedirects(nitro);
1279
- } }
1280
- }, {
1281
- name: "netlify-static",
1282
- stdName: "netlify",
1283
- static: true
1284
- });
1285
1082
  var preset_default$9 = [
1286
- netlify,
1287
- netlifyEdge,
1288
- netlifyStatic
1083
+ defineNitroPreset({
1084
+ entry: "./netlify/runtime/netlify",
1085
+ manifest: { deploymentId: process.env.DEPLOY_ID },
1086
+ output: {
1087
+ dir: "{{ rootDir }}/.netlify/functions-internal",
1088
+ publicDir: "{{ rootDir }}/dist/{{ baseURL }}"
1089
+ },
1090
+ prerender: { autoSubfolderIndex: false },
1091
+ rollupConfig: { output: { entryFileNames: "main.mjs" } },
1092
+ hooks: { async compiled(nitro) {
1093
+ await writeHeaders(nitro);
1094
+ await writeRedirects(nitro);
1095
+ await promises.writeFile(join$1(nitro.options.output.dir, "server", "server.mjs"), generateNetlifyFunction(nitro));
1096
+ if (nitro.options.netlify?.images) {
1097
+ nitro.options.netlify.config ||= {};
1098
+ nitro.options.netlify.config.images ||= nitro.options.netlify?.images;
1099
+ }
1100
+ if (Object.keys(nitro.options.netlify?.config || {}).length > 0) {
1101
+ const configPath = join$1(nitro.options.output.dir, "../deploy/v1/config.json");
1102
+ await promises.mkdir(dirname$1(configPath), { recursive: true });
1103
+ await promises.writeFile(configPath, JSON.stringify(nitro.options.netlify?.config), "utf8");
1104
+ }
1105
+ } }
1106
+ }, {
1107
+ name: "netlify",
1108
+ stdName: "netlify"
1109
+ }),
1110
+ defineNitroPreset({
1111
+ extends: "base-worker",
1112
+ entry: "./netlify/runtime/netlify-edge",
1113
+ manifest: { deploymentId: process.env.DEPLOY_ID },
1114
+ exportConditions: ["netlify"],
1115
+ output: {
1116
+ serverDir: "{{ rootDir }}/.netlify/edge-functions/server",
1117
+ publicDir: "{{ rootDir }}/dist/{{ baseURL }}"
1118
+ },
1119
+ prerender: { autoSubfolderIndex: false },
1120
+ rollupConfig: { output: {
1121
+ entryFileNames: "server.js",
1122
+ format: "esm"
1123
+ } },
1124
+ unenv: unenvDeno,
1125
+ hooks: { async compiled(nitro) {
1126
+ await writeHeaders(nitro);
1127
+ await writeRedirects(nitro);
1128
+ const manifest = {
1129
+ version: 1,
1130
+ functions: [{
1131
+ path: "/*",
1132
+ excludedPath: getStaticPaths(nitro.options.publicAssets, nitro.options.baseURL),
1133
+ name: "edge server handler",
1134
+ function: "server",
1135
+ generator: getGeneratorString(nitro)
1136
+ }]
1137
+ };
1138
+ const manifestPath = join$1(nitro.options.rootDir, ".netlify/edge-functions/manifest.json");
1139
+ await promises.mkdir(dirname$1(manifestPath), { recursive: true });
1140
+ await promises.writeFile(manifestPath, JSON.stringify(manifest, null, 2));
1141
+ } }
1142
+ }, { name: "netlify-edge" }),
1143
+ defineNitroPreset({
1144
+ extends: "static",
1145
+ manifest: { deploymentId: process.env.DEPLOY_ID },
1146
+ output: {
1147
+ dir: "{{ rootDir }}/dist",
1148
+ publicDir: "{{ rootDir }}/dist/{{ baseURL }}"
1149
+ },
1150
+ prerender: { autoSubfolderIndex: false },
1151
+ commands: { preview: "npx serve ./" },
1152
+ hooks: { async compiled(nitro) {
1153
+ await writeHeaders(nitro);
1154
+ await writeRedirects(nitro);
1155
+ } }
1156
+ }, {
1157
+ name: "netlify-static",
1158
+ stdName: "netlify",
1159
+ static: true
1160
+ })
1289
1161
  ];
1290
-
1291
- //#endregion
1292
- //#region src/presets/node/cluster.ts
1293
1162
  const nodeCluster = defineNitroPreset({
1294
1163
  extends: "node-server",
1295
1164
  serveStatic: true,
@@ -1321,43 +1190,27 @@ if (cluster.isPrimary) {
1321
1190
  }
1322
1191
  `;
1323
1192
  }
1324
-
1325
- //#endregion
1326
- //#region src/presets/node/preset.ts
1327
- const nodeServer = defineNitroPreset({
1328
- entry: "./node/runtime/node-server",
1329
- serveStatic: true,
1330
- commands: { preview: "node ./server/index.mjs" }
1331
- }, {
1332
- name: "node-server",
1333
- aliases: ["node"]
1334
- });
1335
- const nodeMiddleware = defineNitroPreset({ entry: "./node/runtime/node-middleware" }, { name: "node-middleware" });
1336
1193
  var preset_default$8 = [
1337
- nodeServer,
1194
+ defineNitroPreset({
1195
+ entry: "./node/runtime/node-server",
1196
+ serveStatic: true,
1197
+ commands: { preview: "node ./server/index.mjs" }
1198
+ }, {
1199
+ name: "node-server",
1200
+ aliases: ["node"]
1201
+ }),
1338
1202
  nodeCluster,
1339
- nodeMiddleware
1203
+ defineNitroPreset({ entry: "./node/runtime/node-middleware" }, { name: "node-middleware" })
1340
1204
  ];
1341
-
1342
- //#endregion
1343
- //#region src/presets/platform.sh/preset.ts
1344
- const platformSh = defineNitroPreset({
1205
+ var preset_default$7 = [defineNitroPreset({
1345
1206
  extends: "node-server",
1346
1207
  serveStatic: true
1347
- }, { name: "platform-sh" });
1348
- var preset_default$7 = [platformSh];
1349
-
1350
- //#endregion
1351
- //#region src/presets/render.com/preset.ts
1352
- const renderCom = defineNitroPreset({
1208
+ }, { name: "platform-sh" })];
1209
+ var preset_default$6 = [defineNitroPreset({
1353
1210
  extends: "node-server",
1354
1211
  serveStatic: true
1355
- }, { name: "render-com" });
1356
- var preset_default$6 = [renderCom];
1357
-
1358
- //#endregion
1359
- //#region src/presets/standard/preset.ts
1360
- const standard = defineNitroPreset({
1212
+ }, { name: "render-com" })];
1213
+ var preset_default$5 = [defineNitroPreset({
1361
1214
  entry: "./standard/runtime/server",
1362
1215
  serveStatic: false,
1363
1216
  output: { publicDir: "{{ output.dir }}/public/{{ baseURL }}" },
@@ -1369,12 +1222,8 @@ const standard = defineNitroPreset({
1369
1222
  "srvx/node": "srvx/node",
1370
1223
  "srvx/generic": "srvx/generic"
1371
1224
  }
1372
- }, { name: "standard" });
1373
- var preset_default$5 = [standard];
1374
-
1375
- //#endregion
1376
- //#region src/presets/stormkit/preset.ts
1377
- const stormkit = defineNitroPreset({
1225
+ }, { name: "standard" })];
1226
+ var preset_default$4 = [defineNitroPreset({
1378
1227
  entry: "./stormkit/runtime/stormkit",
1379
1228
  output: {
1380
1229
  dir: "{{ rootDir }}/.stormkit",
@@ -1383,15 +1232,8 @@ const stormkit = defineNitroPreset({
1383
1232
  }, {
1384
1233
  name: "stormkit",
1385
1234
  stdName: "stormkit"
1386
- });
1387
- var preset_default$4 = [stormkit];
1388
-
1389
- //#endregion
1390
- //#region src/presets/vercel/runtime/isr.ts
1235
+ })];
1391
1236
  const ISR_URL_PARAM = "__isr_route";
1392
-
1393
- //#endregion
1394
- //#region src/presets/vercel/utils.ts
1395
1237
  const SUPPORTED_NODE_VERSIONS = [
1396
1238
  20,
1397
1239
  22,
@@ -1426,7 +1268,7 @@ async function generateFunctionFiles(nitro) {
1426
1268
  await writePrerenderConfig(funcPrefix + ".prerender-config.json", value.isr, nitro.options.vercel?.config?.bypassToken);
1427
1269
  }
1428
1270
  if (o11Routes.length === 0) return;
1429
- const _getRouteRules = (path$1) => defu({}, ...nitro.routing.routeRules.matchAll("", path$1).reverse());
1271
+ const _getRouteRules = (path) => defu({}, ...nitro.routing.routeRules.matchAll("", path).reverse());
1430
1272
  for (const route of o11Routes) {
1431
1273
  if (_getRouteRules(route.src).isr) continue;
1432
1274
  const funcPrefix = resolve$1(nitro.options.output.serverDir, "..", route.dest);
@@ -1440,13 +1282,13 @@ async function generateStaticFiles(nitro) {
1440
1282
  await writeFile$1(buildConfigPath, JSON.stringify(buildConfig, null, 2));
1441
1283
  }
1442
1284
  function generateBuildConfig(nitro, o11Routes) {
1443
- const rules = Object.entries(nitro.options.routeRules).sort((a$1, b) => b[0].split(/\/(?!\*)/).length - a$1[0].split(/\/(?!\*)/).length);
1285
+ const rules = Object.entries(nitro.options.routeRules).sort((a, b) => b[0].split(/\/(?!\*)/).length - a[0].split(/\/(?!\*)/).length);
1444
1286
  const config = defu(nitro.options.vercel?.config, {
1445
1287
  version: 3,
1446
1288
  overrides: { ...Object.fromEntries((nitro._prerenderedRoutes?.filter((r) => r.fileName !== r.route) || []).map(({ route, fileName }) => [withoutLeadingSlash(fileName), { path: route.replace(/^\//, "") }])) },
1447
1289
  routes: [
1448
- ...rules.filter(([_, routeRules]) => routeRules.redirect || routeRules.headers).map(([path$1, routeRules]) => {
1449
- let route = { src: path$1.replace("/**", "/(.*)") };
1290
+ ...rules.filter(([_, routeRules]) => routeRules.redirect || routeRules.headers).map(([path, routeRules]) => {
1291
+ let route = { src: path.replace("/**", "/(.*)") };
1450
1292
  if (routeRules.redirect) route = defu(route, {
1451
1293
  status: routeRules.redirect.status,
1452
1294
  headers: { Location: routeRules.redirect.to.replace("/**", "/$1") }
@@ -1518,7 +1360,7 @@ async function resolveVercelRuntime(nitro) {
1518
1360
  if ((await readVercelConfig(nitro.options.rootDir)).bunVersion || "Bun" in globalThis) runtime = "bun1.x";
1519
1361
  else {
1520
1362
  const systemNodeVersion = getSystemNodeVersion();
1521
- runtime = `nodejs${SUPPORTED_NODE_VERSIONS.find((version$1) => version$1 >= systemNodeVersion) ?? SUPPORTED_NODE_VERSIONS.at(-1)}.x`;
1363
+ runtime = `nodejs${SUPPORTED_NODE_VERSIONS.find((version) => version >= systemNodeVersion) ?? SUPPORTED_NODE_VERSIONS.at(-1)}.x`;
1522
1364
  }
1523
1365
  nitro.options.vercel ??= {};
1524
1366
  nitro.options.vercel.functions ??= {};
@@ -1534,7 +1376,7 @@ function _hasProp(obj, prop) {
1534
1376
  }
1535
1377
  function getObservabilityRoutes(nitro) {
1536
1378
  if ((nitro.options.compatibilityDate.vercel || nitro.options.compatibilityDate.default) < "2025-07-15") return [];
1537
- const routePatterns = [...new Set([...nitro.options.ssrRoutes || [], ...[...nitro.scannedHandlers, ...nitro.options.handlers].filter((h$1) => !h$1.middleware && h$1.route).map((h$1) => h$1.route)])];
1379
+ const routePatterns = [...new Set([...nitro.options.ssrRoutes || [], ...[...nitro.scannedHandlers, ...nitro.options.handlers].filter((h) => !h.middleware && h.route).map((h) => h.route)])];
1538
1380
  const staticRoutes = [];
1539
1381
  const dynamicRoutes = [];
1540
1382
  const catchAllRoutes = [];
@@ -1548,7 +1390,7 @@ function getObservabilityRoutes(nitro) {
1548
1390
  ];
1549
1391
  }
1550
1392
  function normalizeRoutes(routes) {
1551
- return routes.sort((a$1, b) => b.localeCompare(a$1)).map((route) => ({
1393
+ return routes.sort((a, b) => b.localeCompare(a)).map((route) => ({
1552
1394
  src: normalizeRouteSrc(route),
1553
1395
  dest: normalizeRouteDest(route)
1554
1396
  }));
@@ -1587,10 +1429,7 @@ async function writePrerenderConfig(filename, isrConfig, bypassToken) {
1587
1429
  if (prerenderConfig.allowQuery && !prerenderConfig.allowQuery.includes(ISR_URL_PARAM)) prerenderConfig.allowQuery.push(ISR_URL_PARAM);
1588
1430
  await writeFile$1(filename, JSON.stringify(prerenderConfig, null, 2));
1589
1431
  }
1590
-
1591
- //#endregion
1592
- //#region src/presets/vercel/preset.ts
1593
- const vercel = defineNitroPreset({
1432
+ var preset_default$3 = [defineNitroPreset({
1594
1433
  entry: "./vercel/runtime/vercel.{format}",
1595
1434
  manifest: { deploymentId: process.env.VERCEL_DEPLOYMENT_ID },
1596
1435
  vercel: { skewProtection: !!process.env.VERCEL_SKEW_PROTECTION_ENABLED },
@@ -1610,7 +1449,7 @@ const vercel = defineNitroPreset({
1610
1449
  if (runtime.startsWith("bun") && !nitro.options.exportConditions.includes("bun")) nitro.options.exportConditions.push("bun");
1611
1450
  logger.info(`Using \`${runtime}\` runtime.`);
1612
1451
  let serverFormat = nitro.options.vercel?.entryFormat;
1613
- if (!serverFormat) serverFormat = nitro.routing.routes.routes.flatMap((r) => r.data).some((h$1) => h$1.format === "node") ? "node" : "web";
1452
+ if (!serverFormat) serverFormat = nitro.routing.routes.routes.flatMap((r) => r.data).some((h) => h.format === "node") ? "node" : "web";
1614
1453
  logger.info(`Using \`${serverFormat}\` entry format.`);
1615
1454
  nitro.options.entry = nitro.options.entry.replace("{format}", serverFormat);
1616
1455
  },
@@ -1624,8 +1463,7 @@ const vercel = defineNitroPreset({
1624
1463
  }, {
1625
1464
  name: "vercel",
1626
1465
  stdName: "vercel"
1627
- });
1628
- const vercelStatic = defineNitroPreset({
1466
+ }), defineNitroPreset({
1629
1467
  extends: "static",
1630
1468
  manifest: { deploymentId: process.env.VERCEL_DEPLOYMENT_ID },
1631
1469
  vercel: { skewProtection: !!process.env.VERCEL_SKEW_PROTECTION_ENABLED },
@@ -1646,24 +1484,16 @@ const vercelStatic = defineNitroPreset({
1646
1484
  name: "vercel-static",
1647
1485
  stdName: "vercel",
1648
1486
  static: true
1649
- });
1650
- var preset_default$3 = [vercel, vercelStatic];
1651
-
1652
- //#endregion
1653
- //#region src/presets/winterjs/preset.ts
1654
- const winterjs = defineNitroPreset({
1487
+ })];
1488
+ var preset_default$2 = [defineNitroPreset({
1655
1489
  extends: "base-worker",
1656
1490
  entry: "./winterjs/runtime/winterjs",
1657
1491
  minify: false,
1658
1492
  serveStatic: "inline",
1659
1493
  wasm: { lazy: true },
1660
1494
  commands: { preview: "wasmer run wasmer/winterjs --forward-host-env --net --mapdir app:./ app/server/index.mjs" }
1661
- }, { name: "winterjs" });
1662
- var preset_default$2 = [winterjs];
1663
-
1664
- //#endregion
1665
- //#region src/presets/zeabur/preset.ts
1666
- const zeabur = defineNitroPreset({
1495
+ }, { name: "winterjs" })];
1496
+ var preset_default$1 = [defineNitroPreset({
1667
1497
  entry: "./zeabur/runtime/zeabur",
1668
1498
  output: {
1669
1499
  dir: "{{ rootDir }}/.zeabur/output",
@@ -1689,8 +1519,7 @@ const zeabur = defineNitroPreset({
1689
1519
  }, {
1690
1520
  name: "zeabur",
1691
1521
  stdName: "zeabur"
1692
- });
1693
- const zeaburStatic = defineNitroPreset({
1522
+ }), defineNitroPreset({
1694
1523
  extends: "static",
1695
1524
  output: {
1696
1525
  dir: "{{ rootDir }}/.zeabur/output",
@@ -1700,16 +1529,11 @@ const zeaburStatic = defineNitroPreset({
1700
1529
  }, {
1701
1530
  name: "zeabur-static",
1702
1531
  static: true
1703
- });
1704
- var preset_default$1 = [zeabur, zeaburStatic];
1705
-
1706
- //#endregion
1707
- //#region src/presets/zerops/preset.ts
1708
- const zerops = defineNitroPreset({
1532
+ })];
1533
+ var preset_default = [defineNitroPreset({
1709
1534
  extends: "node-server",
1710
1535
  serveStatic: true
1711
- }, { name: "zerops" });
1712
- const zeropsStatic = defineNitroPreset({
1536
+ }, { name: "zerops" }), defineNitroPreset({
1713
1537
  extends: "static",
1714
1538
  output: {
1715
1539
  dir: "{{ rootDir }}/.zerops/output",
@@ -1718,11 +1542,7 @@ const zeropsStatic = defineNitroPreset({
1718
1542
  }, {
1719
1543
  name: "zerops-static",
1720
1544
  static: true
1721
- });
1722
- var preset_default = [zerops, zeropsStatic];
1723
-
1724
- //#endregion
1725
- //#region src/presets/_all.gen.ts
1545
+ })];
1726
1546
  var _all_gen_default = [
1727
1547
  ...preset_default$26,
1728
1548
  ...preset_default$25,
@@ -1752,9 +1572,6 @@ var _all_gen_default = [
1752
1572
  ...preset_default$1,
1753
1573
  ...preset_default
1754
1574
  ];
1755
-
1756
- //#endregion
1757
- //#region src/presets/_resolve.ts
1758
1575
  const _stdProviderMap = {
1759
1576
  aws_amplify: "aws",
1760
1577
  azure_static: "azure",
@@ -1764,23 +1581,23 @@ async function resolvePreset(name, opts = {}) {
1764
1581
  if (name === ".") return;
1765
1582
  const _name = kebabCase(name) || p;
1766
1583
  const _compatDates = opts.compatibilityDate ? resolveCompatibilityDatesFromEnv(opts.compatibilityDate) : false;
1767
- const matches = _all_gen_default.filter((preset$1) => {
1584
+ const matches = _all_gen_default.filter((preset) => {
1768
1585
  if (![
1769
- preset$1._meta.name,
1770
- preset$1._meta.stdName,
1771
- ...preset$1._meta.aliases || []
1586
+ preset._meta.name,
1587
+ preset._meta.stdName,
1588
+ ...preset._meta.aliases || []
1772
1589
  ].filter(Boolean).includes(_name)) return false;
1773
- if (opts.dev && !preset$1._meta.dev || !opts.dev && preset$1._meta.dev) return false;
1590
+ if (opts.dev && !preset._meta.dev || !opts.dev && preset._meta.dev) return false;
1774
1591
  if (_compatDates) {
1775
- const _date = _compatDates[_stdProviderMap[preset$1._meta.stdName]] || _compatDates[preset$1._meta.stdName] || _compatDates[preset$1._meta.name] || _compatDates.default;
1776
- if (_date && preset$1._meta.compatibilityDate && new Date(preset$1._meta.compatibilityDate) > new Date(_date)) return false;
1592
+ const _date = _compatDates[_stdProviderMap[preset._meta.stdName]] || _compatDates[preset._meta.stdName] || _compatDates[preset._meta.name] || _compatDates.default;
1593
+ if (_date && preset._meta.compatibilityDate && new Date(preset._meta.compatibilityDate) > new Date(_date)) return false;
1777
1594
  }
1778
1595
  return true;
1779
- }).sort((a$1, b) => {
1780
- const aDate = new Date(a$1._meta.compatibilityDate || 0);
1596
+ }).sort((a, b) => {
1597
+ const aDate = new Date(a._meta.compatibilityDate || 0);
1781
1598
  return new Date(b._meta.compatibilityDate || 0) > aDate ? 1 : -1;
1782
1599
  });
1783
- const preset = matches.find((p$1) => (p$1._meta.static || false) === (opts?.static || false)) || matches[0];
1600
+ const preset = matches.find((p) => (p._meta.static || false) === (opts?.static || false)) || matches[0];
1784
1601
  if (typeof preset === "function") return preset();
1785
1602
  if (!name && !preset) {
1786
1603
  if (opts?.static) return resolvePreset("static", opts);
@@ -1790,7 +1607,7 @@ async function resolvePreset(name, opts = {}) {
1790
1607
  }[K] || "node", opts);
1791
1608
  }
1792
1609
  if (name && !preset) {
1793
- const options = _all_gen_default.filter((p$1) => p$1._meta.name === name || p$1._meta.stdName === name || p$1._meta.aliases?.includes(name)).sort((a$1, b) => (a$1._meta.compatibilityDate || 0) > (b._meta.compatibilityDate || 0) ? 1 : -1);
1610
+ const options = _all_gen_default.filter((p) => p._meta.name === name || p._meta.stdName === name || p._meta.aliases?.includes(name)).sort((a, b) => (a._meta.compatibilityDate || 0) > (b._meta.compatibilityDate || 0) ? 1 : -1);
1794
1611
  if (options.length > 0) {
1795
1612
  let msg = `Preset "${name}" cannot be resolved with current compatibilityDate: ${formatCompatibilityDate(_compatDates || "")}.\n\n`;
1796
1613
  for (const option of options) msg += `\n- ${option._meta.name} (requires compatibilityDate >= ${option._meta.compatibilityDate})`;
@@ -1801,6 +1618,4 @@ async function resolvePreset(name, opts = {}) {
1801
1618
  }
1802
1619
  return preset;
1803
1620
  }
1804
-
1805
- //#endregion
1806
- export { resolvePreset };
1621
+ export { resolvePreset };