nitro 3.0.260415-beta → 3.0.260429-beta
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.
- package/dist/THIRD-PARTY-LICENSES.md +32 -2
- package/dist/_build/common.mjs +43 -29
- package/dist/_build/rolldown.mjs +1 -1
- package/dist/_build/rollup.mjs +2 -2
- package/dist/_build/vite.build.mjs +1 -1
- package/dist/_chunks/nitro.mjs +5 -5
- package/dist/_chunks/nitro2.mjs +1 -1
- package/dist/_chunks/nitro3.mjs +1 -1
- package/dist/_chunks/nitro4.mjs +2 -2
- package/dist/_chunks/utils.mjs +2 -2
- package/dist/_common.mjs +1 -1
- package/dist/_dev.mjs +3 -2
- package/dist/_libs/c12+rc9.mjs +21 -9
- package/dist/_libs/hasown+resolve+deepmerge.mjs +47 -34
- package/dist/_libs/httpxy.d.mts +1 -3
- package/dist/_libs/httpxy.mjs +5 -5
- package/dist/_libs/nypm+tinyexec.mjs +129 -98
- package/dist/_libs/pkg-types.d.mts +7 -4
- package/dist/_libs/plugin-inject.mjs +3 -1
- package/dist/_libs/pluginutils.mjs +4 -2
- package/dist/_libs/readdirp+chokidar.mjs +2 -1
- package/dist/_libs/{unimport+unplugin.mjs → unimport+unplugin+oxc-parser.mjs} +49 -37
- package/dist/_libs/unplugin+unimport.d.mts +1 -1
- package/dist/_presets.mjs +2 -1
- package/dist/cli/_chunks/build.mjs +1 -1
- package/dist/cli/_chunks/deploy.mjs +1 -1
- package/dist/cli/_chunks/dev.mjs +1 -1
- package/dist/cli/_chunks/list.mjs +1 -1
- package/dist/cli/_chunks/prepare.mjs +1 -1
- package/dist/cli/_chunks/preview.mjs +1 -1
- package/dist/cli/_chunks/run.mjs +1 -1
- package/dist/docs/0.docs/5.cache.md +53 -9
- package/dist/node_modules/ufo/dist/index.mjs +2 -2
- package/dist/node_modules/ufo/package.json +9 -9
- package/dist/presets/azure/runtime/azure-swa.mjs +2 -0
- package/dist/runtime/internal/route-rules.d.mts +1 -0
- package/dist/runtime/internal/route-rules.mjs +29 -1
- package/dist/runtime/internal/routes/scalar.mjs +1 -0
- package/dist/types/index.d.mts +922 -64
- package/dist/vite.d.mts +1 -1
- package/dist/vite.mjs +11 -5
- package/package.json +28 -27
- package/dist/_libs/_.mjs +0 -2
- package/dist/_libs/_2.mjs +0 -2
- package/dist/_libs/_3.mjs +0 -2
- package/dist/_libs/_4.mjs +0 -2
- package/dist/_libs/_5.mjs +0 -2
- package/dist/_libs/_6.mjs +0 -2
- package/dist/_libs/_7.mjs +0 -2
- package/dist/_libs/escape-string-regexp.mjs +0 -5
|
@@ -95,20 +95,24 @@ var require_homedir = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
95
95
|
module.exports = __require("os").homedir || function homedir() {
|
|
96
96
|
var home = process.env.HOME;
|
|
97
97
|
var user = process.env.LOGNAME || process.env.USER || process.env.LNAME || process.env.USERNAME;
|
|
98
|
-
if (process.platform === "win32") return process.env.USERPROFILE || process.env.HOMEDRIVE + process.env.HOMEPATH || home || null;
|
|
98
|
+
if (process.platform === "win32") return process.env.USERPROFILE || process.env.HOMEDRIVE && process.env.HOMEPATH && process.env.HOMEDRIVE + process.env.HOMEPATH || home || null;
|
|
99
99
|
if (process.platform === "darwin") return home || (user ? "/Users/" + user : null);
|
|
100
100
|
if (process.platform === "linux") return home || (process.getuid() === 0 ? "/root" : user ? "/home/" + user : null);
|
|
101
101
|
return home || null;
|
|
102
102
|
};
|
|
103
103
|
}));
|
|
104
|
+
var require_es_errors = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
105
|
+
module.exports = Error;
|
|
106
|
+
}));
|
|
104
107
|
var require_caller = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
108
|
+
var $Error = require_es_errors();
|
|
105
109
|
module.exports = function() {
|
|
106
|
-
var origPrepareStackTrace = Error.prepareStackTrace;
|
|
107
|
-
Error.prepareStackTrace = function(_, stack) {
|
|
110
|
+
var origPrepareStackTrace = $Error.prepareStackTrace;
|
|
111
|
+
$Error.prepareStackTrace = function(_, stack) {
|
|
108
112
|
return stack;
|
|
109
113
|
};
|
|
110
|
-
var stack =
|
|
111
|
-
Error.prepareStackTrace = origPrepareStackTrace;
|
|
114
|
+
var stack = new $Error().stack;
|
|
115
|
+
$Error.prepareStackTrace = origPrepareStackTrace;
|
|
112
116
|
return stack[2].getFileName();
|
|
113
117
|
};
|
|
114
118
|
}));
|
|
@@ -158,7 +162,7 @@ var require_node_modules_paths = /* @__PURE__ */ __commonJSMin(((exports, module
|
|
|
158
162
|
var parse = path$3.parse || require_path_parse();
|
|
159
163
|
var driveLetterRegex = /^([A-Za-z]:)/;
|
|
160
164
|
var uncPathRegex = /^\\\\/;
|
|
161
|
-
|
|
165
|
+
function getNodeModulesDirs(absoluteStart, modules) {
|
|
162
166
|
var prefix = "/";
|
|
163
167
|
if (driveLetterRegex.test(absoluteStart)) prefix = "";
|
|
164
168
|
else if (uncPathRegex.test(absoluteStart)) prefix = "\\\\";
|
|
@@ -173,7 +177,7 @@ var require_node_modules_paths = /* @__PURE__ */ __commonJSMin(((exports, module
|
|
|
173
177
|
return path$3.resolve(prefix, aPath, moduleDir);
|
|
174
178
|
}));
|
|
175
179
|
}, []);
|
|
176
|
-
}
|
|
180
|
+
}
|
|
177
181
|
module.exports = function nodeModulesPaths(start, opts, request) {
|
|
178
182
|
var modules = opts && opts.moduleDirectory ? [].concat(opts.moduleDirectory) : ["node_modules"];
|
|
179
183
|
if (opts && typeof opts.paths === "function") return opts.paths(request, start, function() {
|
|
@@ -457,6 +461,9 @@ var require_is_core_module = /* @__PURE__ */ __commonJSMin(((exports, module) =>
|
|
|
457
461
|
return hasOwn(data, x) && versionIncluded(nodeVersion, data[x]);
|
|
458
462
|
};
|
|
459
463
|
}));
|
|
464
|
+
var require_type = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
465
|
+
module.exports = TypeError;
|
|
466
|
+
}));
|
|
460
467
|
var require_async = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
461
468
|
var fs$2 = __require("fs");
|
|
462
469
|
var getHomedir = require_homedir();
|
|
@@ -465,14 +472,17 @@ var require_async = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
465
472
|
var nodeModulesPaths = require_node_modules_paths();
|
|
466
473
|
var normalizeOptions = require_normalize_options();
|
|
467
474
|
var isCore = require_is_core_module();
|
|
475
|
+
var $Error = require_es_errors();
|
|
476
|
+
var $TypeError = require_type();
|
|
468
477
|
var realpathFS = process.platform !== "win32" && fs$2.realpath && typeof fs$2.realpath.native === "function" ? fs$2.realpath.native : fs$2.realpath;
|
|
469
478
|
var relativePathRegex = /^(?:\.\.?(?:\/|$)|\/|([A-Za-z]:)?[/\\])/;
|
|
470
479
|
var windowsDriveRegex = /^\w:[/\\]*$/;
|
|
471
480
|
var nodeModulesRegex = /[/\\]node_modules[/\\]*$/;
|
|
472
481
|
var homedir = getHomedir();
|
|
473
|
-
|
|
482
|
+
function defaultPaths() {
|
|
483
|
+
if (!homedir) return [];
|
|
474
484
|
return [path$2.join(homedir, ".node_modules"), path$2.join(homedir, ".node_libraries")];
|
|
475
|
-
}
|
|
485
|
+
}
|
|
476
486
|
var defaultIsFile = function isFile(file, cb) {
|
|
477
487
|
fs$2.stat(file, function(err, stat) {
|
|
478
488
|
if (!err) return cb(null, stat.isFile() || stat.isFIFO());
|
|
@@ -493,11 +503,11 @@ var require_async = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
493
503
|
else cb(null, realpathErr ? x : realPath);
|
|
494
504
|
});
|
|
495
505
|
};
|
|
496
|
-
|
|
506
|
+
function maybeRealpath(realpath, x, opts, cb) {
|
|
497
507
|
if (opts && opts.preserveSymlinks === false) realpath(x, cb);
|
|
498
508
|
else cb(null, x);
|
|
499
|
-
}
|
|
500
|
-
|
|
509
|
+
}
|
|
510
|
+
function defaultReadPackage(readFile, pkgfile, cb) {
|
|
501
511
|
readFile(pkgfile, function(readFileErr, body) {
|
|
502
512
|
if (readFileErr) cb(readFileErr);
|
|
503
513
|
else try {
|
|
@@ -506,12 +516,12 @@ var require_async = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
506
516
|
cb(null);
|
|
507
517
|
}
|
|
508
518
|
});
|
|
509
|
-
}
|
|
510
|
-
|
|
519
|
+
}
|
|
520
|
+
function getPackageCandidates(x, start, opts) {
|
|
511
521
|
var dirs = nodeModulesPaths(start, opts, x);
|
|
512
522
|
for (var i = 0; i < dirs.length; i++) dirs[i] = path$2.join(dirs[i], x);
|
|
513
523
|
return dirs;
|
|
514
|
-
}
|
|
524
|
+
}
|
|
515
525
|
module.exports = function resolve(x, options, callback) {
|
|
516
526
|
var cb = callback;
|
|
517
527
|
var opts = options;
|
|
@@ -520,7 +530,7 @@ var require_async = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
520
530
|
opts = {};
|
|
521
531
|
}
|
|
522
532
|
if (typeof x !== "string") {
|
|
523
|
-
var err =
|
|
533
|
+
var err = new $TypeError("Path must be a string.");
|
|
524
534
|
return process.nextTick(function() {
|
|
525
535
|
cb(err);
|
|
526
536
|
});
|
|
@@ -532,7 +542,7 @@ var require_async = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
532
542
|
var realpath = opts.realpath || defaultRealpath;
|
|
533
543
|
var readPackage = opts.readPackage || defaultReadPackage;
|
|
534
544
|
if (opts.readFile && opts.readPackage) {
|
|
535
|
-
var conflictErr =
|
|
545
|
+
var conflictErr = new $TypeError("`readFile` and `readPackage` are mutually exclusive.");
|
|
536
546
|
return process.nextTick(function() {
|
|
537
547
|
cb(conflictErr);
|
|
538
548
|
});
|
|
@@ -562,7 +572,7 @@ var require_async = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
562
572
|
else cb(null, realN, pkg);
|
|
563
573
|
});
|
|
564
574
|
else {
|
|
565
|
-
var moduleError =
|
|
575
|
+
var moduleError = new $Error("Cannot find module '" + x + "' from '" + parent + "'");
|
|
566
576
|
moduleError.code = "MODULE_NOT_FOUND";
|
|
567
577
|
cb(moduleError);
|
|
568
578
|
}
|
|
@@ -578,7 +588,7 @@ var require_async = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
578
588
|
else cb(null, realD, pkg);
|
|
579
589
|
});
|
|
580
590
|
else {
|
|
581
|
-
var moduleError =
|
|
591
|
+
var moduleError = new $Error("Cannot find module '" + x + "' from '" + parent + "'");
|
|
582
592
|
moduleError.code = "MODULE_NOT_FOUND";
|
|
583
593
|
cb(moduleError);
|
|
584
594
|
}
|
|
@@ -605,7 +615,7 @@ var require_async = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
605
615
|
var rfile = path$2.relative(dir, file);
|
|
606
616
|
var rel = rfile.slice(0, rfile.length - exts[0].length);
|
|
607
617
|
var r = opts.pathFilter(pkg, x, rel);
|
|
608
|
-
if (r) return load([""].concat(extensions
|
|
618
|
+
if (r) return load([""].concat(extensions), path$2.resolve(dir, r), pkg);
|
|
609
619
|
}
|
|
610
620
|
isFile(file, onex);
|
|
611
621
|
}
|
|
@@ -626,7 +636,7 @@ var require_async = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
626
636
|
isFile(pkgfile, function(err, ex) {
|
|
627
637
|
if (!ex) return loadpkg(path$2.dirname(dir), cb);
|
|
628
638
|
readPackage(readFile, pkgfile, function(err, pkgParam) {
|
|
629
|
-
if (err) cb(err);
|
|
639
|
+
if (err) return cb(err);
|
|
630
640
|
var pkg = pkgParam;
|
|
631
641
|
if (pkg && opts.packageFilter) pkg = opts.packageFilter(pkg, pkgfile);
|
|
632
642
|
cb(null, pkg, dir);
|
|
@@ -653,7 +663,7 @@ var require_async = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
653
663
|
if (pkg && opts.packageFilter) pkg = opts.packageFilter(pkg, pkgfile);
|
|
654
664
|
if (pkg && pkg.main) {
|
|
655
665
|
if (typeof pkg.main !== "string") {
|
|
656
|
-
var mainError =
|
|
666
|
+
var mainError = new $TypeError("package “" + pkg.name + "” `main` must be a string");
|
|
657
667
|
mainError.code = "INVALID_PACKAGE_MAIN";
|
|
658
668
|
return cb(mainError);
|
|
659
669
|
}
|
|
@@ -892,6 +902,8 @@ var require_sync = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
892
902
|
var isCore = require_is_core_module();
|
|
893
903
|
var fs$1 = __require("fs");
|
|
894
904
|
var path$1 = __require("path");
|
|
905
|
+
var $Error = require_es_errors();
|
|
906
|
+
var $TypeError = require_type();
|
|
895
907
|
var getHomedir = require_homedir();
|
|
896
908
|
var caller = require_caller();
|
|
897
909
|
var nodeModulesPaths = require_node_modules_paths();
|
|
@@ -901,9 +913,10 @@ var require_sync = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
901
913
|
var windowsDriveRegex = /^\w:[/\\]*$/;
|
|
902
914
|
var nodeModulesRegex = /[/\\]node_modules[/\\]*$/;
|
|
903
915
|
var homedir = getHomedir();
|
|
904
|
-
|
|
916
|
+
function defaultPaths() {
|
|
917
|
+
if (!homedir) return [];
|
|
905
918
|
return [path$1.join(homedir, ".node_modules"), path$1.join(homedir, ".node_libraries")];
|
|
906
|
-
}
|
|
919
|
+
}
|
|
907
920
|
var defaultIsFile = function isFile(file) {
|
|
908
921
|
try {
|
|
909
922
|
var stat = fs$1.statSync(file, { throwIfNoEntry: false });
|
|
@@ -930,30 +943,30 @@ var require_sync = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
930
943
|
}
|
|
931
944
|
return x;
|
|
932
945
|
};
|
|
933
|
-
|
|
946
|
+
function maybeRealpathSync(realpathSync, x, opts) {
|
|
934
947
|
if (opts && opts.preserveSymlinks === false) return realpathSync(x);
|
|
935
948
|
return x;
|
|
936
|
-
}
|
|
937
|
-
|
|
949
|
+
}
|
|
950
|
+
function defaultReadPackageSync(readFileSync, pkgfile) {
|
|
938
951
|
var body = readFileSync(pkgfile);
|
|
939
952
|
try {
|
|
940
953
|
return JSON.parse(body);
|
|
941
954
|
} catch (jsonErr) {}
|
|
942
|
-
}
|
|
943
|
-
|
|
955
|
+
}
|
|
956
|
+
function getPackageCandidates(x, start, opts) {
|
|
944
957
|
var dirs = nodeModulesPaths(start, opts, x);
|
|
945
958
|
for (var i = 0; i < dirs.length; i++) dirs[i] = path$1.join(dirs[i], x);
|
|
946
959
|
return dirs;
|
|
947
|
-
}
|
|
960
|
+
}
|
|
948
961
|
module.exports = function resolveSync(x, options) {
|
|
949
|
-
if (typeof x !== "string") throw new TypeError("Path must be a string.");
|
|
962
|
+
if (typeof x !== "string") throw new $TypeError("Path must be a string.");
|
|
950
963
|
var opts = normalizeOptions(x, options);
|
|
951
964
|
var isFile = opts.isFile || defaultIsFile;
|
|
952
965
|
var readFileSync = opts.readFileSync || fs$1.readFileSync;
|
|
953
966
|
var isDirectory = opts.isDirectory || defaultIsDir;
|
|
954
967
|
var realpathSync = opts.realpathSync || defaultRealpathSync;
|
|
955
968
|
var readPackageSync = opts.readPackageSync || defaultReadPackageSync;
|
|
956
|
-
if (opts.readFileSync && opts.readPackageSync) throw new TypeError("`readFileSync` and `readPackageSync` are mutually exclusive.");
|
|
969
|
+
if (opts.readFileSync && opts.readPackageSync) throw new $TypeError("`readFileSync` and `readPackageSync` are mutually exclusive.");
|
|
957
970
|
var packageIterator = opts.packageIterator;
|
|
958
971
|
var extensions = opts.extensions || [".js"];
|
|
959
972
|
var includeCoreModules = opts.includeCoreModules !== false;
|
|
@@ -971,7 +984,7 @@ var require_sync = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
971
984
|
var n = loadNodeModulesSync(x, absoluteStart);
|
|
972
985
|
if (n) return maybeRealpathSync(realpathSync, n, opts);
|
|
973
986
|
}
|
|
974
|
-
var err =
|
|
987
|
+
var err = new $Error("Cannot find module '" + x + "' from '" + parent + "'");
|
|
975
988
|
err.code = "MODULE_NOT_FOUND";
|
|
976
989
|
throw err;
|
|
977
990
|
function loadAsFileSync(x) {
|
|
@@ -1009,7 +1022,7 @@ var require_sync = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
1009
1022
|
if (pkg && opts.packageFilter) pkg = opts.packageFilter(pkg, x);
|
|
1010
1023
|
if (pkg && pkg.main) {
|
|
1011
1024
|
if (typeof pkg.main !== "string") {
|
|
1012
|
-
var mainError =
|
|
1025
|
+
var mainError = new $TypeError("package “" + pkg.name + "” `main` must be a string");
|
|
1013
1026
|
mainError.code = "INVALID_PACKAGE_MAIN";
|
|
1014
1027
|
throw mainError;
|
|
1015
1028
|
}
|
package/dist/_libs/httpxy.d.mts
CHANGED
|
@@ -3,7 +3,6 @@ import * as stream from "node:stream";
|
|
|
3
3
|
import http, { IncomingMessage } from "node:http";
|
|
4
4
|
import http2 from "node:http2";
|
|
5
5
|
import { Socket } from "node:net";
|
|
6
|
-
//#region src/types.d.ts
|
|
7
6
|
interface ProxyTargetDetailed {
|
|
8
7
|
host?: string;
|
|
9
8
|
port?: number | string;
|
|
@@ -81,6 +80,5 @@ interface ProxyServerOptions {
|
|
|
81
80
|
followRedirects?: boolean | number;
|
|
82
81
|
/** Buffer */
|
|
83
82
|
buffer?: stream.Stream;
|
|
84
|
-
}
|
|
85
|
-
//#region src/middleware/_utils.d.ts
|
|
83
|
+
}
|
|
86
84
|
export { ProxyServerOptions as t };
|
package/dist/_libs/httpxy.mjs
CHANGED
|
@@ -49,7 +49,7 @@ function setupOutgoing(outgoing, options, req, forward) {
|
|
|
49
49
|
if (options.ca) outgoing.ca = options.ca;
|
|
50
50
|
if (isSSL.test(options[forward || "target"].protocol ?? "http")) outgoing.rejectUnauthorized = options.secure === void 0 ? true : options.secure;
|
|
51
51
|
if (options.agent !== void 0) outgoing.agent = options.agent || false;
|
|
52
|
-
else if (req.httpVersionMajor > 1) outgoing.agent = false;
|
|
52
|
+
else if (req.httpVersionMajor > 1 || upgradeHeader.test(req.headers.connection || "")) outgoing.agent = false;
|
|
53
53
|
else {
|
|
54
54
|
const targetProto = options[forward || "target"].protocol ?? "http";
|
|
55
55
|
outgoing.agent = isSSL.test(targetProto) ? defaultAgents.https : defaultAgents.http;
|
|
@@ -248,7 +248,7 @@ const webIncomingMiddleware = [
|
|
|
248
248
|
"proto"
|
|
249
249
|
]) {
|
|
250
250
|
const key = "x-forwarded-" + header;
|
|
251
|
-
if (!req.headers[key]) req.headers[key] = values[header];
|
|
251
|
+
if (!req.headers[key] && values[header] !== void 0) req.headers[key] = values[header];
|
|
252
252
|
}
|
|
253
253
|
req.headers["x-forwarded-host"] = req.headers["x-forwarded-host"] || req.headers[":authority"] || req.headers.host || "";
|
|
254
254
|
}),
|
|
@@ -406,7 +406,7 @@ const websocketIncomingMiddleware = [
|
|
|
406
406
|
"proto"
|
|
407
407
|
]) {
|
|
408
408
|
const key = "x-forwarded-" + header;
|
|
409
|
-
if (!req.headers[key]) req.headers[key] = values[header];
|
|
409
|
+
if (!req.headers[key] && values[header] !== void 0) req.headers[key] = values[header];
|
|
410
410
|
}
|
|
411
411
|
}),
|
|
412
412
|
defineProxyMiddleware((req, socket, options, server, head, callback) => {
|
|
@@ -477,7 +477,7 @@ var ProxyServer = class extends EventEmitter {
|
|
|
477
477
|
this.web = _createProxyFn("web", this);
|
|
478
478
|
this.ws = _createProxyFn("ws", this);
|
|
479
479
|
}
|
|
480
|
-
listen(port, hostname) {
|
|
480
|
+
listen(port, hostname, listeningListener) {
|
|
481
481
|
const closure = (req, res) => {
|
|
482
482
|
return this.web(req, res);
|
|
483
483
|
};
|
|
@@ -492,7 +492,7 @@ var ProxyServer = class extends EventEmitter {
|
|
|
492
492
|
if (this.options.ws) this._server.on("upgrade", (req, socket, head) => {
|
|
493
493
|
this.ws(req, socket, this.options, head).catch(() => {});
|
|
494
494
|
});
|
|
495
|
-
this._server.listen(port, hostname);
|
|
495
|
+
this._server.listen(port, hostname, listeningListener);
|
|
496
496
|
return this;
|
|
497
497
|
}
|
|
498
498
|
close(callback) {
|