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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (195) hide show
  1. package/dist/{_chunks/build2.mjs → _build/build.mjs} +108 -58
  2. package/dist/_build/build2.mjs +556 -0
  3. package/dist/_build/info.mjs +1002 -0
  4. package/dist/_build/prepare.mjs +1511 -0
  5. package/dist/_build/snapshot.mjs +185 -0
  6. package/dist/{_chunks/plugin.mjs → _build/vite.mjs} +295 -296
  7. package/dist/_build/vite2.mjs +149 -0
  8. package/dist/_chunks/_deps/@jridgewell/gen-mapping.mjs +189 -0
  9. package/dist/_chunks/_deps/@jridgewell/remapping.mjs +137 -0
  10. package/dist/_chunks/_deps/@jridgewell/resolve-uri.mjs +231 -0
  11. package/dist/_chunks/_deps/@jridgewell/sourcemap-codec.mjs +173 -0
  12. package/dist/_chunks/_deps/@jridgewell/trace-mapping.mjs +170 -0
  13. package/dist/_chunks/_deps/@pi0/vite-plugin-fullstack.mjs +575 -0
  14. package/dist/_chunks/_deps/@rollup/plugin-alias.mjs +89 -0
  15. package/dist/_chunks/_deps/@rollup/plugin-commonjs.mjs +2376 -0
  16. package/dist/_chunks/{index2.mjs → _deps/@rollup/plugin-inject.mjs} +5 -90
  17. package/dist/_chunks/_deps/@rollup/plugin-json.mjs +37 -0
  18. package/dist/_chunks/_deps/@rollup/plugin-node-resolve.mjs +1386 -0
  19. package/dist/_chunks/_deps/@rollup/plugin-replace.mjs +133 -0
  20. package/dist/_chunks/_deps/@rollup/pluginutils.mjs +346 -0
  21. package/dist/_chunks/_deps/acorn.mjs +6225 -0
  22. package/dist/_chunks/_deps/c12.mjs +510 -0
  23. package/dist/_chunks/_deps/chokidar.mjs +1428 -0
  24. package/dist/_chunks/_deps/citty.mjs +460 -0
  25. package/dist/_chunks/_deps/commondir.mjs +77 -0
  26. package/dist/_chunks/_deps/compatx.mjs +76 -0
  27. package/dist/_chunks/_deps/confbox.mjs +300 -0
  28. package/dist/_chunks/_deps/debug.mjs +885 -0
  29. package/dist/_chunks/_deps/deepmerge.mjs +147 -0
  30. package/dist/_chunks/_deps/depd.mjs +550 -0
  31. package/dist/_chunks/_deps/dot-prop.mjs +282 -0
  32. package/dist/_chunks/_deps/dotenv.mjs +555 -0
  33. package/dist/_chunks/_deps/duplexer.mjs +1 -0
  34. package/dist/_chunks/_deps/ee-first.mjs +104 -0
  35. package/dist/_chunks/_deps/encodeurl.mjs +69 -0
  36. package/dist/_chunks/_deps/escape-html.mjs +87 -0
  37. package/dist/_chunks/_deps/escape-string-regexp.mjs +13 -0
  38. package/dist/_chunks/_deps/estree-walker.mjs +433 -0
  39. package/dist/_chunks/_deps/etag.mjs +147 -0
  40. package/dist/_chunks/_deps/exsolve.mjs +1416 -0
  41. package/dist/_chunks/_deps/fdir.mjs +569 -0
  42. package/dist/_chunks/_deps/fresh.mjs +145 -0
  43. package/dist/_chunks/_deps/function-bind.mjs +106 -0
  44. package/dist/_chunks/{index4.mjs → _deps/giget.mjs} +21 -776
  45. package/dist/_chunks/_deps/gzip-size.mjs +19 -0
  46. package/dist/_chunks/_deps/hasown.mjs +19 -0
  47. package/dist/_chunks/_deps/http-errors.mjs +307 -0
  48. package/dist/_chunks/_deps/httpxy.mjs +580 -0
  49. package/dist/_chunks/_deps/inherits.mjs +57 -0
  50. package/dist/_chunks/_deps/is-core-module.mjs +596 -0
  51. package/dist/_chunks/_deps/is-module.mjs +25 -0
  52. package/dist/_chunks/_deps/is-reference.mjs +31 -0
  53. package/dist/_chunks/_deps/js-tokens.mjs +411 -0
  54. package/dist/_chunks/_deps/klona.mjs +137 -0
  55. package/dist/_chunks/_deps/knitwork.mjs +172 -0
  56. package/dist/_chunks/_deps/local-pkg.mjs +163 -0
  57. package/dist/_chunks/_deps/magic-string.mjs +1296 -0
  58. package/dist/_chunks/_deps/mime-db.mjs +11685 -0
  59. package/dist/_chunks/_deps/mime-types.mjs +287 -0
  60. package/dist/_chunks/_deps/mime.mjs +1172 -0
  61. package/dist/_chunks/_deps/mlly.mjs +2413 -0
  62. package/dist/_chunks/_deps/ms.mjs +172 -0
  63. package/dist/_chunks/_deps/node-fetch-native.mjs +3 -0
  64. package/dist/_chunks/_deps/nypm.mjs +219 -0
  65. package/dist/_chunks/_deps/on-finished.mjs +246 -0
  66. package/dist/_chunks/_deps/parseurl.mjs +168 -0
  67. package/dist/_chunks/_deps/path-parse.mjs +85 -0
  68. package/dist/_chunks/{pathe.M-eThtNZ.mjs → _deps/pathe.mjs} +48 -1
  69. package/dist/_chunks/_deps/perfect-debounce.mjs +88 -0
  70. package/dist/_chunks/_deps/picomatch.mjs +2144 -0
  71. package/dist/_chunks/_deps/pkg-types.mjs +247 -0
  72. package/dist/_chunks/{snapshot.mjs → _deps/pretty-bytes.mjs} +1 -105
  73. package/dist/_chunks/_deps/quansync.mjs +99 -0
  74. package/dist/_chunks/_deps/range-parser.mjs +171 -0
  75. package/dist/_chunks/_deps/rc9.mjs +219 -0
  76. package/dist/_chunks/_deps/readdirp.mjs +245 -0
  77. package/dist/_chunks/_deps/resolve.mjs +1260 -0
  78. package/dist/_chunks/_deps/rou3.mjs +326 -0
  79. package/dist/_chunks/_deps/send.mjs +1022 -0
  80. package/dist/_chunks/_deps/serve-static.mjs +228 -0
  81. package/dist/_chunks/_deps/setprototypeof.mjs +26 -0
  82. package/dist/_chunks/_deps/statuses.mjs +457 -0
  83. package/dist/_chunks/_deps/std-env.mjs +3 -0
  84. package/dist/_chunks/_deps/strip-literal.mjs +67 -0
  85. package/dist/_chunks/_deps/supports-color.mjs +44 -0
  86. package/dist/_chunks/_deps/tinyexec.mjs +552 -0
  87. package/dist/_chunks/_deps/tinyglobby.mjs +293 -0
  88. package/dist/_chunks/_deps/toidentifier.mjs +41 -0
  89. package/dist/_chunks/_deps/ultrahtml.mjs +3 -0
  90. package/dist/_chunks/_deps/unimport.mjs +2267 -0
  91. package/dist/_chunks/_deps/unplugin-utils.mjs +65 -0
  92. package/dist/_chunks/_deps/unplugin.mjs +1294 -0
  93. package/dist/_chunks/_deps/untyped.mjs +375 -0
  94. package/dist/_chunks/{info.mjs → _deps/unwasm.mjs} +8 -4206
  95. package/dist/_chunks/_deps/webpack-virtual-modules.mjs +360 -0
  96. package/dist/_chunks/_presets/_all.mjs +59 -0
  97. package/dist/_chunks/_presets/_nitro.mjs +74 -0
  98. package/dist/_chunks/_presets/_resolve.mjs +64 -0
  99. package/dist/_chunks/_presets/_static.mjs +69 -0
  100. package/dist/_chunks/_presets/_types.mjs +3 -0
  101. package/dist/_chunks/_presets/_utils.mjs +31 -0
  102. package/dist/_chunks/_presets/alwaysdata.mjs +17 -0
  103. package/dist/_chunks/_presets/aws-amplify.mjs +111 -0
  104. package/dist/_chunks/_presets/aws-lambda.mjs +23 -0
  105. package/dist/_chunks/_presets/azure.mjs +162 -0
  106. package/dist/_chunks/_presets/bun.mjs +19 -0
  107. package/dist/_chunks/_presets/cleavr.mjs +15 -0
  108. package/dist/_chunks/_presets/cloudflare.mjs +608 -0
  109. package/dist/_chunks/_presets/deno.mjs +196 -0
  110. package/dist/_chunks/_presets/digitalocean.mjs +14 -0
  111. package/dist/_chunks/_presets/firebase.mjs +47 -0
  112. package/dist/_chunks/_presets/flightcontrol.mjs +14 -0
  113. package/dist/_chunks/_presets/genezio.mjs +13 -0
  114. package/dist/_chunks/_presets/heroku.mjs +14 -0
  115. package/dist/_chunks/_presets/iis.mjs +194 -0
  116. package/dist/_chunks/_presets/index.mjs +62 -0
  117. package/dist/_chunks/_presets/koyeb.mjs +14 -0
  118. package/dist/_chunks/_presets/netlify.mjs +241 -0
  119. package/dist/_chunks/_presets/node.mjs +54 -0
  120. package/dist/_chunks/_presets/platform.mjs +14 -0
  121. package/dist/_chunks/_presets/render.mjs +14 -0
  122. package/dist/_chunks/_presets/standard.mjs +23 -0
  123. package/dist/_chunks/_presets/stormkit.mjs +18 -0
  124. package/dist/_chunks/_presets/vercel.mjs +375 -0
  125. package/dist/_chunks/_presets/winterjs.mjs +22 -0
  126. package/dist/_chunks/_presets/zeabur.mjs +69 -0
  127. package/dist/_chunks/_presets/zerops.mjs +27 -0
  128. package/dist/_chunks/app.mjs +9 -19206
  129. package/dist/_chunks/{index3.mjs → builder.mjs} +560 -970
  130. package/dist/_chunks/server.mjs +6 -4
  131. package/dist/{cli → _cli}/build.mjs +3 -8
  132. package/dist/{cli → _cli}/dev.mjs +38 -12
  133. package/dist/{cli/index2.mjs → _cli/index.mjs} +1 -2
  134. package/dist/{cli → _cli}/list.mjs +3 -4
  135. package/dist/{cli → _cli}/prepare.mjs +3 -4
  136. package/dist/{cli → _cli}/run.mjs +3 -4
  137. package/dist/{index.d.mts → builder.d.mts} +11 -11
  138. package/dist/builder.mjs +117 -0
  139. package/dist/cli/index.mjs +7 -464
  140. package/dist/node_modules/@speed-highlight/core/dist/index.js +1 -1
  141. package/dist/node_modules/@speed-highlight/core/dist/terminal.js +1 -1
  142. package/dist/node_modules/@speed-highlight/core/package.json +7 -3
  143. package/dist/node_modules/cookie-es/dist/index.mjs +262 -0
  144. package/dist/node_modules/cookie-es/package.json +37 -0
  145. package/dist/node_modules/hookable/dist/index.mjs +243 -266
  146. package/dist/node_modules/hookable/package.json +29 -26
  147. package/dist/node_modules/rendu/dist/index.mjs +380 -0
  148. package/dist/node_modules/rendu/package.json +47 -0
  149. package/dist/presets/_nitro/runtime/nitro-dev.mjs +4 -7
  150. package/dist/presets/_nitro/runtime/nitro-prerenderer.mjs +5 -4
  151. package/dist/presets/azure/runtime/azure-swa.mjs +1 -1
  152. package/dist/presets/cloudflare/runtime/_module-handler.mjs +7 -6
  153. package/dist/presets/cloudflare/runtime/cloudflare-durable.mjs +4 -5
  154. package/dist/presets/cloudflare/runtime/plugin.dev.mjs +7 -10
  155. package/dist/presets/cloudflare/runtime/shims/workers.dev.d.mts +21 -0
  156. package/dist/presets/cloudflare/runtime/shims/workers.dev.mjs +27 -0
  157. package/dist/presets/node/runtime/node-server.mjs +1 -1
  158. package/dist/runtime/index.d.mts +1 -1
  159. package/dist/runtime/index.mjs +1 -1
  160. package/dist/runtime/internal/app.d.mts +3 -1
  161. package/dist/runtime/internal/app.mjs +90 -64
  162. package/dist/runtime/internal/error/prod.d.mts +3 -2
  163. package/dist/runtime/internal/error/prod.mjs +9 -13
  164. package/dist/runtime/internal/renderer.mjs +4 -4
  165. package/dist/runtime/internal/routes/dev-tasks.d.mts +30 -2
  166. package/dist/runtime/internal/shutdown.d.mts +1 -2
  167. package/dist/runtime/internal/shutdown.mjs +3 -2
  168. package/dist/runtime/internal/task.mjs +1 -2
  169. package/dist/types/index.d.mts +1603 -10
  170. package/dist/vite.d.mts +5 -0
  171. package/dist/vite.mjs +94 -30
  172. package/lib/index.mjs +1 -0
  173. package/lib/indexd.mts +1 -0
  174. package/lib/runtime/meta.mjs +35 -0
  175. package/package.json +40 -41
  176. package/dist/_chunks/build.mjs +0 -84
  177. package/dist/_chunks/build3.mjs +0 -6452
  178. package/dist/_chunks/detect-acorn.mjs +0 -503
  179. package/dist/_chunks/index.mjs +0 -22242
  180. package/dist/_chunks/json5.mjs +0 -68
  181. package/dist/_chunks/jsonc.mjs +0 -51
  182. package/dist/_chunks/toml.mjs +0 -259
  183. package/dist/_chunks/yaml.mjs +0 -86
  184. package/dist/index.mjs +0 -55
  185. package/dist/node_modules/klona/dist/index.mjs +0 -81
  186. package/dist/node_modules/klona/full/index.mjs +0 -53
  187. package/dist/node_modules/klona/package.json +0 -74
  188. package/dist/node_modules/std-env/dist/index.mjs +0 -1
  189. package/dist/node_modules/std-env/package.json +0 -46
  190. package/dist/presets.mjs +0 -2460
  191. package/dist/runtime/internal/debug.d.mts +0 -2
  192. package/dist/runtime/internal/debug.mjs +0 -5
  193. package/lib/runtime-meta.mjs +0 -38
  194. /package/dist/{cli → _cli}/common.mjs +0 -0
  195. /package/lib/{runtime-meta.d.mts → runtime/meta.d.mts} +0 -0
@@ -0,0 +1,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 };