@hot-updater/expo 0.20.10 → 0.20.12

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 (3) hide show
  1. package/dist/index.cjs +143 -244
  2. package/dist/index.js +159 -260
  3. package/package.json +3 -3
package/dist/index.cjs CHANGED
@@ -24,10 +24,6 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
24
24
  }) : target, mod));
25
25
 
26
26
  //#endregion
27
- let fs = require("fs");
28
- fs = __toESM(fs);
29
- let path = require("path");
30
- path = __toESM(path);
31
27
  let __hot_updater_bare = require("@hot-updater/bare");
32
28
  __hot_updater_bare = __toESM(__hot_updater_bare);
33
29
  let __hot_updater_plugin_core = require("@hot-updater/plugin-core");
@@ -46,6 +42,10 @@ let node_tty = require("node:tty");
46
42
  node_tty = __toESM(node_tty);
47
43
  let node_path = require("node:path");
48
44
  node_path = __toESM(node_path);
45
+ let path = require("path");
46
+ path = __toESM(path);
47
+ let fs = require("fs");
48
+ fs = __toESM(fs);
49
49
  let node_timers_promises = require("node:timers/promises");
50
50
  node_timers_promises = __toESM(node_timers_promises);
51
51
  let node_os = require("node:os");
@@ -112,8 +112,7 @@ const stringToUint8Array = (string) => textEncoder$1.encode(string);
112
112
  const textDecoder = new TextDecoder();
113
113
  const uint8ArrayToString = (uint8Array) => textDecoder.decode(uint8Array);
114
114
  const joinToString = (uint8ArraysOrStrings, encoding) => {
115
- const strings = uint8ArraysToStrings(uint8ArraysOrStrings, encoding);
116
- return strings.join("");
115
+ return uint8ArraysToStrings(uint8ArraysOrStrings, encoding).join("");
117
116
  };
118
117
  const uint8ArraysToStrings = (uint8ArraysOrStrings, encoding) => {
119
118
  if (encoding === "utf8" && uint8ArraysOrStrings.every((uint8ArrayOrString) => typeof uint8ArrayOrString === "string")) return uint8ArraysOrStrings;
@@ -168,8 +167,7 @@ const parseTemplate = ({ templates, expressions, tokens, index, template }) => {
168
167
  const newTokens = concatTokens(tokens, nextTokens, leadingWhitespaces);
169
168
  if (index === expressions.length) return newTokens;
170
169
  const expression = expressions[index];
171
- const expressionTokens = Array.isArray(expression) ? expression.map((expression$1) => parseExpression(expression$1)) : [parseExpression(expression)];
172
- return concatTokens(newTokens, expressionTokens, trailingWhitespaces);
170
+ return concatTokens(newTokens, Array.isArray(expression) ? expression.map((expression$1) => parseExpression(expression$1)) : [parseExpression(expression)], trailingWhitespaces);
173
171
  };
174
172
  const splitByWhitespaces = (template, rawTemplate) => {
175
173
  if (rawTemplate.length === 0) return {
@@ -256,8 +254,7 @@ const normalizeFdSpecificOptions = (options) => {
256
254
  };
257
255
  const normalizeFdSpecificOption = (options, optionName) => {
258
256
  const optionBaseArray = Array.from({ length: getStdioLength(options) + 1 });
259
- const optionArray = normalizeFdSpecificValue(options[optionName], optionBaseArray, optionName);
260
- return addDefaultValue$1(optionArray, optionName);
257
+ return addDefaultValue$1(normalizeFdSpecificValue(options[optionName], optionBaseArray, optionName), optionName);
261
258
  };
262
259
  const getStdioLength = ({ stdio }) => Array.isArray(stdio) ? Math.max(stdio.length, STANDARD_STREAMS_ALIASES.length) : STANDARD_STREAMS_ALIASES.length;
263
260
  const normalizeFdSpecificValue = (optionValue, optionArray, optionName) => isPlainObject(optionValue) ? normalizeOptionObject(optionValue, optionArray, optionName) : optionArray.fill(optionValue);
@@ -287,12 +284,11 @@ const parseFd = (fdName) => {
287
284
  };
288
285
  const FD_REGEXP = /^fd(\d+)$/;
289
286
  const addDefaultValue$1 = (optionArray, optionName) => optionArray.map((optionValue) => optionValue === void 0 ? DEFAULT_OPTIONS[optionName] : optionValue);
290
- const verboseDefault = (0, node_util.debuglog)("execa").enabled ? "full" : "none";
291
287
  const DEFAULT_OPTIONS = {
292
288
  lines: false,
293
289
  buffer: true,
294
290
  maxBuffer: 1e3 * 1e3 * 100,
295
- verbose: verboseDefault,
291
+ verbose: (0, node_util.debuglog)("execa").enabled ? "full" : "none",
296
292
  stripFinalNewline: true
297
293
  };
298
294
  const FD_SPECIFIC_OPTIONS = [
@@ -325,11 +321,9 @@ const VERBOSE_VALUES = [
325
321
  //#region ../../node_modules/.pnpm/execa@9.5.2/node_modules/execa/lib/arguments/escape.js
326
322
  const joinCommand = (filePath, rawArguments) => {
327
323
  const fileAndArguments = [filePath, ...rawArguments];
328
- const command = fileAndArguments.join(" ");
329
- const escapedCommand = fileAndArguments.map((fileAndArgument) => quoteString(escapeControlCharacters(fileAndArgument))).join(" ");
330
324
  return {
331
- command,
332
- escapedCommand
325
+ command: fileAndArguments.join(" "),
326
+ escapedCommand: fileAndArguments.map((fileAndArgument) => quoteString(escapeControlCharacters(fileAndArgument))).join(" ")
333
327
  };
334
328
  };
335
329
  const escapeLines = (lines) => (0, node_util.stripVTControlCharacters)(lines).split("\n").map((line) => escapeControlCharacters(line)).join("\n");
@@ -770,13 +764,11 @@ const appendNewline = (printedLine) => printedLine.endsWith("\n") ? printedLine
770
764
  //#endregion
771
765
  //#region ../../node_modules/.pnpm/execa@9.5.2/node_modules/execa/lib/verbose/log.js
772
766
  const verboseLog = ({ type, verboseMessage, fdNumber, verboseInfo, result }) => {
773
- const verboseObject = getVerboseObject({
767
+ const finalLines = applyVerboseOnLines(getPrintedLines(verboseMessage, getVerboseObject({
774
768
  type,
775
769
  result,
776
770
  verboseInfo
777
- });
778
- const printedLines = getPrintedLines(verboseMessage, verboseObject);
779
- const finalLines = applyVerboseOnLines(printedLines, verboseInfo, fdNumber);
771
+ })), verboseInfo, fdNumber);
780
772
  if (finalLines !== "") console.warn(finalLines.slice(0, -1));
781
773
  };
782
774
  const getVerboseObject = ({ type, result, verboseInfo: { escapedCommand, commandId, rawOptions: { piped = false,...options } } }) => ({
@@ -793,16 +785,13 @@ const getPrintedLines = (verboseMessage, verboseObject) => verboseMessage.split(
793
785
  message
794
786
  }));
795
787
  const getPrintedLine = (verboseObject) => {
796
- const verboseLine = defaultVerboseFunction(verboseObject);
797
788
  return {
798
- verboseLine,
789
+ verboseLine: defaultVerboseFunction(verboseObject),
799
790
  verboseObject
800
791
  };
801
792
  };
802
793
  const serializeVerboseMessage = (message) => {
803
- const messageString = typeof message === "string" ? message : (0, node_util.inspect)(message);
804
- const escapedMessage = escapeLines(messageString);
805
- return escapedMessage.replaceAll(" ", " ".repeat(TAB_SIZE));
794
+ return escapeLines(typeof message === "string" ? message : (0, node_util.inspect)(message)).replaceAll(" ", " ".repeat(TAB_SIZE));
806
795
  };
807
796
  const TAB_SIZE = 2;
808
797
 
@@ -821,11 +810,10 @@ const logCommand = (escapedCommand, verboseInfo) => {
821
810
  //#region ../../node_modules/.pnpm/execa@9.5.2/node_modules/execa/lib/verbose/info.js
822
811
  const getVerboseInfo = (verbose, escapedCommand, rawOptions) => {
823
812
  validateVerbose(verbose);
824
- const commandId = getCommandId(verbose);
825
813
  return {
826
814
  verbose,
827
815
  escapedCommand,
828
- commandId,
816
+ commandId: getCommandId(verbose),
829
817
  rawOptions
830
818
  };
831
819
  };
@@ -852,8 +840,7 @@ const getDurationMs = (startTime) => Number(node_process.hrtime.bigint() - start
852
840
  const handleCommand = (filePath, rawArguments, rawOptions) => {
853
841
  const startTime = getStartTime();
854
842
  const { command, escapedCommand } = joinCommand(filePath, rawArguments);
855
- const verbose = normalizeFdSpecificOption(rawOptions, "verbose");
856
- const verboseInfo = getVerboseInfo(verbose, escapedCommand, { ...rawOptions });
843
+ const verboseInfo = getVerboseInfo(normalizeFdSpecificOption(rawOptions, "verbose"), escapedCommand, { ...rawOptions });
857
844
  logCommand(escapedCommand, verboseInfo);
858
845
  return {
859
846
  command,
@@ -921,8 +908,7 @@ var require_mode = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/isexe@
921
908
  var g = parseInt("010", 8);
922
909
  var o$1 = parseInt("001", 8);
923
910
  var ug = u$1 | g;
924
- var ret = mod & o$1 || mod & g && gid === myGid || mod & u$1 && uid === myUid || mod & ug && myUid === 0;
925
- return ret;
911
+ return mod & o$1 || mod & g && gid === myGid || mod & u$1 && uid === myUid || mod & ug && myUid === 0;
926
912
  }
927
913
  }) });
928
914
 
@@ -1004,8 +990,7 @@ var require_which = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/which
1004
990
  const ppRaw = pathEnv[i$1];
1005
991
  const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw;
1006
992
  const pCmd = path$9.join(pathPart, cmd);
1007
- const p = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd : pCmd;
1008
- resolve(subStep(p, i$1, 0));
993
+ resolve(subStep(!pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd : pCmd, i$1, 0));
1009
994
  });
1010
995
  const subStep = (p, i$1, ii) => new Promise((resolve, reject) => {
1011
996
  if (ii === pathExt.length) return resolve(step(i$1 + 1));
@@ -1030,8 +1015,7 @@ var require_which = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/which
1030
1015
  for (let j = 0; j < pathExt.length; j++) {
1031
1016
  const cur = p + pathExt[j];
1032
1017
  try {
1033
- const is = isexe.sync(cur, { pathExt: pathExtExe });
1034
- if (is) if (opt.all) found.push(cur);
1018
+ if (isexe.sync(cur, { pathExt: pathExtExe })) if (opt.all) found.push(cur);
1035
1019
  else return cur;
1036
1020
  } catch (ex) {}
1037
1021
  }
@@ -1049,8 +1033,7 @@ var require_which = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/which
1049
1033
  var require_path_key = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/path-key@3.1.1/node_modules/path-key/index.js": ((exports, module) => {
1050
1034
  const pathKey$1 = (options = {}) => {
1051
1035
  const environment = options.env || process.env;
1052
- const platform$1 = options.platform || process.platform;
1053
- if (platform$1 !== "win32") return "PATH";
1036
+ if ((options.platform || process.platform) !== "win32") return "PATH";
1054
1037
  return Object.keys(environment).reverse().find((key) => key.toUpperCase() === "PATH") || "Path";
1055
1038
  };
1056
1039
  module.exports = pathKey$1;
@@ -1178,12 +1161,11 @@ var require_parse = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/cross
1178
1161
  parsed.command = path$7.normalize(parsed.command);
1179
1162
  parsed.command = escape.command(parsed.command);
1180
1163
  parsed.args = parsed.args.map((arg) => escape.argument(arg, needsDoubleEscapeMetaChars));
1181
- const shellCommand = [parsed.command].concat(parsed.args).join(" ");
1182
1164
  parsed.args = [
1183
1165
  "/d",
1184
1166
  "/s",
1185
1167
  "/c",
1186
- `"${shellCommand}"`
1168
+ `"${[parsed.command].concat(parsed.args).join(" ")}"`
1187
1169
  ];
1188
1170
  parsed.command = process.env.comspec || "cmd.exe";
1189
1171
  parsed.options.windowsVerbatimArguments = true;
@@ -1336,9 +1318,7 @@ const npmRunPathEnv = ({ env = node_process.default.env,...options } = {}) => {
1336
1318
  //#endregion
1337
1319
  //#region ../../node_modules/.pnpm/execa@9.5.2/node_modules/execa/lib/return/final-error.js
1338
1320
  const getFinalError = (originalError, message, isSync) => {
1339
- const ErrorClass = isSync ? ExecaSyncError : ExecaError;
1340
- const options = originalError instanceof DiscardedError ? {} : { cause: originalError };
1341
- return new ErrorClass(message, options);
1321
+ return new (isSync ? ExecaSyncError : ExecaError)(message, originalError instanceof DiscardedError ? {} : { cause: originalError });
1342
1322
  };
1343
1323
  var DiscardedError = class extends Error {};
1344
1324
  const setErrorName = (ErrorClass, value) => {
@@ -1657,16 +1637,14 @@ const SIGNALS = [
1657
1637
  //#region ../../node_modules/.pnpm/human-signals@8.0.0/node_modules/human-signals/build/src/signals.js
1658
1638
  const getSignals = () => {
1659
1639
  const realtimeSignals = getRealtimeSignals();
1660
- const signals$1 = [...SIGNALS, ...realtimeSignals].map(normalizeSignal$1);
1661
- return signals$1;
1640
+ return [...SIGNALS, ...realtimeSignals].map(normalizeSignal$1);
1662
1641
  };
1663
1642
  const normalizeSignal$1 = ({ name, number: defaultNumber, description, action, forced = false, standard }) => {
1664
1643
  const { signals: { [name]: constantSignal } } = node_os.constants;
1665
1644
  const supported = constantSignal !== void 0;
1666
- const number = supported ? constantSignal : defaultNumber;
1667
1645
  return {
1668
1646
  name,
1669
- number,
1647
+ number: supported ? constantSignal : defaultNumber,
1670
1648
  description,
1671
1649
  supported,
1672
1650
  action,
@@ -2078,8 +2056,7 @@ const isConnected = (anyProcess) => {
2078
2056
  //#region ../../node_modules/.pnpm/execa@9.5.2/node_modules/execa/lib/ipc/strict.js
2079
2057
  const handleSendStrict = ({ anyProcess, channel, isSubprocess, message, strict }) => {
2080
2058
  if (!strict) return message;
2081
- const ipcEmitter = getIpcEmitter(anyProcess, channel, isSubprocess);
2082
- const hasListeners = hasMessageListeners(anyProcess, ipcEmitter);
2059
+ const hasListeners = hasMessageListeners(anyProcess, getIpcEmitter(anyProcess, channel, isSubprocess));
2083
2060
  return {
2084
2061
  id: count++,
2085
2062
  type: REQUEST_TYPE,
@@ -2152,11 +2129,9 @@ const RESPONSE_TYPE = "execa:ipc:response";
2152
2129
  const startSendMessage = (anyProcess, wrappedMessage, strict) => {
2153
2130
  if (!OUTGOING_MESSAGES.has(anyProcess)) OUTGOING_MESSAGES.set(anyProcess, /* @__PURE__ */ new Set());
2154
2131
  const outgoingMessages = OUTGOING_MESSAGES.get(anyProcess);
2155
- const onMessageSent = createDeferred();
2156
- const id = strict ? wrappedMessage.id : void 0;
2157
2132
  const outgoingMessage = {
2158
- onMessageSent,
2159
- id
2133
+ onMessageSent: createDeferred(),
2134
+ id: strict ? wrappedMessage.id : void 0
2160
2135
  };
2161
2136
  outgoingMessages.add(outgoingMessage);
2162
2137
  return {
@@ -2317,8 +2292,7 @@ const throwOnGracefulCancel = ({ subprocess, cancelSignal, gracefulCancel, force
2317
2292
  })] : [];
2318
2293
  const sendOnAbort = async ({ subprocess, cancelSignal, forceKillAfterDelay, context, controller: { signal } }) => {
2319
2294
  await onAbortedSignal(cancelSignal, signal);
2320
- const reason = getReason(cancelSignal);
2321
- await sendAbort(subprocess, reason);
2295
+ await sendAbort(subprocess, getReason(cancelSignal));
2322
2296
  killOnTimeout({
2323
2297
  kill: subprocess.kill,
2324
2298
  forceKillAfterDelay,
@@ -2492,8 +2466,7 @@ const normalizeOptions = (filePath, rawArguments, rawOptions) => {
2492
2466
  rawOptions.cwd = normalizeCwd(rawOptions.cwd);
2493
2467
  const [processedFile, processedArguments, processedOptions] = handleNodeOption(filePath, rawArguments, rawOptions);
2494
2468
  const { command: file, args: commandArguments, options: initialOptions } = import_cross_spawn.default._parse(processedFile, processedArguments, processedOptions);
2495
- const fdOptions = normalizeFdSpecificOptions(initialOptions);
2496
- const options = addDefaultOptions(fdOptions);
2469
+ const options = addDefaultOptions(normalizeFdSpecificOptions(initialOptions));
2497
2470
  validateTimeout(options);
2498
2471
  validateEncoding(options);
2499
2472
  validateIpcInputOption(options);
@@ -2650,7 +2623,7 @@ const u = Object.create(a, {
2650
2623
  }
2651
2624
  });
2652
2625
  function h({ preventCancel: r = !1 } = {}) {
2653
- const e = this.getReader(), t = new c(e, r), s = Object.create(u);
2626
+ const t = new c(this.getReader(), r), s = Object.create(u);
2654
2627
  return s[n] = t, s;
2655
2628
  }
2656
2629
 
@@ -2699,18 +2672,14 @@ const getStreamContents$1 = async (stream, { init, convertChunk, getSize, trunca
2699
2672
  const state = init();
2700
2673
  state.length = 0;
2701
2674
  try {
2702
- for await (const chunk of asyncIterable) {
2703
- const chunkType = getChunkType(chunk);
2704
- const convertedChunk = convertChunk[chunkType](chunk, state);
2705
- appendChunk({
2706
- convertedChunk,
2707
- state,
2708
- getSize,
2709
- truncateChunk,
2710
- addChunk,
2711
- maxBuffer
2712
- });
2713
- }
2675
+ for await (const chunk of asyncIterable) appendChunk({
2676
+ convertedChunk: convertChunk[getChunkType(chunk)](chunk, state),
2677
+ state,
2678
+ getSize,
2679
+ truncateChunk,
2680
+ addChunk,
2681
+ maxBuffer
2682
+ });
2714
2683
  appendFinalChunk({
2715
2684
  state,
2716
2685
  convertChunk,
@@ -2900,10 +2869,9 @@ const stringMethods = {
2900
2869
  const handleMaxBuffer = ({ error, stream, readableObjectMode, lines, encoding, fdNumber }) => {
2901
2870
  if (!(error instanceof MaxBufferError)) throw error;
2902
2871
  if (fdNumber === "all") return error;
2903
- const unit = getMaxBufferUnit(readableObjectMode, lines, encoding);
2904
2872
  error.maxBufferInfo = {
2905
2873
  fdNumber,
2906
- unit
2874
+ unit: getMaxBufferUnit(readableObjectMode, lines, encoding)
2907
2875
  };
2908
2876
  stream.destroy();
2909
2877
  throw error;
@@ -2973,19 +2941,16 @@ const createMessages = ({ stdio, all, ipcOutput, originalError, signal, signalDe
2973
2941
  killSignal
2974
2942
  });
2975
2943
  const originalMessage = getOriginalMessage(originalError, cwd);
2976
- const suffix = originalMessage === void 0 ? "" : `\n${originalMessage}`;
2977
- const shortMessage = `${prefix}: ${escapedCommand}${suffix}`;
2978
- const messageStdio = all === void 0 ? [stdio[2], stdio[1]] : [all];
2979
- const message = [
2980
- shortMessage,
2981
- ...messageStdio,
2982
- ...stdio.slice(3),
2983
- ipcOutput.map((ipcMessage) => serializeIpcMessage(ipcMessage)).join("\n")
2984
- ].map((messagePart) => escapeLines(stripFinalNewline(serializeMessagePart(messagePart)))).filter(Boolean).join("\n\n");
2944
+ const shortMessage = `${prefix}: ${escapedCommand}${originalMessage === void 0 ? "" : `\n${originalMessage}`}`;
2985
2945
  return {
2986
2946
  originalMessage,
2987
2947
  shortMessage,
2988
- message
2948
+ message: [
2949
+ shortMessage,
2950
+ ...all === void 0 ? [stdio[2], stdio[1]] : [all],
2951
+ ...stdio.slice(3),
2952
+ ipcOutput.map((ipcMessage) => serializeIpcMessage(ipcMessage)).join("\n")
2953
+ ].map((messagePart) => escapeLines(stripFinalNewline(serializeMessagePart(messagePart)))).filter(Boolean).join("\n\n")
2989
2954
  };
2990
2955
  };
2991
2956
  const getErrorPrefix = ({ originalError, timedOut, timeout, isMaxBuffer, maxBuffer, errorCode, signal, signalDescription, exitCode, isCanceled, isGracefullyCanceled, isForcefullyTerminated, forceKillAfterDelay, killSignal }) => {
@@ -3006,8 +2971,7 @@ const getErrorPrefix = ({ originalError, timedOut, timeout, isMaxBuffer, maxBuff
3006
2971
  const getForcefulSuffix = (isForcefullyTerminated, forceKillAfterDelay) => isForcefullyTerminated ? ` and was forcefully terminated after ${forceKillAfterDelay} milliseconds` : "";
3007
2972
  const getOriginalMessage = (originalError, cwd) => {
3008
2973
  if (originalError instanceof DiscardedError) return;
3009
- const originalMessage = isExecaError(originalError) ? originalError.originalMessage : String(originalError?.message ?? originalError);
3010
- const escapedOriginalMessage = escapeLines(fixCwdError(originalMessage, cwd));
2974
+ const escapedOriginalMessage = escapeLines(fixCwdError(isExecaError(originalError) ? originalError.originalMessage : String(originalError?.message ?? originalError), cwd));
3011
2975
  return escapedOriginalMessage === "" ? void 0 : escapedOriginalMessage;
3012
2976
  };
3013
2977
  const serializeIpcMessage = (ipcMessage) => typeof ipcMessage === "string" ? ipcMessage : (0, node_util.inspect)(ipcMessage);
@@ -3129,11 +3093,10 @@ const omitUndefinedProperties = (result) => Object.fromEntries(Object.entries(re
3129
3093
  const normalizeExitPayload = (rawExitCode, rawSignal) => {
3130
3094
  const exitCode = rawExitCode === null ? void 0 : rawExitCode;
3131
3095
  const signal = rawSignal === null ? void 0 : rawSignal;
3132
- const signalDescription = signal === void 0 ? void 0 : getSignalDescription(rawSignal);
3133
3096
  return {
3134
3097
  exitCode,
3135
3098
  signal,
3136
- signalDescription
3099
+ signalDescription: signal === void 0 ? void 0 : getSignalDescription(rawSignal)
3137
3100
  };
3138
3101
  };
3139
3102
 
@@ -3198,8 +3161,7 @@ function prettyMilliseconds(milliseconds, options) {
3198
3161
  let result = [];
3199
3162
  const floorDecimals = (value, decimalDigits) => {
3200
3163
  const flooredInterimValue = Math.floor(value * 10 ** decimalDigits + SECOND_ROUNDING_EPSILON);
3201
- const flooredValue = Math.round(flooredInterimValue) / 10 ** decimalDigits;
3202
- return flooredValue.toFixed(decimalDigits);
3164
+ return (Math.round(flooredInterimValue) / 10 ** decimalDigits).toFixed(decimalDigits);
3203
3165
  };
3204
3166
  const add = (value, long, short, valueString) => {
3205
3167
  if ((result.length === 0 || !options.colonNotation) && isZero(value) && !(options.colonNotation && short === "m")) return;
@@ -3236,14 +3198,11 @@ function prettyMilliseconds(milliseconds, options) {
3236
3198
  } else {
3237
3199
  const millisecondsAndBelow = milliseconds$1 + microseconds / 1e3 + nanoseconds / 1e6;
3238
3200
  const millisecondsDecimalDigits = typeof options.millisecondsDecimalDigits === "number" ? options.millisecondsDecimalDigits : 0;
3239
- const roundedMilliseconds = millisecondsAndBelow >= 1 ? Math.round(millisecondsAndBelow) : Math.ceil(millisecondsAndBelow);
3240
- const millisecondsString = millisecondsDecimalDigits ? millisecondsAndBelow.toFixed(millisecondsDecimalDigits) : roundedMilliseconds;
3201
+ const millisecondsString = millisecondsDecimalDigits ? millisecondsAndBelow.toFixed(millisecondsDecimalDigits) : millisecondsAndBelow >= 1 ? Math.round(millisecondsAndBelow) : Math.ceil(millisecondsAndBelow);
3241
3202
  add(Number.parseFloat(millisecondsString), "millisecond", "ms", millisecondsString);
3242
3203
  }
3243
3204
  } else {
3244
- const seconds = (isBigInt ? Number(milliseconds % ONE_DAY_IN_MILLISECONDS) : milliseconds) / 1e3 % 60;
3245
- const secondsDecimalDigits = typeof options.secondsDecimalDigits === "number" ? options.secondsDecimalDigits : 1;
3246
- const secondsFixed = floorDecimals(seconds, secondsDecimalDigits);
3205
+ const secondsFixed = floorDecimals((isBigInt ? Number(milliseconds % ONE_DAY_IN_MILLISECONDS) : milliseconds) / 1e3 % 60, typeof options.secondsDecimalDigits === "number" ? options.secondsDecimalDigits : 1);
3247
3206
  const secondsString = options.keepDecimalsOnWholeSeconds ? secondsFixed : secondsFixed.replace(/\.0+$/, "");
3248
3207
  add(Number.parseFloat(secondsString), "second", "s", secondsString);
3249
3208
  }
@@ -3272,10 +3231,9 @@ const logResult = (result, verboseInfo) => {
3272
3231
  logDuration(result, verboseInfo);
3273
3232
  };
3274
3233
  const logDuration = (result, verboseInfo) => {
3275
- const verboseMessage = `(done in ${prettyMilliseconds(result.durationMs)})`;
3276
3234
  verboseLog({
3277
3235
  type: "duration",
3278
- verboseMessage,
3236
+ verboseMessage: `(done in ${prettyMilliseconds(result.durationMs)})`,
3279
3237
  verboseInfo,
3280
3238
  result
3281
3239
  });
@@ -3402,18 +3360,16 @@ const TYPE_TO_MESSAGE = {
3402
3360
  const getTransformObjectModes = (objectMode, index, newTransforms, direction) => direction === "output" ? getOutputObjectModes(objectMode, index, newTransforms) : getInputObjectModes(objectMode, index, newTransforms);
3403
3361
  const getOutputObjectModes = (objectMode, index, newTransforms) => {
3404
3362
  const writableObjectMode = index !== 0 && newTransforms[index - 1].value.readableObjectMode;
3405
- const readableObjectMode = objectMode ?? writableObjectMode;
3406
3363
  return {
3407
3364
  writableObjectMode,
3408
- readableObjectMode
3365
+ readableObjectMode: objectMode ?? writableObjectMode
3409
3366
  };
3410
3367
  };
3411
3368
  const getInputObjectModes = (objectMode, index, newTransforms) => {
3412
3369
  const writableObjectMode = index === 0 ? objectMode === true : newTransforms[index - 1].value.readableObjectMode;
3413
- const readableObjectMode = index !== newTransforms.length - 1 && (objectMode ?? writableObjectMode);
3414
3370
  return {
3415
3371
  writableObjectMode,
3416
- readableObjectMode
3372
+ readableObjectMode: index !== newTransforms.length - 1 && (objectMode ?? writableObjectMode)
3417
3373
  };
3418
3374
  };
3419
3375
  const getFdObjectMode = (stdioItems, direction) => {
@@ -3722,8 +3678,7 @@ const validateDuplicateStreamSync = ({ otherStdioItems, type, value, optionName,
3722
3678
  const getDuplicateStreamInstance = ({ otherStdioItems, type, value, optionName, direction }) => {
3723
3679
  const duplicateStdioItems = otherStdioItems.filter((stdioItem) => hasSameValue(stdioItem, value));
3724
3680
  if (duplicateStdioItems.length === 0) return;
3725
- const differentStdioItem = duplicateStdioItems.find((stdioItem) => stdioItem.direction !== direction);
3726
- throwOnDuplicateStream(differentStdioItem, optionName, type);
3681
+ throwOnDuplicateStream(duplicateStdioItems.find((stdioItem) => stdioItem.direction !== direction), optionName, type);
3727
3682
  return direction === "output" ? duplicateStdioItems[0].stream : void 0;
3728
3683
  };
3729
3684
  const hasSameValue = ({ type, value }, secondValue) => {
@@ -3732,8 +3687,7 @@ const hasSameValue = ({ type, value }, secondValue) => {
3732
3687
  return value === secondValue;
3733
3688
  };
3734
3689
  const validateDuplicateTransform = ({ otherStdioItems, type, value, optionName }) => {
3735
- const duplicateStdioItem = otherStdioItems.find(({ value: { transform } }) => transform === value.transform);
3736
- throwOnDuplicateStream(duplicateStdioItem, optionName, type);
3690
+ throwOnDuplicateStream(otherStdioItems.find(({ value: { transform } }) => transform === value.transform), optionName, type);
3737
3691
  };
3738
3692
  const throwOnDuplicateStream = (stdioItem, optionName, type) => {
3739
3693
  if (stdioItem !== void 0) throw new TypeError(`The \`${stdioItem.optionName}\` and \`${optionName}\` options must not target ${TYPE_TO_MESSAGE[type]} that is the same.`);
@@ -3742,15 +3696,13 @@ const throwOnDuplicateStream = (stdioItem, optionName, type) => {
3742
3696
  //#endregion
3743
3697
  //#region ../../node_modules/.pnpm/execa@9.5.2/node_modules/execa/lib/stdio/handle.js
3744
3698
  const handleStdio = (addProperties$2, options, verboseInfo, isSync) => {
3745
- const stdio = normalizeStdioOption(options, verboseInfo, isSync);
3746
- const initialFileDescriptors = stdio.map((stdioOption, fdNumber) => getFileDescriptor({
3747
- stdioOption,
3748
- fdNumber,
3749
- options,
3750
- isSync
3751
- }));
3752
3699
  const fileDescriptors = getFinalFileDescriptors({
3753
- initialFileDescriptors,
3700
+ initialFileDescriptors: normalizeStdioOption(options, verboseInfo, isSync).map((stdioOption, fdNumber) => getFileDescriptor({
3701
+ stdioOption,
3702
+ fdNumber,
3703
+ options,
3704
+ isSync
3705
+ })),
3754
3706
  addProperties: addProperties$2,
3755
3707
  options,
3756
3708
  isSync
@@ -3767,14 +3719,13 @@ const getFileDescriptor = ({ stdioOption, fdNumber, options, isSync }) => {
3767
3719
  optionName
3768
3720
  });
3769
3721
  const direction = getStreamDirection(initialStdioItems, fdNumber, optionName);
3770
- const stdioItems = initialStdioItems.map((stdioItem) => handleNativeStream({
3722
+ const normalizedStdioItems = normalizeTransforms(initialStdioItems.map((stdioItem) => handleNativeStream({
3771
3723
  stdioItem,
3772
3724
  isStdioArray,
3773
3725
  fdNumber,
3774
3726
  direction,
3775
3727
  isSync
3776
- }));
3777
- const normalizedStdioItems = normalizeTransforms(stdioItems, optionName, direction, options);
3728
+ })), optionName, direction, options);
3778
3729
  const objectMode = getFdObjectMode(normalizedStdioItems, direction);
3779
3730
  validateFileObjectMode(normalizedStdioItems, objectMode);
3780
3731
  return {
@@ -3784,9 +3735,7 @@ const getFileDescriptor = ({ stdioOption, fdNumber, options, isSync }) => {
3784
3735
  };
3785
3736
  };
3786
3737
  const initializeStdioItems = ({ stdioOption, fdNumber, options, optionName }) => {
3787
- const values = Array.isArray(stdioOption) ? stdioOption : [stdioOption];
3788
- const initialStdioItems = [...values.map((value) => initializeStdioItem(value, optionName)), ...handleInputOptions(options, fdNumber)];
3789
- const stdioItems = filterDuplicates(initialStdioItems);
3738
+ const stdioItems = filterDuplicates([...(Array.isArray(stdioOption) ? stdioOption : [stdioOption]).map((value) => initializeStdioItem(value, optionName)), ...handleInputOptions(options, fdNumber)]);
3790
3739
  const isStdioArray = stdioItems.length > 1;
3791
3740
  validateStdioArray(stdioItems, isStdioArray, optionName);
3792
3741
  validateStreams(stdioItems);
@@ -3836,18 +3785,17 @@ const getFinalFileDescriptors = ({ initialFileDescriptors, addProperties: addPro
3836
3785
  }
3837
3786
  };
3838
3787
  const getFinalFileDescriptor = ({ fileDescriptor: { direction, objectMode, stdioItems }, fileDescriptors, addProperties: addProperties$2, options, isSync }) => {
3839
- const finalStdioItems = stdioItems.map((stdioItem) => addStreamProperties({
3840
- stdioItem,
3841
- addProperties: addProperties$2,
3842
- direction,
3843
- options,
3844
- fileDescriptors,
3845
- isSync
3846
- }));
3847
3788
  return {
3848
3789
  direction,
3849
3790
  objectMode,
3850
- stdioItems: finalStdioItems
3791
+ stdioItems: stdioItems.map((stdioItem) => addStreamProperties({
3792
+ stdioItem,
3793
+ addProperties: addProperties$2,
3794
+ direction,
3795
+ options,
3796
+ fileDescriptors,
3797
+ isSync
3798
+ }))
3851
3799
  };
3852
3800
  };
3853
3801
  const addStreamProperties = ({ stdioItem, addProperties: addProperties$2, direction, options, fileDescriptors, isSync }) => {
@@ -3977,8 +3925,7 @@ const appendNewlineGenerator = function* ({ isWindowsNewline = false }, chunk) {
3977
3925
  yield chunk;
3978
3926
  return;
3979
3927
  }
3980
- const newline = isWindowsNewline ? windowsNewline : unixNewline;
3981
- yield concatBytes(chunk, newline);
3928
+ yield concatBytes(chunk, isWindowsNewline ? windowsNewline : unixNewline);
3982
3929
  };
3983
3930
  const concatString = (firstChunk, secondChunk) => `${firstChunk}${secondChunk}`;
3984
3931
  const linesStringInfo = {
@@ -4123,7 +4070,7 @@ const generatorToStream = ({ value, value: { transform, final, writableObjectMod
4123
4070
  const transformMethod = transformAsync ? pushChunks.bind(void 0, transformChunk, state) : pushChunksSync.bind(void 0, transformChunkSync);
4124
4071
  const finalMethod = transformAsync || finalAsync ? pushChunks.bind(void 0, finalChunks, state) : pushChunksSync.bind(void 0, finalChunksSync);
4125
4072
  const destroyMethod = transformAsync || finalAsync ? destroyTransform.bind(void 0, state) : void 0;
4126
- const stream = new node_stream.Transform({
4073
+ return { stream: new node_stream.Transform({
4127
4074
  writableObjectMode,
4128
4075
  writableHighWaterMark: (0, node_stream.getDefaultHighWaterMark)(writableObjectMode),
4129
4076
  readableObjectMode,
@@ -4139,16 +4086,12 @@ const generatorToStream = ({ value, value: { transform, final, writableObjectMod
4139
4086
  finalMethod([generators], this, done);
4140
4087
  },
4141
4088
  destroy: destroyMethod
4142
- });
4143
- return { stream };
4089
+ }) };
4144
4090
  };
4145
4091
  const runGeneratorsSync = (chunks, stdioItems, encoding, isInput) => {
4146
4092
  const generators = stdioItems.filter(({ type }) => type === "generator");
4147
4093
  const reversedGenerators = isInput ? generators.reverse() : generators;
4148
- for (const { value, optionName } of reversedGenerators) {
4149
- const generators$1 = addInternalGenerators(value, encoding, optionName);
4150
- chunks = runTransformSync(generators$1, chunks);
4151
- }
4094
+ for (const { value, optionName } of reversedGenerators) chunks = runTransformSync(addInternalGenerators(value, encoding, optionName), chunks);
4152
4095
  return chunks;
4153
4096
  };
4154
4097
  const addInternalGenerators = ({ transform, final, binary, writableObjectMode, readableObjectMode, preserveNewlines }, encoding, optionName) => {
@@ -4185,9 +4128,7 @@ const addInputOptionSync = (fileDescriptors, fdNumber, options) => {
4185
4128
  const [{ type, optionName }] = allStdioItems;
4186
4129
  throw new TypeError(`Only the \`stdin\` option, not \`${optionName}\`, can be ${TYPE_TO_MESSAGE[type]} with synchronous methods.`);
4187
4130
  }
4188
- const allContents = allStdioItems.map(({ contents }) => contents);
4189
- const transformedContents = allContents.map((contents) => applySingleInputGeneratorsSync(contents, stdioItems));
4190
- options.input = joinToUint8Array(transformedContents);
4131
+ options.input = joinToUint8Array(allStdioItems.map(({ contents }) => contents).map((contents) => applySingleInputGeneratorsSync(contents, stdioItems)));
4191
4132
  };
4192
4133
  const applySingleInputGeneratorsSync = (contents, stdioItems) => {
4193
4134
  const newContents = runGeneratorsSync(contents, stdioItems, "utf8", true);
@@ -4212,10 +4153,9 @@ const logLinesSync = (linesArray, fdNumber, verboseInfo) => {
4212
4153
  };
4213
4154
  const isPipingStream = (stream) => stream._readableState.pipes.length > 0;
4214
4155
  const logLine = (line, fdNumber, verboseInfo) => {
4215
- const verboseMessage = serializeVerboseMessage(line);
4216
4156
  verboseLog({
4217
4157
  type: "output",
4218
- verboseMessage,
4158
+ verboseMessage: serializeVerboseMessage(line),
4219
4159
  fdNumber,
4220
4160
  verboseInfo
4221
4161
  });
@@ -4227,28 +4167,25 @@ const transformOutputSync = ({ fileDescriptors, syncResult: { output }, options,
4227
4167
  if (output === null) return { output: Array.from({ length: 3 }) };
4228
4168
  const state = {};
4229
4169
  const outputFiles = /* @__PURE__ */ new Set([]);
4230
- const transformedOutput = output.map((result, fdNumber) => transformOutputResultSync({
4231
- result,
4232
- fileDescriptors,
4233
- fdNumber,
4234
- state,
4235
- outputFiles,
4236
- isMaxBuffer,
4237
- verboseInfo
4238
- }, options));
4239
4170
  return {
4240
- output: transformedOutput,
4171
+ output: output.map((result, fdNumber) => transformOutputResultSync({
4172
+ result,
4173
+ fileDescriptors,
4174
+ fdNumber,
4175
+ state,
4176
+ outputFiles,
4177
+ isMaxBuffer,
4178
+ verboseInfo
4179
+ }, options)),
4241
4180
  ...state
4242
4181
  };
4243
4182
  };
4244
4183
  const transformOutputResultSync = ({ result, fileDescriptors, fdNumber, state, outputFiles, isMaxBuffer, verboseInfo }, { buffer, encoding, lines, stripFinalNewline: stripFinalNewline$1, maxBuffer }) => {
4245
4184
  if (result === null) return;
4246
- const truncatedResult = truncateMaxBufferSync(result, isMaxBuffer, maxBuffer);
4247
- const uint8ArrayResult = bufferToUint8Array(truncatedResult);
4185
+ const uint8ArrayResult = bufferToUint8Array(truncateMaxBufferSync(result, isMaxBuffer, maxBuffer));
4248
4186
  const { stdioItems, objectMode } = fileDescriptors[fdNumber];
4249
- const chunks = runOutputGeneratorsSync([uint8ArrayResult], stdioItems, encoding, state);
4250
4187
  const { serializedResult, finalResult = serializedResult } = serializeChunks({
4251
- chunks,
4188
+ chunks: runOutputGeneratorsSync([uint8ArrayResult], stdioItems, encoding, state),
4252
4189
  objectMode,
4253
4190
  encoding,
4254
4191
  lines,
@@ -4359,14 +4296,12 @@ const isFailedExit = (exitCode, signal) => exitCode !== 0 || signal !== null;
4359
4296
  //#region ../../node_modules/.pnpm/execa@9.5.2/node_modules/execa/lib/resolve/exit-sync.js
4360
4297
  const getExitResultSync = ({ error, status: exitCode, signal, output }, { maxBuffer }) => {
4361
4298
  const resultError = getResultError(error, exitCode, signal);
4362
- const timedOut = resultError?.code === "ETIMEDOUT";
4363
- const isMaxBuffer = isMaxBufferSync(resultError, output, maxBuffer);
4364
4299
  return {
4365
4300
  resultError,
4366
4301
  exitCode,
4367
4302
  signal,
4368
- timedOut,
4369
- isMaxBuffer
4303
+ timedOut: resultError?.code === "ETIMEDOUT",
4304
+ isMaxBuffer: isMaxBufferSync(resultError, output, maxBuffer)
4370
4305
  };
4371
4306
  };
4372
4307
  const getResultError = (error, exitCode, signal) => {
@@ -4378,7 +4313,7 @@ const getResultError = (error, exitCode, signal) => {
4378
4313
  //#region ../../node_modules/.pnpm/execa@9.5.2/node_modules/execa/lib/methods/main-sync.js
4379
4314
  const execaCoreSync = (rawFile, rawArguments, rawOptions) => {
4380
4315
  const { file, commandArguments, command, escapedCommand, startTime, verboseInfo, options, fileDescriptors } = handleSyncArguments(rawFile, rawArguments, rawOptions);
4381
- const result = spawnSubprocessSync({
4316
+ return handleResult(spawnSubprocessSync({
4382
4317
  file,
4383
4318
  commandArguments,
4384
4319
  options,
@@ -4387,15 +4322,12 @@ const execaCoreSync = (rawFile, rawArguments, rawOptions) => {
4387
4322
  verboseInfo,
4388
4323
  fileDescriptors,
4389
4324
  startTime
4390
- });
4391
- return handleResult(result, verboseInfo, options);
4325
+ }), verboseInfo, options);
4392
4326
  };
4393
4327
  const handleSyncArguments = (rawFile, rawArguments, rawOptions) => {
4394
4328
  const { command, escapedCommand, startTime, verboseInfo } = handleCommand(rawFile, rawArguments, rawOptions);
4395
- const syncOptions = normalizeSyncOptions(rawOptions);
4396
- const { file, commandArguments, options } = normalizeOptions(rawFile, rawArguments, syncOptions);
4329
+ const { file, commandArguments, options } = normalizeOptions(rawFile, rawArguments, normalizeSyncOptions(rawOptions));
4397
4330
  validateSyncOptions(options);
4398
- const fileDescriptors = handleStdioSync(options, verboseInfo);
4399
4331
  return {
4400
4332
  file,
4401
4333
  commandArguments,
@@ -4404,7 +4336,7 @@ const handleSyncArguments = (rawFile, rawArguments, rawOptions) => {
4404
4336
  startTime,
4405
4337
  verboseInfo,
4406
4338
  options,
4407
- fileDescriptors
4339
+ fileDescriptors: handleStdioSync(options, verboseInfo)
4408
4340
  };
4409
4341
  };
4410
4342
  const normalizeSyncOptions = (options) => options.node && !options.ipc ? {
@@ -4439,16 +4371,14 @@ const spawnSubprocessSync = ({ file, commandArguments, options, command, escaped
4439
4371
  isMaxBuffer,
4440
4372
  verboseInfo
4441
4373
  });
4442
- const stdio = output.map((stdioOutput, fdNumber) => stripNewline(stdioOutput, options, fdNumber));
4443
- const all = stripNewline(getAllSync(output, options), options, "all");
4444
4374
  return getSyncResult({
4445
4375
  error,
4446
4376
  exitCode,
4447
4377
  signal,
4448
4378
  timedOut,
4449
4379
  isMaxBuffer,
4450
- stdio,
4451
- all,
4380
+ stdio: output.map((stdioOutput, fdNumber) => stripNewline(stdioOutput, options, fdNumber)),
4381
+ all: stripNewline(getAllSync(output, options), options, "all"),
4452
4382
  options,
4453
4383
  command,
4454
4384
  escapedCommand,
@@ -4458,8 +4388,7 @@ const spawnSubprocessSync = ({ file, commandArguments, options, command, escaped
4458
4388
  const runSubprocessSync = ({ file, commandArguments, options, command, escapedCommand, fileDescriptors, startTime }) => {
4459
4389
  try {
4460
4390
  addInputOptionsSync(fileDescriptors, options);
4461
- const normalizedOptions = normalizeSpawnSyncOptions(options);
4462
- return (0, node_child_process.spawnSync)(file, commandArguments, normalizedOptions);
4391
+ return (0, node_child_process.spawnSync)(file, commandArguments, normalizeSpawnSyncOptions(options));
4463
4392
  } catch (error) {
4464
4393
  return makeEarlyError({
4465
4394
  error,
@@ -4677,19 +4606,17 @@ const handleEarlyError = ({ error, command, escapedCommand, fileDescriptors, opt
4677
4606
  writable,
4678
4607
  duplex
4679
4608
  });
4680
- const earlyError = makeEarlyError({
4681
- error,
4682
- command,
4683
- escapedCommand,
4684
- fileDescriptors,
4685
- options,
4686
- startTime,
4687
- isSync: false
4688
- });
4689
- const promise = handleDummyPromise(earlyError, verboseInfo, options);
4690
4609
  return {
4691
4610
  subprocess,
4692
- promise
4611
+ promise: handleDummyPromise(makeEarlyError({
4612
+ error,
4613
+ command,
4614
+ escapedCommand,
4615
+ fileDescriptors,
4616
+ options,
4617
+ startTime,
4618
+ isSync: false
4619
+ }), verboseInfo, options)
4693
4620
  };
4694
4621
  };
4695
4622
  const createDummyStreams = (subprocess, fileDescriptors) => {
@@ -4738,8 +4665,7 @@ const addProperties = {
4738
4665
  nodeStream: ({ value }) => ({ stream: value }),
4739
4666
  webTransform({ value: { transform, writableObjectMode, readableObjectMode } }) {
4740
4667
  const objectMode = writableObjectMode || readableObjectMode;
4741
- const stream = node_stream.Duplex.fromWeb(transform, { objectMode });
4742
- return { stream };
4668
+ return { stream: node_stream.Duplex.fromWeb(transform, { objectMode }) };
4743
4669
  },
4744
4670
  duplex: ({ value: { transform } }) => ({ stream: transform }),
4745
4671
  native() {}
@@ -4985,10 +4911,7 @@ const pipeOutputAsync = (subprocess, fileDescriptors, controller) => {
4985
4911
  controller
4986
4912
  });
4987
4913
  }
4988
- for (const [outputStream, inputStreams] of pipeGroups.entries()) {
4989
- const inputStream = inputStreams.length === 1 ? inputStreams[0] : mergeStreams(inputStreams);
4990
- pipeStreams(inputStream, outputStream);
4991
- }
4914
+ for (const [outputStream, inputStreams] of pipeGroups.entries()) pipeStreams(inputStreams.length === 1 ? inputStreams[0] : mergeStreams(inputStreams), outputStream);
4992
4915
  };
4993
4916
  const pipeTransform = (subprocess, stream, direction, fdNumber) => {
4994
4917
  if (direction === "output") pipeStreams(subprocess.stdio[fdNumber], stream);
@@ -5250,10 +5173,9 @@ const normalizePipeArguments = ({ source, sourcePromise, boundOptions, createNes
5250
5173
  const getDestinationStream = (boundOptions, createNested, pipeArguments) => {
5251
5174
  try {
5252
5175
  const { destination, pipeOptions: { from, to, unpipeSignal } = {} } = getDestination(boundOptions, createNested, ...pipeArguments);
5253
- const destinationStream = getToStream(destination, to);
5254
5176
  return {
5255
5177
  destination,
5256
- destinationStream,
5178
+ destinationStream: getToStream(destination, to),
5257
5179
  from,
5258
5180
  unpipeSignal
5259
5181
  };
@@ -5262,19 +5184,15 @@ const getDestinationStream = (boundOptions, createNested, pipeArguments) => {
5262
5184
  }
5263
5185
  };
5264
5186
  const getDestination = (boundOptions, createNested, firstArgument, ...pipeArguments) => {
5265
- if (Array.isArray(firstArgument)) {
5266
- const destination = createNested(mapDestinationArguments, boundOptions)(firstArgument, ...pipeArguments);
5267
- return {
5268
- destination,
5269
- pipeOptions: boundOptions
5270
- };
5271
- }
5187
+ if (Array.isArray(firstArgument)) return {
5188
+ destination: createNested(mapDestinationArguments, boundOptions)(firstArgument, ...pipeArguments),
5189
+ pipeOptions: boundOptions
5190
+ };
5272
5191
  if (typeof firstArgument === "string" || firstArgument instanceof URL || isDenoExecPath(firstArgument)) {
5273
5192
  if (Object.keys(boundOptions).length > 0) throw new TypeError("Please use .pipe(\"file\", ..., options) or .pipe(execa(\"file\", ..., options)) instead of .pipe(options)(\"file\", ...).");
5274
5193
  const [rawFile, rawArguments, rawOptions] = normalizeParameters(firstArgument, ...pipeArguments);
5275
- const destination = createNested(mapDestinationArguments)(rawFile, rawArguments, rawOptions);
5276
5194
  return {
5277
- destination,
5195
+ destination: createNested(mapDestinationArguments)(rawFile, rawArguments, rawOptions),
5278
5196
  pipeOptions: rawOptions
5279
5197
  };
5280
5198
  }
@@ -5294,8 +5212,7 @@ const mapDestinationArguments = ({ options }) => ({ options: {
5294
5212
  } });
5295
5213
  const getSourceStream = (source, from) => {
5296
5214
  try {
5297
- const sourceStream = getFromStream(source, from);
5298
- return { sourceStream };
5215
+ return { sourceStream: getFromStream(source, from) };
5299
5216
  } catch (error) {
5300
5217
  return { sourceError: error };
5301
5218
  }
@@ -5389,9 +5306,8 @@ const unpipeOnAbort = (unpipeSignal, unpipeContext) => unpipeSignal === void 0 ?
5389
5306
  const unpipeOnSignalAbort = async (unpipeSignal, { sourceStream, mergedStream, fileDescriptors, sourceOptions, startTime }) => {
5390
5307
  await (0, node_util.aborted)(unpipeSignal, sourceStream);
5391
5308
  await mergedStream.remove(sourceStream);
5392
- const error = /* @__PURE__ */ new Error("Pipe canceled by `unpipeSignal` option.");
5393
5309
  throw createNonCommandError({
5394
- error,
5310
+ error: /* @__PURE__ */ new Error("Pipe canceled by `unpipeSignal` option."),
5395
5311
  fileDescriptors,
5396
5312
  sourceOptions,
5397
5313
  startTime
@@ -5494,13 +5410,12 @@ const stopReadingOnStreamEnd = async (onStreamEnd, controller, stream) => {
5494
5410
  }
5495
5411
  };
5496
5412
  const iterateOnStream = ({ stream, controller, binary, shouldEncode, encoding, shouldSplit, preserveNewlines }) => {
5497
- const onStdoutChunk = (0, node_events.on)(stream, "data", {
5498
- signal: controller.signal,
5499
- highWaterMark: HIGH_WATER_MARK,
5500
- highWatermark: HIGH_WATER_MARK
5501
- });
5502
5413
  return iterateOnData({
5503
- onStdoutChunk,
5414
+ onStdoutChunk: (0, node_events.on)(stream, "data", {
5415
+ signal: controller.signal,
5416
+ highWaterMark: HIGH_WATER_MARK,
5417
+ highWatermark: HIGH_WATER_MARK
5418
+ }),
5504
5419
  controller,
5505
5420
  binary,
5506
5421
  shouldEncode,
@@ -5545,13 +5460,12 @@ const getStreamOutput = async ({ stream, onStreamEnd, fdNumber, encoding, buffer
5545
5460
  await Promise.all([resumeStream(stream), logPromise]);
5546
5461
  return;
5547
5462
  }
5548
- const stripFinalNewlineValue = getStripFinalNewline(stripFinalNewline$1, fdNumber);
5549
5463
  const iterable = iterateForResult({
5550
5464
  stream,
5551
5465
  onStreamEnd,
5552
5466
  lines,
5553
5467
  encoding,
5554
- stripFinalNewline: stripFinalNewlineValue,
5468
+ stripFinalNewline: getStripFinalNewline(stripFinalNewline$1, fdNumber),
5555
5469
  allMixed
5556
5470
  });
5557
5471
  const [output] = await Promise.all([getStreamContents({
@@ -5571,15 +5485,14 @@ const logOutputAsync = async ({ stream, onStreamEnd, fdNumber, encoding, allMixe
5571
5485
  verboseInfo,
5572
5486
  fdNumber
5573
5487
  })) return;
5574
- const linesIterable = iterateForResult({
5488
+ await logLines(iterateForResult({
5575
5489
  stream,
5576
5490
  onStreamEnd,
5577
5491
  lines: true,
5578
5492
  encoding,
5579
5493
  stripFinalNewline: true,
5580
5494
  allMixed
5581
- });
5582
- await logLines(linesIterable, stream, fdNumber, verboseInfo);
5495
+ }), stream, fdNumber, verboseInfo);
5583
5496
  };
5584
5497
  const resumeStream = async (stream) => {
5585
5498
  await (0, node_timers_promises.setImmediate)();
@@ -5729,10 +5642,9 @@ const getAllMixed = ({ all, stdout, stderr }) => all && stdout && stderr && stdo
5729
5642
  //#region ../../node_modules/.pnpm/execa@9.5.2/node_modules/execa/lib/verbose/ipc.js
5730
5643
  const shouldLogIpc = (verboseInfo) => isFullVerbose(verboseInfo, "ipc");
5731
5644
  const logIpcOutput = (message, verboseInfo) => {
5732
- const verboseMessage = serializeVerboseMessage(message);
5733
5645
  verboseLog({
5734
5646
  type: "ipc",
5735
- verboseMessage,
5647
+ verboseMessage: serializeVerboseMessage(message),
5736
5648
  fdNumber: "ipc",
5737
5649
  verboseInfo
5738
5650
  });
@@ -5875,9 +5787,8 @@ const addConcurrentStream = (concurrentStreams, stream, waitName) => {
5875
5787
  const promises = weakMap.get(stream);
5876
5788
  const promise = createDeferred();
5877
5789
  promises.push(promise);
5878
- const resolve = promise.resolve.bind(promise);
5879
5790
  return {
5880
- resolve,
5791
+ resolve: promise.resolve.bind(promise),
5881
5792
  promises
5882
5793
  };
5883
5794
  };
@@ -5958,10 +5869,9 @@ const createReadable = ({ subprocess, concurrentStreams, encoding }, { from, bin
5958
5869
  };
5959
5870
  const getSubprocessStdout = (subprocess, from, concurrentStreams) => {
5960
5871
  const subprocessStdout = getFromStream(subprocess, from);
5961
- const waitReadableDestroy = addConcurrentStream(concurrentStreams, subprocessStdout, "readableDestroy");
5962
5872
  return {
5963
5873
  subprocessStdout,
5964
- waitReadableDestroy
5874
+ waitReadableDestroy: addConcurrentStream(concurrentStreams, subprocessStdout, "readableDestroy")
5965
5875
  };
5966
5876
  };
5967
5877
  const getReadableOptions = ({ readableEncoding, readableObjectMode, readableHighWaterMark }, binary) => binary ? {
@@ -6039,12 +5949,10 @@ const createWritable = ({ subprocess, concurrentStreams }, { to } = {}) => {
6039
5949
  };
6040
5950
  const getSubprocessStdin = (subprocess, to, concurrentStreams) => {
6041
5951
  const subprocessStdin = getToStream(subprocess, to);
6042
- const waitWritableFinal = addConcurrentStream(concurrentStreams, subprocessStdin, "writableFinal");
6043
- const waitWritableDestroy = addConcurrentStream(concurrentStreams, subprocessStdin, "writableDestroy");
6044
5952
  return {
6045
5953
  subprocessStdin,
6046
- waitWritableFinal,
6047
- waitWritableDestroy
5954
+ waitWritableFinal: addConcurrentStream(concurrentStreams, subprocessStdin, "writableFinal"),
5955
+ waitWritableDestroy: addConcurrentStream(concurrentStreams, subprocessStdin, "writableDestroy")
6048
5956
  };
6049
5957
  };
6050
5958
  const getWritableMethods = (subprocessStdin, subprocess, waitWritableFinal) => ({
@@ -6140,15 +6048,14 @@ const onDuplexDestroy = async ({ subprocessStdout, subprocessStdin, subprocess,
6140
6048
  const createIterable = (subprocess, encoding, { from, binary: binaryOption = false, preserveNewlines = false } = {}) => {
6141
6049
  const binary = binaryOption || BINARY_ENCODINGS.has(encoding);
6142
6050
  const subprocessStdout = getFromStream(subprocess, from);
6143
- const onStdoutData = iterateOnSubprocessStream({
6051
+ return iterateOnStdoutData(iterateOnSubprocessStream({
6144
6052
  subprocessStdout,
6145
6053
  subprocess,
6146
6054
  binary,
6147
6055
  shouldEncode: true,
6148
6056
  encoding,
6149
6057
  preserveNewlines
6150
- });
6151
- return iterateOnStdoutData(onStdoutData, subprocessStdout, subprocess);
6058
+ }), subprocessStdout, subprocess);
6152
6059
  };
6153
6060
  const iterateOnStdoutData = async function* (onStdoutData, subprocessStdout, subprocess) {
6154
6061
  try {
@@ -6230,7 +6137,6 @@ const handleAsyncArguments = (rawFile, rawArguments, rawOptions) => {
6230
6137
  const { command, escapedCommand, startTime, verboseInfo } = handleCommand(rawFile, rawArguments, rawOptions);
6231
6138
  const { file, commandArguments, options: normalizedOptions } = normalizeOptions(rawFile, rawArguments, rawOptions);
6232
6139
  const options = handleAsyncOptions(normalizedOptions);
6233
- const fileDescriptors = handleStdioAsync(options, verboseInfo);
6234
6140
  return {
6235
6141
  file,
6236
6142
  commandArguments,
@@ -6239,7 +6145,7 @@ const handleAsyncArguments = (rawFile, rawArguments, rawOptions) => {
6239
6145
  startTime,
6240
6146
  verboseInfo,
6241
6147
  options,
6242
- fileDescriptors
6148
+ fileDescriptors: handleStdioAsync(options, verboseInfo)
6243
6149
  };
6244
6150
  };
6245
6151
  const handleAsyncOptions = ({ timeout, signal,...options }) => {
@@ -6312,22 +6218,19 @@ const handlePromise = async ({ subprocess, options, startTime, verboseInfo, file
6312
6218
  });
6313
6219
  controller.abort();
6314
6220
  onInternalError.resolve();
6315
- const stdio = stdioResults.map((stdioResult, fdNumber) => stripNewline(stdioResult, options, fdNumber));
6316
- const all = stripNewline(allResult, options, "all");
6317
- const result = getAsyncResult({
6221
+ return handleResult(getAsyncResult({
6318
6222
  errorInfo,
6319
6223
  exitCode,
6320
6224
  signal,
6321
- stdio,
6322
- all,
6225
+ stdio: stdioResults.map((stdioResult, fdNumber) => stripNewline(stdioResult, options, fdNumber)),
6226
+ all: stripNewline(allResult, options, "all"),
6323
6227
  ipcOutput,
6324
6228
  context,
6325
6229
  options,
6326
6230
  command,
6327
6231
  escapedCommand,
6328
6232
  startTime
6329
- });
6330
- return handleResult(result, verboseInfo, options);
6233
+ }), verboseInfo, options);
6331
6234
  };
6332
6235
  const getAsyncResult = ({ errorInfo, exitCode, signal, stdio, all, ipcOutput, context, options, command, escapedCommand, startTime }) => "error" in errorInfo ? makeError({
6333
6236
  error: errorInfo.error,
@@ -6400,8 +6303,7 @@ const callBoundExeca = ({ mapArguments, deepOptions = {}, boundOptions = {}, set
6400
6303
  return isSync ? execaCoreSync(file, commandArguments, options) : execaCoreAsync(file, commandArguments, options, createNested);
6401
6304
  };
6402
6305
  const parseArguments = ({ mapArguments, firstArgument, nextArguments, deepOptions, boundOptions }) => {
6403
- const callArguments = isTemplateString(firstArgument) ? parseTemplates(firstArgument, nextArguments) : [firstArgument, ...nextArguments];
6404
- const [initialFile, initialArguments, initialOptions] = normalizeParameters(...callArguments);
6306
+ const [initialFile, initialArguments, initialOptions] = normalizeParameters(...isTemplateString(firstArgument) ? parseTemplates(firstArgument, nextArguments) : [firstArgument, ...nextArguments]);
6405
6307
  const mergedOptions = mergeOptions(mergeOptions(deepOptions, boundOptions), initialOptions);
6406
6308
  const { file = initialFile, commandArguments = initialArguments, options = mergedOptions, isSync = false } = mapArguments({
6407
6309
  file: initialFile,
@@ -6550,14 +6452,13 @@ const isHermesEnabled = (cwd, platform$1) => {
6550
6452
  const runBundle = async ({ cwd, platform: platform$1, buildPath, sourcemap }) => {
6551
6453
  const filename = `index.${platform$1}`;
6552
6454
  const bundleOutput = path.default.join(buildPath, `${filename}.bundle`);
6553
- const entryFile = resolveMain(cwd);
6554
6455
  const args = [
6555
6456
  "expo",
6556
6457
  "export:embed",
6557
6458
  "--platform",
6558
6459
  platform$1,
6559
6460
  "--entry-file",
6560
- entryFile,
6461
+ resolveMain(cwd),
6561
6462
  "--bundle-output",
6562
6463
  bundleOutput,
6563
6464
  "--dev",
@@ -6570,15 +6471,14 @@ const runBundle = async ({ cwd, platform: platform$1, buildPath, sourcemap }) =>
6570
6471
  __hot_updater_plugin_core.log.normal("\n");
6571
6472
  let stdout = null;
6572
6473
  try {
6573
- const result = await execa("npx", args, {
6474
+ stdout = (await execa("npx", args, {
6574
6475
  cwd,
6575
6476
  env: {
6576
6477
  ...process.env,
6577
6478
  BUILD_OUT_DIR: buildPath
6578
6479
  },
6579
6480
  reject: true
6580
- });
6581
- stdout = result.stdout;
6481
+ })).stdout;
6582
6482
  } catch (error) {
6583
6483
  if (error instanceof ExecaError) throw error.stderr;
6584
6484
  }
@@ -6591,8 +6491,7 @@ module.exports = {
6591
6491
  ]
6592
6492
  }
6593
6493
  `);
6594
- const enableHermes = isHermesEnabled(cwd, platform$1);
6595
- if (enableHermes) {
6494
+ if (isHermesEnabled(cwd, platform$1)) {
6596
6495
  const { hermesVersion } = await (0, __hot_updater_bare.compileHermes)({
6597
6496
  cwd,
6598
6497
  inputJsFile: bundleOutput,