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.
- package/dist/{_chunks/build2.mjs → _build/build.mjs} +108 -58
- package/dist/_build/build2.mjs +556 -0
- package/dist/_build/info.mjs +1002 -0
- package/dist/_build/prepare.mjs +1511 -0
- package/dist/_build/snapshot.mjs +185 -0
- package/dist/{_chunks/plugin.mjs → _build/vite.mjs} +295 -296
- package/dist/_build/vite2.mjs +149 -0
- package/dist/_chunks/_deps/@jridgewell/gen-mapping.mjs +189 -0
- package/dist/_chunks/_deps/@jridgewell/remapping.mjs +137 -0
- package/dist/_chunks/_deps/@jridgewell/resolve-uri.mjs +231 -0
- package/dist/_chunks/_deps/@jridgewell/sourcemap-codec.mjs +173 -0
- package/dist/_chunks/_deps/@jridgewell/trace-mapping.mjs +170 -0
- package/dist/_chunks/_deps/@pi0/vite-plugin-fullstack.mjs +575 -0
- package/dist/_chunks/_deps/@rollup/plugin-alias.mjs +89 -0
- package/dist/_chunks/_deps/@rollup/plugin-commonjs.mjs +2376 -0
- package/dist/_chunks/{index2.mjs → _deps/@rollup/plugin-inject.mjs} +5 -90
- package/dist/_chunks/_deps/@rollup/plugin-json.mjs +37 -0
- package/dist/_chunks/_deps/@rollup/plugin-node-resolve.mjs +1386 -0
- package/dist/_chunks/_deps/@rollup/plugin-replace.mjs +133 -0
- package/dist/_chunks/_deps/@rollup/pluginutils.mjs +346 -0
- package/dist/_chunks/_deps/acorn.mjs +6225 -0
- package/dist/_chunks/_deps/c12.mjs +510 -0
- package/dist/_chunks/_deps/chokidar.mjs +1428 -0
- package/dist/_chunks/_deps/citty.mjs +460 -0
- package/dist/_chunks/_deps/commondir.mjs +77 -0
- package/dist/_chunks/_deps/compatx.mjs +76 -0
- package/dist/_chunks/_deps/confbox.mjs +300 -0
- package/dist/_chunks/_deps/debug.mjs +885 -0
- package/dist/_chunks/_deps/deepmerge.mjs +147 -0
- package/dist/_chunks/_deps/depd.mjs +550 -0
- package/dist/_chunks/_deps/dot-prop.mjs +282 -0
- package/dist/_chunks/_deps/dotenv.mjs +555 -0
- package/dist/_chunks/_deps/duplexer.mjs +1 -0
- package/dist/_chunks/_deps/ee-first.mjs +104 -0
- package/dist/_chunks/_deps/encodeurl.mjs +69 -0
- package/dist/_chunks/_deps/escape-html.mjs +87 -0
- package/dist/_chunks/_deps/escape-string-regexp.mjs +13 -0
- package/dist/_chunks/_deps/estree-walker.mjs +433 -0
- package/dist/_chunks/_deps/etag.mjs +147 -0
- package/dist/_chunks/_deps/exsolve.mjs +1416 -0
- package/dist/_chunks/_deps/fdir.mjs +569 -0
- package/dist/_chunks/_deps/fresh.mjs +145 -0
- package/dist/_chunks/_deps/function-bind.mjs +106 -0
- package/dist/_chunks/{index4.mjs → _deps/giget.mjs} +21 -776
- package/dist/_chunks/_deps/gzip-size.mjs +19 -0
- package/dist/_chunks/_deps/hasown.mjs +19 -0
- package/dist/_chunks/_deps/http-errors.mjs +307 -0
- package/dist/_chunks/_deps/httpxy.mjs +580 -0
- package/dist/_chunks/_deps/inherits.mjs +57 -0
- package/dist/_chunks/_deps/is-core-module.mjs +596 -0
- package/dist/_chunks/_deps/is-module.mjs +25 -0
- package/dist/_chunks/_deps/is-reference.mjs +31 -0
- package/dist/_chunks/_deps/js-tokens.mjs +411 -0
- package/dist/_chunks/_deps/klona.mjs +137 -0
- package/dist/_chunks/_deps/knitwork.mjs +172 -0
- package/dist/_chunks/_deps/local-pkg.mjs +163 -0
- package/dist/_chunks/_deps/magic-string.mjs +1296 -0
- package/dist/_chunks/_deps/mime-db.mjs +11685 -0
- package/dist/_chunks/_deps/mime-types.mjs +287 -0
- package/dist/_chunks/_deps/mime.mjs +1172 -0
- package/dist/_chunks/_deps/mlly.mjs +2413 -0
- package/dist/_chunks/_deps/ms.mjs +172 -0
- package/dist/_chunks/_deps/node-fetch-native.mjs +3 -0
- package/dist/_chunks/_deps/nypm.mjs +219 -0
- package/dist/_chunks/_deps/on-finished.mjs +246 -0
- package/dist/_chunks/_deps/parseurl.mjs +168 -0
- package/dist/_chunks/_deps/path-parse.mjs +85 -0
- package/dist/_chunks/{pathe.M-eThtNZ.mjs → _deps/pathe.mjs} +48 -1
- package/dist/_chunks/_deps/perfect-debounce.mjs +88 -0
- package/dist/_chunks/_deps/picomatch.mjs +2144 -0
- package/dist/_chunks/_deps/pkg-types.mjs +247 -0
- package/dist/_chunks/{snapshot.mjs → _deps/pretty-bytes.mjs} +1 -105
- package/dist/_chunks/_deps/quansync.mjs +99 -0
- package/dist/_chunks/_deps/range-parser.mjs +171 -0
- package/dist/_chunks/_deps/rc9.mjs +219 -0
- package/dist/_chunks/_deps/readdirp.mjs +245 -0
- package/dist/_chunks/_deps/resolve.mjs +1260 -0
- package/dist/_chunks/_deps/rou3.mjs +326 -0
- package/dist/_chunks/_deps/send.mjs +1022 -0
- package/dist/_chunks/_deps/serve-static.mjs +228 -0
- package/dist/_chunks/_deps/setprototypeof.mjs +26 -0
- package/dist/_chunks/_deps/statuses.mjs +457 -0
- package/dist/_chunks/_deps/std-env.mjs +3 -0
- package/dist/_chunks/_deps/strip-literal.mjs +67 -0
- package/dist/_chunks/_deps/supports-color.mjs +44 -0
- package/dist/_chunks/_deps/tinyexec.mjs +552 -0
- package/dist/_chunks/_deps/tinyglobby.mjs +293 -0
- package/dist/_chunks/_deps/toidentifier.mjs +41 -0
- package/dist/_chunks/_deps/ultrahtml.mjs +3 -0
- package/dist/_chunks/_deps/unimport.mjs +2267 -0
- package/dist/_chunks/_deps/unplugin-utils.mjs +65 -0
- package/dist/_chunks/_deps/unplugin.mjs +1294 -0
- package/dist/_chunks/_deps/untyped.mjs +375 -0
- package/dist/_chunks/{info.mjs → _deps/unwasm.mjs} +8 -4206
- package/dist/_chunks/_deps/webpack-virtual-modules.mjs +360 -0
- package/dist/_chunks/_presets/_all.mjs +59 -0
- package/dist/_chunks/_presets/_nitro.mjs +74 -0
- package/dist/_chunks/_presets/_resolve.mjs +64 -0
- package/dist/_chunks/_presets/_static.mjs +69 -0
- package/dist/_chunks/_presets/_types.mjs +3 -0
- package/dist/_chunks/_presets/_utils.mjs +31 -0
- package/dist/_chunks/_presets/alwaysdata.mjs +17 -0
- package/dist/_chunks/_presets/aws-amplify.mjs +111 -0
- package/dist/_chunks/_presets/aws-lambda.mjs +23 -0
- package/dist/_chunks/_presets/azure.mjs +162 -0
- package/dist/_chunks/_presets/bun.mjs +19 -0
- package/dist/_chunks/_presets/cleavr.mjs +15 -0
- package/dist/_chunks/_presets/cloudflare.mjs +608 -0
- package/dist/_chunks/_presets/deno.mjs +196 -0
- package/dist/_chunks/_presets/digitalocean.mjs +14 -0
- package/dist/_chunks/_presets/firebase.mjs +47 -0
- package/dist/_chunks/_presets/flightcontrol.mjs +14 -0
- package/dist/_chunks/_presets/genezio.mjs +13 -0
- package/dist/_chunks/_presets/heroku.mjs +14 -0
- package/dist/_chunks/_presets/iis.mjs +194 -0
- package/dist/_chunks/_presets/index.mjs +62 -0
- package/dist/_chunks/_presets/koyeb.mjs +14 -0
- package/dist/_chunks/_presets/netlify.mjs +241 -0
- package/dist/_chunks/_presets/node.mjs +54 -0
- package/dist/_chunks/_presets/platform.mjs +14 -0
- package/dist/_chunks/_presets/render.mjs +14 -0
- package/dist/_chunks/_presets/standard.mjs +23 -0
- package/dist/_chunks/_presets/stormkit.mjs +18 -0
- package/dist/_chunks/_presets/vercel.mjs +375 -0
- package/dist/_chunks/_presets/winterjs.mjs +22 -0
- package/dist/_chunks/_presets/zeabur.mjs +69 -0
- package/dist/_chunks/_presets/zerops.mjs +27 -0
- package/dist/_chunks/app.mjs +9 -19206
- package/dist/_chunks/{index3.mjs → builder.mjs} +560 -970
- package/dist/_chunks/server.mjs +6 -4
- package/dist/{cli → _cli}/build.mjs +3 -8
- package/dist/{cli → _cli}/dev.mjs +38 -12
- package/dist/{cli/index2.mjs → _cli/index.mjs} +1 -2
- package/dist/{cli → _cli}/list.mjs +3 -4
- package/dist/{cli → _cli}/prepare.mjs +3 -4
- package/dist/{cli → _cli}/run.mjs +3 -4
- package/dist/{index.d.mts → builder.d.mts} +11 -11
- package/dist/builder.mjs +117 -0
- package/dist/cli/index.mjs +7 -464
- package/dist/node_modules/@speed-highlight/core/dist/index.js +1 -1
- package/dist/node_modules/@speed-highlight/core/dist/terminal.js +1 -1
- package/dist/node_modules/@speed-highlight/core/package.json +7 -3
- package/dist/node_modules/cookie-es/dist/index.mjs +262 -0
- package/dist/node_modules/cookie-es/package.json +37 -0
- package/dist/node_modules/hookable/dist/index.mjs +243 -266
- package/dist/node_modules/hookable/package.json +29 -26
- package/dist/node_modules/rendu/dist/index.mjs +380 -0
- package/dist/node_modules/rendu/package.json +47 -0
- package/dist/presets/_nitro/runtime/nitro-dev.mjs +4 -7
- package/dist/presets/_nitro/runtime/nitro-prerenderer.mjs +5 -4
- package/dist/presets/azure/runtime/azure-swa.mjs +1 -1
- package/dist/presets/cloudflare/runtime/_module-handler.mjs +7 -6
- package/dist/presets/cloudflare/runtime/cloudflare-durable.mjs +4 -5
- package/dist/presets/cloudflare/runtime/plugin.dev.mjs +7 -10
- package/dist/presets/cloudflare/runtime/shims/workers.dev.d.mts +21 -0
- package/dist/presets/cloudflare/runtime/shims/workers.dev.mjs +27 -0
- package/dist/presets/node/runtime/node-server.mjs +1 -1
- package/dist/runtime/index.d.mts +1 -1
- package/dist/runtime/index.mjs +1 -1
- package/dist/runtime/internal/app.d.mts +3 -1
- package/dist/runtime/internal/app.mjs +90 -64
- package/dist/runtime/internal/error/prod.d.mts +3 -2
- package/dist/runtime/internal/error/prod.mjs +9 -13
- package/dist/runtime/internal/renderer.mjs +4 -4
- package/dist/runtime/internal/routes/dev-tasks.d.mts +30 -2
- package/dist/runtime/internal/shutdown.d.mts +1 -2
- package/dist/runtime/internal/shutdown.mjs +3 -2
- package/dist/runtime/internal/task.mjs +1 -2
- package/dist/types/index.d.mts +1603 -10
- package/dist/vite.d.mts +5 -0
- package/dist/vite.mjs +94 -30
- package/lib/index.mjs +1 -0
- package/lib/indexd.mts +1 -0
- package/lib/runtime/meta.mjs +35 -0
- package/package.json +40 -41
- package/dist/_chunks/build.mjs +0 -84
- package/dist/_chunks/build3.mjs +0 -6452
- package/dist/_chunks/detect-acorn.mjs +0 -503
- package/dist/_chunks/index.mjs +0 -22242
- package/dist/_chunks/json5.mjs +0 -68
- package/dist/_chunks/jsonc.mjs +0 -51
- package/dist/_chunks/toml.mjs +0 -259
- package/dist/_chunks/yaml.mjs +0 -86
- package/dist/index.mjs +0 -55
- package/dist/node_modules/klona/dist/index.mjs +0 -81
- package/dist/node_modules/klona/full/index.mjs +0 -53
- package/dist/node_modules/klona/package.json +0 -74
- package/dist/node_modules/std-env/dist/index.mjs +0 -1
- package/dist/node_modules/std-env/package.json +0 -46
- package/dist/presets.mjs +0 -2460
- package/dist/runtime/internal/debug.d.mts +0 -2
- package/dist/runtime/internal/debug.mjs +0 -5
- package/lib/runtime-meta.mjs +0 -38
- /package/dist/{cli → _cli}/common.mjs +0 -0
- /package/lib/{runtime-meta.d.mts → runtime/meta.d.mts} +0 -0
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helpers.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
var ms;
|
|
6
|
+
var hasRequiredMs;
|
|
7
|
+
|
|
8
|
+
function requireMs () {
|
|
9
|
+
if (hasRequiredMs) return ms;
|
|
10
|
+
hasRequiredMs = 1;
|
|
11
|
+
var s = 1000;
|
|
12
|
+
var m = s * 60;
|
|
13
|
+
var h = m * 60;
|
|
14
|
+
var d = h * 24;
|
|
15
|
+
var w = d * 7;
|
|
16
|
+
var y = d * 365.25;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Parse or format the given `val`.
|
|
20
|
+
*
|
|
21
|
+
* Options:
|
|
22
|
+
*
|
|
23
|
+
* - `long` verbose formatting [false]
|
|
24
|
+
*
|
|
25
|
+
* @param {String|Number} val
|
|
26
|
+
* @param {Object} [options]
|
|
27
|
+
* @throws {Error} throw an error if val is not a non-empty string or a number
|
|
28
|
+
* @return {String|Number}
|
|
29
|
+
* @api public
|
|
30
|
+
*/
|
|
31
|
+
|
|
32
|
+
ms = function (val, options) {
|
|
33
|
+
options = options || {};
|
|
34
|
+
var type = typeof val;
|
|
35
|
+
if (type === 'string' && val.length > 0) {
|
|
36
|
+
return parse(val);
|
|
37
|
+
} else if (type === 'number' && isFinite(val)) {
|
|
38
|
+
return options.long ? fmtLong(val) : fmtShort(val);
|
|
39
|
+
}
|
|
40
|
+
throw new Error(
|
|
41
|
+
'val is not a non-empty string or a valid number. val=' +
|
|
42
|
+
JSON.stringify(val)
|
|
43
|
+
);
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Parse the given `str` and return milliseconds.
|
|
48
|
+
*
|
|
49
|
+
* @param {String} str
|
|
50
|
+
* @return {Number}
|
|
51
|
+
* @api private
|
|
52
|
+
*/
|
|
53
|
+
|
|
54
|
+
function parse(str) {
|
|
55
|
+
str = String(str);
|
|
56
|
+
if (str.length > 100) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(
|
|
60
|
+
str
|
|
61
|
+
);
|
|
62
|
+
if (!match) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
var n = parseFloat(match[1]);
|
|
66
|
+
var type = (match[2] || 'ms').toLowerCase();
|
|
67
|
+
switch (type) {
|
|
68
|
+
case 'years':
|
|
69
|
+
case 'year':
|
|
70
|
+
case 'yrs':
|
|
71
|
+
case 'yr':
|
|
72
|
+
case 'y':
|
|
73
|
+
return n * y;
|
|
74
|
+
case 'weeks':
|
|
75
|
+
case 'week':
|
|
76
|
+
case 'w':
|
|
77
|
+
return n * w;
|
|
78
|
+
case 'days':
|
|
79
|
+
case 'day':
|
|
80
|
+
case 'd':
|
|
81
|
+
return n * d;
|
|
82
|
+
case 'hours':
|
|
83
|
+
case 'hour':
|
|
84
|
+
case 'hrs':
|
|
85
|
+
case 'hr':
|
|
86
|
+
case 'h':
|
|
87
|
+
return n * h;
|
|
88
|
+
case 'minutes':
|
|
89
|
+
case 'minute':
|
|
90
|
+
case 'mins':
|
|
91
|
+
case 'min':
|
|
92
|
+
case 'm':
|
|
93
|
+
return n * m;
|
|
94
|
+
case 'seconds':
|
|
95
|
+
case 'second':
|
|
96
|
+
case 'secs':
|
|
97
|
+
case 'sec':
|
|
98
|
+
case 's':
|
|
99
|
+
return n * s;
|
|
100
|
+
case 'milliseconds':
|
|
101
|
+
case 'millisecond':
|
|
102
|
+
case 'msecs':
|
|
103
|
+
case 'msec':
|
|
104
|
+
case 'ms':
|
|
105
|
+
return n;
|
|
106
|
+
default:
|
|
107
|
+
return undefined;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Short format for `ms`.
|
|
113
|
+
*
|
|
114
|
+
* @param {Number} ms
|
|
115
|
+
* @return {String}
|
|
116
|
+
* @api private
|
|
117
|
+
*/
|
|
118
|
+
|
|
119
|
+
function fmtShort(ms) {
|
|
120
|
+
var msAbs = Math.abs(ms);
|
|
121
|
+
if (msAbs >= d) {
|
|
122
|
+
return Math.round(ms / d) + 'd';
|
|
123
|
+
}
|
|
124
|
+
if (msAbs >= h) {
|
|
125
|
+
return Math.round(ms / h) + 'h';
|
|
126
|
+
}
|
|
127
|
+
if (msAbs >= m) {
|
|
128
|
+
return Math.round(ms / m) + 'm';
|
|
129
|
+
}
|
|
130
|
+
if (msAbs >= s) {
|
|
131
|
+
return Math.round(ms / s) + 's';
|
|
132
|
+
}
|
|
133
|
+
return ms + 'ms';
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Long format for `ms`.
|
|
138
|
+
*
|
|
139
|
+
* @param {Number} ms
|
|
140
|
+
* @return {String}
|
|
141
|
+
* @api private
|
|
142
|
+
*/
|
|
143
|
+
|
|
144
|
+
function fmtLong(ms) {
|
|
145
|
+
var msAbs = Math.abs(ms);
|
|
146
|
+
if (msAbs >= d) {
|
|
147
|
+
return plural(ms, msAbs, d, 'day');
|
|
148
|
+
}
|
|
149
|
+
if (msAbs >= h) {
|
|
150
|
+
return plural(ms, msAbs, h, 'hour');
|
|
151
|
+
}
|
|
152
|
+
if (msAbs >= m) {
|
|
153
|
+
return plural(ms, msAbs, m, 'minute');
|
|
154
|
+
}
|
|
155
|
+
if (msAbs >= s) {
|
|
156
|
+
return plural(ms, msAbs, s, 'second');
|
|
157
|
+
}
|
|
158
|
+
return ms + ' ms';
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Pluralization helper.
|
|
163
|
+
*/
|
|
164
|
+
|
|
165
|
+
function plural(ms, msAbs, n, name) {
|
|
166
|
+
var isPlural = msAbs >= n * 1.5;
|
|
167
|
+
return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');
|
|
168
|
+
}
|
|
169
|
+
return ms;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
export { requireMs as r };
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
var n=Object.defineProperty;var e=(t,r)=>n(t,"name",{value:r,configurable:true});var i=Object.defineProperty,c=e((t,r)=>i(t,"name",{value:r,configurable:true}),"e");function a(){return {agent:void 0,dispatcher:void 0}}e(a,"createProxy"),c(a,"createProxy");function o(){return globalThis.fetch}e(o,"createFetch"),c(o,"createFetch");const h=globalThis.fetch;
|
|
2
|
+
|
|
3
|
+
export { h };
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
import 'node:module';
|
|
2
|
+
import { v as ve } from './tinyexec.mjs';
|
|
3
|
+
import { existsSync } from 'node:fs';
|
|
4
|
+
import { readFile } from 'node:fs/promises';
|
|
5
|
+
import { r as resolve, j as join, n as normalize } from './pathe.mjs';
|
|
6
|
+
|
|
7
|
+
async function findup(cwd, match, options = {}) {
|
|
8
|
+
const segments = normalize(cwd).split("/");
|
|
9
|
+
while (segments.length > 0) {
|
|
10
|
+
const path = segments.join("/") || "/";
|
|
11
|
+
const result = await match(path);
|
|
12
|
+
if (result || !options.includeParentDirs) {
|
|
13
|
+
return result;
|
|
14
|
+
}
|
|
15
|
+
segments.pop();
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
function cached(fn) {
|
|
19
|
+
let v;
|
|
20
|
+
return () => {
|
|
21
|
+
if (v === void 0) {
|
|
22
|
+
v = fn().then((r) => {
|
|
23
|
+
v = r;
|
|
24
|
+
return v;
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
return v;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
const hasCorepack = cached(async () => {
|
|
31
|
+
if (globalThis.process?.versions?.webcontainer) {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
try {
|
|
35
|
+
const { exitCode } = await ve("corepack", ["--version"]);
|
|
36
|
+
return exitCode === 0;
|
|
37
|
+
} catch {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
async function executeCommand(command, args, options = {}) {
|
|
42
|
+
const xArgs = command === "npm" || command === "bun" || command === "deno" || !await hasCorepack() ? [command, args] : ["corepack", [command, ...args]];
|
|
43
|
+
const { exitCode, stdout, stderr } = await ve(xArgs[0], xArgs[1], {
|
|
44
|
+
nodeOptions: {
|
|
45
|
+
cwd: resolve(options.cwd || process.cwd()),
|
|
46
|
+
env: options.env,
|
|
47
|
+
stdio: options.silent ? "pipe" : "inherit"
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
if (exitCode !== 0) {
|
|
51
|
+
throw new Error(
|
|
52
|
+
`\`${xArgs.flat().join(" ")}\` failed.${options.silent ? ["", stdout, stderr].join("\n") : ""}`
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
const NO_PACKAGE_MANAGER_DETECTED_ERROR_MSG = "No package manager auto-detected.";
|
|
57
|
+
async function resolveOperationOptions(options = {}) {
|
|
58
|
+
const cwd = options.cwd || process.cwd();
|
|
59
|
+
const env = { ...process.env, ...options.env };
|
|
60
|
+
const packageManager = (typeof options.packageManager === "string" ? packageManagers.find((pm) => pm.name === options.packageManager) : options.packageManager) || await detectPackageManager(options.cwd || process.cwd());
|
|
61
|
+
if (!packageManager) {
|
|
62
|
+
throw new Error(NO_PACKAGE_MANAGER_DETECTED_ERROR_MSG);
|
|
63
|
+
}
|
|
64
|
+
return {
|
|
65
|
+
cwd,
|
|
66
|
+
env,
|
|
67
|
+
silent: options.silent ?? false,
|
|
68
|
+
packageManager,
|
|
69
|
+
dev: options.dev ?? false,
|
|
70
|
+
workspace: options.workspace,
|
|
71
|
+
global: options.global ?? false,
|
|
72
|
+
dry: options.dry ?? false
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
function parsePackageManagerField(packageManager) {
|
|
76
|
+
const [name, _version] = (packageManager || "").split("@");
|
|
77
|
+
const [version, buildMeta] = _version?.split("+") || [];
|
|
78
|
+
if (name && name !== "-" && /^(@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/.test(name)) {
|
|
79
|
+
return { name, version, buildMeta };
|
|
80
|
+
}
|
|
81
|
+
const sanitized = name.replace(/\W+/g, "");
|
|
82
|
+
const warnings = [
|
|
83
|
+
`Abnormal characters found in \`packageManager\` field, sanitizing from \`${name}\` to \`${sanitized}\``
|
|
84
|
+
];
|
|
85
|
+
return {
|
|
86
|
+
name: sanitized,
|
|
87
|
+
version,
|
|
88
|
+
buildMeta,
|
|
89
|
+
warnings
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
const packageManagers = [
|
|
94
|
+
{
|
|
95
|
+
name: "npm",
|
|
96
|
+
command: "npm",
|
|
97
|
+
lockFile: "package-lock.json"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
name: "pnpm",
|
|
101
|
+
command: "pnpm",
|
|
102
|
+
lockFile: "pnpm-lock.yaml",
|
|
103
|
+
files: ["pnpm-workspace.yaml"]
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
name: "bun",
|
|
107
|
+
command: "bun",
|
|
108
|
+
lockFile: ["bun.lockb", "bun.lock"]
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
name: "yarn",
|
|
112
|
+
command: "yarn",
|
|
113
|
+
lockFile: "yarn.lock",
|
|
114
|
+
files: [".yarnrc.yml"]
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
name: "deno",
|
|
118
|
+
command: "deno",
|
|
119
|
+
lockFile: "deno.lock",
|
|
120
|
+
files: ["deno.json"]
|
|
121
|
+
}
|
|
122
|
+
];
|
|
123
|
+
async function detectPackageManager(cwd, options = {}) {
|
|
124
|
+
const detected = await findup(
|
|
125
|
+
resolve(cwd || "."),
|
|
126
|
+
async (path) => {
|
|
127
|
+
if (!options.ignorePackageJSON) {
|
|
128
|
+
const packageJSONPath = join(path, "package.json");
|
|
129
|
+
if (existsSync(packageJSONPath)) {
|
|
130
|
+
const packageJSON = JSON.parse(
|
|
131
|
+
await readFile(packageJSONPath, "utf8")
|
|
132
|
+
);
|
|
133
|
+
if (packageJSON?.packageManager) {
|
|
134
|
+
const {
|
|
135
|
+
name,
|
|
136
|
+
version = "0.0.0",
|
|
137
|
+
buildMeta,
|
|
138
|
+
warnings
|
|
139
|
+
} = parsePackageManagerField(packageJSON.packageManager);
|
|
140
|
+
if (name) {
|
|
141
|
+
const majorVersion = version.split(".")[0];
|
|
142
|
+
const packageManager = packageManagers.find(
|
|
143
|
+
(pm) => pm.name === name && pm.majorVersion === majorVersion
|
|
144
|
+
) || packageManagers.find((pm) => pm.name === name);
|
|
145
|
+
return {
|
|
146
|
+
name,
|
|
147
|
+
command: name,
|
|
148
|
+
version,
|
|
149
|
+
majorVersion,
|
|
150
|
+
buildMeta,
|
|
151
|
+
warnings,
|
|
152
|
+
files: packageManager?.files,
|
|
153
|
+
lockFile: packageManager?.lockFile
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
const denoJSONPath = join(path, "deno.json");
|
|
159
|
+
if (existsSync(denoJSONPath)) {
|
|
160
|
+
return packageManagers.find((pm) => pm.name === "deno");
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
if (!options.ignoreLockFile) {
|
|
164
|
+
for (const packageManager of packageManagers) {
|
|
165
|
+
const detectionsFiles = [
|
|
166
|
+
packageManager.lockFile,
|
|
167
|
+
packageManager.files
|
|
168
|
+
].flat().filter(Boolean);
|
|
169
|
+
if (detectionsFiles.some((file) => existsSync(resolve(path, file)))) {
|
|
170
|
+
return {
|
|
171
|
+
...packageManager
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
includeParentDirs: options.includeParentDirs ?? true
|
|
179
|
+
}
|
|
180
|
+
);
|
|
181
|
+
if (!detected && !options.ignoreArgv) {
|
|
182
|
+
const scriptArg = process.argv[1];
|
|
183
|
+
if (scriptArg) {
|
|
184
|
+
for (const packageManager of packageManagers) {
|
|
185
|
+
const re = new RegExp(`[/\\\\]\\.?${packageManager.command}`);
|
|
186
|
+
if (re.test(scriptArg)) {
|
|
187
|
+
return packageManager;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
return detected;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
async function installDependencies(options = {}) {
|
|
196
|
+
const resolvedOptions = await resolveOperationOptions(options);
|
|
197
|
+
const pmToFrozenLockfileInstallCommand = {
|
|
198
|
+
npm: ["ci"],
|
|
199
|
+
yarn: ["install", "--immutable"],
|
|
200
|
+
bun: ["install", "--frozen-lockfile"],
|
|
201
|
+
pnpm: ["install", "--frozen-lockfile"],
|
|
202
|
+
deno: ["install", "--frozen"]
|
|
203
|
+
};
|
|
204
|
+
const commandArgs = options.frozenLockFile ? pmToFrozenLockfileInstallCommand[resolvedOptions.packageManager.name] : ["install"];
|
|
205
|
+
if (!resolvedOptions.dry) {
|
|
206
|
+
await executeCommand(resolvedOptions.packageManager.command, commandArgs, {
|
|
207
|
+
cwd: resolvedOptions.cwd,
|
|
208
|
+
silent: resolvedOptions.silent
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
return {
|
|
212
|
+
exec: {
|
|
213
|
+
command: resolvedOptions.packageManager.command,
|
|
214
|
+
args: commandArgs
|
|
215
|
+
}
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
export { installDependencies as i };
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
import { r as requireEeFirst } from './ee-first.mjs';
|
|
2
|
+
|
|
3
|
+
var onFinished = {exports: {}};
|
|
4
|
+
|
|
5
|
+
/*!
|
|
6
|
+
* on-finished
|
|
7
|
+
* Copyright(c) 2013 Jonathan Ong
|
|
8
|
+
* Copyright(c) 2014 Douglas Christopher Wilson
|
|
9
|
+
* MIT Licensed
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
var hasRequiredOnFinished;
|
|
13
|
+
|
|
14
|
+
function requireOnFinished () {
|
|
15
|
+
if (hasRequiredOnFinished) return onFinished.exports;
|
|
16
|
+
hasRequiredOnFinished = 1;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Module exports.
|
|
20
|
+
* @public
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
onFinished.exports = onFinished$1;
|
|
24
|
+
onFinished.exports.isFinished = isFinished;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Module dependencies.
|
|
28
|
+
* @private
|
|
29
|
+
*/
|
|
30
|
+
|
|
31
|
+
var asyncHooks = tryRequireAsyncHooks();
|
|
32
|
+
var first = requireEeFirst();
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Variables.
|
|
36
|
+
* @private
|
|
37
|
+
*/
|
|
38
|
+
|
|
39
|
+
/* istanbul ignore next */
|
|
40
|
+
var defer = typeof setImmediate === 'function'
|
|
41
|
+
? setImmediate
|
|
42
|
+
: function (fn) { process.nextTick(fn.bind.apply(fn, arguments)); };
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Invoke callback when the response has finished, useful for
|
|
46
|
+
* cleaning up resources afterwards.
|
|
47
|
+
*
|
|
48
|
+
* @param {object} msg
|
|
49
|
+
* @param {function} listener
|
|
50
|
+
* @return {object}
|
|
51
|
+
* @public
|
|
52
|
+
*/
|
|
53
|
+
|
|
54
|
+
function onFinished$1 (msg, listener) {
|
|
55
|
+
if (isFinished(msg) !== false) {
|
|
56
|
+
defer(listener, null, msg);
|
|
57
|
+
return msg
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// attach the listener to the message
|
|
61
|
+
attachListener(msg, wrap(listener));
|
|
62
|
+
|
|
63
|
+
return msg
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Determine if message is already finished.
|
|
68
|
+
*
|
|
69
|
+
* @param {object} msg
|
|
70
|
+
* @return {boolean}
|
|
71
|
+
* @public
|
|
72
|
+
*/
|
|
73
|
+
|
|
74
|
+
function isFinished (msg) {
|
|
75
|
+
var socket = msg.socket;
|
|
76
|
+
|
|
77
|
+
if (typeof msg.finished === 'boolean') {
|
|
78
|
+
// OutgoingMessage
|
|
79
|
+
return Boolean(msg.finished || (socket && !socket.writable))
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
if (typeof msg.complete === 'boolean') {
|
|
83
|
+
// IncomingMessage
|
|
84
|
+
return Boolean(msg.upgrade || !socket || !socket.readable || (msg.complete && !msg.readable))
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// don't know
|
|
88
|
+
return undefined
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Attach a finished listener to the message.
|
|
93
|
+
*
|
|
94
|
+
* @param {object} msg
|
|
95
|
+
* @param {function} callback
|
|
96
|
+
* @private
|
|
97
|
+
*/
|
|
98
|
+
|
|
99
|
+
function attachFinishedListener (msg, callback) {
|
|
100
|
+
var eeMsg;
|
|
101
|
+
var eeSocket;
|
|
102
|
+
var finished = false;
|
|
103
|
+
|
|
104
|
+
function onFinish (error) {
|
|
105
|
+
eeMsg.cancel();
|
|
106
|
+
eeSocket.cancel();
|
|
107
|
+
|
|
108
|
+
finished = true;
|
|
109
|
+
callback(error);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
// finished on first message event
|
|
113
|
+
eeMsg = eeSocket = first([[msg, 'end', 'finish']], onFinish);
|
|
114
|
+
|
|
115
|
+
function onSocket (socket) {
|
|
116
|
+
// remove listener
|
|
117
|
+
msg.removeListener('socket', onSocket);
|
|
118
|
+
|
|
119
|
+
if (finished) return
|
|
120
|
+
if (eeMsg !== eeSocket) return
|
|
121
|
+
|
|
122
|
+
// finished on first socket event
|
|
123
|
+
eeSocket = first([[socket, 'error', 'close']], onFinish);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
if (msg.socket) {
|
|
127
|
+
// socket already assigned
|
|
128
|
+
onSocket(msg.socket);
|
|
129
|
+
return
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
// wait for socket to be assigned
|
|
133
|
+
msg.on('socket', onSocket);
|
|
134
|
+
|
|
135
|
+
if (msg.socket === undefined) {
|
|
136
|
+
// istanbul ignore next: node.js 0.8 patch
|
|
137
|
+
patchAssignSocket(msg, onSocket);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Attach the listener to the message.
|
|
143
|
+
*
|
|
144
|
+
* @param {object} msg
|
|
145
|
+
* @return {function}
|
|
146
|
+
* @private
|
|
147
|
+
*/
|
|
148
|
+
|
|
149
|
+
function attachListener (msg, listener) {
|
|
150
|
+
var attached = msg.__onFinished;
|
|
151
|
+
|
|
152
|
+
// create a private single listener with queue
|
|
153
|
+
if (!attached || !attached.queue) {
|
|
154
|
+
attached = msg.__onFinished = createListener(msg);
|
|
155
|
+
attachFinishedListener(msg, attached);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
attached.queue.push(listener);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Create listener on message.
|
|
163
|
+
*
|
|
164
|
+
* @param {object} msg
|
|
165
|
+
* @return {function}
|
|
166
|
+
* @private
|
|
167
|
+
*/
|
|
168
|
+
|
|
169
|
+
function createListener (msg) {
|
|
170
|
+
function listener (err) {
|
|
171
|
+
if (msg.__onFinished === listener) msg.__onFinished = null;
|
|
172
|
+
if (!listener.queue) return
|
|
173
|
+
|
|
174
|
+
var queue = listener.queue;
|
|
175
|
+
listener.queue = null;
|
|
176
|
+
|
|
177
|
+
for (var i = 0; i < queue.length; i++) {
|
|
178
|
+
queue[i](err, msg);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
listener.queue = [];
|
|
183
|
+
|
|
184
|
+
return listener
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* Patch ServerResponse.prototype.assignSocket for node.js 0.8.
|
|
189
|
+
*
|
|
190
|
+
* @param {ServerResponse} res
|
|
191
|
+
* @param {function} callback
|
|
192
|
+
* @private
|
|
193
|
+
*/
|
|
194
|
+
|
|
195
|
+
// istanbul ignore next: node.js 0.8 patch
|
|
196
|
+
function patchAssignSocket (res, callback) {
|
|
197
|
+
var assignSocket = res.assignSocket;
|
|
198
|
+
|
|
199
|
+
if (typeof assignSocket !== 'function') return
|
|
200
|
+
|
|
201
|
+
// res.on('socket', callback) is broken in 0.8
|
|
202
|
+
res.assignSocket = function _assignSocket (socket) {
|
|
203
|
+
assignSocket.call(this, socket);
|
|
204
|
+
callback(socket);
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
/**
|
|
209
|
+
* Try to require async_hooks
|
|
210
|
+
* @private
|
|
211
|
+
*/
|
|
212
|
+
|
|
213
|
+
function tryRequireAsyncHooks () {
|
|
214
|
+
try {
|
|
215
|
+
return require('async_hooks')
|
|
216
|
+
} catch (e) {
|
|
217
|
+
return {}
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
/**
|
|
222
|
+
* Wrap function with async resource, if possible.
|
|
223
|
+
* AsyncResource.bind static method backported.
|
|
224
|
+
* @private
|
|
225
|
+
*/
|
|
226
|
+
|
|
227
|
+
function wrap (fn) {
|
|
228
|
+
var res;
|
|
229
|
+
|
|
230
|
+
// create anonymous resource
|
|
231
|
+
if (asyncHooks.AsyncResource) {
|
|
232
|
+
res = new asyncHooks.AsyncResource(fn.name || 'bound-anonymous-fn');
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
// incompatible node.js
|
|
236
|
+
if (!res || !res.runInAsyncScope) {
|
|
237
|
+
return fn
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
// return bound function
|
|
241
|
+
return res.runInAsyncScope.bind(res, fn, null)
|
|
242
|
+
}
|
|
243
|
+
return onFinished.exports;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
export { requireOnFinished as r };
|