nitro-nightly 3.0.1-20251203-124705-dbc1cd2d → 3.0.1-20251204-002632-497db05f

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.
@@ -2,24 +2,24 @@ import "../_chunks/QkUO_zA6.mjs";
2
2
  import { O as relative, o as debounce, w as join } from "../_libs/c12.mjs";
3
3
  import "../_libs/gen-mapping.mjs";
4
4
  import "../_libs/acorn.mjs";
5
- import { f as sanitizeFilePath } from "../_libs/local-pkg.mjs";
5
+ import { d as sanitizeFilePath } from "../_libs/local-pkg.mjs";
6
6
  import "../_libs/js-tokens.mjs";
7
7
  import "../_libs/unimport.mjs";
8
8
  import "../_libs/fdir.mjs";
9
9
  import { t as formatCompatibilityDate } from "../_libs/compatx.mjs";
10
10
  import "../_chunks/DJvLZH4H.mjs";
11
- import { i as scanHandlers, n as writeTypes } from "../_chunks/XHOrB-Xs.mjs";
11
+ import { i as scanHandlers, n as writeTypes } from "../_chunks/Ddt06bL8.mjs";
12
12
  import "../_libs/mime.mjs";
13
13
  import { n as writeBuildInfo } from "./common.mjs";
14
14
  import { a as watch$1 } from "../_libs/chokidar.mjs";
15
15
  import "../_libs/plugin-commonjs.mjs";
16
- import { n as getChunkName, r as baseBuildConfig, t as baseBuildPlugins } from "../_chunks/rU_kdJ2P.mjs";
16
+ import { n as getChunkName, r as baseBuildConfig, t as baseBuildPlugins } from "../_chunks/Dkk4dpNb.mjs";
17
+ import "../_libs/etag.mjs";
17
18
  import "../_libs/remapping.mjs";
18
19
  import "../_libs/plugin-replace.mjs";
19
- import "../_libs/etag.mjs";
20
20
  import "../_libs/duplexer.mjs";
21
21
  import "../_libs/gzip-size.mjs";
22
- import { t as generateFSTree } from "../_chunks/C3_uRBf2.mjs";
22
+ import { t as generateFSTree } from "../_chunks/D-63lyig.mjs";
23
23
  import { builtinModules } from "node:module";
24
24
  import { watch } from "node:fs";
25
25
  import { defu } from "defu";
@@ -2,26 +2,26 @@ import "../_chunks/QkUO_zA6.mjs";
2
2
  import { C as isAbsolute, O as relative, o as debounce, w as join } from "../_libs/c12.mjs";
3
3
  import "../_libs/gen-mapping.mjs";
4
4
  import "../_libs/acorn.mjs";
5
- import { f as sanitizeFilePath } from "../_libs/local-pkg.mjs";
5
+ import { d as sanitizeFilePath } from "../_libs/local-pkg.mjs";
6
6
  import "../_libs/js-tokens.mjs";
7
7
  import "../_libs/unimport.mjs";
8
8
  import "../_libs/fdir.mjs";
9
9
  import { t as formatCompatibilityDate } from "../_libs/compatx.mjs";
10
10
  import "../_chunks/DJvLZH4H.mjs";
11
- import { i as scanHandlers, n as writeTypes } from "../_chunks/XHOrB-Xs.mjs";
11
+ import { i as scanHandlers, n as writeTypes } from "../_chunks/Ddt06bL8.mjs";
12
12
  import "../_libs/mime.mjs";
13
13
  import { n as writeBuildInfo } from "./common.mjs";
14
14
  import { a as watch$1 } from "../_libs/chokidar.mjs";
15
15
  import { t as alias } from "../_libs/plugin-alias.mjs";
16
16
  import { t as commonjs } from "../_libs/plugin-commonjs.mjs";
17
17
  import { t as inject } from "../_libs/plugin-inject.mjs";
18
- import { n as getChunkName, r as baseBuildConfig, t as baseBuildPlugins } from "../_chunks/rU_kdJ2P.mjs";
18
+ import { n as getChunkName, r as baseBuildConfig, t as baseBuildPlugins } from "../_chunks/Dkk4dpNb.mjs";
19
+ import "../_libs/etag.mjs";
19
20
  import "../_libs/remapping.mjs";
20
21
  import "../_libs/plugin-replace.mjs";
21
- import "../_libs/etag.mjs";
22
22
  import "../_libs/duplexer.mjs";
23
23
  import "../_libs/gzip-size.mjs";
24
- import { t as generateFSTree } from "../_chunks/C3_uRBf2.mjs";
24
+ import { t as generateFSTree } from "../_chunks/D-63lyig.mjs";
25
25
  import "../_libs/commondir.mjs";
26
26
  import "../_libs/is-reference.mjs";
27
27
  import { t as json } from "../_libs/plugin-json.mjs";
@@ -5,21 +5,21 @@ import "../_libs/acorn.mjs";
5
5
  import "../_libs/js-tokens.mjs";
6
6
  import "../_libs/unimport.mjs";
7
7
  import "../_libs/fdir.mjs";
8
- import { r as a } from "../_libs/std-env.mjs";
9
- import "../_chunks/_yl3G_3Y.mjs";
8
+ import { i as a } from "../_libs/std-env.mjs";
9
+ import "../_chunks/CvxEFBdh.mjs";
10
10
  import "../_libs/tsconfck.mjs";
11
11
  import "../_chunks/DJvLZH4H.mjs";
12
- import "../_chunks/XHOrB-Xs.mjs";
12
+ import "../_chunks/Ddt06bL8.mjs";
13
13
  import "../_libs/mime.mjs";
14
14
  import "./common.mjs";
15
- import "../_dev.mjs";
15
+ import "../_chunks/Ddq6HHrM.mjs";
16
16
  import "../_libs/plugin-alias.mjs";
17
17
  import "../_libs/plugin-commonjs.mjs";
18
18
  import "../_libs/plugin-inject.mjs";
19
- import "../_chunks/rU_kdJ2P.mjs";
19
+ import "../_chunks/Dkk4dpNb.mjs";
20
+ import "../_libs/etag.mjs";
20
21
  import "../_libs/remapping.mjs";
21
22
  import "../_libs/plugin-replace.mjs";
22
- import "../_libs/etag.mjs";
23
23
  import { t as nitro } from "./vite.plugin.mjs";
24
24
  import "../_libs/vite-plugin-fullstack.mjs";
25
25
 
@@ -1,16 +1,16 @@
1
1
  import { C as isAbsolute$1, O as relative$1, b as basename$1, h as resolveModulePath, k as resolve$1, o as debounce, w as join$1, x as dirname$1 } from "../_libs/c12.mjs";
2
- import { f as sanitizeFilePath } from "../_libs/local-pkg.mjs";
2
+ import { d as sanitizeFilePath } from "../_libs/local-pkg.mjs";
3
3
  import { t as formatCompatibilityDate } from "../_libs/compatx.mjs";
4
- import { n as T, r as a } from "../_libs/std-env.mjs";
5
- import { a as copyPublicAssets, i as prepare, s as createNitro } from "../_chunks/_yl3G_3Y.mjs";
4
+ import { i as a, r as T } from "../_libs/std-env.mjs";
5
+ import { a as copyPublicAssets, i as prepare, s as createNitro } from "../_chunks/CvxEFBdh.mjs";
6
6
  import { n as prettyPath } from "../_chunks/DJvLZH4H.mjs";
7
- import { i as scanHandlers } from "../_chunks/XHOrB-Xs.mjs";
7
+ import { i as scanHandlers } from "../_chunks/Ddt06bL8.mjs";
8
8
  import { n as writeBuildInfo, t as getBuildInfo } from "./common.mjs";
9
- import { i as NodeDevWorker, r as NitroDevApp } from "../_dev.mjs";
9
+ import { i as NodeEnvRunner, r as NitroDevApp } from "../_chunks/Ddq6HHrM.mjs";
10
10
  import { a as watch$1 } from "../_libs/chokidar.mjs";
11
11
  import { t as alias } from "../_libs/plugin-alias.mjs";
12
12
  import { t as inject } from "../_libs/plugin-inject.mjs";
13
- import { n as getChunkName, r as baseBuildConfig, t as baseBuildPlugins } from "../_chunks/rU_kdJ2P.mjs";
13
+ import { n as getChunkName, r as baseBuildConfig, t as baseBuildPlugins } from "../_chunks/Dkk4dpNb.mjs";
14
14
  import { t as assetsPlugin } from "../_libs/vite-plugin-fullstack.mjs";
15
15
  import consola$1 from "consola";
16
16
  import { join, resolve } from "node:path";
@@ -263,7 +263,7 @@ async function configureViteDevServer(ctx, server) {
263
263
  if (nitroConfigFile) server.config.configFileDependencies.push(nitroConfigFile);
264
264
  if (nitro$1.options.features.websocket ?? nitro$1.options.experimental.websocket) server.httpServer.on("upgrade", (req, socket, head) => {
265
265
  if (req.url?.startsWith("/?token")) return;
266
- ctx.devWorker?.upgrade(req, socket, head);
266
+ getEnvRunner(ctx).upgrade?.(req, socket, head);
267
267
  });
268
268
  const reload = debounce(async () => {
269
269
  await scanHandlers(nitro$1);
@@ -341,15 +341,11 @@ async function configureViteDevServer(ctx, server) {
341
341
 
342
342
  //#endregion
343
343
  //#region src/build/vite/env.ts
344
- function createDevWorker(ctx) {
345
- return new NodeDevWorker({
344
+ function getEnvRunner(ctx) {
345
+ return ctx._envRunner ??= new NodeEnvRunner({
346
346
  name: "nitro-vite",
347
- entry: resolve(runtimeDir, "internal/vite/dev-worker.mjs"),
348
- hooks: {},
349
- data: {
350
- server: true,
351
- globals: { __NITRO_RUNTIME_CONFIG__: ctx.nitro.options.runtimeConfig }
352
- }
347
+ entry: resolve(runtimeDir, "internal/vite/node-runner.mjs"),
348
+ data: { server: true }
353
349
  });
354
350
  }
355
351
  function createNitroEnvironment(ctx) {
@@ -363,11 +359,15 @@ function createNitroEnvironment(ctx) {
363
359
  commonjsOptions: { ...ctx.nitro.options.commonJS }
364
360
  },
365
361
  resolve: {
366
- noExternal: ctx.nitro.options.dev ? [...ctx.rollupConfig.base.noExternal.filter((i) => typeof i === "string" || i instanceof RegExp), ...runtimeDependencies] : true,
362
+ noExternal: ctx.nitro.options.dev ? [
363
+ /^nitro$/,
364
+ /* @__PURE__ */ new RegExp(`^(${runtimeDependencies.join("|")})$`),
365
+ ...ctx.rollupConfig.base.noExternal
366
+ ] : true,
367
367
  conditions: ctx.nitro.options.exportConditions,
368
368
  externalConditions: ctx.nitro.options.exportConditions
369
369
  },
370
- dev: { createEnvironment: (envName, envConfig) => createFetchableDevEnvironment(envName, envConfig, ctx.devWorker, resolve(runtimeDir, "internal/vite/dev-entry.mjs")) }
370
+ dev: { createEnvironment: (envName, envConfig) => createFetchableDevEnvironment(envName, envConfig, getEnvRunner(ctx), resolve(runtimeDir, "internal/vite/dev-entry.mjs")) }
371
371
  };
372
372
  }
373
373
  function createServiceEnvironment(ctx, name, serviceConfig) {
@@ -381,10 +381,11 @@ function createServiceEnvironment(ctx, name, serviceConfig) {
381
381
  emptyOutDir: true
382
382
  },
383
383
  resolve: {
384
+ noExternal: ctx.nitro.options.dev ? ctx.rollupConfig.base.noExternal : true,
384
385
  conditions: ctx.nitro.options.exportConditions,
385
386
  externalConditions: ctx.nitro.options.exportConditions
386
387
  },
387
- dev: { createEnvironment: (envName, envConfig) => createFetchableDevEnvironment(envName, envConfig, ctx.devWorker, tryResolve(serviceConfig.entry)) }
388
+ dev: { createEnvironment: (envName, envConfig) => createFetchableDevEnvironment(envName, envConfig, getEnvRunner(ctx), tryResolve(serviceConfig.entry)) }
388
389
  };
389
390
  }
390
391
  function createServiceEnvironments(ctx) {
@@ -731,11 +732,12 @@ async function setupNitroContext(ctx, configEnv, userConfig) {
731
732
  await ctx.nitro.hooks.callHook("build:before", ctx.nitro);
732
733
  ctx.rollupConfig = await getViteRollupConfig(ctx);
733
734
  await ctx.nitro.hooks.callHook("rollup:before", ctx.nitro, ctx.rollupConfig.config);
734
- if (ctx.nitro.options.dev && !ctx.devWorker) {
735
- ctx.devWorker = createDevWorker(ctx);
736
- ctx.nitro.fetch = (req) => ctx.devWorker.fetch(req);
737
- }
735
+ if (ctx.nitro.options.dev) getEnvRunner(ctx);
736
+ ctx.nitro.fetch = (req) => getEnvRunner(ctx).fetch(req);
738
737
  if (ctx.nitro.options.dev && !ctx.devApp) ctx.devApp = new NitroDevApp(ctx.nitro);
738
+ ctx.nitro.hooks.hook("close", async () => {
739
+ if (ctx._envRunner) await ctx._envRunner.close();
740
+ });
739
741
  }
740
742
  function getEntry(input) {
741
743
  if (typeof input === "string") return input;
@@ -3,11 +3,11 @@ import { a as createUnimport } from "../_libs/unimport.mjs";
3
3
  import { t as glob } from "../_libs/tinyglobby.mjs";
4
4
  import { n as resolveCompatibilityDates, r as resolveCompatibilityDatesFromEnv } from "../_libs/compatx.mjs";
5
5
  import { t as klona } from "../_libs/klona.mjs";
6
- import { i as d, r as a } from "../_libs/std-env.mjs";
6
+ import { a as d, i as a } from "../_libs/std-env.mjs";
7
7
  import { t as escapeStringRegexp } from "../_libs/escape-string-regexp.mjs";
8
8
  import { n as parse, t as TSConfckCache } from "../_libs/tsconfck.mjs";
9
9
  import { i as writeFile$1, n as prettyPath, r as resolveNitroPath, t as isDirectory } from "./DJvLZH4H.mjs";
10
- import { i as scanHandlers, r as scanAndSyncOptions, t as runParallel } from "./XHOrB-Xs.mjs";
10
+ import { i as scanHandlers, r as scanAndSyncOptions, t as runParallel } from "./Ddt06bL8.mjs";
11
11
  import { a as findRoute, i as findAllRoutes, n as addRoute, r as createRouter, t as compileRouterToString } from "../_libs/rou3.mjs";
12
12
  import { t as src_default } from "../_libs/mime.mjs";
13
13
  import { n as z, t as P } from "../_libs/ultrahtml.mjs";
@@ -57,6 +57,7 @@ const NitroDefaults = {
57
57
  virtual: {},
58
58
  compressPublicAssets: false,
59
59
  ignore: [],
60
+ wasm: {},
60
61
  dev: false,
61
62
  devServer: { watch: [] },
62
63
  watchOptions: { ignoreInitial: true },
@@ -87,6 +88,7 @@ const NitroDefaults = {
87
88
  replace: {},
88
89
  node: true,
89
90
  sourcemap: false,
91
+ traceDeps: [],
90
92
  typescript: {
91
93
  strict: true,
92
94
  generateRuntimeConfigTypes: false,
@@ -1,7 +1,7 @@
1
1
  import { O as relative, k as resolve, x as dirname } from "../_libs/c12.mjs";
2
2
  import { t as glob } from "../_libs/tinyglobby.mjs";
3
- import { r as a } from "../_libs/std-env.mjs";
4
- import { t as runParallel } from "./XHOrB-Xs.mjs";
3
+ import { i as a } from "../_libs/std-env.mjs";
4
+ import { t as runParallel } from "./Ddt06bL8.mjs";
5
5
  import { t as gzipSize } from "../_libs/gzip-size.mjs";
6
6
  import { t as prettyBytes } from "../_libs/pretty-bytes.mjs";
7
7
  import { promises } from "node:fs";
@@ -1,9 +1,9 @@
1
- import { S as extname$1, k as resolve$1, o as debounce, w as join$1 } from "./_libs/c12.mjs";
2
- import { n as T, r as a } from "./_libs/std-env.mjs";
3
- import { t as src_default } from "./_libs/mime.mjs";
4
- import { r as writeDevBuildInfo } from "./_build/common.mjs";
5
- import { n as createProxyServer } from "./_libs/httpxy.mjs";
6
- import { a as watch$1 } from "./_libs/chokidar.mjs";
1
+ import { S as extname$1, k as resolve$1, o as debounce, w as join$1 } from "../_libs/c12.mjs";
2
+ import { i as a, r as T } from "../_libs/std-env.mjs";
3
+ import { t as src_default } from "../_libs/mime.mjs";
4
+ import { r as writeDevBuildInfo } from "../_build/common.mjs";
5
+ import { n as createProxyServer } from "../_libs/httpxy.mjs";
6
+ import { a as watch$1 } from "../_libs/chokidar.mjs";
7
7
  import consola$1 from "consola";
8
8
  import { dirname, resolve } from "node:path";
9
9
  import { createReadStream, existsSync } from "node:fs";
@@ -19,7 +19,7 @@ import { Youch } from "youch";
19
19
  import { SourceMapConsumer } from "source-map";
20
20
  import { FastResponse } from "srvx";
21
21
 
22
- //#region src/dev/proxy.ts
22
+ //#region src/runner/proxy.ts
23
23
  function createHTTPProxy(defaults = {}) {
24
24
  const proxy = createProxyServer(defaults);
25
25
  proxy.on("proxyReq", (proxyReq, req) => {
@@ -92,8 +92,8 @@ function fetchSocketOptions(socketPath) {
92
92
  }
93
93
 
94
94
  //#endregion
95
- //#region src/dev/worker.ts
96
- var NodeDevWorker = class {
95
+ //#region src/runner/node.ts
96
+ var NodeEnvRunner = class {
97
97
  closed = false;
98
98
  #name;
99
99
  #entry;
@@ -107,7 +107,7 @@ var NodeDevWorker = class {
107
107
  this.#name = opts.name;
108
108
  this.#entry = opts.entry;
109
109
  this.#data = opts.data;
110
- this.#hooks = opts.hooks;
110
+ this.#hooks = opts.hooks || {};
111
111
  this.#proxy = createHTTPProxy();
112
112
  this.#messageListeners = /* @__PURE__ */ new Set();
113
113
  this.#initWorker();
@@ -117,7 +117,7 @@ var NodeDevWorker = class {
117
117
  }
118
118
  async fetch(input, init) {
119
119
  for (let i = 0; i < 5 && !(this.#address && this.#proxy); i++) await new Promise((r) => setTimeout(r, 100 * Math.pow(2, i)));
120
- if (!(this.#address && this.#proxy)) return new Response("Dev worker is unavailable", { status: 503 });
120
+ if (!(this.#address && this.#proxy)) return new Response("Node env runner worker is unavailable", { status: 503 });
121
121
  return fetchAddress(this.#address, input, init);
122
122
  }
123
123
  upgrade(req, socket, head) {
@@ -130,7 +130,7 @@ var NodeDevWorker = class {
130
130
  });
131
131
  }
132
132
  sendMessage(message) {
133
- if (!this.#worker) throw new Error("Dev worker should be initialized before sending messages.");
133
+ if (!this.#worker) throw new Error("Node env worker should be initialized before sending messages.");
134
134
  this.#worker.postMessage(message);
135
135
  }
136
136
  onMessage(listener) {
@@ -151,7 +151,7 @@ var NodeDevWorker = class {
151
151
  }
152
152
  [Symbol.for("nodejs.util.inspect.custom")]() {
153
153
  const status = this.closed ? "closed" : this.ready ? "ready" : "pending";
154
- return `NodeDevWorker#${this.#name}(${status})`;
154
+ return `NodeEnvRunner#${this.#name}(${status})`;
155
155
  }
156
156
  #initWorker() {
157
157
  if (!existsSync(this.#entry)) {
@@ -197,7 +197,8 @@ var NodeDevWorker = class {
197
197
  if (!this.#worker._exitCode && !a && !T) await new Promise((resolve$2) => {
198
198
  const gracefulShutdownTimeoutMs = Number.parseInt(process.env.NITRO_SHUTDOWN_TIMEOUT || "", 10) || 5e3;
199
199
  const timeout = setTimeout(() => {
200
- if (process.env.DEBUG) consola$1.warn(`force closing dev worker...`);
200
+ consola$1.warn(`force closing node env runner worker...`);
201
+ resolve$2();
201
202
  }, gracefulShutdownTimeoutMs);
202
203
  this.#worker?.on("message", (message) => {
203
204
  if (message.event === "exit") {
@@ -590,6 +591,10 @@ var NitroDevServer = class NitroDevServer extends NitroDevApp {
590
591
  status: 503,
591
592
  statusText: "No worker available."
592
593
  });
594
+ if (!worker.upgrade) throw new HTTPError({
595
+ status: 501,
596
+ statusText: "Worker does not support upgrades."
597
+ });
593
598
  return worker.upgrade(req, socket, head);
594
599
  }
595
600
  listen(opts) {
@@ -619,16 +624,10 @@ var NitroDevServer = class NitroDevServer extends NitroDevApp {
619
624
  }
620
625
  reload() {
621
626
  for (const worker$1 of this.#workers) worker$1.close();
622
- const worker = new NodeDevWorker({
627
+ const worker = new NodeEnvRunner({
623
628
  name: `Nitro_${this.#workerIdCtr++}`,
624
629
  entry: this.#entry,
625
- data: {
626
- ...this.#workerData,
627
- globals: {
628
- __NITRO_RUNTIME_CONFIG__: this.nitro.options.runtimeConfig,
629
- ...this.#workerData.globals
630
- }
631
- },
630
+ data: this.#workerData,
632
631
  hooks: {
633
632
  onClose: (worker$1, cause) => {
634
633
  this.#workerError = cause;
@@ -697,4 +696,4 @@ var NitroDevServer = class NitroDevServer extends NitroDevApp {
697
696
  };
698
697
 
699
698
  //#endregion
700
- export { NodeDevWorker as i, createDevServer as n, NitroDevApp as r, NitroDevServer as t };
699
+ export { NodeEnvRunner as i, createDevServer as n, NitroDevApp as r, NitroDevServer as t };
@@ -1,5 +1,5 @@
1
1
  import { C as isAbsolute, O as relative, h as resolveModulePath, k as resolve, w as join, x as dirname } from "../_libs/c12.mjs";
2
- import { c as parseNodeModulePath, s as lookupNodeModuleSubpath } from "../_libs/local-pkg.mjs";
2
+ import { o as lookupNodeModuleSubpath, s as parseNodeModulePath } from "../_libs/local-pkg.mjs";
3
3
  import { o as toExports } from "../_libs/unimport.mjs";
4
4
  import { t as glob } from "../_libs/tinyglobby.mjs";
5
5
  import { i as writeFile, r as resolveNitroPath, t as isDirectory } from "./DJvLZH4H.mjs";