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
@@ -1,254 +0,0 @@
1
- import { N as NitroDevApp, d as debounce, w as watch, a as NodeDevWorker } from './app.mjs';
2
- import { HTTPError } from 'h3';
3
- import { version } from 'nitro/meta';
4
- import consola from 'consola';
5
- import { writeFile } from 'node:fs/promises';
6
- import { serve } from 'srvx/node';
7
- import { isTest, isCI } from 'std-env';
8
- import { r as resolve } from './pathe.M-eThtNZ.mjs';
9
-
10
- function createDevServer(nitro) {
11
- return new NitroDevServer(nitro);
12
- }
13
- class NitroDevServer extends NitroDevApp {
14
- #entry;
15
- #workerData = {};
16
- #listeners = [];
17
- #watcher;
18
- #workers = [];
19
- #workerIdCtr = 0;
20
- #workerError;
21
- #building = true;
22
- // Assume initial build will start soon
23
- #buildError;
24
- #messageListeners = /* @__PURE__ */ new Set();
25
- constructor(nitro) {
26
- super(nitro, async (event) => {
27
- const worker = await this.#getWorker();
28
- if (!worker) {
29
- return this.#generateError();
30
- }
31
- return worker.fetch(event.req);
32
- });
33
- for (const key of Object.getOwnPropertyNames(NitroDevServer.prototype)) {
34
- const value = this[key];
35
- if (typeof value === "function" && key !== "constructor") {
36
- this[key] = value.bind(this);
37
- }
38
- }
39
- this.#entry = resolve(
40
- nitro.options.output.dir,
41
- nitro.options.output.serverDir,
42
- "index.mjs"
43
- );
44
- nitro.hooks.hook("close", () => this.close());
45
- nitro.hooks.hook("dev:start", () => {
46
- this.#building = true;
47
- this.#buildError = void 0;
48
- });
49
- nitro.hooks.hook("dev:reload", (payload) => {
50
- this.#buildError = void 0;
51
- this.#building = false;
52
- if (payload?.entry) {
53
- this.#entry = payload.entry;
54
- }
55
- if (payload?.workerData) {
56
- this.#workerData = payload.workerData;
57
- }
58
- this.reload();
59
- });
60
- nitro.hooks.hook("dev:error", (cause) => {
61
- this.#buildError = cause;
62
- this.#building = false;
63
- for (const worker of this.#workers) {
64
- worker.close();
65
- }
66
- });
67
- if (nitro.options.devServer.watch.length > 0) {
68
- const debouncedReload = debounce(() => this.reload());
69
- this.#watcher = watch(
70
- nitro.options.devServer.watch,
71
- nitro.options.watchOptions
72
- );
73
- this.#watcher.on("add", debouncedReload).on("change", debouncedReload);
74
- }
75
- }
76
- // #region Public Methods
77
- async upgrade(req, socket, head) {
78
- const worker = await this.#getWorker();
79
- if (!worker) {
80
- throw new HTTPError({
81
- status: 503,
82
- statusText: "No worker available."
83
- });
84
- }
85
- return worker.upgrade(req, socket, head);
86
- }
87
- listen(opts) {
88
- const server = serve({
89
- ...opts,
90
- fetch: this.fetch
91
- });
92
- this.#listeners.push(server);
93
- if (server.node?.server) {
94
- server.node.server.on(
95
- "upgrade",
96
- (req, sock, head) => this.upgrade(req, sock, head)
97
- );
98
- }
99
- return server;
100
- }
101
- async close() {
102
- await Promise.all(
103
- [
104
- Promise.all(this.#listeners.map((l) => l.close())).then(() => {
105
- this.#listeners = [];
106
- }),
107
- Promise.all(this.#workers.map((w) => w.close())).then(() => {
108
- this.#workers = [];
109
- }),
110
- Promise.resolve(this.#watcher?.close()).then(() => {
111
- this.#watcher = void 0;
112
- })
113
- ].map(
114
- (p) => p.catch((error) => {
115
- consola.error(error);
116
- })
117
- )
118
- );
119
- }
120
- reload() {
121
- for (const worker2 of this.#workers) {
122
- worker2.close();
123
- }
124
- const worker = new NodeDevWorker({
125
- name: `Nitro_${this.#workerIdCtr++}`,
126
- entry: this.#entry,
127
- data: {
128
- ...this.#workerData,
129
- globals: {
130
- __NITRO_RUNTIME_CONFIG__: this.nitro.options.runtimeConfig,
131
- ...this.#workerData.globals
132
- }
133
- },
134
- hooks: {
135
- onClose: (worker2, cause) => {
136
- this.#workerError = cause;
137
- const index = this.#workers.indexOf(worker2);
138
- if (index !== -1) {
139
- this.#workers.splice(index, 1);
140
- }
141
- },
142
- onReady: (worker2, addr) => {
143
- this.#writeBuildInfo(worker2, addr);
144
- }
145
- }
146
- });
147
- if (!worker.closed) {
148
- for (const listener of this.#messageListeners) {
149
- worker.onMessage(listener);
150
- }
151
- this.#workers.unshift(worker);
152
- }
153
- }
154
- sendMessage(message) {
155
- for (const worker of this.#workers) {
156
- if (!worker.closed) {
157
- worker.sendMessage(message);
158
- }
159
- }
160
- }
161
- onMessage(listener) {
162
- this.#messageListeners.add(listener);
163
- for (const worker of this.#workers) {
164
- worker.onMessage(listener);
165
- }
166
- }
167
- offMessage(listener) {
168
- this.#messageListeners.delete(listener);
169
- for (const worker of this.#workers) {
170
- worker.offMessage(listener);
171
- }
172
- }
173
- // #endregion
174
- // #region Private Methods
175
- #writeBuildInfo(_worker, addr) {
176
- const buildInfoPath = resolve(this.nitro.options.buildDir, "nitro.json");
177
- const buildInfo = {
178
- date: (/* @__PURE__ */ new Date()).toJSON(),
179
- preset: this.nitro.options.preset,
180
- framework: this.nitro.options.framework,
181
- versions: {
182
- nitro: version
183
- },
184
- dev: {
185
- pid: process.pid,
186
- workerAddress: addr
187
- }
188
- };
189
- writeFile(buildInfoPath, JSON.stringify(buildInfo, null, 2)).catch(
190
- (error) => {
191
- consola.error(error);
192
- }
193
- );
194
- }
195
- async #getWorker() {
196
- let retry = 0;
197
- const maxRetries = isTest || isCI ? 100 : 10;
198
- while (this.#building || ++retry < maxRetries) {
199
- if ((this.#workers.length === 0 || this.#buildError) && !this.#building) {
200
- return;
201
- }
202
- const activeWorker = this.#workers.find((w) => w.ready);
203
- if (activeWorker) {
204
- return activeWorker;
205
- }
206
- await new Promise((resolve2) => setTimeout(resolve2, 600));
207
- }
208
- }
209
- #generateError() {
210
- const error = this.#buildError || this.#workerError;
211
- if (error) {
212
- try {
213
- error.unhandled = false;
214
- let id = error.id || error.path;
215
- if (id) {
216
- const cause = error.errors?.[0];
217
- const loc = error.location || error.loc || cause?.location || cause?.loc;
218
- if (loc) {
219
- id += `:${loc.line}:${loc.column}`;
220
- }
221
- error.stack = (error.stack || "").replace(
222
- /(^\s*at\s+.+)/m,
223
- ` at ${id}
224
- $1`
225
- );
226
- }
227
- } catch {
228
- }
229
- return new HTTPError(error);
230
- }
231
- return new Response(
232
- JSON.stringify(
233
- {
234
- error: "Dev server is unavailable.",
235
- hint: "Please reload the page and check the console for errors if the issue persists."
236
- },
237
- null,
238
- 2
239
- ),
240
- {
241
- status: 503,
242
- statusText: "Dev server is unavailable",
243
- headers: {
244
- "Content-Type": "application/json",
245
- "Cache-Control": "no-store",
246
- Refresh: "3"
247
- }
248
- }
249
- );
250
- }
251
- // #endregion
252
- }
253
-
254
- export { NitroDevServer as N, createDevServer as c };
@@ -1,284 +0,0 @@
1
- import { upperFirst } from 'scule';
2
- import { promises } from 'node:fs';
3
- import { colors } from 'consola/utils';
4
- import { b as glob, c as snapshotStorage } from './index.mjs';
5
- import 'node:stream';
6
- import zlib from 'node:zlib';
7
- import { promisify } from 'node:util';
8
- import 'stream';
9
- import { isTest } from 'std-env';
10
- import { r as runParallel } from './index3.mjs';
11
- import { r as resolve, d as dirname, a as relative, j as join } from './pathe.M-eThtNZ.mjs';
12
- import { mkdir, writeFile } from 'node:fs/promises';
13
-
14
- function nitroServerName(nitro) {
15
- return nitro.options.framework.name === "nitro" ? "Nitro Server" : `${upperFirst(nitro.options.framework.name)} Nitro server`;
16
- }
17
-
18
- const getOptions = options => ({level: 9, ...options});
19
- const gzip = promisify(zlib.gzip);
20
-
21
- async function gzipSize(input, options) {
22
- if (!input) {
23
- return 0;
24
- }
25
-
26
- const data = await gzip(input, getOptions(options));
27
- return data.length;
28
- }
29
-
30
- const BYTE_UNITS = [
31
- 'B',
32
- 'kB',
33
- 'MB',
34
- 'GB',
35
- 'TB',
36
- 'PB',
37
- 'EB',
38
- 'ZB',
39
- 'YB',
40
- ];
41
-
42
- const BIBYTE_UNITS = [
43
- 'B',
44
- 'KiB',
45
- 'MiB',
46
- 'GiB',
47
- 'TiB',
48
- 'PiB',
49
- 'EiB',
50
- 'ZiB',
51
- 'YiB',
52
- ];
53
-
54
- const BIT_UNITS = [
55
- 'b',
56
- 'kbit',
57
- 'Mbit',
58
- 'Gbit',
59
- 'Tbit',
60
- 'Pbit',
61
- 'Ebit',
62
- 'Zbit',
63
- 'Ybit',
64
- ];
65
-
66
- const BIBIT_UNITS = [
67
- 'b',
68
- 'kibit',
69
- 'Mibit',
70
- 'Gibit',
71
- 'Tibit',
72
- 'Pibit',
73
- 'Eibit',
74
- 'Zibit',
75
- 'Yibit',
76
- ];
77
-
78
- /*
79
- Formats the given number using `Number#toLocaleString`.
80
- - If locale is a string, the value is expected to be a locale-key (for example: `de`).
81
- - If locale is true, the system default locale is used for translation.
82
- - If no value for locale is specified, the number is returned unmodified.
83
- */
84
- const toLocaleString = (number, locale, options) => {
85
- let result = number;
86
- if (typeof locale === 'string' || Array.isArray(locale)) {
87
- result = number.toLocaleString(locale, options);
88
- } else if (locale === true || options !== undefined) {
89
- result = number.toLocaleString(undefined, options);
90
- }
91
-
92
- return result;
93
- };
94
-
95
- const log10 = numberOrBigInt => {
96
- if (typeof numberOrBigInt === 'number') {
97
- return Math.log10(numberOrBigInt);
98
- }
99
-
100
- const string = numberOrBigInt.toString(10);
101
-
102
- return string.length + Math.log10(`0.${string.slice(0, 15)}`);
103
- };
104
-
105
- const log = numberOrBigInt => {
106
- if (typeof numberOrBigInt === 'number') {
107
- return Math.log(numberOrBigInt);
108
- }
109
-
110
- return log10(numberOrBigInt) * Math.log(10);
111
- };
112
-
113
- const divide = (numberOrBigInt, divisor) => {
114
- if (typeof numberOrBigInt === 'number') {
115
- return numberOrBigInt / divisor;
116
- }
117
-
118
- const integerPart = numberOrBigInt / BigInt(divisor);
119
- const remainder = numberOrBigInt % BigInt(divisor);
120
- return Number(integerPart) + (Number(remainder) / divisor);
121
- };
122
-
123
- const applyFixedWidth = (result, fixedWidth) => {
124
- if (fixedWidth === undefined) {
125
- return result;
126
- }
127
-
128
- if (typeof fixedWidth !== 'number' || !Number.isSafeInteger(fixedWidth) || fixedWidth < 0) {
129
- throw new TypeError(`Expected fixedWidth to be a non-negative integer, got ${typeof fixedWidth}: ${fixedWidth}`);
130
- }
131
-
132
- if (fixedWidth === 0) {
133
- return result;
134
- }
135
-
136
- return result.length < fixedWidth ? result.padStart(fixedWidth, ' ') : result;
137
- };
138
-
139
- const buildLocaleOptions = options => {
140
- const {minimumFractionDigits, maximumFractionDigits} = options;
141
-
142
- if (minimumFractionDigits === undefined && maximumFractionDigits === undefined) {
143
- return undefined;
144
- }
145
-
146
- return {
147
- ...(minimumFractionDigits !== undefined && {minimumFractionDigits}),
148
- ...(maximumFractionDigits !== undefined && {maximumFractionDigits}),
149
- roundingMode: 'trunc',
150
- };
151
- };
152
-
153
- function prettyBytes(number, options) {
154
- if (typeof number !== 'bigint' && !Number.isFinite(number)) {
155
- throw new TypeError(`Expected a finite number, got ${typeof number}: ${number}`);
156
- }
157
-
158
- options = {
159
- bits: false,
160
- binary: false,
161
- space: true,
162
- nonBreakingSpace: false,
163
- ...options,
164
- };
165
-
166
- const UNITS = options.bits
167
- ? (options.binary ? BIBIT_UNITS : BIT_UNITS)
168
- : (options.binary ? BIBYTE_UNITS : BYTE_UNITS);
169
-
170
- const separator = options.space ? (options.nonBreakingSpace ? '\u00A0' : ' ') : '';
171
-
172
- // Handle signed zero case
173
- const isZero = typeof number === 'number' ? number === 0 : number === 0n;
174
- if (options.signed && isZero) {
175
- const result = ` 0${separator}${UNITS[0]}`;
176
- return applyFixedWidth(result, options.fixedWidth);
177
- }
178
-
179
- const isNegative = number < 0;
180
- const prefix = isNegative ? '-' : (options.signed ? '+' : '');
181
-
182
- if (isNegative) {
183
- number = -number;
184
- }
185
-
186
- const localeOptions = buildLocaleOptions(options);
187
- let result;
188
-
189
- if (number < 1) {
190
- const numberString = toLocaleString(number, options.locale, localeOptions);
191
- result = prefix + numberString + separator + UNITS[0];
192
- } else {
193
- const exponent = Math.min(Math.floor(options.binary ? log(number) / Math.log(1024) : log10(number) / 3), UNITS.length - 1);
194
- number = divide(number, (options.binary ? 1024 : 1000) ** exponent);
195
-
196
- if (!localeOptions) {
197
- const minPrecision = Math.max(3, Math.floor(number).toString().length);
198
- number = number.toPrecision(minPrecision);
199
- }
200
-
201
- const numberString = toLocaleString(Number(number), options.locale, localeOptions);
202
- const unit = UNITS[exponent];
203
- result = prefix + numberString + separator + unit;
204
- }
205
-
206
- return applyFixedWidth(result, options.fixedWidth);
207
- }
208
-
209
- async function generateFSTree(dir, options = {}) {
210
- if (isTest) {
211
- return;
212
- }
213
- const files = await glob("**/*.*", { cwd: dir, ignore: ["*.map"] });
214
- const items = [];
215
- await runParallel(
216
- new Set(files),
217
- async (file) => {
218
- const path = resolve(dir, file);
219
- const src = await promises.readFile(path);
220
- const size = src.byteLength;
221
- const gzip = options.compressedSizes ? await gzipSize(src) : 0;
222
- items.push({ file, path, size, gzip });
223
- },
224
- { concurrency: 10 }
225
- );
226
- items.sort((a, b) => a.path.localeCompare(b.path));
227
- let totalSize = 0;
228
- let totalGzip = 0;
229
- let totalNodeModulesSize = 0;
230
- let totalNodeModulesGzip = 0;
231
- let treeText = "";
232
- for (const [index, item] of items.entries()) {
233
- dirname(item.file);
234
- const rpath = relative(process.cwd(), item.path);
235
- const treeChar = index === items.length - 1 ? "\u2514\u2500" : "\u251C\u2500";
236
- const isNodeModules = item.file.includes("node_modules");
237
- if (isNodeModules) {
238
- totalNodeModulesSize += item.size;
239
- totalNodeModulesGzip += item.gzip;
240
- continue;
241
- }
242
- treeText += colors.gray(
243
- ` ${treeChar} ${rpath} (${prettyBytes(item.size)})`
244
- );
245
- if (options.compressedSizes) {
246
- treeText += colors.gray(` (${prettyBytes(item.gzip)} gzip)`);
247
- }
248
- treeText += "\n";
249
- totalSize += item.size;
250
- totalGzip += item.gzip;
251
- }
252
- treeText += `${colors.cyan("\u03A3 Total size:")} ${prettyBytes(
253
- totalSize + totalNodeModulesSize
254
- )}`;
255
- if (options.compressedSizes) {
256
- treeText += ` (${prettyBytes(totalGzip + totalNodeModulesGzip)} gzip)`;
257
- }
258
- treeText += "\n";
259
- return treeText;
260
- }
261
-
262
- async function snapshot(nitro) {
263
- if (nitro.options.bundledStorage.length === 0 || nitro.options.preset === "nitro-prerender") {
264
- return;
265
- }
266
- const storageDir = resolve(nitro.options.buildDir, "snapshot");
267
- nitro.options.serverAssets.push({
268
- baseName: "nitro:bundled",
269
- dir: storageDir
270
- });
271
- const data = await snapshotStorage(nitro);
272
- await Promise.all(
273
- Object.entries(data).map(async ([path, contents]) => {
274
- if (typeof contents !== "string") {
275
- contents = JSON.stringify(contents);
276
- }
277
- const fsPath = join(storageDir, path.replace(/:/g, "/"));
278
- await mkdir(dirname(fsPath), { recursive: true });
279
- await writeFile(fsPath, contents, "utf8");
280
- })
281
- );
282
- }
283
-
284
- export { generateFSTree as g, nitroServerName as n, snapshot as s };