/**
 * Minified by jsDelivr using Terser v5.48.0.
 * Original file: /npm/npm-run-all2@9.0.3/lib/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
/**
 * @module index
 * @author Toru Nagashima
 * @copyright 2015 Toru Nagashima. All rights reserved.
 * @copyright 2026 Bret Comnes. All rights reserved.
 * See LICENSE file in root directory for full license.
 *
 * @import { Readable, Writable } from 'node:stream'
 * @import { PackageJson } from 'read-package-json-fast'
 * @import { ColorMode } from './run-task.js'
 */
import shellQuote from"shell-quote";import matchTasks from"./match-tasks.js";import readPackageJson from"./read-package-json.js";import runTasks from"./run-tasks.js";const ARGS_PATTERN=/\{(!)?([*@%]|\d+)([^}]+)?}/g,ARGS_UNPACK_PATTERN=/\{(!)?([%])([^}]+)?}/g;function toArray(n){return null==n?[]:Array.isArray(n)?n:[n]}function applyArguments(n,e){const r=Object.create(null);return n.flatMap(n=>{const r=ARGS_UNPACK_PATTERN.exec(n);if(r&&"%"===r[2]){const r=[];for(let t=0,o=e.length;t<o;t++){const e=t+1;r.push(n.replace(ARGS_UNPACK_PATTERN,(n,r,t,o)=>{if(null!=r||null!=o||"%"!==t)throw Error(`Invalid Placeholder: ${n}`);return`{${e}}`}))}return r}return n}).map(n=>n.replace(ARGS_PATTERN,(n,t,o,a)=>{if(null!=t)throw Error(`Invalid Placeholder: ${n}`);if("@"===o)return shellQuote.quote(e);if("*"===o)return shellQuote.quote([e.join(" ")]);const l=parseInt(o,10);if(l>=1&&l<=e.length)return shellQuote.quote([e[l-1]??""]);if(null!=a){const e=a.slice(0,2);if(":="===e)return r[o]=shellQuote.quote([a.slice(2)]),r[o];if(":-"===e)return shellQuote.quote([a.slice(2)]);throw Error(`Invalid Placeholder: ${n}`)}return null!=r[o]?r[o]:""}))}function parsePatterns(n,e){const r=toArray(n);return r.some(n=>ARGS_PATTERN.test(n))?applyArguments(r,e):r}function toOverwriteOptions(n){const e=[];for(const r of Object.keys(n)){const t=n[r];if(t)for(const n of Object.keys(t)){const o=t[n];e.push(`--${r}:${n}=${o}`)}}return e}function toConfigOptions(n){return Object.keys(n).map(e=>`--${e}=${n[e]}`)}function maxLength(n,e){return Math.max(e.length,n)}function readPackageConfig(n){const e=n?.["npm-run-all2"];if(null==e||"object"!=typeof e||Array.isArray(e))return{};const r={};return"nodeRun"in e&&!0===e.nodeRun&&(r.nodeRun=!0),r}export default function npmRunAll(n,e){const r=e&&e.stdin||null,t=e&&e.stdout||null,o=e&&e.stderr||null,a=e&&e.taskList||null,l=e&&e.config||null,s=e&&e.packageConfig||null,u=e&&e.arguments||[],i=Boolean(e&&e.parallel),c=Boolean(e&&e.silent),p=Boolean(e&&e.continueOnError),f=Boolean(e&&e.printLabel),g=Boolean(e&&e.printName),d=Boolean(e&&e.race),h=i?e&&e.maxParallel||0:1,m=Boolean(e&&e.aggregateOutput),A=e&&e.npmPath,P=Boolean(e&&e.nodeRun),k=e&&e.colorMode||"auto";try{const e=parsePatterns(n,u);if(0===e.length)return Promise.resolve(null);if(null!=a&&!1===Array.isArray(a))throw new Error("Invalid options.taskList");if("number"!=typeof h||h<0)throw new Error("Invalid options.maxParallel");if(!i&&m)throw new Error("Invalid options.aggregateOutput; It requires options.parallel");if(!i&&d)throw new Error("Invalid options.race; It requires options.parallel");const R=[...c?["--silent"]:[],...s?toOverwriteOptions(s):[],...l?toConfigOptions(l):[]];return(async()=>{const n=null!=a?{taskList:a,packageInfo:null}:await readPackageJson(),l=matchTasks(n.taskList,e),s=l.reduce(maxLength,0),u=readPackageConfig(n.packageInfo?.body),i=P||!0===u.nodeRun;return runTasks(l,{stdin:r,stdout:t,stderr:o,prefixOptions:R,continueOnError:p,labelState:{enabled:f,width:s,lastPrefix:null,lastIsLinebreak:!0},printName:g,packageInfo:n.packageInfo,race:d,maxParallel:h,npmPath:A,aggregateOutput:m,nodeRun:i,colorMode:k})})()}catch(n){const e=n instanceof Error?n.message:String(n);return Promise.reject(new Error(e))}}
//# sourceMappingURL=/sm/70f982e256ae712f005bb29e033c842a073b92ce5e5a763fe370a9764c9a36f5.map