UNPKG

@storybook/addon-a11y

Version:

Test component compliance with web accessibility standards

44 lines (39 loc) • 184 kB
'use strict'; var url = require('url'); var child_process = require('child_process'); var string_decoder = require('string_decoder'); var util = require('util'); var process4 = require('process'); var tty = require('tty'); var path2 = require('path'); var promises$1 = require('timers/promises'); var os = require('os'); var events = require('events'); var v8 = require('v8'); var fs = require('fs'); var promises = require('stream/promises'); var stream = require('stream'); var buffer = require('buffer'); function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; } var process4__default = /*#__PURE__*/_interopDefault(process4); var tty__default = /*#__PURE__*/_interopDefault(tty); var path2__default = /*#__PURE__*/_interopDefault(path2); var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __require=(x=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(x,{get:(a2,b)=>(typeof require<"u"?require:a2)[b]}):x)(function(x){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+x+'" is not supported')});var __commonJS=(cb,mod)=>function(){return mod||(0, cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports};var __copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod));var require_windows=__commonJS({"../../node_modules/isexe/windows.js"(exports,module){module.exports=isexe;isexe.sync=sync;var fs=__require("fs");function checkPathExt(path6,options){var pathext=options.pathExt!==void 0?options.pathExt:process.env.PATHEXT;if(!pathext||(pathext=pathext.split(";"),pathext.indexOf("")!==-1))return !0;for(var i2=0;i2<pathext.length;i2++){var p=pathext[i2].toLowerCase();if(p&&path6.substr(-p.length).toLowerCase()===p)return !0}return !1}function checkStat(stat,path6,options){return !stat.isSymbolicLink()&&!stat.isFile()?!1:checkPathExt(path6,options)}function isexe(path6,options,cb){fs.stat(path6,function(er,stat){cb(er,er?!1:checkStat(stat,path6,options));});}function sync(path6,options){return checkStat(fs.statSync(path6),path6,options)}}});var require_mode=__commonJS({"../../node_modules/isexe/mode.js"(exports,module){module.exports=isexe;isexe.sync=sync;var fs=__require("fs");function isexe(path6,options,cb){fs.stat(path6,function(er,stat){cb(er,er?!1:checkStat(stat,options));});}function sync(path6,options){return checkStat(fs.statSync(path6),options)}function checkStat(stat,options){return stat.isFile()&&checkMode(stat,options)}function checkMode(stat,options){var mod=stat.mode,uid=stat.uid,gid=stat.gid,myUid=options.uid!==void 0?options.uid:process.getuid&&process.getuid(),myGid=options.gid!==void 0?options.gid:process.getgid&&process.getgid(),u2=parseInt("100",8),g=parseInt("010",8),o2=parseInt("001",8),ug=u2|g,ret=mod&o2||mod&g&&gid===myGid||mod&u2&&uid===myUid||mod&ug&&myUid===0;return ret}}});var require_isexe=__commonJS({"../../node_modules/isexe/index.js"(exports,module){__require("fs");var core;process.platform==="win32"||global.TESTING_WINDOWS?core=require_windows():core=require_mode();module.exports=isexe;isexe.sync=sync;function isexe(path6,options,cb){if(typeof options=="function"&&(cb=options,options={}),!cb){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(resolve,reject){isexe(path6,options||{},function(er,is){er?reject(er):resolve(is);});})}core(path6,options||{},function(er,is){er&&(er.code==="EACCES"||options&&options.ignoreErrors)&&(er=null,is=!1),cb(er,is);});}function sync(path6,options){try{return core.sync(path6,options||{})}catch(er){if(options&&options.ignoreErrors||er.code==="EACCES")return !1;throw er}}}});var require_which=__commonJS({"../../node_modules/which/which.js"(exports,module){var isWindows=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",path6=__require("path"),COLON=isWindows?";":":",isexe=require_isexe(),getNotFoundError=cmd=>Object.assign(new Error(`not found: ${cmd}`),{code:"ENOENT"}),getPathInfo=(cmd,opt)=>{let colon=opt.colon||COLON,pathEnv=cmd.match(/\//)||isWindows&&cmd.match(/\\/)?[""]:[...isWindows?[process.cwd()]:[],...(opt.path||process.env.PATH||"").split(colon)],pathExtExe=isWindows?opt.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",pathExt=isWindows?pathExtExe.split(colon):[""];return isWindows&&cmd.indexOf(".")!==-1&&pathExt[0]!==""&&pathExt.unshift(""),{pathEnv,pathExt,pathExtExe}},which=(cmd,opt,cb)=>{typeof opt=="function"&&(cb=opt,opt={}),opt||(opt={});let{pathEnv,pathExt,pathExtExe}=getPathInfo(cmd,opt),found=[],step=i2=>new Promise((resolve,reject)=>{if(i2===pathEnv.length)return opt.all&&found.length?resolve(found):reject(getNotFoundError(cmd));let ppRaw=pathEnv[i2],pathPart=/^".*"$/.test(ppRaw)?ppRaw.slice(1,-1):ppRaw,pCmd=path6.join(pathPart,cmd),p=!pathPart&&/^\.[\\\/]/.test(cmd)?cmd.slice(0,2)+pCmd:pCmd;resolve(subStep(p,i2,0));}),subStep=(p,i2,ii)=>new Promise((resolve,reject)=>{if(ii===pathExt.length)return resolve(step(i2+1));let ext=pathExt[ii];isexe(p+ext,{pathExt:pathExtExe},(er,is)=>{if(!er&&is)if(opt.all)found.push(p+ext);else return resolve(p+ext);return resolve(subStep(p,i2,ii+1))});});return cb?step(0).then(res=>cb(null,res),cb):step(0)},whichSync=(cmd,opt)=>{opt=opt||{};let{pathEnv,pathExt,pathExtExe}=getPathInfo(cmd,opt),found=[];for(let i2=0;i2<pathEnv.length;i2++){let ppRaw=pathEnv[i2],pathPart=/^".*"$/.test(ppRaw)?ppRaw.slice(1,-1):ppRaw,pCmd=path6.join(pathPart,cmd),p=!pathPart&&/^\.[\\\/]/.test(cmd)?cmd.slice(0,2)+pCmd:pCmd;for(let j=0;j<pathExt.length;j++){let cur=p+pathExt[j];try{if(isexe.sync(cur,{pathExt:pathExtExe}))if(opt.all)found.push(cur);else return cur}catch{}}}if(opt.all&&found.length)return found;if(opt.nothrow)return null;throw getNotFoundError(cmd)};module.exports=which;which.sync=whichSync;}});var require_path_key=__commonJS({"../../node_modules/path-key/index.js"(exports,module){var pathKey2=(options={})=>{let environment=options.env||process.env;return (options.platform||process.platform)!=="win32"?"PATH":Object.keys(environment).reverse().find(key=>key.toUpperCase()==="PATH")||"Path"};module.exports=pathKey2;module.exports.default=pathKey2;}});var require_resolveCommand=__commonJS({"../../node_modules/cross-spawn/lib/util/resolveCommand.js"(exports,module){var path6=__require("path"),which=require_which(),getPathKey=require_path_key();function resolveCommandAttempt(parsed,withoutPathExt){let env=parsed.options.env||process.env,cwd=process.cwd(),hasCustomCwd=parsed.options.cwd!=null,shouldSwitchCwd=hasCustomCwd&&process.chdir!==void 0&&!process.chdir.disabled;if(shouldSwitchCwd)try{process.chdir(parsed.options.cwd);}catch{}let resolved;try{resolved=which.sync(parsed.command,{path:env[getPathKey({env})],pathExt:withoutPathExt?path6.delimiter:void 0});}catch{}finally{shouldSwitchCwd&&process.chdir(cwd);}return resolved&&(resolved=path6.resolve(hasCustomCwd?parsed.options.cwd:"",resolved)),resolved}function resolveCommand(parsed){return resolveCommandAttempt(parsed)||resolveCommandAttempt(parsed,!0)}module.exports=resolveCommand;}});var require_escape=__commonJS({"../../node_modules/cross-spawn/lib/util/escape.js"(exports,module){var metaCharsRegExp=/([()\][%!^"`<>&|;, *?])/g;function escapeCommand(arg){return arg=arg.replace(metaCharsRegExp,"^$1"),arg}function escapeArgument(arg,doubleEscapeMetaChars){return arg=`${arg}`,arg=arg.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),arg=arg.replace(/(?=(\\+?)?)\1$/,"$1$1"),arg=`"${arg}"`,arg=arg.replace(metaCharsRegExp,"^$1"),doubleEscapeMetaChars&&(arg=arg.replace(metaCharsRegExp,"^$1")),arg}module.exports.command=escapeCommand;module.exports.argument=escapeArgument;}});var require_shebang_regex=__commonJS({"../../node_modules/shebang-regex/index.js"(exports,module){module.exports=/^#!(.*)/;}});var require_shebang_command=__commonJS({"../../node_modules/shebang-command/index.js"(exports,module){var shebangRegex=require_shebang_regex();module.exports=(string="")=>{let match=string.match(shebangRegex);if(!match)return null;let[path6,argument]=match[0].replace(/#! ?/,"").split(" "),binary=path6.split("/").pop();return binary==="env"?argument:argument?`${binary} ${argument}`:binary};}});var require_readShebang=__commonJS({"../../node_modules/cross-spawn/lib/util/readShebang.js"(exports,module){var fs=__require("fs"),shebangCommand=require_shebang_command();function readShebang(command){let buffer=Buffer.alloc(150),fd;try{fd=fs.openSync(command,"r"),fs.readSync(fd,buffer,0,150,0),fs.closeSync(fd);}catch{}return shebangCommand(buffer.toString())}module.exports=readShebang;}});var require_parse=__commonJS({"../../node_modules/cross-spawn/lib/parse.js"(exports,module){var path6=__require("path"),resolveCommand=require_resolveCommand(),escape=require_escape(),readShebang=require_readShebang(),isWin=process.platform==="win32",isExecutableRegExp=/\.(?:com|exe)$/i,isCmdShimRegExp=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function detectShebang(parsed){parsed.file=resolveCommand(parsed);let shebang=parsed.file&&readShebang(parsed.file);return shebang?(parsed.args.unshift(parsed.file),parsed.command=shebang,resolveCommand(parsed)):parsed.file}function parseNonShell(parsed){if(!isWin)return parsed;let commandFile=detectShebang(parsed),needsShell=!isExecutableRegExp.test(commandFile);if(parsed.options.forceShell||needsShell){let needsDoubleEscapeMetaChars=isCmdShimRegExp.test(commandFile);parsed.command=path6.normalize(parsed.command),parsed.command=escape.command(parsed.command),parsed.args=parsed.args.map(arg=>escape.argument(arg,needsDoubleEscapeMetaChars));let shellCommand=[parsed.command].concat(parsed.args).join(" ");parsed.args=["/d","/s","/c",`"${shellCommand}"`],parsed.command=process.env.comspec||"cmd.exe",parsed.options.windowsVerbatimArguments=!0;}return parsed}function parse(command,args,options){args&&!Array.isArray(args)&&(options=args,args=null),args=args?args.slice(0):[],options=Object.assign({},options);let parsed={command,args,options,file:void 0,original:{command,args}};return options.shell?parsed:parseNonShell(parsed)}module.exports=parse;}});var require_enoent=__commonJS({"../../node_modules/cross-spawn/lib/enoent.js"(exports,module){var isWin=process.platform==="win32";function notFoundError(original,syscall){return Object.assign(new Error(`${syscall} ${original.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${syscall} ${original.command}`,path:original.command,spawnargs:original.args})}function hookChildProcess(cp,parsed){if(!isWin)return;let originalEmit=cp.emit;cp.emit=function(name,arg1){if(name==="exit"){let err=verifyENOENT(arg1,parsed);if(err)return originalEmit.call(cp,"error",err)}return originalEmit.apply(cp,arguments)};}function verifyENOENT(status,parsed){return isWin&&status===1&&!parsed.file?notFoundError(parsed.original,"spawn"):null}function verifyENOENTSync(status,parsed){return isWin&&status===1&&!parsed.file?notFoundError(parsed.original,"spawnSync"):null}module.exports={hookChildProcess,verifyENOENT,verifyENOENTSync,notFoundError};}});var require_cross_spawn=__commonJS({"../../node_modules/cross-spawn/index.js"(exports,module){var cp=__require("child_process"),parse=require_parse(),enoent=require_enoent();function spawn2(command,args,options){let parsed=parse(command,args,options),spawned=cp.spawn(parsed.command,parsed.args,parsed.options);return enoent.hookChildProcess(spawned,parsed),spawned}function spawnSync2(command,args,options){let parsed=parse(command,args,options),result=cp.spawnSync(parsed.command,parsed.args,parsed.options);return result.error=result.error||enoent.verifyENOENTSync(result.status,parsed),result}module.exports=spawn2;module.exports.spawn=spawn2;module.exports.sync=spawnSync2;module.exports._parse=parse;module.exports._enoent=enoent;}});function isPlainObject(value){if(typeof value!="object"||value===null)return !1;let prototype=Object.getPrototypeOf(value);return (prototype===null||prototype===Object.prototype||Object.getPrototypeOf(prototype)===null)&&!(Symbol.toStringTag in value)&&!(Symbol.iterator in value)}var safeNormalizeFileUrl=(file,name)=>{let fileString=normalizeFileUrl(normalizeDenoExecPath(file));if(typeof fileString!="string")throw new TypeError(`${name} must be a string or a file URL: ${fileString}.`);return fileString},normalizeDenoExecPath=file=>isDenoExecPath(file)?file.toString():file,isDenoExecPath=file=>typeof file!="string"&&file&&Object.getPrototypeOf(file)===String.prototype,normalizeFileUrl=file=>file instanceof URL?url.fileURLToPath(file):file;var normalizeParameters=(rawFile,rawArguments=[],rawOptions={})=>{let filePath=safeNormalizeFileUrl(rawFile,"First argument"),[commandArguments,options]=isPlainObject(rawArguments)?[[],rawArguments]:[rawArguments,rawOptions];if(!Array.isArray(commandArguments))throw new TypeError(`Second argument must be either an array of arguments or an options object: ${commandArguments}`);if(commandArguments.some(commandArgument=>typeof commandArgument=="object"&&commandArgument!==null))throw new TypeError(`Second argument must be an array of strings: ${commandArguments}`);let normalizedArguments=commandArguments.map(String),nullByteArgument=normalizedArguments.find(normalizedArgument=>normalizedArgument.includes("\0"));if(nullByteArgument!==void 0)throw new TypeError(`Arguments cannot contain null bytes ("\\0"): ${nullByteArgument}`);if(!isPlainObject(options))throw new TypeError(`Last argument must be an options object: ${options}`);return [filePath,normalizedArguments,options]};var{toString:objectToString}=Object.prototype,isArrayBuffer=value=>objectToString.call(value)==="[object ArrayBuffer]",isUint8Array=value=>objectToString.call(value)==="[object Uint8Array]",bufferToUint8Array=buffer=>new Uint8Array(buffer.buffer,buffer.byteOffset,buffer.byteLength),textEncoder=new TextEncoder,stringToUint8Array=string=>textEncoder.encode(string),textDecoder=new TextDecoder,uint8ArrayToString=uint8Array=>textDecoder.decode(uint8Array),joinToString=(uint8ArraysOrStrings,encoding)=>uint8ArraysToStrings(uint8ArraysOrStrings,encoding).join(""),uint8ArraysToStrings=(uint8ArraysOrStrings,encoding)=>{if(encoding==="utf8"&&uint8ArraysOrStrings.every(uint8ArrayOrString=>typeof uint8ArrayOrString=="string"))return uint8ArraysOrStrings;let decoder=new string_decoder.StringDecoder(encoding),strings=uint8ArraysOrStrings.map(uint8ArrayOrString=>typeof uint8ArrayOrString=="string"?stringToUint8Array(uint8ArrayOrString):uint8ArrayOrString).map(uint8Array=>decoder.write(uint8Array)),finalString=decoder.end();return finalString===""?strings:[...strings,finalString]},joinToUint8Array=uint8ArraysOrStrings=>uint8ArraysOrStrings.length===1&&isUint8Array(uint8ArraysOrStrings[0])?uint8ArraysOrStrings[0]:concatUint8Arrays(stringsToUint8Arrays(uint8ArraysOrStrings)),stringsToUint8Arrays=uint8ArraysOrStrings=>uint8ArraysOrStrings.map(uint8ArrayOrString=>typeof uint8ArrayOrString=="string"?stringToUint8Array(uint8ArrayOrString):uint8ArrayOrString),concatUint8Arrays=uint8Arrays=>{let result=new Uint8Array(getJoinLength(uint8Arrays)),index=0;for(let uint8Array of uint8Arrays)result.set(uint8Array,index),index+=uint8Array.length;return result},getJoinLength=uint8Arrays=>{let joinLength=0;for(let uint8Array of uint8Arrays)joinLength+=uint8Array.length;return joinLength};var isTemplateString=templates=>Array.isArray(templates)&&Array.isArray(templates.raw),parseTemplates=(templates,expressions)=>{let tokens=[];for(let[index,template]of templates.entries())tokens=parseTemplate({templates,expressions,tokens,index,template});if(tokens.length===0)throw new TypeError("Template script must not be empty");let[file,...commandArguments]=tokens;return [file,commandArguments,{}]},parseTemplate=({templates,expressions,tokens,index,template})=>{if(template===void 0)throw new TypeError(`Invalid backslash sequence: ${templates.raw[index]}`);let{nextTokens,leadingWhitespaces,trailingWhitespaces}=splitByWhitespaces(template,templates.raw[index]),newTokens=concatTokens(tokens,nextTokens,leadingWhitespaces);if(index===expressions.length)return newTokens;let expression=expressions[index],expressionTokens=Array.isArray(expression)?expression.map(expression2=>parseExpression(expression2)):[parseExpression(expression)];return concatTokens(newTokens,expressionTokens,trailingWhitespaces)},splitByWhitespaces=(template,rawTemplate)=>{if(rawTemplate.length===0)return {nextTokens:[],leadingWhitespaces:!1,trailingWhitespaces:!1};let nextTokens=[],templateStart=0,leadingWhitespaces=DELIMITERS.has(rawTemplate[0]);for(let templateIndex=0,rawIndex=0;templateIndex<template.length;templateIndex+=1,rawIndex+=1){let rawCharacter=rawTemplate[rawIndex];if(DELIMITERS.has(rawCharacter))templateStart!==templateIndex&&nextTokens.push(template.slice(templateStart,templateIndex)),templateStart=templateIndex+1;else if(rawCharacter==="\\"){let nextRawCharacter=rawTemplate[rawIndex+1];nextRawCharacter===` `?(templateIndex-=1,rawIndex+=1):nextRawCharacter==="u"&&rawTemplate[rawIndex+2]==="{"?rawIndex=rawTemplate.indexOf("}",rawIndex+3):rawIndex+=ESCAPE_LENGTH[nextRawCharacter]??1;}}let trailingWhitespaces=templateStart===template.length;return trailingWhitespaces||nextTokens.push(template.slice(templateStart)),{nextTokens,leadingWhitespaces,trailingWhitespaces}},DELIMITERS=new Set([" "," ","\r",` `]),ESCAPE_LENGTH={x:3,u:5},concatTokens=(tokens,nextTokens,isSeparated)=>isSeparated||tokens.length===0||nextTokens.length===0?[...tokens,...nextTokens]:[...tokens.slice(0,-1),`${tokens.at(-1)}${nextTokens[0]}`,...nextTokens.slice(1)],parseExpression=expression=>{let typeOfExpression=typeof expression;if(typeOfExpression==="string")return expression;if(typeOfExpression==="number")return String(expression);if(isPlainObject(expression)&&("stdout"in expression||"isMaxBuffer"in expression))return getSubprocessResult(expression);throw expression instanceof child_process.ChildProcess||Object.prototype.toString.call(expression)==="[object Promise]"?new TypeError("Unexpected subprocess in template expression. Please use ${await subprocess} instead of ${subprocess}."):new TypeError(`Unexpected "${typeOfExpression}" in template expression`)},getSubprocessResult=({stdout})=>{if(typeof stdout=="string")return stdout;if(isUint8Array(stdout))return uint8ArrayToString(stdout);throw stdout===void 0?new TypeError(`Missing result.stdout in template expression. This is probably due to the previous subprocess' "stdout" option.`):new TypeError(`Unexpected "${typeof stdout}" stdout in template expression`)};var isStandardStream=stream=>STANDARD_STREAMS.includes(stream),STANDARD_STREAMS=[process4__default.default.stdin,process4__default.default.stdout,process4__default.default.stderr],STANDARD_STREAMS_ALIASES=["stdin","stdout","stderr"],getStreamName=fdNumber=>STANDARD_STREAMS_ALIASES[fdNumber]??`stdio[${fdNumber}]`;var normalizeFdSpecificOptions=options=>{let optionsCopy={...options};for(let optionName of FD_SPECIFIC_OPTIONS)optionsCopy[optionName]=normalizeFdSpecificOption(options,optionName);return optionsCopy},normalizeFdSpecificOption=(options,optionName)=>{let optionBaseArray=Array.from({length:getStdioLength(options)+1}),optionArray=normalizeFdSpecificValue(options[optionName],optionBaseArray,optionName);return addDefaultValue(optionArray,optionName)},getStdioLength=({stdio})=>Array.isArray(stdio)?Math.max(stdio.length,STANDARD_STREAMS_ALIASES.length):STANDARD_STREAMS_ALIASES.length,normalizeFdSpecificValue=(optionValue,optionArray,optionName)=>isPlainObject(optionValue)?normalizeOptionObject(optionValue,optionArray,optionName):optionArray.fill(optionValue),normalizeOptionObject=(optionValue,optionArray,optionName)=>{for(let fdName of Object.keys(optionValue).sort(compareFdName))for(let fdNumber of parseFdName(fdName,optionName,optionArray))optionArray[fdNumber]=optionValue[fdName];return optionArray},compareFdName=(fdNameA,fdNameB)=>getFdNameOrder(fdNameA)<getFdNameOrder(fdNameB)?1:-1,getFdNameOrder=fdName=>fdName==="stdout"||fdName==="stderr"?0:fdName==="all"?2:1,parseFdName=(fdName,optionName,optionArray)=>{if(fdName==="ipc")return [optionArray.length-1];let fdNumber=parseFd(fdName);if(fdNumber===void 0||fdNumber===0)throw new TypeError(`"${optionName}.${fdName}" is invalid. It must be "${optionName}.stdout", "${optionName}.stderr", "${optionName}.all", "${optionName}.ipc", or "${optionName}.fd3", "${optionName}.fd4" (and so on).`);if(fdNumber>=optionArray.length)throw new TypeError(`"${optionName}.${fdName}" is invalid: that file descriptor does not exist. Please set the "stdio" option to ensure that file descriptor exists.`);return fdNumber==="all"?[1,2]:[fdNumber]},parseFd=fdName=>{if(fdName==="all")return fdName;if(STANDARD_STREAMS_ALIASES.includes(fdName))return STANDARD_STREAMS_ALIASES.indexOf(fdName);let regexpResult=FD_REGEXP.exec(fdName);if(regexpResult!==null)return Number(regexpResult[1])},FD_REGEXP=/^fd(\d+)$/,addDefaultValue=(optionArray,optionName)=>optionArray.map(optionValue=>optionValue===void 0?DEFAULT_OPTIONS[optionName]:optionValue),verboseDefault=util.debuglog("execa").enabled?"full":"none",DEFAULT_OPTIONS={lines:!1,buffer:!0,maxBuffer:1e3*1e3*100,verbose:verboseDefault,stripFinalNewline:!0},FD_SPECIFIC_OPTIONS=["lines","buffer","maxBuffer","verbose","stripFinalNewline"],getFdSpecificValue=(optionArray,fdNumber)=>fdNumber==="ipc"?optionArray.at(-1):optionArray[fdNumber];var isVerbose=({verbose},fdNumber)=>getFdVerbose(verbose,fdNumber)!=="none",isFullVerbose=({verbose},fdNumber)=>!["none","short"].includes(getFdVerbose(verbose,fdNumber)),getVerboseFunction=({verbose},fdNumber)=>{let fdVerbose=getFdVerbose(verbose,fdNumber);return isVerboseFunction(fdVerbose)?fdVerbose:void 0},getFdVerbose=(verbose,fdNumber)=>fdNumber===void 0?getFdGenericVerbose(verbose):getFdSpecificValue(verbose,fdNumber),getFdGenericVerbose=verbose=>verbose.find(fdVerbose=>isVerboseFunction(fdVerbose))??VERBOSE_VALUES.findLast(fdVerbose=>verbose.includes(fdVerbose)),isVerboseFunction=fdVerbose=>typeof fdVerbose=="function",VERBOSE_VALUES=["none","short","full"];var joinCommand=(filePath,rawArguments)=>{let fileAndArguments=[filePath,...rawArguments],command=fileAndArguments.join(" "),escapedCommand=fileAndArguments.map(fileAndArgument=>quoteString(escapeControlCharacters(fileAndArgument))).join(" ");return {command,escapedCommand}},escapeLines=lines=>util.stripVTControlCharacters(lines).split(` `).map(line=>escapeControlCharacters(line)).join(` `),escapeControlCharacters=line=>line.replaceAll(SPECIAL_CHAR_REGEXP,character=>escapeControlCharacter(character)),escapeControlCharacter=character=>{let commonEscape=COMMON_ESCAPES[character];if(commonEscape!==void 0)return commonEscape;let codepoint=character.codePointAt(0),codepointHex=codepoint.toString(16);return codepoint<=ASTRAL_START?`\\u${codepointHex.padStart(4,"0")}`:`\\U${codepointHex}`},getSpecialCharRegExp=()=>{try{return new RegExp("\\p{Separator}|\\p{Other}","gu")}catch{return /[\s\u0000-\u001F\u007F-\u009F\u00AD]/g}},SPECIAL_CHAR_REGEXP=getSpecialCharRegExp(),COMMON_ESCAPES={" ":" ","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"},ASTRAL_START=65535,quoteString=escapedArgument=>NO_ESCAPE_REGEXP.test(escapedArgument)?escapedArgument:process4.platform==="win32"?`"${escapedArgument.replaceAll('"','""')}"`:`'${escapedArgument.replaceAll("'","'\\''")}'`,NO_ESCAPE_REGEXP=/^[\w./-]+$/;function isUnicodeSupported(){let{env}=process4__default.default,{TERM,TERM_PROGRAM}=env;return process4__default.default.platform!=="win32"?TERM!=="linux":!!env.WT_SESSION||!!env.TERMINUS_SUBLIME||env.ConEmuTask==="{cmd::Cmder}"||TERM_PROGRAM==="Terminus-Sublime"||TERM_PROGRAM==="vscode"||TERM==="xterm-256color"||TERM==="alacritty"||TERM==="rxvt-unicode"||TERM==="rxvt-unicode-256color"||env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var common={circleQuestionMark:"(?)",questionMarkPrefix:"(?)",square:"\u2588",squareDarkShade:"\u2593",squareMediumShade:"\u2592",squareLightShade:"\u2591",squareTop:"\u2580",squareBottom:"\u2584",squareLeft:"\u258C",squareRight:"\u2590",squareCenter:"\u25A0",bullet:"\u25CF",dot:"\u2024",ellipsis:"\u2026",pointerSmall:"\u203A",triangleUp:"\u25B2",triangleUpSmall:"\u25B4",triangleDown:"\u25BC",triangleDownSmall:"\u25BE",triangleLeftSmall:"\u25C2",triangleRightSmall:"\u25B8",home:"\u2302",heart:"\u2665",musicNote:"\u266A",musicNoteBeamed:"\u266B",arrowUp:"\u2191",arrowDown:"\u2193",arrowLeft:"\u2190",arrowRight:"\u2192",arrowLeftRight:"\u2194",arrowUpDown:"\u2195",almostEqual:"\u2248",notEqual:"\u2260",lessOrEqual:"\u2264",greaterOrEqual:"\u2265",identical:"\u2261",infinity:"\u221E",subscriptZero:"\u2080",subscriptOne:"\u2081",subscriptTwo:"\u2082",subscriptThree:"\u2083",subscriptFour:"\u2084",subscriptFive:"\u2085",subscriptSix:"\u2086",subscriptSeven:"\u2087",subscriptEight:"\u2088",subscriptNine:"\u2089",oneHalf:"\xBD",oneThird:"\u2153",oneQuarter:"\xBC",oneFifth:"\u2155",oneSixth:"\u2159",oneEighth:"\u215B",twoThirds:"\u2154",twoFifths:"\u2156",threeQuarters:"\xBE",threeFifths:"\u2157",threeEighths:"\u215C",fourFifths:"\u2158",fiveSixths:"\u215A",fiveEighths:"\u215D",sevenEighths:"\u215E",line:"\u2500",lineBold:"\u2501",lineDouble:"\u2550",lineDashed0:"\u2504",lineDashed1:"\u2505",lineDashed2:"\u2508",lineDashed3:"\u2509",lineDashed4:"\u254C",lineDashed5:"\u254D",lineDashed6:"\u2574",lineDashed7:"\u2576",lineDashed8:"\u2578",lineDashed9:"\u257A",lineDashed10:"\u257C",lineDashed11:"\u257E",lineDashed12:"\u2212",lineDashed13:"\u2013",lineDashed14:"\u2010",lineDashed15:"\u2043",lineVertical:"\u2502",lineVerticalBold:"\u2503",lineVerticalDouble:"\u2551",lineVerticalDashed0:"\u2506",lineVerticalDashed1:"\u2507",lineVerticalDashed2:"\u250A",lineVerticalDashed3:"\u250B",lineVerticalDashed4:"\u254E",lineVerticalDashed5:"\u254F",lineVerticalDashed6:"\u2575",lineVerticalDashed7:"\u2577",lineVerticalDashed8:"\u2579",lineVerticalDashed9:"\u257B",lineVerticalDashed10:"\u257D",lineVerticalDashed11:"\u257F",lineDownLeft:"\u2510",lineDownLeftArc:"\u256E",lineDownBoldLeftBold:"\u2513",lineDownBoldLeft:"\u2512",lineDownLeftBold:"\u2511",lineDownDoubleLeftDouble:"\u2557",lineDownDoubleLeft:"\u2556",lineDownLeftDouble:"\u2555",lineDownRight:"\u250C",lineDownRightArc:"\u256D",lineDownBoldRightBold:"\u250F",lineDownBoldRight:"\u250E",lineDownRightBold:"\u250D",lineDownDoubleRightDouble:"\u2554",lineDownDoubleRight:"\u2553",lineDownRightDouble:"\u2552",lineUpLeft:"\u2518",lineUpLeftArc:"\u256F",lineUpBoldLeftBold:"\u251B",lineUpBoldLeft:"\u251A",lineUpLeftBold:"\u2519",lineUpDoubleLeftDouble:"\u255D",lineUpDoubleLeft:"\u255C",lineUpLeftDouble:"\u255B",lineUpRight:"\u2514",lineUpRightArc:"\u2570",lineUpBoldRightBold:"\u2517",lineUpBoldRight:"\u2516",lineUpRightBold:"\u2515",lineUpDoubleRightDouble:"\u255A",lineUpDoubleRight:"\u2559",lineUpRightDouble:"\u2558",lineUpDownLeft:"\u2524",lineUpBoldDownBoldLeftBold:"\u252B",lineUpBoldDownBoldLeft:"\u2528",lineUpDownLeftBold:"\u2525",lineUpBoldDownLeftBold:"\u2529",lineUpDownBoldLeftBold:"\u252A",lineUpDownBoldLeft:"\u2527",lineUpBoldDownLeft:"\u2526",lineUpDoubleDownDoubleLeftDouble:"\u2563",lineUpDoubleDownDoubleLeft:"\u2562",lineUpDownLeftDouble:"\u2561",lineUpDownRight:"\u251C",lineUpBoldDownBoldRightBold:"\u2523",lineUpBoldDownBoldRight:"\u2520",lineUpDownRightBold:"\u251D",lineUpBoldDownRightBold:"\u2521",lineUpDownBoldRightBold:"\u2522",lineUpDownBoldRight:"\u251F",lineUpBoldDownRight:"\u251E",lineUpDoubleDownDoubleRightDouble:"\u2560",lineUpDoubleDownDoubleRight:"\u255F",lineUpDownRightDouble:"\u255E",lineDownLeftRight:"\u252C",lineDownBoldLeftBoldRightBold:"\u2533",lineDownLeftBoldRightBold:"\u252F",lineDownBoldLeftRight:"\u2530",lineDownBoldLeftBoldRight:"\u2531",lineDownBoldLeftRightBold:"\u2532",lineDownLeftRightBold:"\u252E",lineDownLeftBoldRight:"\u252D",lineDownDoubleLeftDoubleRightDouble:"\u2566",lineDownDoubleLeftRight:"\u2565",lineDownLeftDoubleRightDouble:"\u2564",lineUpLeftRight:"\u2534",lineUpBoldLeftBoldRightBold:"\u253B",lineUpLeftBoldRightBold:"\u2537",lineUpBoldLeftRight:"\u2538",lineUpBoldLeftBoldRight:"\u2539",lineUpBoldLeftRightBold:"\u253A",lineUpLeftRightBold:"\u2536",lineUpLeftBoldRight:"\u2535",lineUpDoubleLeftDoubleRightDouble:"\u2569",lineUpDoubleLeftRight:"\u2568",lineUpLeftDoubleRightDouble:"\u2567",lineUpDownLeftRight:"\u253C",lineUpBoldDownBoldLeftBoldRightBold:"\u254B",lineUpDownBoldLeftBoldRightBold:"\u2548",lineUpBoldDownLeftBoldRightBold:"\u2547",lineUpBoldDownBoldLeftRightBold:"\u254A",lineUpBoldDownBoldLeftBoldRight:"\u2549",lineUpBoldDownLeftRight:"\u2540",lineUpDownBoldLeftRight:"\u2541",lineUpDownLeftBoldRight:"\u253D",lineUpDownLeftRightBold:"\u253E",lineUpBoldDownBoldLeftRight:"\u2542",lineUpDownLeftBoldRightBold:"\u253F",lineUpBoldDownLeftBoldRight:"\u2543",lineUpBoldDownLeftRightBold:"\u2544",lineUpDownBoldLeftBoldRight:"\u2545",lineUpDownBoldLeftRightBold:"\u2546",lineUpDoubleDownDoubleLeftDoubleRightDouble:"\u256C",lineUpDoubleDownDoubleLeftRight:"\u256B",lineUpDownLeftDoubleRightDouble:"\u256A",lineCross:"\u2573",lineBackslash:"\u2572",lineSlash:"\u2571"},specialMainSymbols={tick:"\u2714",info:"\u2139",warning:"\u26A0",cross:"\u2718",squareSmall:"\u25FB",squareSmallFilled:"\u25FC",circle:"\u25EF",circleFilled:"\u25C9",circleDotted:"\u25CC",circleDouble:"\u25CE",circleCircle:"\u24DE",circleCross:"\u24E7",circlePipe:"\u24BE",radioOn:"\u25C9",radioOff:"\u25EF",checkboxOn:"\u2612",checkboxOff:"\u2610",checkboxCircleOn:"\u24E7",checkboxCircleOff:"\u24BE",pointer:"\u276F",triangleUpOutline:"\u25B3",triangleLeft:"\u25C0",triangleRight:"\u25B6",lozenge:"\u25C6",lozengeOutline:"\u25C7",hamburger:"\u2630",smiley:"\u32E1",mustache:"\u0DF4",star:"\u2605",play:"\u25B6",nodejs:"\u2B22",oneSeventh:"\u2150",oneNinth:"\u2151",oneTenth:"\u2152"},specialFallbackSymbols={tick:"\u221A",info:"i",warning:"\u203C",cross:"\xD7",squareSmall:"\u25A1",squareSmallFilled:"\u25A0",circle:"( )",circleFilled:"(*)",circleDotted:"( )",circleDouble:"( )",circleCircle:"(\u25CB)",circleCross:"(\xD7)",circlePipe:"(\u2502)",radioOn:"(*)",radioOff:"( )",checkboxOn:"[\xD7]",checkboxOff:"[ ]",checkboxCircleOn:"(\xD7)",checkboxCircleOff:"( )",pointer:">",triangleUpOutline:"\u2206",triangleLeft:"\u25C4",triangleRight:"\u25BA",lozenge:"\u2666",lozengeOutline:"\u25CA",hamburger:"\u2261",smiley:"\u263A",mustache:"\u250C\u2500\u2510",star:"\u2736",play:"\u25BA",nodejs:"\u2666",oneSeventh:"1/7",oneNinth:"1/9",oneTenth:"1/10"},mainSymbols={...common,...specialMainSymbols},fallbackSymbols={...common,...specialFallbackSymbols},shouldUseMain=isUnicodeSupported(),figures=shouldUseMain?mainSymbols:fallbackSymbols,figures_default=figures;var hasColors=tty__default.default?.WriteStream?.prototype?.hasColors?.()??!1,format=(open,close)=>{if(!hasColors)return input=>input;let openCode=`\x1B[${open}m`,closeCode=`\x1B[${close}m`;return input=>{let string=input+"",index=string.indexOf(closeCode);if(index===-1)return openCode+string+closeCode;let result=openCode,lastIndex=0;for(;index!==-1;)result+=string.slice(lastIndex,index)+openCode,lastIndex=index+closeCode.length,index=string.indexOf(closeCode,lastIndex);return result+=string.slice(lastIndex)+closeCode,result}},bold=format(1,22),gray=format(90,39),redBright=format(91,39),yellowBright=format(93,39);var defaultVerboseFunction=({type,message,timestamp,piped,commandId,result:{failed=!1}={},options:{reject=!0}})=>{let timestampString=serializeTimestamp(timestamp),icon=ICONS[type]({failed,reject,piped}),color=COLORS[type]({reject});return `${gray(`[${timestampString}]`)} ${gray(`[${commandId}]`)} ${color(icon)} ${color(message)}`},serializeTimestamp=timestamp=>`${padField(timestamp.getHours(),2)}:${padField(timestamp.getMinutes(),2)}:${padField(timestamp.getSeconds(),2)}.${padField(timestamp.getMilliseconds(),3)}`,padField=(field,padding)=>String(field).padStart(padding,"0"),getFinalIcon=({failed,reject})=>failed?reject?figures_default.cross:figures_default.warning:figures_default.tick,ICONS={command:({piped})=>piped?"|":"$",output:()=>" ",ipc:()=>"*",error:getFinalIcon,duration:getFinalIcon},identity=string=>string,COLORS={command:()=>bold,output:()=>identity,ipc:()=>identity,error:({reject})=>reject?redBright:yellowBright,duration:()=>gray};var applyVerboseOnLines=(printedLines,verboseInfo,fdNumber)=>{let verboseFunction=getVerboseFunction(verboseInfo,fdNumber);return printedLines.map(({verboseLine,verboseObject})=>applyVerboseFunction(verboseLine,verboseObject,verboseFunction)).filter(printedLine=>printedLine!==void 0).map(printedLine=>appendNewline(printedLine)).join("")},applyVerboseFunction=(verboseLine,verboseObject,verboseFunction)=>{if(verboseFunction===void 0)return verboseLine;let printedLine=verboseFunction(verboseLine,verboseObject);if(typeof printedLine=="string")return printedLine},appendNewline=printedLine=>printedLine.endsWith(` `)?printedLine:`${printedLine} `;var verboseLog=({type,verboseMessage,fdNumber,verboseInfo,result})=>{let verboseObject=getVerboseObject({type,result,verboseInfo}),printedLines=getPrintedLines(verboseMessage,verboseObject),finalLines=applyVerboseOnLines(printedLines,verboseInfo,fdNumber);finalLines!==""&&console.warn(finalLines.slice(0,-1));},getVerboseObject=({type,result,verboseInfo:{escapedCommand,commandId,rawOptions:{piped=!1,...options}}})=>({type,escapedCommand,commandId:`${commandId}`,timestamp:new Date,piped,result,options}),getPrintedLines=(verboseMessage,verboseObject)=>verboseMessage.split(` `).map(message=>getPrintedLine({...verboseObject,message})),getPrintedLine=verboseObject=>({verboseLine:defaultVerboseFunction(verboseObject),verboseObject}),serializeVerboseMessage=message=>{let messageString=typeof message=="string"?message:util.inspect(message);return escapeLines(messageString).replaceAll(" "," ".repeat(TAB_SIZE))},TAB_SIZE=2;var logCommand=(escapedCommand,verboseInfo)=>{isVerbose(verboseInfo)&&verboseLog({type:"command",verboseMessage:escapedCommand,verboseInfo});};var getVerboseInfo=(verbose,escapedCommand,rawOptions)=>{validateVerbose(verbose);let commandId=getCommandId(verbose);return {verbose,escapedCommand,commandId,rawOptions}},getCommandId=verbose=>isVerbose({verbose})?COMMAND_ID++:void 0,COMMAND_ID=0n,validateVerbose=verbose=>{for(let fdVerbose of verbose){if(fdVerbose===!1)throw new TypeError(`The "verbose: false" option was renamed to "verbose: 'none'".`);if(fdVerbose===!0)throw new TypeError(`The "verbose: true" option was renamed to "verbose: 'short'".`);if(!VERBOSE_VALUES.includes(fdVerbose)&&!isVerboseFunction(fdVerbose)){let allowedValues=VERBOSE_VALUES.map(allowedValue=>`'${allowedValue}'`).join(", ");throw new TypeError(`The "verbose" option must not be ${fdVerbose}. Allowed values are: ${allowedValues} or a function.`)}}};var getStartTime=()=>process4.hrtime.bigint(),getDurationMs=startTime=>Number(process4.hrtime.bigint()-startTime)/1e6;var handleCommand=(filePath,rawArguments,rawOptions)=>{let startTime=getStartTime(),{command,escapedCommand}=joinCommand(filePath,rawArguments),verbose=normalizeFdSpecificOption(rawOptions,"verbose"),verboseInfo=getVerboseInfo(verbose,escapedCommand,{...rawOptions});return logCommand(escapedCommand,verboseInfo),{command,escapedCommand,startTime,verboseInfo}};var import_cross_spawn=__toESM(require_cross_spawn(),1);function pathKey(options={}){let{env=process.env,platform:platform2=process.platform}=options;return platform2!=="win32"?"PATH":Object.keys(env).reverse().find(key=>key.toUpperCase()==="PATH")||"Path"}util.promisify(child_process.execFile);function toPath(urlOrPath){return urlOrPath instanceof URL?url.fileURLToPath(urlOrPath):urlOrPath}function traversePathUp(startPath){return {*[Symbol.iterator](){let currentPath=path2__default.default.resolve(toPath(startPath)),previousPath;for(;previousPath!==currentPath;)yield currentPath,previousPath=currentPath,currentPath=path2__default.default.resolve(currentPath,"..");}}}var npmRunPath=({cwd=process4__default.default.cwd(),path:pathOption=process4__default.default.env[pathKey()],preferLocal=!0,execPath:execPath2=process4__default.default.execPath,addExecPath=!0}={})=>{let cwdPath=path2__default.default.resolve(toPath(cwd)),result=[],pathParts=pathOption.split(path2__default.default.delimiter);return preferLocal&&applyPreferLocal(result,pathParts,cwdPath),addExecPath&&applyExecPath(result,pathParts,execPath2,cwdPath),pathOption===""||pathOption===path2__default.default.delimiter?`${result.join(path2__default.default.delimiter)}${pathOption}`:[...result,pathOption].join(path2__default.default.delimiter)},applyPreferLocal=(result,pathParts,cwdPath)=>{for(let directory of traversePathUp(cwdPath)){let pathPart=path2__default.default.join(directory,"node_modules/.bin");pathParts.includes(pathPart)||result.push(pathPart);}},applyExecPath=(result,pathParts,execPath2,cwdPath)=>{let pathPart=path2__default.default.resolve(cwdPath,toPath(execPath2),"..");pathParts.includes(pathPart)||result.push(pathPart);},npmRunPathEnv=({env=process4__default.default.env,...options}={})=>{env={...env};let pathName=pathKey({env});return options.path=env[pathName],env[pathName]=npmRunPath(options),env};var getFinalError=(originalError,message,isSync)=>{let ErrorClass=isSync?ExecaSyncError:ExecaError,options=originalError instanceof DiscardedError?{}:{cause:originalError};return new ErrorClass(message,options)},DiscardedError=class extends Error{},setErrorName=(ErrorClass,value)=>{Object.defineProperty(ErrorClass.prototype,"name",{value,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(ErrorClass.prototype,execaErrorSymbol,{value:!0,writable:!1,enumerable:!1,configurable:!1});},isExecaError=error=>isErrorInstance(error)&&execaErrorSymbol in error,execaErrorSymbol=Symbol("isExecaError"),isErrorInstance=value=>Object.prototype.toString.call(value)==="[object Error]",ExecaError=class extends Error{};setErrorName(ExecaError,ExecaError.name);var ExecaSyncError=class extends Error{};setErrorName(ExecaSyncError,ExecaSyncError.name);var getRealtimeSignals=()=>{let length=SIGRTMAX-SIGRTMIN+1;return Array.from({length},getRealtimeSignal)},getRealtimeSignal=(value,index)=>({name:`SIGRT${index+1}`,number:SIGRTMIN+index,action:"terminate",description:"Application-specific signal (realtime)",standard:"posix"}),SIGRTMIN=34,SIGRTMAX=64;var SIGNALS=[{name:"SIGHUP",number:1,action:"terminate",description:"Terminal closed",standard:"posix"},{name:"SIGINT",number:2,action:"terminate",description:"User interruption with CTRL-C",standard:"ansi"},{name:"SIGQUIT",number:3,action:"core",description:"User interruption with CTRL-\\",standard:"posix"},{name:"SIGILL",number:4,action:"core",description:"Invalid machine instruction",standard:"ansi"},{name:"SIGTRAP",number:5,action:"core",description:"Debugger breakpoint",standard:"posix"},{name:"SIGABRT",number:6,action:"core",description:"Aborted",standard:"ansi"},{name:"SIGIOT",number:6,action:"core",description:"Aborted",standard:"bsd"},{name:"SIGBUS",number:7,action:"core",description:"Bus error due to misaligned, non-existing address or paging error",standard:"bsd"},{name:"SIGEMT",number:7,action:"terminate",description:"Command should be emulated but is not implemented",standard:"other"},{name:"SIGFPE",number:8,action:"core",description:"Floating point arithmetic error",standard:"ansi"},{name:"SIGKILL",number:9,action:"terminate",description:"Forced termination",standard:"posix",forced:!0},{name:"SIGUSR1",number:10,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGSEGV",number:11,action:"core",description:"Segmentation fault",standard:"ansi"},{name:"SIGUSR2",number:12,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGPIPE",number:13,action:"terminate",description:"Broken pipe or socket",standard:"posix"},{name:"SIGALRM",number:14,action:"terminate",description:"Timeout or timer",standard:"posix"},{name:"SIGTERM",number:15,action:"terminate",description:"Termination",standard:"ansi"},{name:"SIGSTKFLT",number:16,action:"terminate",description:"Stack is empty or overflowed",standard:"other"},{name:"SIGCHLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"posix"},{name:"SIGCLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"other"},{name:"SIGCONT",number:18,action:"unpause",description:"Unpaused",standard:"posix",forced:!0},{name:"SIGSTOP",number:19,action:"pause",description:"Paused",standard:"posix",forced:!0},{name:"SIGTSTP",number:20,action:"pause",description:'Paused using CTRL-Z or "suspend"',standard:"posix"},{name:"SIGTTIN",number:21,action:"pause",description:"Background process cannot read terminal input",standard:"posix"},{name:"SIGBREAK",number:21,action:"terminate",description:"User interruption with CTRL-BREAK",standard:"other"},{name:"SIGTTOU",number:22,action:"pause",description:"Background process cannot write to terminal output",standard:"posix"},{name:"SIGURG",number:23,action:"ignore",description:"Socket received out-of-band data",standard:"bsd"},{name:"SIGXCPU",number:24,action:"core",description:"Process timed out",standard:"bsd"},{name:"SIGXFSZ",number:25,action:"core",description:"File too big",standard:"bsd"},{name:"SIGVTALRM",number:26,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGPROF",number:27,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGWINCH",number:28,action:"ignore",description:"Terminal window size changed",standard:"bsd"},{name:"SIGIO",number:29,action:"terminate",description:"I/O is available",standard:"other"},{name:"SIGPOLL",number:29,action:"terminate",description:"Watched event",standard:"other"},{name:"SIGINFO",number:29,action:"ignore",description:"Request for process information",standard:"other"},{name:"SIGPWR",number:30,action:"terminate",description:"Device running out of power",standard:"systemv"},{name:"SIGSYS",number:31,action:"core",description:"Invalid system call",standard:"other"},{name:"SIGUNUSED",number:31,action:"terminate",description:"Invalid system call",standard:"other"}];var getSignals=()=>{let realtimeSignals=getRealtimeSignals();return [...SIGNALS,...realtimeSignals].map(normalizeSignal)},normalizeSignal=({name,number:defaultNumber,description,action,forced=!1,standard})=>{let{signals:{[name]:constantSignal}}=os.constants,supported=constantSignal!==void 0;return {name,number:supported?constantSignal:defaultNumber,description,supported,action,forced,standard}};var getSignalsByName=()=>{let signals2=getSignals();return Object.fromEntries(signals2.map(getSignalByName))},getSignalByName=({name,number,description,supported,action,forced,standard})=>[name,{name,number,description,supported,action,forced,standard}],signalsByName=getSignalsByName(),getSignalsByNumber=()=>{let signals2=getSignals(),length=65,signalsA=Array.from({length},(value,number)=>getSignalByNumber(number,signals2));return Object.assign({},...signalsA)},getSignalByNumber=(number,signals2)=>{let signal=findSignalByNumber(number,signals2);if(signal===void 0)return {};let{name,description,supported,action,forced,standard}=signal;return {[number]:{name,number,description,supported,action,forced,standard}}},findSignalByNumber=(number,signals2)=>{let signal=signals2.find(({name})=>os.constants.signals[name]===number);return signal!==void 0?signal:signals2.find(signalA=>signalA.number===number)};getSignalsByNumber();var normalizeKillSignal=killSignal=>{let optionName="option `killSignal`";if(killSignal===0)throw new TypeError(`Invalid ${optionName}: 0 cannot be used.`);return normalizeSignal2(killSignal,optionName)},normalizeSignalArgument=signal=>signal===0?signal:normalizeSignal2(signal,"`subprocess.kill()`'s argument"),normalizeSignal2=(signalNameOrInteger,optionName)=>{if(Number.isInteger(signalNameOrInteger))return normalizeSignalInteger(signalNameOrInteger,optionName);if(typeof signalNameOrInteger=="string")return normalizeSignalName(signalNameOrInteger,optionName);throw new TypeError(`Invalid ${optionName} ${String(signalNameOrInteger)}: it must be a string or an integer. ${getAvailableSignals()}`)},normalizeSignalInteger=(signalInteger,optionName)=>{if(signalsIntegerToName.has(signalInteger))return signalsIntegerToName.get(signalInteger);throw new TypeError(`Invalid ${optionName} ${signalInteger}: this signal integer does not exist. ${getAvailableSignals()}`)},getSignalsIntegerToName=()=>new Map(Object.entries(os.constants.signals).reverse().map(([signalName,signalInteger])=>[signalInteger,signalName])),signalsIntegerToName=getSignalsIntegerToName(),normalizeSignalName=(signalName,optionName)=>{if(signalName in os.constants.signals)return signalName;throw signalName.toUpperCase()in os.constants.signals?new TypeError(`Invalid ${optionName} '${signalName}': please rename it to '${signalName.toUpperCase()}'.`):new TypeError(`Invalid ${optionName} '${signalName}': this signal name does not exist. ${getAvailableSignals()}`)},getAvailableSignals=()=>`Available signal names: ${getAvailableSignalNames()}. Available signal numbers: ${getAvailableSignalIntegers()}.`,getAvailableSignalNames=()=>Object.keys(os.constants.signals).sort().map(signalName=>`'${signalName}'`).join(", "),getAvailableSignalIntegers=()=>[...new Set(Object.values(os.constants.signals).sort((signalInteger,signalIntegerTwo)=>signalInteger-signalIntegerTwo))].join(", "),getSignalDescription=signal=>signalsByName[signal].description;var normalizeForceKillAfterDelay=forceKillAfterDelay=>{if(forceKillAfterDelay===!1)return forceKillAfterDelay;if(forceKillAfterDelay===!0)return DEFAULT_FORCE_KILL_TIMEOUT;if(!Number.isFinite(forceKillAfterDelay)||forceKillAfterDelay<0)throw new TypeError(`Expected the \`forceKillAfterDelay\` option to be a non-negative integer, got \`${forceKillAfterDelay}\` (${typeof forceKillAfterDelay})`);return forceKillAfterDelay},DEFAULT_FORCE_KILL_TIMEOUT=1e3*5,subprocessKill=({kill,options:{forceKillAfterDelay,killSignal},onInternalError,context,controller},signalOrError,errorArgument)=>{let{signal,error}=parseKillArguments(signalOrError,errorArgument,killSignal);emitKillError(error,onInternalError);let killResult=kill(signal);return setKillTimeout({kill,signal,forceKillAfterDelay,killSignal,killResult,context,controller}),killResult},parseKillArguments=(signalOrError,errorArgument,killSignal)=>{let[signal=killSignal,error]=isErrorInstance(signalOrError)?[void 0,signalOrError]:[signalOrError,errorArgument];if(typeof signal!="string"&&!Number.isInteger(signal))throw new TypeError(`The first argument must be an error instance or a signal name string/integer: ${String(signal)}`);if(error!==void 0&&!isErrorInstance(error))throw new TypeError(`The second argument is optional. If specified, it must be an error instance: ${error}`);return {signal:normalizeSignalArgument(signal),error}},emitKillError=(error,onInternalError)=>{error!==void 0&&onInternalError.reject(error);},setKillTimeout=async({kill,signal,forceKillAfterDelay,killSignal,killResult,context,controller})=>{signal===killSignal&&killResult&&killOnTimeout({kill,forceKillAfterDelay,context,controllerSignal:controller.signal});},killOnTimeout=async({kill,forceKillAfterDelay,context,controllerSignal})=>{if(forceKillAfterDelay!==!1)try{await promises$1.setTimeout(forceKillAfterDelay,void 0,{signal:controllerSignal}),kill("SIGKILL")&&(context.isForcefullyTerminated??=!0);}catch{}};var onAbortedSignal=async(mainSignal,stopSignal)=>{mainSignal.aborted||await events.once(mainSignal,"abort",{signal:stopSignal});};var validateCancelSignal=({cancelSignal})=>{if(cancelSignal!==void 0&&Object.prototype.toString.call(cancelSignal)!=="[object AbortSignal]")throw new Error(`The \`cancelSignal\` option must be an AbortSignal: ${String(cancelSignal)}`)},throwOnCancel=({subprocess,cancelSignal,gracefulCancel,context,controller})=>cancelSignal===void 0||gracefulCancel?[]:[terminateOnCancel(subprocess,cancelSignal,context,controller)],terminateOnCancel=async(subprocess,cancelSignal,context,{signal})=>{throw await onAbortedSignal(cancelSignal,signal),context.terminationReason??="cancel",subprocess.kill(),cancelSignal.reason};var validateIpcMethod=({methodName,isSubprocess,ipc,isConnected:isConnected2})=>{validateIpcOption(methodName,isSubprocess,ipc),validateConnection(methodName,isSubprocess,isConnected2);},validateIpcOption=(methodName,isSubprocess,ipc)=>{if(!ipc)throw new Error(`${getMethodName(methodName,isSubprocess)} can only be used if the \`ipc\` option is \`true\`.`)},validateConnection=(methodName,isSubprocess,isConnected2)=>{if(!isConnected2)throw new Error(`${getMethodName(methodName,isSubprocess)} cannot be used: the ${getOtherProcessName(isSubprocess)} has already exited or disconnected.`)},throwOnEarlyDisconnect=isSubprocess=>{throw new Error(`${getMethodName("getOneMessage",isSubprocess)} could not complete: the ${getOtherProcessName(isSubprocess)} exited or disconnected.`)},throwOnStrictDeadlockError=isSubprocess=>{throw new Error(`${getMethodName("sendMessage",isSubprocess)} failed: the ${getOtherProcessName(isSubprocess)} is sending a message too, instead of listening to incoming messages. This can be fixed by both sending a message and listening to incoming messages at the same time: const [receivedMessage] = await Promise.all([ ${getMethodName("getOneMessage",isSubprocess)}, ${getMethodName("sendMessage",isSubprocess,"message, {strict: true}")}, ]);`)},getStrictResponseError=(error,isSubprocess)=>new Error(`${getMethodName("se