nitro-nightly 4.0.0-20251010-091516-7cafddba → 4.0.0-20251030-121649-98b56dfe

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 (252) hide show
  1. package/dist/_build/common.mjs +763 -0
  2. package/dist/_build/rolldown.mjs +216 -0
  3. package/dist/_build/rollup.mjs +359 -0
  4. package/dist/_build/vite.build.mjs +67 -0
  5. package/dist/_build/vite.plugin.mjs +747 -0
  6. package/dist/_chunks/B-7HiF0V.mjs +1303 -0
  7. package/dist/_chunks/B3asVbT4.mjs +151 -0
  8. package/dist/_chunks/B5ooyfLk.mjs +372 -0
  9. package/dist/_chunks/DXMHy5ca.mjs +43 -0
  10. package/dist/_dev.d.mts +12 -0
  11. package/dist/_dev.mjs +675 -0
  12. package/dist/_libs/acorn.mjs +5034 -0
  13. package/dist/_libs/c12.mjs +2798 -0
  14. package/dist/_libs/chokidar.mjs +1560 -0
  15. package/dist/_libs/citty.mjs +333 -0
  16. package/dist/_libs/commondir.mjs +22 -0
  17. package/dist/_libs/compatx.mjs +46 -0
  18. package/dist/_libs/confbox.mjs +2920 -0
  19. package/dist/_libs/debug.mjs +848 -0
  20. package/dist/_libs/deepmerge.mjs +86 -0
  21. package/dist/_libs/depd.mjs +314 -0
  22. package/dist/_libs/dot-prop.mjs +138 -0
  23. package/dist/_libs/duplexer.mjs +71 -0
  24. package/dist/_libs/ee-first.mjs +68 -0
  25. package/dist/_libs/encodeurl.mjs +49 -0
  26. package/dist/_libs/escape-html.mjs +58 -0
  27. package/dist/_libs/escape-string-regexp.mjs +8 -0
  28. package/dist/_libs/estree-walker.mjs +330 -0
  29. package/dist/_libs/etag.mjs +75 -0
  30. package/dist/_libs/fdir.mjs +514 -0
  31. package/dist/_libs/fresh.mjs +85 -0
  32. package/dist/_libs/function-bind.mjs +63 -0
  33. package/dist/_libs/gen-mapping.mjs +612 -0
  34. package/dist/_libs/giget.mjs +19076 -0
  35. package/dist/_libs/gzip-size.mjs +21 -0
  36. package/dist/_libs/hasown.mjs +14 -0
  37. package/dist/_libs/http-errors.mjs +436 -0
  38. package/dist/_libs/httpxy.mjs +410 -0
  39. package/dist/_libs/is-core-module.mjs +220 -0
  40. package/dist/_libs/is-module.mjs +13 -0
  41. package/dist/_libs/is-reference.mjs +32 -0
  42. package/dist/_libs/js-tokens.mjs +382 -0
  43. package/dist/_libs/klona.mjs +90 -0
  44. package/dist/_libs/knitwork.mjs +124 -0
  45. package/dist/_libs/local-pkg.mjs +1686 -0
  46. package/dist/_libs/magic-string.mjs +939 -0
  47. package/dist/_libs/mime-db.mjs +7642 -0
  48. package/dist/_libs/mime-types.mjs +162 -0
  49. package/dist/_libs/mime.mjs +1391 -0
  50. package/dist/_libs/node-fetch-native.mjs +173 -0
  51. package/dist/_libs/on-finished.mjs +170 -0
  52. package/dist/_libs/parseurl.mjs +103 -0
  53. package/dist/_libs/path-parse.mjs +47 -0
  54. package/dist/_libs/pathe.mjs +41 -0
  55. package/dist/_libs/picomatch.mjs +1673 -0
  56. package/dist/_libs/plugin-alias.mjs +64 -0
  57. package/dist/_libs/plugin-commonjs.mjs +1489 -0
  58. package/dist/_libs/plugin-inject.mjs +135 -0
  59. package/dist/_libs/plugin-json.mjs +36 -0
  60. package/dist/_libs/plugin-node-resolve.mjs +1553 -0
  61. package/dist/_libs/plugin-replace.mjs +104 -0
  62. package/dist/_libs/pretty-bytes.mjs +116 -0
  63. package/dist/_libs/range-parser.mjs +102 -0
  64. package/dist/_libs/remapping.mjs +117 -0
  65. package/dist/_libs/rou3.mjs +311 -0
  66. package/dist/_libs/send.mjs +857 -0
  67. package/dist/_libs/serve-static.mjs +124 -0
  68. package/dist/_libs/std-env.mjs +158 -0
  69. package/dist/_libs/strip-literal.mjs +51 -0
  70. package/dist/_libs/tinyglobby.mjs +292 -0
  71. package/dist/_libs/ultrahtml.mjs +138 -0
  72. package/dist/_libs/unimport.mjs +3520 -0
  73. package/dist/_libs/untyped.mjs +271 -0
  74. package/dist/_libs/unwasm.mjs +5825 -0
  75. package/dist/_libs/vite-plugin-fullstack.mjs +561 -0
  76. package/dist/_presets.mjs +1723 -0
  77. package/dist/builder.d.mts +54 -0
  78. package/dist/builder.mjs +45 -0
  79. package/dist/cli/_chunks/build.mjs +43 -0
  80. package/dist/cli/_chunks/common.mjs +15 -0
  81. package/dist/cli/_chunks/detect-acorn.mjs +12 -0
  82. package/dist/cli/_chunks/dev.mjs +79 -0
  83. package/dist/cli/_chunks/dist.mjs +3 -0
  84. package/dist/cli/_chunks/dist2.mjs +4 -0
  85. package/dist/cli/_chunks/esm.mjs +3 -0
  86. package/dist/cli/_chunks/json5.mjs +4 -0
  87. package/dist/cli/_chunks/jsonc.mjs +4 -0
  88. package/dist/cli/_chunks/list.mjs +27 -0
  89. package/dist/cli/_chunks/multipart-parser.mjs +6 -0
  90. package/dist/cli/_chunks/prepare.mjs +19 -0
  91. package/dist/cli/_chunks/run.mjs +55 -0
  92. package/dist/cli/_chunks/task.mjs +16 -0
  93. package/dist/cli/_chunks/toml.mjs +4 -0
  94. package/dist/cli/_chunks/yaml.mjs +4 -0
  95. package/dist/cli/index.d.mts +1 -1
  96. package/dist/cli/index.mjs +20 -476
  97. package/dist/node_modules/@speed-highlight/core/dist/index.js +1 -1
  98. package/dist/node_modules/@speed-highlight/core/dist/terminal.js +1 -1
  99. package/dist/node_modules/@speed-highlight/core/package.json +7 -3
  100. package/dist/node_modules/cookie-es/dist/index.mjs +262 -0
  101. package/dist/node_modules/cookie-es/package.json +37 -0
  102. package/dist/node_modules/hookable/dist/index.mjs +243 -266
  103. package/dist/node_modules/hookable/package.json +29 -26
  104. package/dist/node_modules/rendu/dist/index.mjs +380 -0
  105. package/dist/node_modules/rendu/package.json +47 -0
  106. package/dist/presets/_nitro/runtime/nitro-dev.d.mts +1 -0
  107. package/dist/presets/_nitro/runtime/nitro-dev.mjs +44 -38
  108. package/dist/presets/_nitro/runtime/nitro-prerenderer.d.mts +2 -2
  109. package/dist/presets/_nitro/runtime/nitro-prerenderer.mjs +9 -12
  110. package/dist/presets/_nitro/runtime/service-worker.d.mts +1 -0
  111. package/dist/presets/_nitro/runtime/service-worker.mjs +14 -11
  112. package/dist/presets/aws-amplify/runtime/aws-amplify.d.mts +1 -0
  113. package/dist/presets/aws-amplify/runtime/aws-amplify.mjs +6 -5
  114. package/dist/presets/aws-lambda/runtime/_utils.d.mts +8 -13
  115. package/dist/presets/aws-lambda/runtime/_utils.mjs +95 -81
  116. package/dist/presets/aws-lambda/runtime/aws-lambda-streaming.d.mts +1 -2
  117. package/dist/presets/aws-lambda/runtime/aws-lambda-streaming.mjs +25 -27
  118. package/dist/presets/aws-lambda/runtime/aws-lambda.mjs +7 -7
  119. package/dist/presets/azure/runtime/_utils.mjs +43 -43
  120. package/dist/presets/azure/runtime/azure-swa.d.mts +2 -2
  121. package/dist/presets/azure/runtime/azure-swa.mjs +22 -21
  122. package/dist/presets/bun/runtime/bun.d.mts +1 -0
  123. package/dist/presets/bun/runtime/bun.mjs +18 -17
  124. package/dist/presets/cloudflare/runtime/_module-handler.d.mts +10 -7
  125. package/dist/presets/cloudflare/runtime/_module-handler.mjs +79 -87
  126. package/dist/presets/cloudflare/runtime/cloudflare-durable.d.mts +6 -14
  127. package/dist/presets/cloudflare/runtime/cloudflare-durable.mjs +55 -61
  128. package/dist/presets/cloudflare/runtime/cloudflare-module.d.mts +1 -7
  129. package/dist/presets/cloudflare/runtime/cloudflare-module.mjs +12 -14
  130. package/dist/presets/cloudflare/runtime/cloudflare-pages.d.mts +12 -12
  131. package/dist/presets/cloudflare/runtime/cloudflare-pages.mjs +35 -39
  132. package/dist/presets/cloudflare/runtime/plugin.dev.d.mts +2 -2
  133. package/dist/presets/cloudflare/runtime/plugin.dev.mjs +89 -82
  134. package/dist/presets/cloudflare/runtime/shims/workers.dev.mjs +27 -0
  135. package/dist/presets/deno/runtime/deno-deploy.d.mts +1 -0
  136. package/dist/presets/deno/runtime/deno-deploy.mjs +12 -11
  137. package/dist/presets/deno/runtime/deno-server.d.mts +2 -1
  138. package/dist/presets/deno/runtime/deno-server.mjs +31 -39
  139. package/dist/presets/netlify/runtime/netlify-edge.d.mts +2 -1
  140. package/dist/presets/netlify/runtime/netlify-edge.mjs +14 -11
  141. package/dist/presets/netlify/runtime/netlify.mjs +11 -17
  142. package/dist/presets/node/runtime/node-cluster.mjs +49 -48
  143. package/dist/presets/node/runtime/node-middleware.d.mts +3 -2
  144. package/dist/presets/node/runtime/node-middleware.mjs +7 -6
  145. package/dist/presets/node/runtime/node-server.mjs +34 -24
  146. package/dist/presets/standard/runtime/server.d.mts +1 -3
  147. package/dist/presets/standard/runtime/server.mjs +1 -3
  148. package/dist/presets/stormkit/runtime/stormkit.d.mts +13 -13
  149. package/dist/presets/stormkit/runtime/stormkit.mjs +20 -20
  150. package/dist/presets/vercel/runtime/vercel.d.mts +3 -3
  151. package/dist/presets/vercel/runtime/vercel.mjs +15 -14
  152. package/dist/presets/winterjs/runtime/winterjs.d.mts +2 -0
  153. package/dist/presets/winterjs/runtime/winterjs.mjs +72 -68
  154. package/dist/presets/zeabur/runtime/zeabur.d.mts +1 -1
  155. package/dist/runtime/index.d.mts +13 -2
  156. package/dist/runtime/index.mjs +13 -8
  157. package/dist/runtime/internal/app.d.mts +3 -1
  158. package/dist/runtime/internal/app.mjs +179 -140
  159. package/dist/runtime/internal/cache.d.mts +10 -4
  160. package/dist/runtime/internal/cache.mjs +247 -216
  161. package/dist/runtime/internal/context.d.mts +9 -9
  162. package/dist/runtime/internal/context.mjs +17 -10
  163. package/dist/runtime/internal/database.mjs +8 -10
  164. package/dist/runtime/internal/error/dev.d.mts +5 -4
  165. package/dist/runtime/internal/error/dev.mjs +106 -105
  166. package/dist/runtime/internal/error/prod.d.mts +5 -4
  167. package/dist/runtime/internal/error/prod.mjs +51 -59
  168. package/dist/runtime/internal/error/utils.d.mts +4 -4
  169. package/dist/runtime/internal/error/utils.mjs +1 -1
  170. package/dist/runtime/internal/index.d.mts +2 -0
  171. package/dist/runtime/internal/index.mjs +2 -0
  172. package/dist/runtime/internal/lib/http-graceful-shutdown.d.mts +14 -14
  173. package/dist/runtime/internal/lib/http-graceful-shutdown.mjs +248 -209
  174. package/dist/runtime/internal/meta.d.mts +1 -1
  175. package/dist/runtime/internal/meta.mjs +1 -1
  176. package/dist/runtime/internal/plugin.d.mts +2 -2
  177. package/dist/runtime/internal/plugin.mjs +1 -1
  178. package/dist/runtime/internal/renderer.mjs +40 -32
  179. package/dist/runtime/internal/route-rules.d.mts +8 -8
  180. package/dist/runtime/internal/route-rules.mjs +53 -51
  181. package/dist/runtime/internal/routes/dev-tasks.d.mts +1 -2
  182. package/dist/runtime/internal/routes/dev-tasks.mjs +15 -17
  183. package/dist/runtime/internal/routes/openapi.d.mts +1 -0
  184. package/dist/runtime/internal/routes/openapi.mjs +81 -87
  185. package/dist/runtime/internal/routes/renderer-template.d.mts +1 -1
  186. package/dist/runtime/internal/routes/renderer-template.dev.d.mts +1 -2
  187. package/dist/runtime/internal/routes/renderer-template.dev.mjs +10 -17
  188. package/dist/runtime/internal/routes/renderer-template.mjs +1 -1
  189. package/dist/runtime/internal/routes/scalar.d.mts +1 -0
  190. package/dist/runtime/internal/routes/scalar.mjs +22 -23
  191. package/dist/runtime/internal/routes/swagger.d.mts +1 -0
  192. package/dist/runtime/internal/routes/swagger.mjs +9 -11
  193. package/dist/runtime/internal/runtime-config.d.mts +4 -4
  194. package/dist/runtime/internal/runtime-config.mjs +40 -35
  195. package/dist/runtime/internal/shutdown.d.mts +2 -8
  196. package/dist/runtime/internal/shutdown.mjs +32 -30
  197. package/dist/runtime/internal/static.mjs +63 -74
  198. package/dist/runtime/internal/storage.mjs +2 -2
  199. package/dist/runtime/internal/task.d.mts +6 -6
  200. package/dist/runtime/internal/task.mjs +56 -60
  201. package/dist/runtime/internal/utils.d.mts +1 -1
  202. package/dist/runtime/internal/utils.mjs +4 -10
  203. package/dist/types/index.d.mts +2594 -2286
  204. package/dist/types/index.mjs +1 -1
  205. package/dist/vite.d.mts +56 -47
  206. package/dist/vite.mjs +55 -68
  207. package/lib/index.d.mts +1 -0
  208. package/lib/index.mjs +1 -0
  209. package/lib/runtime/meta.mjs +35 -0
  210. package/package.json +49 -50
  211. package/dist/_chunks/app.mjs +0 -19797
  212. package/dist/_chunks/build.mjs +0 -84
  213. package/dist/_chunks/build2.mjs +0 -318
  214. package/dist/_chunks/build3.mjs +0 -6452
  215. package/dist/_chunks/detect-acorn.mjs +0 -503
  216. package/dist/_chunks/index.mjs +0 -22242
  217. package/dist/_chunks/index2.mjs +0 -297
  218. package/dist/_chunks/index3.mjs +0 -1058
  219. package/dist/_chunks/index4.mjs +0 -1206
  220. package/dist/_chunks/info.mjs +0 -11157
  221. package/dist/_chunks/json5.mjs +0 -68
  222. package/dist/_chunks/jsonc.mjs +0 -51
  223. package/dist/_chunks/pathe.M-eThtNZ.mjs +0 -204
  224. package/dist/_chunks/plugin.mjs +0 -960
  225. package/dist/_chunks/server.mjs +0 -254
  226. package/dist/_chunks/snapshot.mjs +0 -284
  227. package/dist/_chunks/toml.mjs +0 -259
  228. package/dist/_chunks/yaml.mjs +0 -86
  229. package/dist/cli/build.mjs +0 -54
  230. package/dist/cli/common.mjs +0 -13
  231. package/dist/cli/dev.mjs +0 -95
  232. package/dist/cli/index2.mjs +0 -17
  233. package/dist/cli/list.mjs +0 -34
  234. package/dist/cli/prepare.mjs +0 -24
  235. package/dist/cli/run.mjs +0 -60
  236. package/dist/index.d.mts +0 -52
  237. package/dist/index.mjs +0 -55
  238. package/dist/node_modules/klona/dist/index.mjs +0 -81
  239. package/dist/node_modules/klona/full/index.mjs +0 -53
  240. package/dist/node_modules/klona/package.json +0 -74
  241. package/dist/node_modules/std-env/dist/index.mjs +0 -1
  242. package/dist/node_modules/std-env/package.json +0 -46
  243. package/dist/presets.mjs +0 -2460
  244. package/dist/runtime/internal/debug.d.mts +0 -2
  245. package/dist/runtime/internal/debug.mjs +0 -5
  246. package/dist/runtime/internal/empty.d.mts +0 -0
  247. package/dist/runtime/internal/vite/dev-entry.d.mts +0 -1
  248. package/dist/runtime/internal/vite/dev-worker.d.mts +0 -1
  249. package/dist/runtime/internal/vite/prod-setup.d.mts +0 -4
  250. package/dist/runtime/internal/vite/ssr-renderer.d.mts +0 -4
  251. package/lib/runtime-meta.mjs +0 -38
  252. /package/lib/{runtime-meta.d.mts → runtime/meta.d.mts} +0 -0
@@ -0,0 +1,216 @@
1
+ import { b as join, n as debounce, w as relative, x as normalize } from "../_libs/c12.mjs";
2
+ import "../_libs/gen-mapping.mjs";
3
+ import "../_libs/magic-string.mjs";
4
+ import "../_libs/acorn.mjs";
5
+ import "../_libs/confbox.mjs";
6
+ import { f as sanitizeFilePath } from "../_libs/local-pkg.mjs";
7
+ import "../_libs/js-tokens.mjs";
8
+ import "../_libs/strip-literal.mjs";
9
+ import "../_libs/unimport.mjs";
10
+ import "../_libs/picomatch.mjs";
11
+ import "../_libs/fdir.mjs";
12
+ import "../_libs/tinyglobby.mjs";
13
+ import { t as formatCompatibilityDate } from "../_libs/compatx.mjs";
14
+ import "../_libs/klona.mjs";
15
+ import "../_libs/std-env.mjs";
16
+ import "../_libs/dot-prop.mjs";
17
+ import { n as writeTypes, o as scanHandlers } from "../_chunks/B5ooyfLk.mjs";
18
+ import "../_libs/mime.mjs";
19
+ import "../_libs/pathe.mjs";
20
+ import "../_libs/untyped.mjs";
21
+ import "../_libs/knitwork.mjs";
22
+ import { i as watch$1 } from "../_libs/chokidar.mjs";
23
+ import "../_libs/etag.mjs";
24
+ import "../_libs/estree-walker.mjs";
25
+ import "../_libs/plugin-commonjs.mjs";
26
+ import "../_libs/plugin-replace.mjs";
27
+ import { i as replace, n as baseBuildPlugins, r as baseBuildConfig, t as writeBuildInfo } from "./common.mjs";
28
+ import "../_libs/remapping.mjs";
29
+ import "../_libs/unwasm.mjs";
30
+ import { i as raw, n as generateFSTree, r as nitroServerName, t as snapshot } from "../_chunks/B3asVbT4.mjs";
31
+ import "../_libs/duplexer.mjs";
32
+ import "../_libs/gzip-size.mjs";
33
+ import "../_libs/pretty-bytes.mjs";
34
+ import { builtinModules } from "node:module";
35
+ import { watch } from "node:fs";
36
+ import { defu } from "defu";
37
+ import { runtimeDir } from "nitro/runtime/meta";
38
+
39
+ //#region src/build/rolldown/config.ts
40
+ const getRolldownConfig = (nitro) => {
41
+ const base = baseBuildConfig(nitro);
42
+ const chunkNamePrefixes = [
43
+ [nitro.options.buildDir, "build"],
44
+ [base.buildServerDir, "app"],
45
+ [runtimeDir, "nitro"],
46
+ [base.presetsDir, "nitro"],
47
+ ["\0raw:", "raw"],
48
+ ["\0nitro-wasm:", "wasm"],
49
+ ["\0", "virtual"]
50
+ ];
51
+ let config = {
52
+ cwd: nitro.options.rootDir,
53
+ input: nitro.options.entry,
54
+ external: [
55
+ ...base.env.external,
56
+ ...builtinModules,
57
+ ...builtinModules.map((m) => `node:${m}`)
58
+ ],
59
+ plugins: [
60
+ ...baseBuildPlugins(nitro, base),
61
+ replace({
62
+ delimiters: base.replaceDelimiters,
63
+ preventAssignment: true,
64
+ values: base.replacements
65
+ }),
66
+ raw()
67
+ ],
68
+ resolve: {
69
+ alias: base.aliases,
70
+ extensions: base.extensions,
71
+ mainFields: ["main"],
72
+ conditionNames: nitro.options.exportConditions
73
+ },
74
+ transform: {
75
+ inject: base.env.inject,
76
+ jsx: {
77
+ runtime: "classic",
78
+ pragma: nitro.options.esbuild?.options?.jsxFactory,
79
+ pragmaFrag: nitro.options.esbuild?.options?.jsxFragment,
80
+ development: nitro.options.dev
81
+ }
82
+ },
83
+ onwarn(warning, warn) {
84
+ if (!["CIRCULAR_DEPENDENCY", "EVAL"].includes(warning.code || "") && !warning.message.includes("Unsupported source map comment")) warn(warning);
85
+ },
86
+ treeshake: { moduleSideEffects(id) {
87
+ const normalizedId = normalize(id);
88
+ const idWithoutNodeModules = normalizedId.split("node_modules/").pop();
89
+ if (!idWithoutNodeModules) return false;
90
+ if (normalizedId.startsWith(runtimeDir) || idWithoutNodeModules.startsWith(runtimeDir)) return true;
91
+ return nitro.options.moduleSideEffects.some((m) => normalizedId.startsWith(m) || idWithoutNodeModules.startsWith(m));
92
+ } },
93
+ output: {
94
+ dir: nitro.options.output.serverDir,
95
+ entryFileNames: "index.mjs",
96
+ minify: nitro.options.minify,
97
+ chunkFileNames(chunk) {
98
+ const id = normalize(chunk.moduleIds.at(-1) || "");
99
+ for (const [dir, name] of chunkNamePrefixes) if (id.startsWith(dir)) return `chunks/${name}/[name].mjs`;
100
+ const routeHandler = nitro.options.handlers.find((h) => id.startsWith(h.handler)) || nitro.scannedHandlers.find((h) => id.startsWith(h.handler));
101
+ if (routeHandler?.route) return `chunks/routes${routeHandler.route.replace(/:([^/]+)/g, "_$1").replace(/\/[^/]+$/g, "") || "/"}/[name].mjs`;
102
+ if (Object.entries(nitro.options.tasks).find(([_, task]) => task.handler === id)) return `chunks/tasks/[name].mjs`;
103
+ return `chunks/_/[name].mjs`;
104
+ },
105
+ inlineDynamicImports: nitro.options.inlineDynamicImports,
106
+ format: "esm",
107
+ exports: "auto",
108
+ intro: "",
109
+ outro: "",
110
+ sanitizeFileName: sanitizeFilePath,
111
+ sourcemap: nitro.options.sourceMap,
112
+ sourcemapIgnoreList(relativePath) {
113
+ return relativePath.includes("node_modules");
114
+ }
115
+ }
116
+ };
117
+ config = defu(nitro.options.rollupConfig, config);
118
+ return config;
119
+ };
120
+
121
+ //#endregion
122
+ //#region src/build/rolldown/dev.ts
123
+ async function watchDev(nitro, config) {
124
+ const rolldown = await import("rolldown");
125
+ let watcher;
126
+ async function load() {
127
+ if (watcher) await watcher.close();
128
+ await scanHandlers(nitro);
129
+ nitro.routing.sync();
130
+ watcher = startWatcher(nitro, config);
131
+ await writeTypes(nitro);
132
+ }
133
+ const reload = debounce(load);
134
+ const scanDirs = nitro.options.scanDirs.flatMap((dir) => [
135
+ join(dir, nitro.options.apiDir || "api"),
136
+ join(dir, nitro.options.routesDir || "routes"),
137
+ join(dir, "middleware"),
138
+ join(dir, "plugins"),
139
+ join(dir, "modules")
140
+ ]);
141
+ const watchReloadEvents = new Set([
142
+ "add",
143
+ "addDir",
144
+ "unlink",
145
+ "unlinkDir"
146
+ ]);
147
+ const scanDirsWatcher = watch$1(scanDirs, { ignoreInitial: true }).on("all", (event) => {
148
+ if (watchReloadEvents.has(event)) reload();
149
+ });
150
+ const srcDirWatcher = watch(nitro.options.srcDir, { persistent: false }, (_event, filename) => {
151
+ if (filename && /^server\.[mc]?[jt]sx?$/.test(filename)) reload();
152
+ });
153
+ nitro.hooks.hook("close", () => {
154
+ watcher.close();
155
+ scanDirsWatcher.close();
156
+ srcDirWatcher.close();
157
+ });
158
+ nitro.hooks.hook("rollup:reload", () => reload());
159
+ await load();
160
+ function startWatcher(nitro$1, config$1) {
161
+ const watcher$1 = rolldown.watch(config$1);
162
+ let start;
163
+ watcher$1.on("event", (event) => {
164
+ switch (event.code) {
165
+ case "START":
166
+ start = Date.now();
167
+ nitro$1.hooks.callHook("dev:start");
168
+ break;
169
+ case "BUNDLE_END":
170
+ nitro$1.hooks.callHook("compiled", nitro$1);
171
+ if (nitro$1.options.logging.buildSuccess) nitro$1.logger.success(`${nitroServerName(nitro$1)} built with rolldown`, start ? `in ${Date.now() - start}ms` : "");
172
+ nitro$1.hooks.callHook("dev:reload");
173
+ break;
174
+ case "ERROR": nitro$1.hooks.callHook("dev:error", event.error);
175
+ }
176
+ });
177
+ return watcher$1;
178
+ }
179
+ }
180
+
181
+ //#endregion
182
+ //#region src/build/rolldown/prod.ts
183
+ async function buildProduction(nitro, config) {
184
+ const rolldown = await import("rolldown");
185
+ await scanHandlers(nitro);
186
+ await writeTypes(nitro);
187
+ await snapshot(nitro);
188
+ if (!nitro.options.static) {
189
+ nitro.logger.info(`Building ${nitroServerName(nitro)} (rolldown, preset: \`${nitro.options.preset}\`, compatibility date: \`${formatCompatibilityDate(nitro.options.compatibilityDate)}\`)`);
190
+ await (await rolldown.rolldown(config)).write(config.output);
191
+ }
192
+ const buildInfo = await writeBuildInfo(nitro);
193
+ if (!nitro.options.static) {
194
+ if (nitro.options.logging.buildSuccess) nitro.logger.success(`${nitroServerName(nitro)} built`);
195
+ if (nitro.options.logLevel > 1) process.stdout.write(await generateFSTree(nitro.options.output.serverDir, { compressedSizes: nitro.options.logging.compressedSizes }) || "");
196
+ }
197
+ await nitro.hooks.callHook("compiled", nitro);
198
+ const rOutput = relative(process.cwd(), nitro.options.output.dir);
199
+ const rewriteRelativePaths = (input) => {
200
+ return input.replace(/([\s:])\.\/(\S*)/g, `$1${rOutput}/$2`);
201
+ };
202
+ if (buildInfo.commands.preview) nitro.logger.success(`You can preview this build using \`${rewriteRelativePaths(buildInfo.commands.preview)}\``);
203
+ if (buildInfo.commands.deploy) nitro.logger.success(`You can deploy this build using \`${rewriteRelativePaths(buildInfo.commands.deploy)}\``);
204
+ }
205
+
206
+ //#endregion
207
+ //#region src/build/rolldown/build.ts
208
+ async function rolldownBuild(nitro) {
209
+ await nitro.hooks.callHook("build:before", nitro);
210
+ const config = getRolldownConfig(nitro);
211
+ await nitro.hooks.callHook("rollup:before", nitro, config);
212
+ return nitro.options.dev ? watchDev(nitro, config) : buildProduction(nitro, config);
213
+ }
214
+
215
+ //#endregion
216
+ export { rolldownBuild };
@@ -0,0 +1,359 @@
1
+ import { b as join, n as debounce, v as extname, w as relative, x as normalize, y as isAbsolute } from "../_libs/c12.mjs";
2
+ import "../_libs/gen-mapping.mjs";
3
+ import "../_libs/magic-string.mjs";
4
+ import "../_libs/acorn.mjs";
5
+ import "../_libs/confbox.mjs";
6
+ import { f as sanitizeFilePath } from "../_libs/local-pkg.mjs";
7
+ import "../_libs/js-tokens.mjs";
8
+ import "../_libs/strip-literal.mjs";
9
+ import { a as createFilter } from "../_libs/unimport.mjs";
10
+ import "../_libs/picomatch.mjs";
11
+ import "../_libs/fdir.mjs";
12
+ import "../_libs/tinyglobby.mjs";
13
+ import { t as formatCompatibilityDate } from "../_libs/compatx.mjs";
14
+ import "../_libs/klona.mjs";
15
+ import "../_libs/std-env.mjs";
16
+ import "../_libs/dot-prop.mjs";
17
+ import { n as writeTypes, o as scanHandlers } from "../_chunks/B5ooyfLk.mjs";
18
+ import "../_libs/mime.mjs";
19
+ import "../_libs/pathe.mjs";
20
+ import "../_libs/untyped.mjs";
21
+ import "../_libs/knitwork.mjs";
22
+ import { i as watch$1 } from "../_libs/chokidar.mjs";
23
+ import "../_libs/etag.mjs";
24
+ import { t as alias } from "../_libs/plugin-alias.mjs";
25
+ import "../_libs/estree-walker.mjs";
26
+ import { t as commonjs } from "../_libs/plugin-commonjs.mjs";
27
+ import { t as inject } from "../_libs/plugin-inject.mjs";
28
+ import "../_libs/plugin-replace.mjs";
29
+ import { i as replace, n as baseBuildPlugins, r as baseBuildConfig, t as writeBuildInfo } from "./common.mjs";
30
+ import "../_libs/remapping.mjs";
31
+ import "../_libs/unwasm.mjs";
32
+ import { i as raw, n as generateFSTree, r as nitroServerName, t as snapshot } from "../_chunks/B3asVbT4.mjs";
33
+ import "../_libs/duplexer.mjs";
34
+ import "../_libs/gzip-size.mjs";
35
+ import "../_libs/pretty-bytes.mjs";
36
+ import "../_libs/commondir.mjs";
37
+ import "../_libs/is-reference.mjs";
38
+ import { t as json } from "../_libs/plugin-json.mjs";
39
+ import "../_libs/deepmerge.mjs";
40
+ import "../_libs/is-module.mjs";
41
+ import { t as nodeResolve } from "../_libs/plugin-node-resolve.mjs";
42
+ import "../_libs/path-parse.mjs";
43
+ import "../_libs/function-bind.mjs";
44
+ import "../_libs/hasown.mjs";
45
+ import "../_libs/is-core-module.mjs";
46
+ import { createRequire } from "node:module";
47
+ import { watch } from "node:fs";
48
+ import { defu } from "defu";
49
+ import { runtimeDir } from "nitro/runtime/meta";
50
+ import { transform } from "esbuild";
51
+
52
+ //#region src/build/plugins/esbuild.ts
53
+ const defaultLoaders = {
54
+ ".ts": "ts",
55
+ ".js": "js",
56
+ ".tsx": "tsx",
57
+ ".jsx": "jsx"
58
+ };
59
+ function esbuild(options) {
60
+ const { include, exclude, sourceMap, loaders: loadersConfig, minify,...transformOptions } = options;
61
+ const loaders = { ...defaultLoaders };
62
+ if (loadersConfig) for (const key of Object.keys(loadersConfig)) {
63
+ const value = loadersConfig[key];
64
+ if (typeof value === "string") loaders[key] = value;
65
+ else if (value === false) delete loaders[key];
66
+ }
67
+ const extensions = Object.keys(loaders);
68
+ const INCLUDE_REGEXP = /* @__PURE__ */ new RegExp(`\\.(${extensions.map((ext) => ext.slice(1)).join("|")})$`);
69
+ const filter = createFilter(include || INCLUDE_REGEXP, exclude || /node_modules/);
70
+ return {
71
+ name: "esbuild",
72
+ async transform(code, id) {
73
+ if (!filter(id)) return null;
74
+ const loader = loaders[extname(id)];
75
+ if (!loader) return null;
76
+ const result = await transform(code, {
77
+ sourcemap: sourceMap === "hidden" ? "external" : sourceMap,
78
+ ...transformOptions,
79
+ loader,
80
+ sourcefile: id
81
+ });
82
+ printWarnings(id, result, this);
83
+ return result.code && {
84
+ code: result.code,
85
+ map: result.map || null
86
+ };
87
+ },
88
+ async renderChunk(code) {
89
+ if (minify) {
90
+ const result = await transform(code, {
91
+ loader: "js",
92
+ minify: true,
93
+ target: transformOptions.target
94
+ });
95
+ if (result.code) return {
96
+ code: result.code,
97
+ map: result.map || null
98
+ };
99
+ }
100
+ return null;
101
+ }
102
+ };
103
+ }
104
+ function printWarnings(id, result, plugin) {
105
+ if (result.warnings) for (const warning of result.warnings) {
106
+ let message = "[esbuild]";
107
+ if (warning.location) message += ` (${relative(process.cwd(), id)}:${warning.location.line}:${warning.location.column})`;
108
+ message += ` ${warning.text}`;
109
+ plugin.warn(message);
110
+ }
111
+ }
112
+
113
+ //#endregion
114
+ //#region src/build/plugins/sourcemap-min.ts
115
+ function sourcemapMininify() {
116
+ return {
117
+ name: "nitro:sourcemap-minify",
118
+ generateBundle(_options, bundle) {
119
+ for (const [key, asset] of Object.entries(bundle)) {
120
+ if (!key.endsWith(".map") || !("source" in asset) || typeof asset.source !== "string") continue;
121
+ const sourcemap = JSON.parse(asset.source);
122
+ if (!(sourcemap.sources || []).some((s) => s.includes("node_modules"))) continue;
123
+ sourcemap.mappings = "";
124
+ asset.source = JSON.stringify(sourcemap);
125
+ }
126
+ }
127
+ };
128
+ }
129
+
130
+ //#endregion
131
+ //#region src/build/rollup/config.ts
132
+ const getRollupConfig = (nitro) => {
133
+ const base = baseBuildConfig(nitro);
134
+ const chunkNamePrefixes = [
135
+ [nitro.options.buildDir, "build"],
136
+ [base.buildServerDir, "app"],
137
+ [runtimeDir, "nitro"],
138
+ [base.presetsDir, "nitro"],
139
+ ["\0raw:", "raw"],
140
+ ["\0nitro-wasm:", "wasm"],
141
+ ["\0", "virtual"]
142
+ ];
143
+ function getChunkGroup(id) {
144
+ if (id.startsWith(runtimeDir) || id.startsWith(base.presetsDir)) return "nitro";
145
+ }
146
+ let config = {
147
+ input: nitro.options.entry,
148
+ external: [...base.env.external],
149
+ plugins: [
150
+ ...baseBuildPlugins(nitro, base),
151
+ esbuild({
152
+ target: "esnext",
153
+ sourceMap: nitro.options.sourceMap,
154
+ ...nitro.options.esbuild?.options
155
+ }),
156
+ alias({ entries: base.aliases }),
157
+ replace({
158
+ delimiters: base.replaceDelimiters,
159
+ preventAssignment: true,
160
+ values: base.replacements
161
+ }),
162
+ nodeResolve({
163
+ extensions: base.extensions,
164
+ preferBuiltins: !!nitro.options.node,
165
+ rootDir: nitro.options.rootDir,
166
+ modulePaths: nitro.options.nodeModulesDirs,
167
+ mainFields: ["main"],
168
+ exportConditions: nitro.options.exportConditions
169
+ }),
170
+ commonjs({
171
+ strictRequires: "auto",
172
+ esmExternals: (id) => !id.startsWith("unenv/"),
173
+ requireReturnsDefault: "auto",
174
+ ...nitro.options.commonJS
175
+ }),
176
+ json(),
177
+ inject(base.env.inject),
178
+ raw()
179
+ ],
180
+ onwarn(warning, rollupWarn) {
181
+ if (![
182
+ "EVAL",
183
+ "CIRCULAR_DEPENDENCY",
184
+ "THIS_IS_UNDEFINED"
185
+ ].includes(warning.code || "") && !warning.message.includes("Unsupported source map comment")) rollupWarn(warning);
186
+ },
187
+ treeshake: { moduleSideEffects(id) {
188
+ const normalizedId = normalize(id);
189
+ const idWithoutNodeModules = normalizedId.split("node_modules/").pop();
190
+ if (!idWithoutNodeModules) return false;
191
+ if (normalizedId.startsWith(runtimeDir) || idWithoutNodeModules.startsWith(runtimeDir)) return true;
192
+ return nitro.options.moduleSideEffects.some((m) => normalizedId.startsWith(m) || idWithoutNodeModules.startsWith(m));
193
+ } },
194
+ output: {
195
+ dir: nitro.options.output.serverDir,
196
+ entryFileNames: "index.mjs",
197
+ chunkFileNames(chunk) {
198
+ const id = normalize(chunk.moduleIds.at(-1) || "");
199
+ for (const [dir, name] of chunkNamePrefixes) if (id.startsWith(dir)) return `chunks/${name}/[name].mjs`;
200
+ const routeHandler = nitro.options.handlers.find((h) => id.startsWith(h.handler)) || nitro.scannedHandlers.find((h) => id.startsWith(h.handler));
201
+ if (routeHandler?.route) return `chunks/routes${routeHandler.route.replace(/:([^/]+)/g, "_$1").replace(/\/[^/]+$/g, "") || "/"}/[name].mjs`;
202
+ if (Object.entries(nitro.options.tasks).find(([_, task]) => task.handler === id)) return `chunks/tasks/[name].mjs`;
203
+ return `chunks/_/[name].mjs`;
204
+ },
205
+ manualChunks(id) {
206
+ return getChunkGroup(id);
207
+ },
208
+ inlineDynamicImports: nitro.options.inlineDynamicImports,
209
+ format: "esm",
210
+ exports: "auto",
211
+ intro: "",
212
+ outro: "",
213
+ generatedCode: { constBindings: true },
214
+ sanitizeFileName: sanitizeFilePath,
215
+ sourcemap: nitro.options.sourceMap,
216
+ sourcemapExcludeSources: true,
217
+ sourcemapIgnoreList(relativePath) {
218
+ return relativePath.includes("node_modules");
219
+ }
220
+ }
221
+ };
222
+ config = defu(nitro.options.rollupConfig, config);
223
+ if (config.output.inlineDynamicImports) delete config.output.manualChunks;
224
+ if (nitro.options.minify) {
225
+ const _terser = createRequire(import.meta.url)("@rollup/plugin-terser");
226
+ const terser = _terser.default || _terser;
227
+ config.plugins.push(terser({
228
+ mangle: {
229
+ keep_fnames: true,
230
+ keep_classnames: true
231
+ },
232
+ format: { comments: false }
233
+ }));
234
+ }
235
+ if (nitro.options.sourceMap && !nitro.options.dev && nitro.options.experimental.sourcemapMinify !== false) config.plugins.push(sourcemapMininify());
236
+ return config;
237
+ };
238
+
239
+ //#endregion
240
+ //#region src/build/rollup/error.ts
241
+ function formatRollupError(_error) {
242
+ try {
243
+ const logs = [_error.toString()];
244
+ const errors = _error?.errors || [_error];
245
+ for (const error of errors) {
246
+ const id = error.path || error.id || _error.id;
247
+ let path = isAbsolute(id) ? relative(process.cwd(), id) : id;
248
+ const location = error.loc || error.location;
249
+ if (location) path += `:${location.line}:${location.column}`;
250
+ const text = error.text || error.frame;
251
+ logs.push(`Rollup error while processing \`${path}\`` + text ? "\n\n" + text : "");
252
+ }
253
+ return logs.join("\n");
254
+ } catch {
255
+ return _error?.toString();
256
+ }
257
+ }
258
+
259
+ //#endregion
260
+ //#region src/build/rollup/dev.ts
261
+ async function watchDev(nitro, rollupConfig) {
262
+ const rollup = await import("rollup");
263
+ let rollupWatcher;
264
+ async function load() {
265
+ if (rollupWatcher) await rollupWatcher.close();
266
+ await scanHandlers(nitro);
267
+ nitro.routing.sync();
268
+ rollupWatcher = startRollupWatcher(nitro, rollupConfig);
269
+ await writeTypes(nitro);
270
+ }
271
+ const reload = debounce(load);
272
+ const scanDirs = nitro.options.scanDirs.flatMap((dir) => [
273
+ join(dir, nitro.options.apiDir || "api"),
274
+ join(dir, nitro.options.routesDir || "routes"),
275
+ join(dir, "middleware"),
276
+ join(dir, "plugins"),
277
+ join(dir, "modules")
278
+ ]);
279
+ const watchReloadEvents = new Set([
280
+ "add",
281
+ "addDir",
282
+ "unlink",
283
+ "unlinkDir"
284
+ ]);
285
+ const scanDirsWatcher = watch$1(scanDirs, { ignoreInitial: true }).on("all", (event, path, stat) => {
286
+ if (watchReloadEvents.has(event)) reload();
287
+ });
288
+ const srcDirWatcher = watch(nitro.options.srcDir, { persistent: false }, (_event, filename) => {
289
+ if (filename && /^server\.[mc]?[jt]sx?$/.test(filename)) reload();
290
+ });
291
+ nitro.hooks.hook("close", () => {
292
+ rollupWatcher.close();
293
+ scanDirsWatcher.close();
294
+ srcDirWatcher.close();
295
+ });
296
+ nitro.hooks.hook("rollup:reload", () => reload());
297
+ await load();
298
+ function startRollupWatcher(nitro$1, rollupConfig$1) {
299
+ const watcher = rollup.watch(defu(rollupConfig$1, { watch: { chokidar: nitro$1.options.watchOptions } }));
300
+ let start;
301
+ watcher.on("event", (event) => {
302
+ switch (event.code) {
303
+ case "START":
304
+ start = Date.now();
305
+ nitro$1.hooks.callHook("dev:start");
306
+ break;
307
+ case "BUNDLE_END":
308
+ nitro$1.hooks.callHook("compiled", nitro$1);
309
+ if (nitro$1.options.logging.buildSuccess) nitro$1.logger.success(`${nitroServerName(nitro$1)} built with rollup`, start ? `in ${Date.now() - start}ms` : "");
310
+ nitro$1.hooks.callHook("dev:reload");
311
+ break;
312
+ case "ERROR":
313
+ nitro$1.logger.error(formatRollupError(event.error));
314
+ nitro$1.hooks.callHook("dev:error", event.error);
315
+ }
316
+ });
317
+ return watcher;
318
+ }
319
+ }
320
+
321
+ //#endregion
322
+ //#region src/build/rollup/prod.ts
323
+ async function buildProduction(nitro, rollupConfig) {
324
+ const rollup = await import("rollup");
325
+ await scanHandlers(nitro);
326
+ await writeTypes(nitro);
327
+ await snapshot(nitro);
328
+ if (!nitro.options.static) {
329
+ nitro.logger.info(`Building ${nitroServerName(nitro)} (rollup, preset: \`${nitro.options.preset}\`, compatibility date: \`${formatCompatibilityDate(nitro.options.compatibilityDate)}\`)`);
330
+ await (await rollup.rollup(rollupConfig).catch((error) => {
331
+ nitro.logger.error(formatRollupError(error));
332
+ throw error;
333
+ })).write(rollupConfig.output);
334
+ }
335
+ const buildInfo = await writeBuildInfo(nitro);
336
+ if (!nitro.options.static) {
337
+ if (nitro.options.logging.buildSuccess) nitro.logger.success(`${nitroServerName(nitro)} built`);
338
+ if (nitro.options.logLevel > 1) process.stdout.write(await generateFSTree(nitro.options.output.serverDir, { compressedSizes: nitro.options.logging.compressedSizes }) || "");
339
+ }
340
+ await nitro.hooks.callHook("compiled", nitro);
341
+ const rOutput = relative(process.cwd(), nitro.options.output.dir);
342
+ const rewriteRelativePaths = (input) => {
343
+ return input.replace(/([\s:])\.\/(\S*)/g, `$1${rOutput}/$2`);
344
+ };
345
+ if (buildInfo.commands.preview) nitro.logger.success(`You can preview this build using \`${rewriteRelativePaths(buildInfo.commands.preview)}\``);
346
+ if (buildInfo.commands.deploy) nitro.logger.success(`You can deploy this build using \`${rewriteRelativePaths(buildInfo.commands.deploy)}\``);
347
+ }
348
+
349
+ //#endregion
350
+ //#region src/build/rollup/build.ts
351
+ async function rollupBuild(nitro) {
352
+ await nitro.hooks.callHook("build:before", nitro);
353
+ const config = getRollupConfig(nitro);
354
+ await nitro.hooks.callHook("rollup:before", nitro, config);
355
+ return nitro.options.dev ? watchDev(nitro, config) : buildProduction(nitro, config);
356
+ }
357
+
358
+ //#endregion
359
+ export { rollupBuild };
@@ -0,0 +1,67 @@
1
+ import "../_libs/c12.mjs";
2
+ import "../_libs/gen-mapping.mjs";
3
+ import "../_libs/magic-string.mjs";
4
+ import "../_libs/acorn.mjs";
5
+ import "../_libs/confbox.mjs";
6
+ import "../_libs/local-pkg.mjs";
7
+ import "../_libs/js-tokens.mjs";
8
+ import "../_libs/strip-literal.mjs";
9
+ import "../_libs/unimport.mjs";
10
+ import "../_libs/picomatch.mjs";
11
+ import "../_libs/fdir.mjs";
12
+ import "../_libs/tinyglobby.mjs";
13
+ import "../_libs/compatx.mjs";
14
+ import "../_libs/klona.mjs";
15
+ import { n as a } from "../_libs/std-env.mjs";
16
+ import "../_chunks/B-7HiF0V.mjs";
17
+ import "../_libs/escape-string-regexp.mjs";
18
+ import "../_libs/dot-prop.mjs";
19
+ import "../_chunks/B5ooyfLk.mjs";
20
+ import "../_libs/rou3.mjs";
21
+ import "../_libs/mime.mjs";
22
+ import "../_libs/pathe.mjs";
23
+ import "../_libs/untyped.mjs";
24
+ import "../_libs/knitwork.mjs";
25
+ import "../_libs/httpxy.mjs";
26
+ import "../_dev.mjs";
27
+ import "../_libs/chokidar.mjs";
28
+ import "../_libs/encodeurl.mjs";
29
+ import "../_libs/escape-html.mjs";
30
+ import "../_libs/parseurl.mjs";
31
+ import "../_libs/depd.mjs";
32
+ import "../_libs/http-errors.mjs";
33
+ import "../_libs/debug.mjs";
34
+ import "../_libs/etag.mjs";
35
+ import "../_libs/fresh.mjs";
36
+ import "../_libs/mime-db.mjs";
37
+ import "../_libs/mime-types.mjs";
38
+ import "../_libs/ee-first.mjs";
39
+ import "../_libs/on-finished.mjs";
40
+ import "../_libs/range-parser.mjs";
41
+ import "../_libs/send.mjs";
42
+ import "../_libs/serve-static.mjs";
43
+ import "../_libs/ultrahtml.mjs";
44
+ import "../_libs/plugin-alias.mjs";
45
+ import "../_libs/estree-walker.mjs";
46
+ import "../_libs/plugin-commonjs.mjs";
47
+ import "../_libs/plugin-inject.mjs";
48
+ import "../_libs/plugin-replace.mjs";
49
+ import "./common.mjs";
50
+ import "../_libs/remapping.mjs";
51
+ import "../_libs/unwasm.mjs";
52
+ import { t as nitro } from "./vite.plugin.mjs";
53
+ import "../_libs/vite-plugin-fullstack.mjs";
54
+
55
+ //#region src/build/vite/build.ts
56
+ async function viteBuild(nitro$1) {
57
+ if (nitro$1.options.dev) throw new Error("Nitro vite builder is not supported in development mode. Please use `vite dev` instead.");
58
+ const { createBuilder } = await import("vite");
59
+ await (await createBuilder({
60
+ base: nitro$1.options.rootDir,
61
+ plugins: [await nitro({ _nitro: nitro$1 })],
62
+ logLevel: a ? "warn" : void 0
63
+ })).buildApp();
64
+ }
65
+
66
+ //#endregion
67
+ export { viteBuild };