nitro-nightly 4.0.0-20251010-091516-7cafddba → 4.0.0-20251030-091344-d4418b98

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 (195) hide show
  1. package/dist/{_chunks/build2.mjs → _build/build.mjs} +108 -58
  2. package/dist/_build/build2.mjs +556 -0
  3. package/dist/_build/info.mjs +1002 -0
  4. package/dist/_build/prepare.mjs +1511 -0
  5. package/dist/_build/snapshot.mjs +185 -0
  6. package/dist/{_chunks/plugin.mjs → _build/vite.mjs} +295 -296
  7. package/dist/_build/vite2.mjs +149 -0
  8. package/dist/_chunks/_deps/@jridgewell/gen-mapping.mjs +189 -0
  9. package/dist/_chunks/_deps/@jridgewell/remapping.mjs +137 -0
  10. package/dist/_chunks/_deps/@jridgewell/resolve-uri.mjs +231 -0
  11. package/dist/_chunks/_deps/@jridgewell/sourcemap-codec.mjs +173 -0
  12. package/dist/_chunks/_deps/@jridgewell/trace-mapping.mjs +170 -0
  13. package/dist/_chunks/_deps/@pi0/vite-plugin-fullstack.mjs +575 -0
  14. package/dist/_chunks/_deps/@rollup/plugin-alias.mjs +89 -0
  15. package/dist/_chunks/_deps/@rollup/plugin-commonjs.mjs +2376 -0
  16. package/dist/_chunks/{index2.mjs → _deps/@rollup/plugin-inject.mjs} +5 -90
  17. package/dist/_chunks/_deps/@rollup/plugin-json.mjs +37 -0
  18. package/dist/_chunks/_deps/@rollup/plugin-node-resolve.mjs +1386 -0
  19. package/dist/_chunks/_deps/@rollup/plugin-replace.mjs +133 -0
  20. package/dist/_chunks/_deps/@rollup/pluginutils.mjs +346 -0
  21. package/dist/_chunks/_deps/acorn.mjs +6225 -0
  22. package/dist/_chunks/_deps/c12.mjs +510 -0
  23. package/dist/_chunks/_deps/chokidar.mjs +1428 -0
  24. package/dist/_chunks/_deps/citty.mjs +460 -0
  25. package/dist/_chunks/_deps/commondir.mjs +77 -0
  26. package/dist/_chunks/_deps/compatx.mjs +76 -0
  27. package/dist/_chunks/_deps/confbox.mjs +300 -0
  28. package/dist/_chunks/_deps/debug.mjs +885 -0
  29. package/dist/_chunks/_deps/deepmerge.mjs +147 -0
  30. package/dist/_chunks/_deps/depd.mjs +550 -0
  31. package/dist/_chunks/_deps/dot-prop.mjs +282 -0
  32. package/dist/_chunks/_deps/dotenv.mjs +555 -0
  33. package/dist/_chunks/_deps/duplexer.mjs +1 -0
  34. package/dist/_chunks/_deps/ee-first.mjs +104 -0
  35. package/dist/_chunks/_deps/encodeurl.mjs +69 -0
  36. package/dist/_chunks/_deps/escape-html.mjs +87 -0
  37. package/dist/_chunks/_deps/escape-string-regexp.mjs +13 -0
  38. package/dist/_chunks/_deps/estree-walker.mjs +433 -0
  39. package/dist/_chunks/_deps/etag.mjs +147 -0
  40. package/dist/_chunks/_deps/exsolve.mjs +1416 -0
  41. package/dist/_chunks/_deps/fdir.mjs +569 -0
  42. package/dist/_chunks/_deps/fresh.mjs +145 -0
  43. package/dist/_chunks/_deps/function-bind.mjs +106 -0
  44. package/dist/_chunks/{index4.mjs → _deps/giget.mjs} +21 -776
  45. package/dist/_chunks/_deps/gzip-size.mjs +19 -0
  46. package/dist/_chunks/_deps/hasown.mjs +19 -0
  47. package/dist/_chunks/_deps/http-errors.mjs +307 -0
  48. package/dist/_chunks/_deps/httpxy.mjs +580 -0
  49. package/dist/_chunks/_deps/inherits.mjs +57 -0
  50. package/dist/_chunks/_deps/is-core-module.mjs +596 -0
  51. package/dist/_chunks/_deps/is-module.mjs +25 -0
  52. package/dist/_chunks/_deps/is-reference.mjs +31 -0
  53. package/dist/_chunks/_deps/js-tokens.mjs +411 -0
  54. package/dist/_chunks/_deps/klona.mjs +137 -0
  55. package/dist/_chunks/_deps/knitwork.mjs +172 -0
  56. package/dist/_chunks/_deps/local-pkg.mjs +163 -0
  57. package/dist/_chunks/_deps/magic-string.mjs +1296 -0
  58. package/dist/_chunks/_deps/mime-db.mjs +11685 -0
  59. package/dist/_chunks/_deps/mime-types.mjs +287 -0
  60. package/dist/_chunks/_deps/mime.mjs +1172 -0
  61. package/dist/_chunks/_deps/mlly.mjs +2413 -0
  62. package/dist/_chunks/_deps/ms.mjs +172 -0
  63. package/dist/_chunks/_deps/node-fetch-native.mjs +3 -0
  64. package/dist/_chunks/_deps/nypm.mjs +219 -0
  65. package/dist/_chunks/_deps/on-finished.mjs +246 -0
  66. package/dist/_chunks/_deps/parseurl.mjs +168 -0
  67. package/dist/_chunks/_deps/path-parse.mjs +85 -0
  68. package/dist/_chunks/{pathe.M-eThtNZ.mjs → _deps/pathe.mjs} +48 -1
  69. package/dist/_chunks/_deps/perfect-debounce.mjs +88 -0
  70. package/dist/_chunks/_deps/picomatch.mjs +2144 -0
  71. package/dist/_chunks/_deps/pkg-types.mjs +247 -0
  72. package/dist/_chunks/{snapshot.mjs → _deps/pretty-bytes.mjs} +1 -105
  73. package/dist/_chunks/_deps/quansync.mjs +99 -0
  74. package/dist/_chunks/_deps/range-parser.mjs +171 -0
  75. package/dist/_chunks/_deps/rc9.mjs +219 -0
  76. package/dist/_chunks/_deps/readdirp.mjs +245 -0
  77. package/dist/_chunks/_deps/resolve.mjs +1260 -0
  78. package/dist/_chunks/_deps/rou3.mjs +326 -0
  79. package/dist/_chunks/_deps/send.mjs +1022 -0
  80. package/dist/_chunks/_deps/serve-static.mjs +228 -0
  81. package/dist/_chunks/_deps/setprototypeof.mjs +26 -0
  82. package/dist/_chunks/_deps/statuses.mjs +457 -0
  83. package/dist/_chunks/_deps/std-env.mjs +3 -0
  84. package/dist/_chunks/_deps/strip-literal.mjs +67 -0
  85. package/dist/_chunks/_deps/supports-color.mjs +44 -0
  86. package/dist/_chunks/_deps/tinyexec.mjs +552 -0
  87. package/dist/_chunks/_deps/tinyglobby.mjs +293 -0
  88. package/dist/_chunks/_deps/toidentifier.mjs +41 -0
  89. package/dist/_chunks/_deps/ultrahtml.mjs +3 -0
  90. package/dist/_chunks/_deps/unimport.mjs +2267 -0
  91. package/dist/_chunks/_deps/unplugin-utils.mjs +65 -0
  92. package/dist/_chunks/_deps/unplugin.mjs +1294 -0
  93. package/dist/_chunks/_deps/untyped.mjs +375 -0
  94. package/dist/_chunks/{info.mjs → _deps/unwasm.mjs} +8 -4206
  95. package/dist/_chunks/_deps/webpack-virtual-modules.mjs +360 -0
  96. package/dist/_chunks/_presets/_all.mjs +59 -0
  97. package/dist/_chunks/_presets/_nitro.mjs +74 -0
  98. package/dist/_chunks/_presets/_resolve.mjs +64 -0
  99. package/dist/_chunks/_presets/_static.mjs +69 -0
  100. package/dist/_chunks/_presets/_types.mjs +3 -0
  101. package/dist/_chunks/_presets/_utils.mjs +31 -0
  102. package/dist/_chunks/_presets/alwaysdata.mjs +17 -0
  103. package/dist/_chunks/_presets/aws-amplify.mjs +111 -0
  104. package/dist/_chunks/_presets/aws-lambda.mjs +23 -0
  105. package/dist/_chunks/_presets/azure.mjs +162 -0
  106. package/dist/_chunks/_presets/bun.mjs +19 -0
  107. package/dist/_chunks/_presets/cleavr.mjs +15 -0
  108. package/dist/_chunks/_presets/cloudflare.mjs +608 -0
  109. package/dist/_chunks/_presets/deno.mjs +196 -0
  110. package/dist/_chunks/_presets/digitalocean.mjs +14 -0
  111. package/dist/_chunks/_presets/firebase.mjs +47 -0
  112. package/dist/_chunks/_presets/flightcontrol.mjs +14 -0
  113. package/dist/_chunks/_presets/genezio.mjs +13 -0
  114. package/dist/_chunks/_presets/heroku.mjs +14 -0
  115. package/dist/_chunks/_presets/iis.mjs +194 -0
  116. package/dist/_chunks/_presets/index.mjs +62 -0
  117. package/dist/_chunks/_presets/koyeb.mjs +14 -0
  118. package/dist/_chunks/_presets/netlify.mjs +241 -0
  119. package/dist/_chunks/_presets/node.mjs +54 -0
  120. package/dist/_chunks/_presets/platform.mjs +14 -0
  121. package/dist/_chunks/_presets/render.mjs +14 -0
  122. package/dist/_chunks/_presets/standard.mjs +23 -0
  123. package/dist/_chunks/_presets/stormkit.mjs +18 -0
  124. package/dist/_chunks/_presets/vercel.mjs +375 -0
  125. package/dist/_chunks/_presets/winterjs.mjs +22 -0
  126. package/dist/_chunks/_presets/zeabur.mjs +69 -0
  127. package/dist/_chunks/_presets/zerops.mjs +27 -0
  128. package/dist/_chunks/app.mjs +9 -19206
  129. package/dist/_chunks/{index3.mjs → builder.mjs} +560 -970
  130. package/dist/_chunks/server.mjs +6 -4
  131. package/dist/{cli → _cli}/build.mjs +3 -8
  132. package/dist/{cli → _cli}/dev.mjs +38 -12
  133. package/dist/{cli/index2.mjs → _cli/index.mjs} +1 -2
  134. package/dist/{cli → _cli}/list.mjs +3 -4
  135. package/dist/{cli → _cli}/prepare.mjs +3 -4
  136. package/dist/{cli → _cli}/run.mjs +3 -4
  137. package/dist/{index.d.mts → builder.d.mts} +11 -11
  138. package/dist/builder.mjs +117 -0
  139. package/dist/cli/index.mjs +7 -464
  140. package/dist/node_modules/@speed-highlight/core/dist/index.js +1 -1
  141. package/dist/node_modules/@speed-highlight/core/dist/terminal.js +1 -1
  142. package/dist/node_modules/@speed-highlight/core/package.json +7 -3
  143. package/dist/node_modules/cookie-es/dist/index.mjs +262 -0
  144. package/dist/node_modules/cookie-es/package.json +37 -0
  145. package/dist/node_modules/hookable/dist/index.mjs +243 -266
  146. package/dist/node_modules/hookable/package.json +29 -26
  147. package/dist/node_modules/rendu/dist/index.mjs +380 -0
  148. package/dist/node_modules/rendu/package.json +47 -0
  149. package/dist/presets/_nitro/runtime/nitro-dev.mjs +4 -7
  150. package/dist/presets/_nitro/runtime/nitro-prerenderer.mjs +5 -4
  151. package/dist/presets/azure/runtime/azure-swa.mjs +1 -1
  152. package/dist/presets/cloudflare/runtime/_module-handler.mjs +7 -6
  153. package/dist/presets/cloudflare/runtime/cloudflare-durable.mjs +4 -5
  154. package/dist/presets/cloudflare/runtime/plugin.dev.mjs +7 -10
  155. package/dist/presets/cloudflare/runtime/shims/workers.dev.d.mts +21 -0
  156. package/dist/presets/cloudflare/runtime/shims/workers.dev.mjs +27 -0
  157. package/dist/presets/node/runtime/node-server.mjs +1 -1
  158. package/dist/runtime/index.d.mts +1 -1
  159. package/dist/runtime/index.mjs +1 -1
  160. package/dist/runtime/internal/app.d.mts +3 -1
  161. package/dist/runtime/internal/app.mjs +90 -64
  162. package/dist/runtime/internal/error/prod.d.mts +3 -2
  163. package/dist/runtime/internal/error/prod.mjs +9 -13
  164. package/dist/runtime/internal/renderer.mjs +4 -4
  165. package/dist/runtime/internal/routes/dev-tasks.d.mts +30 -2
  166. package/dist/runtime/internal/shutdown.d.mts +1 -2
  167. package/dist/runtime/internal/shutdown.mjs +3 -2
  168. package/dist/runtime/internal/task.mjs +1 -2
  169. package/dist/types/index.d.mts +1603 -10
  170. package/dist/vite.d.mts +5 -0
  171. package/dist/vite.mjs +94 -30
  172. package/lib/index.mjs +1 -0
  173. package/lib/indexd.mts +1 -0
  174. package/lib/runtime/meta.mjs +35 -0
  175. package/package.json +40 -41
  176. package/dist/_chunks/build.mjs +0 -84
  177. package/dist/_chunks/build3.mjs +0 -6452
  178. package/dist/_chunks/detect-acorn.mjs +0 -503
  179. package/dist/_chunks/index.mjs +0 -22242
  180. package/dist/_chunks/json5.mjs +0 -68
  181. package/dist/_chunks/jsonc.mjs +0 -51
  182. package/dist/_chunks/toml.mjs +0 -259
  183. package/dist/_chunks/yaml.mjs +0 -86
  184. package/dist/index.mjs +0 -55
  185. package/dist/node_modules/klona/dist/index.mjs +0 -81
  186. package/dist/node_modules/klona/full/index.mjs +0 -53
  187. package/dist/node_modules/klona/package.json +0 -74
  188. package/dist/node_modules/std-env/dist/index.mjs +0 -1
  189. package/dist/node_modules/std-env/package.json +0 -46
  190. package/dist/presets.mjs +0 -2460
  191. package/dist/runtime/internal/debug.d.mts +0 -2
  192. package/dist/runtime/internal/debug.mjs +0 -5
  193. package/lib/runtime-meta.mjs +0 -38
  194. /package/dist/{cli → _cli}/common.mjs +0 -0
  195. /package/lib/{runtime-meta.d.mts → runtime/meta.d.mts} +0 -0
@@ -0,0 +1,556 @@
1
+ import { createRequire } from 'node:module';
2
+ import defu$1, { defu } from 'defu';
3
+ import { s as sanitizeFilePath } from '../_chunks/_deps/mlly.mjs';
4
+ import { runtimeDir } from 'nitro/runtime/meta';
5
+ import { a as alias } from '../_chunks/_deps/@rollup/plugin-alias.mjs';
6
+ import { c as commonjs } from '../_chunks/_deps/@rollup/plugin-commonjs.mjs';
7
+ import { i as inject } from '../_chunks/_deps/@rollup/plugin-inject.mjs';
8
+ import { j as json } from '../_chunks/_deps/@rollup/plugin-json.mjs';
9
+ import { n as nodeResolve } from '../_chunks/_deps/@rollup/plugin-node-resolve.mjs';
10
+ import { b as baseBuildConfig, a as baseBuildPlugins, r as replace, w as writeBuildInfo } from './info.mjs';
11
+ import { c as createFilter } from '../_chunks/_deps/unplugin-utils.mjs';
12
+ import { transform } from 'esbuild';
13
+ import { e as extname, a as relative, n as normalize, i as isAbsolute, j as join } from '../_chunks/_deps/pathe.mjs';
14
+ import { r as raw, n as nitroServerName, s as snapshot, g as generateFSTree } from './snapshot.mjs';
15
+ import { watch } from '../_chunks/_deps/chokidar.mjs';
16
+ import { watch as watch$1 } from 'node:fs';
17
+ import { d as debounce } from '../_chunks/_deps/perfect-debounce.mjs';
18
+ import { s as scanHandlers } from './prepare.mjs';
19
+ import { w as writeTypes } from '../_chunks/builder.mjs';
20
+ import { f as formatCompatibilityDate } from '../_chunks/_deps/compatx.mjs';
21
+ import '../_chunks/_deps/acorn.mjs';
22
+ import 'ufo';
23
+ import '../_chunks/_deps/pkg-types.mjs';
24
+ import '../_chunks/_deps/confbox.mjs';
25
+ import '../_chunks/_deps/exsolve.mjs';
26
+ import 'node:url';
27
+ import 'node:path';
28
+ import 'node:assert';
29
+ import 'node:process';
30
+ import 'node:v8';
31
+ import 'node:util';
32
+ import 'node:fs/promises';
33
+ import 'path';
34
+ import '../_chunks/_deps/@rollup/pluginutils.mjs';
35
+ import '../_chunks/_deps/estree-walker.mjs';
36
+ import '../_chunks/_deps/picomatch.mjs';
37
+ import '../_chunks/_deps/commondir.mjs';
38
+ import 'fs';
39
+ import '../_chunks/_deps/fdir.mjs';
40
+ import 'module';
41
+ import '../_chunks/_deps/magic-string.mjs';
42
+ import '../_chunks/_deps/@jridgewell/sourcemap-codec.mjs';
43
+ import '../_chunks/_deps/is-reference.mjs';
44
+ import '../_chunks/_deps/deepmerge.mjs';
45
+ import '../_chunks/_deps/is-module.mjs';
46
+ import 'util';
47
+ import 'url';
48
+ import '../_chunks/_deps/resolve.mjs';
49
+ import 'os';
50
+ import '../_chunks/_deps/path-parse.mjs';
51
+ import '../_chunks/_deps/is-core-module.mjs';
52
+ import '../_chunks/_deps/hasown.mjs';
53
+ import '../_chunks/_deps/function-bind.mjs';
54
+ import '../_chunks/_deps/@rollup/plugin-replace.mjs';
55
+ import 'unenv';
56
+ import 'ohash';
57
+ import '../_chunks/_deps/unimport.mjs';
58
+ import 'scule';
59
+ import 'node:os';
60
+ import '../_chunks/_deps/unplugin.mjs';
61
+ import 'node:buffer';
62
+ import '../_chunks/_deps/@jridgewell/remapping.mjs';
63
+ import '../_chunks/_deps/@jridgewell/trace-mapping.mjs';
64
+ import '../_chunks/_deps/@jridgewell/resolve-uri.mjs';
65
+ import '../_chunks/_deps/@jridgewell/gen-mapping.mjs';
66
+ import 'node:querystring';
67
+ import '../_chunks/_deps/webpack-virtual-modules.mjs';
68
+ import 'constants';
69
+ import '../_chunks/_deps/tinyglobby.mjs';
70
+ import '../_chunks/_deps/local-pkg.mjs';
71
+ import '../_chunks/_deps/quansync.mjs';
72
+ import '../_chunks/_deps/strip-literal.mjs';
73
+ import '../_chunks/_deps/js-tokens.mjs';
74
+ import '../_chunks/_deps/unwasm.mjs';
75
+ import 'node:crypto';
76
+ import '../_chunks/_deps/knitwork.mjs';
77
+ import 'db0';
78
+ import '../_chunks/_deps/etag.mjs';
79
+ import 'crypto';
80
+ import '../_chunks/_deps/mime.mjs';
81
+ import 'unstorage';
82
+ import 'nf3';
83
+ import 'rendu';
84
+ import 'nitro/meta';
85
+ import '../_chunks/_presets/_types.mjs';
86
+ import 'consola/utils';
87
+ import '../_chunks/_deps/gzip-size.mjs';
88
+ import 'node:stream';
89
+ import 'node:zlib';
90
+ import 'stream';
91
+ import '../_chunks/_deps/pretty-bytes.mjs';
92
+ import '../_chunks/_deps/std-env.mjs';
93
+ import 'fs/promises';
94
+ import 'events';
95
+ import '../_chunks/_deps/readdirp.mjs';
96
+ import 'consola';
97
+ import 'hookable';
98
+ import '../_chunks/_deps/c12.mjs';
99
+ import 'jiti';
100
+ import '../_chunks/_deps/rc9.mjs';
101
+ import 'destr';
102
+ import '../_chunks/_deps/dotenv.mjs';
103
+ import '../_chunks/_deps/klona.mjs';
104
+ import '../_chunks/_deps/escape-string-regexp.mjs';
105
+ import 'ofetch';
106
+ import '../_chunks/_deps/rou3.mjs';
107
+ import '../_chunks/_deps/dot-prop.mjs';
108
+ import '../_chunks/_deps/untyped.mjs';
109
+ import '../_chunks/server.mjs';
110
+ import '../_chunks/app.mjs';
111
+ import 'node:worker_threads';
112
+ import 'h3';
113
+ import '../_chunks/_deps/serve-static.mjs';
114
+ import '../_chunks/_deps/encodeurl.mjs';
115
+ import '../_chunks/_deps/escape-html.mjs';
116
+ import '../_chunks/_deps/parseurl.mjs';
117
+ import '../_chunks/_deps/send.mjs';
118
+ import '../_chunks/_deps/http-errors.mjs';
119
+ import '../_chunks/_deps/depd.mjs';
120
+ import '../_chunks/_deps/setprototypeof.mjs';
121
+ import '../_chunks/_deps/statuses.mjs';
122
+ import '../_chunks/_deps/inherits.mjs';
123
+ import '../_chunks/_deps/toidentifier.mjs';
124
+ import '../_chunks/_deps/debug.mjs';
125
+ import 'tty';
126
+ import '../_chunks/_deps/ms.mjs';
127
+ import '../_chunks/_deps/supports-color.mjs';
128
+ import '../_chunks/_deps/fresh.mjs';
129
+ import '../_chunks/_deps/mime-types.mjs';
130
+ import '../_chunks/_deps/mime-db.mjs';
131
+ import '../_chunks/_deps/on-finished.mjs';
132
+ import '../_chunks/_deps/ee-first.mjs';
133
+ import '../_chunks/_deps/range-parser.mjs';
134
+ import '../_chunks/_deps/httpxy.mjs';
135
+ import 'node:http';
136
+ import 'node:https';
137
+ import 'node:events';
138
+ import 'undici';
139
+ import 'youch-core';
140
+ import 'youch';
141
+ import 'source-map';
142
+ import 'srvx';
143
+ import 'srvx/node';
144
+ import '../_chunks/_deps/ultrahtml.mjs';
145
+
146
+ const defaultLoaders = {
147
+ ".ts": "ts",
148
+ ".js": "js",
149
+ ".tsx": "tsx",
150
+ ".jsx": "jsx"
151
+ };
152
+ function esbuild(options) {
153
+ const {
154
+ include,
155
+ exclude,
156
+ sourceMap,
157
+ loaders: loadersConfig,
158
+ minify,
159
+ ...transformOptions
160
+ } = options;
161
+ const loaders = { ...defaultLoaders };
162
+ if (loadersConfig) {
163
+ for (const key of Object.keys(loadersConfig)) {
164
+ const value = loadersConfig[key];
165
+ if (typeof value === "string") {
166
+ loaders[key] = value;
167
+ } else if (value === false) {
168
+ delete loaders[key];
169
+ }
170
+ }
171
+ }
172
+ const extensions = Object.keys(loaders);
173
+ const INCLUDE_REGEXP = new RegExp(
174
+ `\\.(${extensions.map((ext) => ext.slice(1)).join("|")})$`
175
+ );
176
+ const EXCLUDE_REGEXP = /node_modules/;
177
+ const filter = createFilter(
178
+ include || INCLUDE_REGEXP,
179
+ exclude || EXCLUDE_REGEXP
180
+ );
181
+ return {
182
+ name: "esbuild",
183
+ async transform(code, id) {
184
+ if (!filter(id)) {
185
+ return null;
186
+ }
187
+ const ext = extname(id);
188
+ const loader = loaders[ext];
189
+ if (!loader) {
190
+ return null;
191
+ }
192
+ const result = await transform(code, {
193
+ sourcemap: sourceMap === "hidden" ? "external" : sourceMap,
194
+ ...transformOptions,
195
+ loader,
196
+ sourcefile: id
197
+ });
198
+ printWarnings(id, result, this);
199
+ return result.code && {
200
+ code: result.code,
201
+ map: result.map || null
202
+ };
203
+ },
204
+ async renderChunk(code) {
205
+ if (minify) {
206
+ const result = await transform(code, {
207
+ loader: "js",
208
+ minify: true,
209
+ target: transformOptions.target
210
+ });
211
+ if (result.code) {
212
+ return {
213
+ code: result.code,
214
+ map: result.map || null
215
+ };
216
+ }
217
+ }
218
+ return null;
219
+ }
220
+ };
221
+ }
222
+ function printWarnings(id, result, plugin) {
223
+ if (result.warnings) {
224
+ for (const warning of result.warnings) {
225
+ let message = "[esbuild]";
226
+ if (warning.location) {
227
+ message += ` (${relative(process.cwd(), id)}:${warning.location.line}:${warning.location.column})`;
228
+ }
229
+ message += ` ${warning.text}`;
230
+ plugin.warn(message);
231
+ }
232
+ }
233
+ }
234
+
235
+ function sourcemapMininify() {
236
+ return {
237
+ name: "nitro:sourcemap-minify",
238
+ generateBundle(_options, bundle) {
239
+ for (const [key, asset] of Object.entries(bundle)) {
240
+ if (!key.endsWith(".map") || !("source" in asset) || typeof asset.source !== "string") {
241
+ continue;
242
+ }
243
+ const sourcemap = JSON.parse(asset.source);
244
+ if (!(sourcemap.sources || []).some((s) => s.includes("node_modules"))) {
245
+ continue;
246
+ }
247
+ sourcemap.mappings = "";
248
+ asset.source = JSON.stringify(sourcemap);
249
+ }
250
+ }
251
+ };
252
+ }
253
+
254
+ const getRollupConfig = (nitro) => {
255
+ const base = baseBuildConfig(nitro);
256
+ const chunkNamePrefixes = [
257
+ [nitro.options.buildDir, "build"],
258
+ [base.buildServerDir, "app"],
259
+ [runtimeDir, "nitro"],
260
+ [base.presetsDir, "nitro"],
261
+ ["\0raw:", "raw"],
262
+ ["\0nitro-wasm:", "wasm"],
263
+ ["\0", "virtual"]
264
+ ];
265
+ function getChunkGroup(id) {
266
+ if (id.startsWith(runtimeDir) || id.startsWith(base.presetsDir)) {
267
+ return "nitro";
268
+ }
269
+ }
270
+ let config = {
271
+ input: nitro.options.entry,
272
+ external: [...base.env.external],
273
+ plugins: [
274
+ ...baseBuildPlugins(nitro, base),
275
+ esbuild({
276
+ target: "esnext",
277
+ sourceMap: nitro.options.sourceMap,
278
+ ...nitro.options.esbuild?.options
279
+ }),
280
+ alias({ entries: base.aliases }),
281
+ replace({
282
+ delimiters: base.replaceDelimiters,
283
+ preventAssignment: true,
284
+ values: base.replacements
285
+ }),
286
+ nodeResolve({
287
+ extensions: base.extensions,
288
+ preferBuiltins: !!nitro.options.node,
289
+ rootDir: nitro.options.rootDir,
290
+ modulePaths: nitro.options.nodeModulesDirs,
291
+ // 'module' is intentionally not supported because of externals
292
+ mainFields: ["main"],
293
+ exportConditions: nitro.options.exportConditions
294
+ }),
295
+ commonjs({
296
+ strictRequires: "auto",
297
+ // TODO: set to true (default) in v3
298
+ esmExternals: (id) => !id.startsWith("unenv/"),
299
+ requireReturnsDefault: "auto",
300
+ ...nitro.options.commonJS
301
+ }),
302
+ json(),
303
+ inject(base.env.inject),
304
+ raw()
305
+ ],
306
+ onwarn(warning, rollupWarn) {
307
+ if (!["EVAL", "CIRCULAR_DEPENDENCY", "THIS_IS_UNDEFINED"].includes(
308
+ warning.code || ""
309
+ ) && !warning.message.includes("Unsupported source map comment")) {
310
+ rollupWarn(warning);
311
+ }
312
+ },
313
+ treeshake: {
314
+ moduleSideEffects(id) {
315
+ const normalizedId = normalize(id);
316
+ const idWithoutNodeModules = normalizedId.split("node_modules/").pop();
317
+ if (!idWithoutNodeModules) {
318
+ return false;
319
+ }
320
+ if (normalizedId.startsWith(runtimeDir) || idWithoutNodeModules.startsWith(runtimeDir)) {
321
+ return true;
322
+ }
323
+ return nitro.options.moduleSideEffects.some(
324
+ (m) => normalizedId.startsWith(m) || idWithoutNodeModules.startsWith(m)
325
+ );
326
+ }
327
+ },
328
+ output: {
329
+ dir: nitro.options.output.serverDir,
330
+ entryFileNames: "index.mjs",
331
+ chunkFileNames(chunk) {
332
+ const id = normalize(chunk.moduleIds.at(-1) || "");
333
+ for (const [dir, name] of chunkNamePrefixes) {
334
+ if (id.startsWith(dir)) {
335
+ return `chunks/${name}/[name].mjs`;
336
+ }
337
+ }
338
+ const routeHandler = nitro.options.handlers.find(
339
+ (h) => id.startsWith(h.handler)
340
+ ) || nitro.scannedHandlers.find((h) => id.startsWith(h.handler));
341
+ if (routeHandler?.route) {
342
+ const path = routeHandler.route.replace(/:([^/]+)/g, "_$1").replace(/\/[^/]+$/g, "") || "/";
343
+ return `chunks/routes${path}/[name].mjs`;
344
+ }
345
+ const taskHandler = Object.entries(nitro.options.tasks).find(
346
+ ([_, task]) => task.handler === id
347
+ );
348
+ if (taskHandler) {
349
+ return `chunks/tasks/[name].mjs`;
350
+ }
351
+ return `chunks/_/[name].mjs`;
352
+ },
353
+ manualChunks(id) {
354
+ return getChunkGroup(id);
355
+ },
356
+ inlineDynamicImports: nitro.options.inlineDynamicImports,
357
+ format: "esm",
358
+ exports: "auto",
359
+ intro: "",
360
+ outro: "",
361
+ generatedCode: {
362
+ constBindings: true
363
+ },
364
+ sanitizeFileName: sanitizeFilePath,
365
+ sourcemap: nitro.options.sourceMap,
366
+ sourcemapExcludeSources: true,
367
+ sourcemapIgnoreList(relativePath) {
368
+ return relativePath.includes("node_modules");
369
+ }
370
+ }
371
+ };
372
+ config = defu(nitro.options.rollupConfig, config);
373
+ if (config.output.inlineDynamicImports) {
374
+ delete config.output.manualChunks;
375
+ }
376
+ if (nitro.options.minify) {
377
+ const _terser = createRequire(import.meta.url)("@rollup/plugin-terser");
378
+ const terser = _terser.default || _terser;
379
+ config.plugins.push(
380
+ terser({
381
+ mangle: {
382
+ keep_fnames: true,
383
+ keep_classnames: true
384
+ },
385
+ format: {
386
+ comments: false
387
+ }
388
+ })
389
+ );
390
+ }
391
+ if (nitro.options.sourceMap && !nitro.options.dev && nitro.options.experimental.sourcemapMinify !== false) {
392
+ config.plugins.push(sourcemapMininify());
393
+ }
394
+ return config;
395
+ };
396
+
397
+ function formatRollupError(_error) {
398
+ try {
399
+ const logs = [_error.toString()];
400
+ const errors = _error?.errors || [_error];
401
+ for (const error of errors) {
402
+ const id = error.path || error.id || _error.id;
403
+ let path = isAbsolute(id) ? relative(process.cwd(), id) : id;
404
+ const location = error.loc || error.location;
405
+ if (location) {
406
+ path += `:${location.line}:${location.column}`;
407
+ }
408
+ const text = error.text || error.frame;
409
+ logs.push(
410
+ `Rollup error while processing \`${path}\`` + text ? "\n\n" + text : ""
411
+ );
412
+ }
413
+ return logs.join("\n");
414
+ } catch {
415
+ return _error?.toString();
416
+ }
417
+ }
418
+
419
+ async function watchDev(nitro, rollupConfig) {
420
+ const rollup = await import('rollup');
421
+ let rollupWatcher;
422
+ async function load() {
423
+ if (rollupWatcher) {
424
+ await rollupWatcher.close();
425
+ }
426
+ await scanHandlers(nitro);
427
+ nitro.routing.sync();
428
+ rollupWatcher = startRollupWatcher(nitro, rollupConfig);
429
+ await writeTypes(nitro);
430
+ }
431
+ const reload = debounce(load);
432
+ const scanDirs = nitro.options.scanDirs.flatMap((dir) => [
433
+ join(dir, nitro.options.apiDir || "api"),
434
+ join(dir, nitro.options.routesDir || "routes"),
435
+ join(dir, "middleware"),
436
+ join(dir, "plugins"),
437
+ join(dir, "modules")
438
+ ]);
439
+ const watchReloadEvents = /* @__PURE__ */ new Set(["add", "addDir", "unlink", "unlinkDir"]);
440
+ const scanDirsWatcher = watch(scanDirs, {
441
+ ignoreInitial: true
442
+ }).on("all", (event, path, stat) => {
443
+ if (watchReloadEvents.has(event)) {
444
+ reload();
445
+ }
446
+ });
447
+ const srcDirWatcher = watch$1(
448
+ nitro.options.srcDir,
449
+ { persistent: false },
450
+ (_event, filename) => {
451
+ if (filename && /^server\.[mc]?[jt]sx?$/.test(filename)) {
452
+ reload();
453
+ }
454
+ }
455
+ );
456
+ nitro.hooks.hook("close", () => {
457
+ rollupWatcher.close();
458
+ scanDirsWatcher.close();
459
+ srcDirWatcher.close();
460
+ });
461
+ nitro.hooks.hook("rollup:reload", () => reload());
462
+ await load();
463
+ function startRollupWatcher(nitro2, rollupConfig2) {
464
+ const watcher = rollup.watch(
465
+ defu$1(rollupConfig2, {
466
+ watch: {
467
+ chokidar: nitro2.options.watchOptions
468
+ }
469
+ })
470
+ );
471
+ let start;
472
+ watcher.on("event", (event) => {
473
+ switch (event.code) {
474
+ case "START": {
475
+ start = Date.now();
476
+ nitro2.hooks.callHook("dev:start");
477
+ break;
478
+ }
479
+ case "BUNDLE_END": {
480
+ nitro2.hooks.callHook("compiled", nitro2);
481
+ if (nitro2.options.logging.buildSuccess) {
482
+ nitro2.logger.success(
483
+ `${nitroServerName(nitro2)} built with rollup`,
484
+ start ? `in ${Date.now() - start}ms` : ""
485
+ );
486
+ }
487
+ nitro2.hooks.callHook("dev:reload");
488
+ break;
489
+ }
490
+ case "ERROR": {
491
+ nitro2.logger.error(formatRollupError(event.error));
492
+ nitro2.hooks.callHook("dev:error", event.error);
493
+ }
494
+ }
495
+ });
496
+ return watcher;
497
+ }
498
+ }
499
+
500
+ async function buildProduction(nitro, rollupConfig) {
501
+ const rollup = await import('rollup');
502
+ await scanHandlers(nitro);
503
+ await writeTypes(nitro);
504
+ await snapshot(nitro);
505
+ if (!nitro.options.static) {
506
+ nitro.logger.info(
507
+ `Building ${nitroServerName(nitro)} (rollup, preset: \`${nitro.options.preset}\`, compatibility date: \`${formatCompatibilityDate(nitro.options.compatibilityDate)}\`)`
508
+ );
509
+ const build = await rollup.rollup(rollupConfig).catch((error) => {
510
+ nitro.logger.error(formatRollupError(error));
511
+ throw error;
512
+ });
513
+ await build.write(rollupConfig.output);
514
+ }
515
+ const buildInfo = await writeBuildInfo(nitro);
516
+ if (!nitro.options.static) {
517
+ if (nitro.options.logging.buildSuccess) {
518
+ nitro.logger.success(`${nitroServerName(nitro)} built`);
519
+ }
520
+ if (nitro.options.logLevel > 1) {
521
+ process.stdout.write(
522
+ await generateFSTree(nitro.options.output.serverDir, {
523
+ compressedSizes: nitro.options.logging.compressedSizes
524
+ }) || ""
525
+ );
526
+ }
527
+ }
528
+ await nitro.hooks.callHook("compiled", nitro);
529
+ const rOutput = relative(process.cwd(), nitro.options.output.dir);
530
+ const rewriteRelativePaths = (input) => {
531
+ return input.replace(/([\s:])\.\/(\S*)/g, `$1${rOutput}/$2`);
532
+ };
533
+ if (buildInfo.commands.preview) {
534
+ nitro.logger.success(
535
+ `You can preview this build using \`${rewriteRelativePaths(
536
+ buildInfo.commands.preview
537
+ )}\``
538
+ );
539
+ }
540
+ if (buildInfo.commands.deploy) {
541
+ nitro.logger.success(
542
+ `You can deploy this build using \`${rewriteRelativePaths(
543
+ buildInfo.commands.deploy
544
+ )}\``
545
+ );
546
+ }
547
+ }
548
+
549
+ async function rollupBuild(nitro) {
550
+ await nitro.hooks.callHook("build:before", nitro);
551
+ const config = getRollupConfig(nitro);
552
+ await nitro.hooks.callHook("rollup:before", nitro, config);
553
+ return nitro.options.dev ? watchDev(nitro, config) : buildProduction(nitro, config);
554
+ }
555
+
556
+ export { rollupBuild };