diff --git a/bundles/@yarnpkg/plugin-catalogs.js b/bundles/@yarnpkg/plugin-catalogs.js index 6e33c9d..e086eaa 100644 --- a/bundles/@yarnpkg/plugin-catalogs.js +++ b/bundles/@yarnpkg/plugin-catalogs.js @@ -3,11 +3,11 @@ module.exports = { name: "@yarnpkg/plugin-catalogs", factory: function (require) { -"use strict";var plugin=(()=>{var kt=Object.create;var ye=Object.defineProperty;var Ht=Object.getOwnPropertyDescriptor;var Nt=Object.getOwnPropertyNames;var Dt=Object.getPrototypeOf,Gt=Object.prototype.hasOwnProperty;var ae=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(r,e)=>(typeof require<"u"?require:r)[e]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var ue=(t,r)=>()=>(r||t((r={exports:{}}).exports,r),r.exports),Pt=(t,r)=>{for(var e in r)ye(t,e,{get:r[e],enumerable:!0})},qe=(t,r,e,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of Nt(r))!Gt.call(t,n)&&n!==e&&ye(t,n,{get:()=>r[n],enumerable:!(o=Ht(r,n))||o.enumerable});return t};var _e=(t,r,e)=>(e=t!=null?kt(Dt(t)):{},qe(r||!t||!t.__esModule?ye(e,"default",{value:t,enumerable:!0}):e,t)),Mt=t=>qe(ye({},"__esModule",{value:!0}),t);var de=ue((Kr,ct)=>{"use strict";var z="\\\\/",it=`[^${z}]`,re="\\.",er="\\+",tr="\\?",ve="\\/",rr="(?=.)",at="[^/]",De=`(?:${ve}|$)`,ut=`(?:^|${ve})`,Ge=`${re}{1,2}${De}`,or=`(?!${re})`,nr=`(?!${ut}${Ge})`,sr=`(?!${re}{0,1}${De})`,ir=`(?!${Ge})`,ar=`[^.${ve}]`,ur=`${at}*?`,lr="/",lt={DOT_LITERAL:re,PLUS_LITERAL:er,QMARK_LITERAL:tr,SLASH_LITERAL:ve,ONE_CHAR:rr,QMARK:at,END_ANCHOR:De,DOTS_SLASH:Ge,NO_DOT:or,NO_DOTS:nr,NO_DOT_SLASH:sr,NO_DOTS_SLASH:ir,QMARK_NO_DOT:ar,STAR:ur,START_ANCHOR:ut,SEP:lr},cr={...lt,SLASH_LITERAL:`[${z}]`,QMARK:it,STAR:`${it}*?`,DOTS_SLASH:`${re}{1,2}(?:[${z}]|$)`,NO_DOT:`(?!${re})`,NO_DOTS:`(?!(?:^|[${z}])${re}{1,2}(?:[${z}]|$))`,NO_DOT_SLASH:`(?!${re}{0,1}(?:[${z}]|$))`,NO_DOTS_SLASH:`(?!${re}{1,2}(?:[${z}]|$))`,QMARK_NO_DOT:`[^.${z}]`,START_ANCHOR:`(?:^|[${z}])`,END_ANCHOR:`(?:[${z}]|$)`,SEP:"\\"},fr={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};ct.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:fr,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,extglobChars(t){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${t.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(t){return t===!0?cr:lt}}});var Ae=ue(j=>{"use strict";var{REGEX_BACKSLASH:pr,REGEX_REMOVE_BACKSLASH:gr,REGEX_SPECIAL_CHARS:hr,REGEX_SPECIAL_CHARS_GLOBAL:dr}=de();j.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);j.hasRegexChars=t=>hr.test(t);j.isRegexChar=t=>t.length===1&&j.hasRegexChars(t);j.escapeRegex=t=>t.replace(dr,"\\$1");j.toPosixSlashes=t=>t.replace(pr,"/");j.isWindows=()=>{if(typeof navigator<"u"&&navigator.platform){let t=navigator.platform.toLowerCase();return t==="win32"||t==="windows"}return typeof process<"u"&&process.platform?process.platform==="win32":!1};j.removeBackslashes=t=>t.replace(gr,r=>r==="\\"?"":r);j.escapeLast=(t,r,e)=>{let o=t.lastIndexOf(r,e);return o===-1?t:t[o-1]==="\\"?j.escapeLast(t,r,o-1):`${t.slice(0,o)}\\${t.slice(o)}`};j.removePrefix=(t,r={})=>{let e=t;return e.startsWith("./")&&(e=e.slice(2),r.prefix="./"),e};j.wrapOutput=(t,r={},e={})=>{let o=e.contains?"":"^",n=e.contains?"":"$",a=`${o}(?:${t})${n}`;return r.negated===!0&&(a=`(?:^(?!${a}).*$)`),a};j.basename=(t,{windows:r}={})=>{let e=t.split(r?/[\\/]/:"/"),o=e[e.length-1];return o===""?e[e.length-2]:o}});var bt=ue((qr,Rt)=>{"use strict";var ft=Ae(),{CHAR_ASTERISK:Pe,CHAR_AT:Ar,CHAR_BACKWARD_SLASH:Re,CHAR_COMMA:Rr,CHAR_DOT:Me,CHAR_EXCLAMATION_MARK:Be,CHAR_FORWARD_SLASH:At,CHAR_LEFT_CURLY_BRACE:je,CHAR_LEFT_PARENTHESES:Fe,CHAR_LEFT_SQUARE_BRACKET:br,CHAR_PLUS:Cr,CHAR_QUESTION_MARK:pt,CHAR_RIGHT_CURLY_BRACE:mr,CHAR_RIGHT_PARENTHESES:gt,CHAR_RIGHT_SQUARE_BRACKET:yr}=de(),ht=t=>t===At||t===Re,dt=t=>{t.isPrefix!==!0&&(t.depth=t.isGlobstar?1/0:1)},_r=(t,r)=>{let e=r||{},o=t.length-1,n=e.parts===!0||e.scanToEnd===!0,a=[],u=[],f=[],g=t,h=-1,C=0,$=0,I=!1,W=!1,m=!1,H=!1,ne=!1,Q=!1,_=!1,Z=!1,se=!1,D=!1,N=0,U,d,R={value:"",depth:0,isGlob:!1},l=()=>h>=o,M=()=>g.charCodeAt(h+1),w=()=>(U=d,g.charCodeAt(++h));for(;h0&&(s=g.slice(0,C),g=g.slice(C),$-=C),T&&m===!0&&$>0?(T=g.slice(0,$),i=g.slice($)):m===!0?(T="",i=g):T=g,T&&T!==""&&T!=="/"&&T!==g&&ht(T.charCodeAt(T.length-1))&&(T=T.slice(0,-1)),e.unescape===!0&&(i&&(i=ft.removeBackslashes(i)),T&&_===!0&&(T=ft.removeBackslashes(T)));let V={prefix:s,input:t,start:C,base:T,glob:i,isBrace:I,isBracket:W,isGlob:m,isExtglob:H,isGlobstar:ne,negated:Z,negatedExtglob:se};if(e.tokens===!0&&(V.maxDepth=0,ht(d)||u.push(R),V.tokens=u),e.parts===!0||e.tokens===!0){let y;for(let x=0;x{"use strict";var Se=de(),J=Ae(),{MAX_LENGTH:Te,POSIX_REGEX_SOURCE:Er,REGEX_NON_SPECIAL_CHARS:Or,REGEX_SPECIAL_CHARS_BACKREF:xr,REPLACEMENTS:Ct}=Se,vr=(t,r)=>{if(typeof r.expandRange=="function")return r.expandRange(...t,r);t.sort();let e=`[${t.join("-")}]`;try{new RegExp(e)}catch{return t.map(n=>J.escapeRegex(n)).join("..")}return e},pe=(t,r)=>`Missing ${t}: "${r}" - use "\\\\${r}" to match literal characters`,We=(t,r)=>{if(typeof t!="string")throw new TypeError("Expected a string");t=Ct[t]||t;let e={...r},o=typeof e.maxLength=="number"?Math.min(Te,e.maxLength):Te,n=t.length;if(n>o)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${o}`);let a={type:"bos",value:"",output:e.prepend||""},u=[a],f=e.capture?"":"?:",g=Se.globChars(e.windows),h=Se.extglobChars(g),{DOT_LITERAL:C,PLUS_LITERAL:$,SLASH_LITERAL:I,ONE_CHAR:W,DOTS_SLASH:m,NO_DOT:H,NO_DOT_SLASH:ne,NO_DOTS_SLASH:Q,QMARK:_,QMARK_NO_DOT:Z,STAR:se,START_ANCHOR:D}=g,N=p=>`(${f}(?:(?!${D}${p.dot?m:C}).)*?)`,U=e.dot?"":H,d=e.dot?_:Z,R=e.bash===!0?N(e):se;e.capture&&(R=`(${R})`),typeof e.noext=="boolean"&&(e.noextglob=e.noext);let l={input:t,index:-1,start:0,dot:e.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:u};t=J.removePrefix(t,l),n=t.length;let M=[],w=[],T=[],s=a,i,V=()=>l.index===n-1,y=l.peek=(p=1)=>t[l.index+p],x=l.advance=()=>t[++l.index]||"",te=()=>t.slice(l.index+1),K=(p="",E=0)=>{l.consumed+=p,l.index+=E},oe=p=>{l.output+=p.output!=null?p.output:p.value,K(p.value)},It=()=>{let p=1;for(;y()==="!"&&(y(2)!=="("||y(3)==="?");)x(),l.start++,p++;return p%2===0?!1:(l.negated=!0,l.start++,!0)},be=p=>{l[p]++,T.push(p)},ie=p=>{l[p]--,T.pop()},b=p=>{if(s.type==="globstar"){let E=l.braces>0&&(p.type==="comma"||p.type==="brace"),c=p.extglob===!0||M.length&&(p.type==="pipe"||p.type==="paren");p.type!=="slash"&&p.type!=="paren"&&!E&&!c&&(l.output=l.output.slice(0,-s.output.length),s.type="star",s.value="*",s.output=R,l.output+=s.output)}if(M.length&&p.type!=="paren"&&(M[M.length-1].inner+=p.value),(p.value||p.output)&&oe(p),s&&s.type==="text"&&p.type==="text"){s.output=(s.output||s.value)+p.value,s.value+=p.value;return}p.prev=s,u.push(p),s=p},Ce=(p,E)=>{let c={...h[E],conditions:1,inner:""};c.prev=s,c.parens=l.parens,c.output=l.output;let A=(e.capture?"(":"")+c.open;be("parens"),b({type:p,value:E,output:l.output?"":W}),b({type:"paren",extglob:!0,value:x(),output:A}),M.push(c)},wt=p=>{let E=p.close+(e.capture?")":""),c;if(p.type==="negate"){let A=R;if(p.inner&&p.inner.length>1&&p.inner.includes("/")&&(A=N(e)),(A!==R||V()||/^\)+$/.test(te()))&&(E=p.close=`)$))${A}`),p.inner.includes("*")&&(c=te())&&/^\.[^\\/.]+$/.test(c)){let v=We(c,{...r,fastpaths:!1}).output;E=p.close=`)${v})${A})`}p.prev.type==="bos"&&(l.negatedExtglob=!0)}b({type:"paren",extglob:!0,value:i,output:E}),ie("parens")};if(e.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(t)){let p=!1,E=t.replace(xr,(c,A,v,G,k,Ie)=>G==="\\"?(p=!0,c):G==="?"?A?A+G+(k?_.repeat(k.length):""):Ie===0?d+(k?_.repeat(k.length):""):_.repeat(v.length):G==="."?C.repeat(v.length):G==="*"?A?A+G+(k?R:""):R:A?c:`\\${c}`);return p===!0&&(e.unescape===!0?E=E.replace(/\\/g,""):E=E.replace(/\\+/g,c=>c.length%2===0?"\\\\":c?"\\":"")),E===t&&e.contains===!0?(l.output=t,l):(l.output=J.wrapOutput(E,l,r),l)}for(;!V();){if(i=x(),i==="\0")continue;if(i==="\\"){let c=y();if(c==="/"&&e.bash!==!0||c==="."||c===";")continue;if(!c){i+="\\",b({type:"text",value:i});continue}let A=/^\\+/.exec(te()),v=0;if(A&&A[0].length>2&&(v=A[0].length,l.index+=v,v%2!==0&&(i+="\\")),e.unescape===!0?i=x():i+=x(),l.brackets===0){b({type:"text",value:i});continue}}if(l.brackets>0&&(i!=="]"||s.value==="["||s.value==="[^")){if(e.posix!==!1&&i===":"){let c=s.value.slice(1);if(c.includes("[")&&(s.posix=!0,c.includes(":"))){let A=s.value.lastIndexOf("["),v=s.value.slice(0,A),G=s.value.slice(A+2),k=Er[G];if(k){s.value=v+k,l.backtrack=!0,x(),!a.output&&u.indexOf(s)===1&&(a.output=W);continue}}}(i==="["&&y()!==":"||i==="-"&&y()==="]")&&(i=`\\${i}`),i==="]"&&(s.value==="["||s.value==="[^")&&(i=`\\${i}`),e.posix===!0&&i==="!"&&s.value==="["&&(i="^"),s.value+=i,oe({value:i});continue}if(l.quotes===1&&i!=='"'){i=J.escapeRegex(i),s.value+=i,oe({value:i});continue}if(i==='"'){l.quotes=l.quotes===1?0:1,e.keepQuotes===!0&&b({type:"text",value:i});continue}if(i==="("){be("parens"),b({type:"paren",value:i});continue}if(i===")"){if(l.parens===0&&e.strictBrackets===!0)throw new SyntaxError(pe("opening","("));let c=M[M.length-1];if(c&&l.parens===c.parens+1){wt(M.pop());continue}b({type:"paren",value:i,output:l.parens?")":"\\)"}),ie("parens");continue}if(i==="["){if(e.nobracket===!0||!te().includes("]")){if(e.nobracket!==!0&&e.strictBrackets===!0)throw new SyntaxError(pe("closing","]"));i=`\\${i}`}else be("brackets");b({type:"bracket",value:i});continue}if(i==="]"){if(e.nobracket===!0||s&&s.type==="bracket"&&s.value.length===1){b({type:"text",value:i,output:`\\${i}`});continue}if(l.brackets===0){if(e.strictBrackets===!0)throw new SyntaxError(pe("opening","["));b({type:"text",value:i,output:`\\${i}`});continue}ie("brackets");let c=s.value.slice(1);if(s.posix!==!0&&c[0]==="^"&&!c.includes("/")&&(i=`/${i}`),s.value+=i,oe({value:i}),e.literalBrackets===!1||J.hasRegexChars(c))continue;let A=J.escapeRegex(s.value);if(l.output=l.output.slice(0,-s.value.length),e.literalBrackets===!0){l.output+=A,s.value=A;continue}s.value=`(${f}${A}|${s.value})`,l.output+=s.value;continue}if(i==="{"&&e.nobrace!==!0){be("braces");let c={type:"brace",value:i,output:"(",outputIndex:l.output.length,tokensIndex:l.tokens.length};w.push(c),b(c);continue}if(i==="}"){let c=w[w.length-1];if(e.nobrace===!0||!c){b({type:"text",value:i,output:i});continue}let A=")";if(c.dots===!0){let v=u.slice(),G=[];for(let k=v.length-1;k>=0&&(u.pop(),v[k].type!=="brace");k--)v[k].type!=="dots"&&G.unshift(v[k].value);A=vr(G,e),l.backtrack=!0}if(c.comma!==!0&&c.dots!==!0){let v=l.output.slice(0,c.outputIndex),G=l.tokens.slice(c.tokensIndex);c.value=c.output="\\{",i=A="\\}",l.output=v;for(let k of G)l.output+=k.output||k.value}b({type:"brace",value:i,output:A}),ie("braces"),w.pop();continue}if(i==="|"){M.length>0&&M[M.length-1].conditions++,b({type:"text",value:i});continue}if(i===","){let c=i,A=w[w.length-1];A&&T[T.length-1]==="braces"&&(A.comma=!0,c="|"),b({type:"comma",value:i,output:c});continue}if(i==="/"){if(s.type==="dot"&&l.index===l.start+1){l.start=l.index+1,l.consumed="",l.output="",u.pop(),s=a;continue}b({type:"slash",value:i,output:I});continue}if(i==="."){if(l.braces>0&&s.type==="dot"){s.value==="."&&(s.output=C);let c=w[w.length-1];s.type="dots",s.output+=i,s.value+=i,c.dots=!0;continue}if(l.braces+l.parens===0&&s.type!=="bos"&&s.type!=="slash"){b({type:"text",value:i,output:C});continue}b({type:"dot",value:i,output:C});continue}if(i==="?"){if(!(s&&s.value==="(")&&e.noextglob!==!0&&y()==="("&&y(2)!=="?"){Ce("qmark",i);continue}if(s&&s.type==="paren"){let A=y(),v=i;(s.value==="("&&!/[!=<:]/.test(A)||A==="<"&&!/<([!=]|\w+>)/.test(te()))&&(v=`\\${i}`),b({type:"text",value:i,output:v});continue}if(e.dot!==!0&&(s.type==="slash"||s.type==="bos")){b({type:"qmark",value:i,output:Z});continue}b({type:"qmark",value:i,output:_});continue}if(i==="!"){if(e.noextglob!==!0&&y()==="("&&(y(2)!=="?"||!/[!=<:]/.test(y(3)))){Ce("negate",i);continue}if(e.nonegate!==!0&&l.index===0){It();continue}}if(i==="+"){if(e.noextglob!==!0&&y()==="("&&y(2)!=="?"){Ce("plus",i);continue}if(s&&s.value==="("||e.regex===!1){b({type:"plus",value:i,output:$});continue}if(s&&(s.type==="bracket"||s.type==="paren"||s.type==="brace")||l.parens>0){b({type:"plus",value:i});continue}b({type:"plus",value:$});continue}if(i==="@"){if(e.noextglob!==!0&&y()==="("&&y(2)!=="?"){b({type:"at",extglob:!0,value:i,output:""});continue}b({type:"text",value:i});continue}if(i!=="*"){(i==="$"||i==="^")&&(i=`\\${i}`);let c=Or.exec(te());c&&(i+=c[0],l.index+=c[0].length),b({type:"text",value:i});continue}if(s&&(s.type==="globstar"||s.star===!0)){s.type="star",s.star=!0,s.value+=i,s.output=R,l.backtrack=!0,l.globstar=!0,K(i);continue}let p=te();if(e.noextglob!==!0&&/^\([^?]/.test(p)){Ce("star",i);continue}if(s.type==="star"){if(e.noglobstar===!0){K(i);continue}let c=s.prev,A=c.prev,v=c.type==="slash"||c.type==="bos",G=A&&(A.type==="star"||A.type==="globstar");if(e.bash===!0&&(!v||p[0]&&p[0]!=="/")){b({type:"star",value:i,output:""});continue}let k=l.braces>0&&(c.type==="comma"||c.type==="brace"),Ie=M.length&&(c.type==="pipe"||c.type==="paren");if(!v&&c.type!=="paren"&&!k&&!Ie){b({type:"star",value:i,output:""});continue}for(;p.slice(0,3)==="/**";){let me=t[l.index+4];if(me&&me!=="/")break;p=p.slice(3),K("/**",3)}if(c.type==="bos"&&V()){s.type="globstar",s.value+=i,s.output=N(e),l.output=s.output,l.globstar=!0,K(i);continue}if(c.type==="slash"&&c.prev.type!=="bos"&&!G&&V()){l.output=l.output.slice(0,-(c.output+s.output).length),c.output=`(?:${c.output}`,s.type="globstar",s.output=N(e)+(e.strictSlashes?")":"|$)"),s.value+=i,l.globstar=!0,l.output+=c.output+s.output,K(i);continue}if(c.type==="slash"&&c.prev.type!=="bos"&&p[0]==="/"){let me=p[1]!==void 0?"|$":"";l.output=l.output.slice(0,-(c.output+s.output).length),c.output=`(?:${c.output}`,s.type="globstar",s.output=`${N(e)}${I}|${I}${me})`,s.value+=i,l.output+=c.output+s.output,l.globstar=!0,K(i+x()),b({type:"slash",value:"/",output:""});continue}if(c.type==="bos"&&p[0]==="/"){s.type="globstar",s.value+=i,s.output=`(?:^|${I}|${N(e)}${I})`,l.output=s.output,l.globstar=!0,K(i+x()),b({type:"slash",value:"/",output:""});continue}l.output=l.output.slice(0,-s.output.length),s.type="globstar",s.output=N(e),s.value+=i,l.output+=s.output,l.globstar=!0,K(i);continue}let E={type:"star",value:i,output:R};if(e.bash===!0){E.output=".*?",(s.type==="bos"||s.type==="slash")&&(E.output=U+E.output),b(E);continue}if(s&&(s.type==="bracket"||s.type==="paren")&&e.regex===!0){E.output=i,b(E);continue}(l.index===l.start||s.type==="slash"||s.type==="dot")&&(s.type==="dot"?(l.output+=ne,s.output+=ne):e.dot===!0?(l.output+=Q,s.output+=Q):(l.output+=U,s.output+=U),y()!=="*"&&(l.output+=W,s.output+=W)),b(E)}for(;l.brackets>0;){if(e.strictBrackets===!0)throw new SyntaxError(pe("closing","]"));l.output=J.escapeLast(l.output,"["),ie("brackets")}for(;l.parens>0;){if(e.strictBrackets===!0)throw new SyntaxError(pe("closing",")"));l.output=J.escapeLast(l.output,"("),ie("parens")}for(;l.braces>0;){if(e.strictBrackets===!0)throw new SyntaxError(pe("closing","}"));l.output=J.escapeLast(l.output,"{"),ie("braces")}if(e.strictSlashes!==!0&&(s.type==="star"||s.type==="bracket")&&b({type:"maybe_slash",value:"",output:`${I}?`}),l.backtrack===!0){l.output="";for(let p of l.tokens)l.output+=p.output!=null?p.output:p.value,p.suffix&&(l.output+=p.suffix)}return l};We.fastpaths=(t,r)=>{let e={...r},o=typeof e.maxLength=="number"?Math.min(Te,e.maxLength):Te,n=t.length;if(n>o)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${o}`);t=Ct[t]||t;let{DOT_LITERAL:a,SLASH_LITERAL:u,ONE_CHAR:f,DOTS_SLASH:g,NO_DOT:h,NO_DOTS:C,NO_DOTS_SLASH:$,STAR:I,START_ANCHOR:W}=Se.globChars(e.windows),m=e.dot?C:h,H=e.dot?$:h,ne=e.capture?"":"?:",Q={negated:!1,prefix:""},_=e.bash===!0?".*?":I;e.capture&&(_=`(${_})`);let Z=U=>U.noglobstar===!0?_:`(${ne}(?:(?!${W}${U.dot?g:a}).)*?)`,se=U=>{switch(U){case"*":return`${m}${f}${_}`;case".*":return`${a}${f}${_}`;case"*.*":return`${m}${_}${a}${f}${_}`;case"*/*":return`${m}${_}${u}${f}${H}${_}`;case"**":return m+Z(e);case"**/*":return`(?:${m}${Z(e)}${u})?${H}${f}${_}`;case"**/*.*":return`(?:${m}${Z(e)}${u})?${H}${_}${a}${f}${_}`;case"**/.*":return`(?:${m}${Z(e)}${u})?${a}${f}${_}`;default:{let d=/^(.*?)\.(\w+)$/.exec(U);if(!d)return;let R=se(d[1]);return R?R+a+d[2]:void 0}}},D=J.removePrefix(t,Q),N=se(D);return N&&e.strictSlashes!==!0&&(N+=`${u}?`),N};mt.exports=We});var Ot=ue((Qr,Et)=>{"use strict";var Sr=bt(),Ue=yt(),_t=Ae(),Tr=de(),Lr=t=>t&&typeof t=="object"&&!Array.isArray(t),L=(t,r,e=!1)=>{if(Array.isArray(t)){let C=t.map(I=>L(I,r,e));return I=>{for(let W of C){let m=W(I);if(m)return m}return!1}}let o=Lr(t)&&t.tokens&&t.input;if(t===""||typeof t!="string"&&!o)throw new TypeError("Expected pattern to be a non-empty string");let n=r||{},a=n.windows,u=o?L.compileRe(t,r):L.makeRe(t,r,!1,!0),f=u.state;delete u.state;let g=()=>!1;if(n.ignore){let C={...r,ignore:null,onMatch:null,onResult:null};g=L(n.ignore,C,e)}let h=(C,$=!1)=>{let{isMatch:I,match:W,output:m}=L.test(C,u,r,{glob:t,posix:a}),H={glob:t,state:f,regex:u,posix:a,input:C,output:m,match:W,isMatch:I};return typeof n.onResult=="function"&&n.onResult(H),I===!1?(H.isMatch=!1,$?H:!1):g(C)?(typeof n.onIgnore=="function"&&n.onIgnore(H),H.isMatch=!1,$?H:!1):(typeof n.onMatch=="function"&&n.onMatch(H),$?H:!0)};return e&&(h.state=f),h};L.test=(t,r,e,{glob:o,posix:n}={})=>{if(typeof t!="string")throw new TypeError("Expected input to be a string");if(t==="")return{isMatch:!1,output:""};let a=e||{},u=a.format||(n?_t.toPosixSlashes:null),f=t===o,g=f&&u?u(t):t;return f===!1&&(g=u?u(t):t,f=g===o),(f===!1||a.capture===!0)&&(a.matchBase===!0||a.basename===!0?f=L.matchBase(t,r,e,n):f=r.exec(g)),{isMatch:!!f,match:f,output:g}};L.matchBase=(t,r,e)=>(r instanceof RegExp?r:L.makeRe(r,e)).test(_t.basename(t));L.isMatch=(t,r,e)=>L(r,e)(t);L.parse=(t,r)=>Array.isArray(t)?t.map(e=>L.parse(e,r)):Ue(t,{...r,fastpaths:!1});L.scan=(t,r)=>Sr(t,r);L.compileRe=(t,r,e=!1,o=!1)=>{if(e===!0)return t.output;let n=r||{},a=n.contains?"":"^",u=n.contains?"":"$",f=`${a}(?:${t.output})${u}`;t&&t.negated===!0&&(f=`^(?!${f}).*$`);let g=L.toRegex(f,r);return o===!0&&(g.state=t),g};L.makeRe=(t,r={},e=!1,o=!1)=>{if(!t||typeof t!="string")throw new TypeError("Expected a non-empty string");let n={negated:!1,fastpaths:!0};return r.fastpaths!==!1&&(t[0]==="."||t[0]==="*")&&(n.output=Ue.fastpaths(t,r)),n.output||(n=Ue(t,r)),L.compileRe(n,r,e,o)};L.toRegex=(t,r)=>{try{let e=r||{};return new RegExp(t,e.flags||(e.nocase?"i":""))}catch(e){if(r&&r.debug===!0)throw e;return/$^/}};L.constants=Tr;Et.exports=L});var Tt=ue((Zr,St)=>{"use strict";var xt=Ot(),$r=Ae();function vt(t,r,e=!1){return r&&(r.windows===null||r.windows===void 0)&&(r={...r,windows:$r.isWindows()}),xt(t,r,e)}Object.assign(vt,xt);St.exports=vt});var kr={};Pt(kr,{default:()=>wr});var F=ae("@yarnpkg/core");var Ye=(t=0)=>r=>`\x1B[${r+t}m`,Qe=(t=0)=>r=>`\x1B[${38+t};5;${r}m`,Ze=(t=0)=>(r,e,o)=>`\x1B[${38+t};2;${r};${e};${o}m`,O={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},Nr=Object.keys(O.modifier),Bt=Object.keys(O.color),jt=Object.keys(O.bgColor),Dr=[...Bt,...jt];function Ft(){let t=new Map;for(let[r,e]of Object.entries(O)){for(let[o,n]of Object.entries(e))O[o]={open:`\x1B[${n[0]}m`,close:`\x1B[${n[1]}m`},e[o]=O[o],t.set(n[0],n[1]);Object.defineProperty(O,r,{value:e,enumerable:!1})}return Object.defineProperty(O,"codes",{value:t,enumerable:!1}),O.color.close="\x1B[39m",O.bgColor.close="\x1B[49m",O.color.ansi=Ye(),O.color.ansi256=Qe(),O.color.ansi16m=Ze(),O.bgColor.ansi=Ye(10),O.bgColor.ansi256=Qe(10),O.bgColor.ansi16m=Ze(10),Object.defineProperties(O,{rgbToAnsi256:{value(r,e,o){return r===e&&e===o?r<8?16:r>248?231:Math.round((r-8)/247*24)+232:16+36*Math.round(r/255*5)+6*Math.round(e/255*5)+Math.round(o/255*5)},enumerable:!1},hexToRgb:{value(r){let e=/[a-f\d]{6}|[a-f\d]{3}/i.exec(r.toString(16));if(!e)return[0,0,0];let[o]=e;o.length===3&&(o=[...o].map(a=>a+a).join(""));let n=Number.parseInt(o,16);return[n>>16&255,n>>8&255,n&255]},enumerable:!1},hexToAnsi256:{value:r=>O.rgbToAnsi256(...O.hexToRgb(r)),enumerable:!1},ansi256ToAnsi:{value(r){if(r<8)return 30+r;if(r<16)return 90+(r-8);let e,o,n;if(r>=232)e=((r-232)*10+8)/255,o=e,n=e;else{r-=16;let f=r%36;e=Math.floor(r/36)/5,o=Math.floor(f/6)/5,n=f%6/5}let a=Math.max(e,o,n)*2;if(a===0)return 30;let u=30+(Math.round(n)<<2|Math.round(o)<<1|Math.round(e));return a===2&&(u+=60),u},enumerable:!1},rgbToAnsi:{value:(r,e,o)=>O.ansi256ToAnsi(O.rgbToAnsi256(r,e,o)),enumerable:!1},hexToAnsi:{value:r=>O.ansi256ToAnsi(O.hexToAnsi256(r)),enumerable:!1}}),O}var Wt=Ft(),Y=Wt;var Oe=_e(ae("process"),1),Je=_e(ae("os"),1),we=_e(ae("tty"),1);function X(t,r=globalThis.Deno?globalThis.Deno.args:Oe.default.argv){let e=t.startsWith("-")?"":t.length===1?"-":"--",o=r.indexOf(e+t),n=r.indexOf("--");return o!==-1&&(n===-1||o=2,has16m:t>=3}}function Kt(t,{streamIsTTY:r,sniffFlags:e=!0}={}){let o=Ut();o!==void 0&&(Ee=o);let n=e?Ee:o;if(n===0)return 0;if(e){if(X("color=16m")||X("color=full")||X("color=truecolor"))return 3;if(X("color=256"))return 2}if("TF_BUILD"in S&&"AGENT_NAME"in S)return 1;if(t&&!r&&n===void 0)return 0;let a=n||0;if(S.TERM==="dumb")return a;if(Oe.default.platform==="win32"){let u=Je.default.release().split(".");return Number(u[0])>=10&&Number(u[2])>=10586?Number(u[2])>=14931?3:2:1}if("CI"in S)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(u=>u in S)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(u=>u in S)||S.CI_NAME==="codeship"?1:a;if("TEAMCITY_VERSION"in S)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(S.TEAMCITY_VERSION)?1:0;if(S.COLORTERM==="truecolor"||S.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in S){let u=Number.parseInt((S.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(S.TERM_PROGRAM){case"iTerm.app":return u>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(S.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(S.TERM)||"COLORTERM"in S?1:a}function ze(t,r={}){let e=Kt(t,{streamIsTTY:t&&t.isTTY,...r});return Vt(e)}var Xt={stdout:ze({isTTY:we.default.isatty(1)}),stderr:ze({isTTY:we.default.isatty(2)})},et=Xt;function tt(t,r,e){let o=t.indexOf(r);if(o===-1)return t;let n=r.length,a=0,u="";do u+=t.slice(a,o)+r+e,a=o+n,o=t.indexOf(r,a);while(o!==-1);return u+=t.slice(a),u}function rt(t,r,e,o){let n=0,a="";do{let u=t[o-1]==="\r";a+=t.slice(n,u?o-1:o)+r+(u?`\r +"use strict";var plugin=(()=>{var Pt=Object.create;var _e=Object.defineProperty;var Mt=Object.getOwnPropertyDescriptor;var Bt=Object.getOwnPropertyNames;var Wt=Object.getPrototypeOf,jt=Object.prototype.hasOwnProperty;var ue=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(r,t)=>(typeof require<"u"?require:r)[t]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var ce=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),Ft=(e,r)=>{for(var t in r)_e(e,t,{get:r[t],enumerable:!0})},Ze=(e,r,t,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of Bt(r))!jt.call(e,n)&&n!==t&&_e(e,n,{get:()=>r[n],enumerable:!(o=Mt(r,n))||o.enumerable});return e};var Ee=(e,r,t)=>(t=e!=null?Pt(Wt(e)):{},Ze(r||!e||!e.__esModule?_e(t,"default",{value:e,enumerable:!0}):t,e)),Ut=e=>Ze(_e({},"__esModule",{value:!0}),e);var Ae=ce((Jr,gt)=>{"use strict";var J="\\\\/",ct=`[^${J}]`,re="\\.",sr="\\+",ir="\\?",ve="\\/",ar="(?=.)",lt="[^/]",Ge=`(?:${ve}|$)`,ft=`(?:^|${ve})`,Pe=`${re}{1,2}${Ge}`,ur=`(?!${re})`,cr=`(?!${ft}${Pe})`,lr=`(?!${re}{0,1}${Ge})`,fr=`(?!${Pe})`,pr=`[^.${ve}]`,gr=`${lt}*?`,dr="/",pt={DOT_LITERAL:re,PLUS_LITERAL:sr,QMARK_LITERAL:ir,SLASH_LITERAL:ve,ONE_CHAR:ar,QMARK:lt,END_ANCHOR:Ge,DOTS_SLASH:Pe,NO_DOT:ur,NO_DOTS:cr,NO_DOT_SLASH:lr,NO_DOTS_SLASH:fr,QMARK_NO_DOT:pr,STAR:gr,START_ANCHOR:ft,SEP:dr},hr={...pt,SLASH_LITERAL:`[${J}]`,QMARK:ct,STAR:`${ct}*?`,DOTS_SLASH:`${re}{1,2}(?:[${J}]|$)`,NO_DOT:`(?!${re})`,NO_DOTS:`(?!(?:^|[${J}])${re}{1,2}(?:[${J}]|$))`,NO_DOT_SLASH:`(?!${re}{0,1}(?:[${J}]|$))`,NO_DOTS_SLASH:`(?!${re}{1,2}(?:[${J}]|$))`,QMARK_NO_DOT:`[^.${J}]`,START_ANCHOR:`(?:^|[${J}])`,END_ANCHOR:`(?:[${J}]|$)`,SEP:"\\"},Ar={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};gt.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:Ar,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,extglobChars(e){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${e.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(e){return e===!0?hr:pt}}});var Re=ce(B=>{"use strict";var{REGEX_BACKSLASH:Rr,REGEX_REMOVE_BACKSLASH:br,REGEX_SPECIAL_CHARS:mr,REGEX_SPECIAL_CHARS_GLOBAL:yr}=Ae();B.isObject=e=>e!==null&&typeof e=="object"&&!Array.isArray(e);B.hasRegexChars=e=>mr.test(e);B.isRegexChar=e=>e.length===1&&B.hasRegexChars(e);B.escapeRegex=e=>e.replace(yr,"\\$1");B.toPosixSlashes=e=>e.replace(Rr,"/");B.isWindows=()=>{if(typeof navigator<"u"&&navigator.platform){let e=navigator.platform.toLowerCase();return e==="win32"||e==="windows"}return typeof process<"u"&&process.platform?process.platform==="win32":!1};B.removeBackslashes=e=>e.replace(br,r=>r==="\\"?"":r);B.escapeLast=(e,r,t)=>{let o=e.lastIndexOf(r,t);return o===-1?e:e[o-1]==="\\"?B.escapeLast(e,r,o-1):`${e.slice(0,o)}\\${e.slice(o)}`};B.removePrefix=(e,r={})=>{let t=e;return t.startsWith("./")&&(t=t.slice(2),r.prefix="./"),t};B.wrapOutput=(e,r={},t={})=>{let o=t.contains?"":"^",n=t.contains?"":"$",s=`${o}(?:${e})${n}`;return r.negated===!0&&(s=`(?:^(?!${s}).*$)`),s};B.basename=(e,{windows:r}={})=>{let t=e.split(r?/[\\/]/:"/"),o=t[t.length-1];return o===""?t[t.length-2]:o}});var Ct=ce((to,yt)=>{"use strict";var dt=Re(),{CHAR_ASTERISK:Me,CHAR_AT:Cr,CHAR_BACKWARD_SLASH:be,CHAR_COMMA:_r,CHAR_DOT:Be,CHAR_EXCLAMATION_MARK:We,CHAR_FORWARD_SLASH:mt,CHAR_LEFT_CURLY_BRACE:je,CHAR_LEFT_PARENTHESES:Fe,CHAR_LEFT_SQUARE_BRACKET:Er,CHAR_PLUS:Or,CHAR_QUESTION_MARK:ht,CHAR_RIGHT_CURLY_BRACE:xr,CHAR_RIGHT_PARENTHESES:At,CHAR_RIGHT_SQUARE_BRACKET:Sr}=Ae(),Rt=e=>e===mt||e===be,bt=e=>{e.isPrefix!==!0&&(e.depth=e.isGlobstar?1/0:1)},vr=(e,r)=>{let t=r||{},o=e.length-1,n=t.parts===!0||t.scanToEnd===!0,s=[],c=[],p=[],g=e,h=-1,m=0,$=0,I=!1,F=!1,y=!1,H=!1,se=!1,Z=!1,_=!1,z=!1,ie=!1,D=!1,N=0,U,d,R={value:"",depth:0,isGlob:!1},u=()=>h>=o,M=()=>g.charCodeAt(h+1),k=()=>(U=d,g.charCodeAt(++h));for(;h0&&(i=g.slice(0,m),g=g.slice(m),$-=m),T&&y===!0&&$>0?(T=g.slice(0,$),a=g.slice($)):y===!0?(T="",a=g):T=g,T&&T!==""&&T!=="/"&&T!==g&&Rt(T.charCodeAt(T.length-1))&&(T=T.slice(0,-1)),t.unescape===!0&&(a&&(a=dt.removeBackslashes(a)),T&&_===!0&&(T=dt.removeBackslashes(T)));let K={prefix:i,input:e,start:m,base:T,glob:a,isBrace:I,isBracket:F,isGlob:y,isExtglob:H,isGlobstar:se,negated:z,negatedExtglob:ie};if(t.tokens===!0&&(K.maxDepth=0,Rt(d)||c.push(R),K.tokens=c),t.parts===!0||t.tokens===!0){let C;for(let x=0;x{"use strict";var Te=Ae(),ee=Re(),{MAX_LENGTH:Le,POSIX_REGEX_SOURCE:Tr,REGEX_NON_SPECIAL_CHARS:Lr,REGEX_SPECIAL_CHARS_BACKREF:$r,REPLACEMENTS:_t}=Te,Ir=(e,r)=>{if(typeof r.expandRange=="function")return r.expandRange(...e,r);e.sort();let t=`[${e.join("-")}]`;try{new RegExp(t)}catch{return e.map(n=>ee.escapeRegex(n)).join("..")}return t},ge=(e,r)=>`Missing ${e}: "${r}" - use "\\\\${r}" to match literal characters`,Ue=(e,r)=>{if(typeof e!="string")throw new TypeError("Expected a string");e=_t[e]||e;let t={...r},o=typeof t.maxLength=="number"?Math.min(Le,t.maxLength):Le,n=e.length;if(n>o)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${o}`);let s={type:"bos",value:"",output:t.prepend||""},c=[s],p=t.capture?"":"?:",g=Te.globChars(t.windows),h=Te.extglobChars(g),{DOT_LITERAL:m,PLUS_LITERAL:$,SLASH_LITERAL:I,ONE_CHAR:F,DOTS_SLASH:y,NO_DOT:H,NO_DOT_SLASH:se,NO_DOTS_SLASH:Z,QMARK:_,QMARK_NO_DOT:z,STAR:ie,START_ANCHOR:D}=g,N=f=>`(${p}(?:(?!${D}${f.dot?y:m}).)*?)`,U=t.dot?"":H,d=t.dot?_:z,R=t.bash===!0?N(t):ie;t.capture&&(R=`(${R})`),typeof t.noext=="boolean"&&(t.noextglob=t.noext);let u={input:e,index:-1,start:0,dot:t.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:c};e=ee.removePrefix(e,u),n=e.length;let M=[],k=[],T=[],i=s,a,K=()=>u.index===n-1,C=u.peek=(f=1)=>e[u.index+f],x=u.advance=()=>e[++u.index]||"",te=()=>e.slice(u.index+1),X=(f="",E=0)=>{u.consumed+=f,u.index+=E},oe=f=>{u.output+=f.output!=null?f.output:f.value,X(f.value)},Dt=()=>{let f=1;for(;C()==="!"&&(C(2)!=="("||C(3)==="?");)x(),u.start++,f++;return f%2===0?!1:(u.negated=!0,u.start++,!0)},me=f=>{u[f]++,T.push(f)},ae=f=>{u[f]--,T.pop()},b=f=>{if(i.type==="globstar"){let E=u.braces>0&&(f.type==="comma"||f.type==="brace"),l=f.extglob===!0||M.length&&(f.type==="pipe"||f.type==="paren");f.type!=="slash"&&f.type!=="paren"&&!E&&!l&&(u.output=u.output.slice(0,-i.output.length),i.type="star",i.value="*",i.output=R,u.output+=i.output)}if(M.length&&f.type!=="paren"&&(M[M.length-1].inner+=f.value),(f.value||f.output)&&oe(f),i&&i.type==="text"&&f.type==="text"){i.output=(i.output||i.value)+f.value,i.value+=f.value;return}f.prev=i,c.push(f),i=f},ye=(f,E)=>{let l={...h[E],conditions:1,inner:""};l.prev=i,l.parens=u.parens,l.output=u.output;let A=(t.capture?"(":"")+l.open;me("parens"),b({type:f,value:E,output:u.output?"":F}),b({type:"paren",extglob:!0,value:x(),output:A}),M.push(l)},Gt=f=>{let E=f.close+(t.capture?")":""),l;if(f.type==="negate"){let A=R;if(f.inner&&f.inner.length>1&&f.inner.includes("/")&&(A=N(t)),(A!==R||K()||/^\)+$/.test(te()))&&(E=f.close=`)$))${A}`),f.inner.includes("*")&&(l=te())&&/^\.[^\\/.]+$/.test(l)){let S=Ue(l,{...r,fastpaths:!1}).output;E=f.close=`)${S})${A})`}f.prev.type==="bos"&&(u.negatedExtglob=!0)}b({type:"paren",extglob:!0,value:a,output:E}),ae("parens")};if(t.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(e)){let f=!1,E=e.replace($r,(l,A,S,G,w,ke)=>G==="\\"?(f=!0,l):G==="?"?A?A+G+(w?_.repeat(w.length):""):ke===0?d+(w?_.repeat(w.length):""):_.repeat(S.length):G==="."?m.repeat(S.length):G==="*"?A?A+G+(w?R:""):R:A?l:`\\${l}`);return f===!0&&(t.unescape===!0?E=E.replace(/\\/g,""):E=E.replace(/\\+/g,l=>l.length%2===0?"\\\\":l?"\\":"")),E===e&&t.contains===!0?(u.output=e,u):(u.output=ee.wrapOutput(E,u,r),u)}for(;!K();){if(a=x(),a==="\0")continue;if(a==="\\"){let l=C();if(l==="/"&&t.bash!==!0||l==="."||l===";")continue;if(!l){a+="\\",b({type:"text",value:a});continue}let A=/^\\+/.exec(te()),S=0;if(A&&A[0].length>2&&(S=A[0].length,u.index+=S,S%2!==0&&(a+="\\")),t.unescape===!0?a=x():a+=x(),u.brackets===0){b({type:"text",value:a});continue}}if(u.brackets>0&&(a!=="]"||i.value==="["||i.value==="[^")){if(t.posix!==!1&&a===":"){let l=i.value.slice(1);if(l.includes("[")&&(i.posix=!0,l.includes(":"))){let A=i.value.lastIndexOf("["),S=i.value.slice(0,A),G=i.value.slice(A+2),w=Tr[G];if(w){i.value=S+w,u.backtrack=!0,x(),!s.output&&c.indexOf(i)===1&&(s.output=F);continue}}}(a==="["&&C()!==":"||a==="-"&&C()==="]")&&(a=`\\${a}`),a==="]"&&(i.value==="["||i.value==="[^")&&(a=`\\${a}`),t.posix===!0&&a==="!"&&i.value==="["&&(a="^"),i.value+=a,oe({value:a});continue}if(u.quotes===1&&a!=='"'){a=ee.escapeRegex(a),i.value+=a,oe({value:a});continue}if(a==='"'){u.quotes=u.quotes===1?0:1,t.keepQuotes===!0&&b({type:"text",value:a});continue}if(a==="("){me("parens"),b({type:"paren",value:a});continue}if(a===")"){if(u.parens===0&&t.strictBrackets===!0)throw new SyntaxError(ge("opening","("));let l=M[M.length-1];if(l&&u.parens===l.parens+1){Gt(M.pop());continue}b({type:"paren",value:a,output:u.parens?")":"\\)"}),ae("parens");continue}if(a==="["){if(t.nobracket===!0||!te().includes("]")){if(t.nobracket!==!0&&t.strictBrackets===!0)throw new SyntaxError(ge("closing","]"));a=`\\${a}`}else me("brackets");b({type:"bracket",value:a});continue}if(a==="]"){if(t.nobracket===!0||i&&i.type==="bracket"&&i.value.length===1){b({type:"text",value:a,output:`\\${a}`});continue}if(u.brackets===0){if(t.strictBrackets===!0)throw new SyntaxError(ge("opening","["));b({type:"text",value:a,output:`\\${a}`});continue}ae("brackets");let l=i.value.slice(1);if(i.posix!==!0&&l[0]==="^"&&!l.includes("/")&&(a=`/${a}`),i.value+=a,oe({value:a}),t.literalBrackets===!1||ee.hasRegexChars(l))continue;let A=ee.escapeRegex(i.value);if(u.output=u.output.slice(0,-i.value.length),t.literalBrackets===!0){u.output+=A,i.value=A;continue}i.value=`(${p}${A}|${i.value})`,u.output+=i.value;continue}if(a==="{"&&t.nobrace!==!0){me("braces");let l={type:"brace",value:a,output:"(",outputIndex:u.output.length,tokensIndex:u.tokens.length};k.push(l),b(l);continue}if(a==="}"){let l=k[k.length-1];if(t.nobrace===!0||!l){b({type:"text",value:a,output:a});continue}let A=")";if(l.dots===!0){let S=c.slice(),G=[];for(let w=S.length-1;w>=0&&(c.pop(),S[w].type!=="brace");w--)S[w].type!=="dots"&&G.unshift(S[w].value);A=Ir(G,t),u.backtrack=!0}if(l.comma!==!0&&l.dots!==!0){let S=u.output.slice(0,l.outputIndex),G=u.tokens.slice(l.tokensIndex);l.value=l.output="\\{",a=A="\\}",u.output=S;for(let w of G)u.output+=w.output||w.value}b({type:"brace",value:a,output:A}),ae("braces"),k.pop();continue}if(a==="|"){M.length>0&&M[M.length-1].conditions++,b({type:"text",value:a});continue}if(a===","){let l=a,A=k[k.length-1];A&&T[T.length-1]==="braces"&&(A.comma=!0,l="|"),b({type:"comma",value:a,output:l});continue}if(a==="/"){if(i.type==="dot"&&u.index===u.start+1){u.start=u.index+1,u.consumed="",u.output="",c.pop(),i=s;continue}b({type:"slash",value:a,output:I});continue}if(a==="."){if(u.braces>0&&i.type==="dot"){i.value==="."&&(i.output=m);let l=k[k.length-1];i.type="dots",i.output+=a,i.value+=a,l.dots=!0;continue}if(u.braces+u.parens===0&&i.type!=="bos"&&i.type!=="slash"){b({type:"text",value:a,output:m});continue}b({type:"dot",value:a,output:m});continue}if(a==="?"){if(!(i&&i.value==="(")&&t.noextglob!==!0&&C()==="("&&C(2)!=="?"){ye("qmark",a);continue}if(i&&i.type==="paren"){let A=C(),S=a;(i.value==="("&&!/[!=<:]/.test(A)||A==="<"&&!/<([!=]|\w+>)/.test(te()))&&(S=`\\${a}`),b({type:"text",value:a,output:S});continue}if(t.dot!==!0&&(i.type==="slash"||i.type==="bos")){b({type:"qmark",value:a,output:z});continue}b({type:"qmark",value:a,output:_});continue}if(a==="!"){if(t.noextglob!==!0&&C()==="("&&(C(2)!=="?"||!/[!=<:]/.test(C(3)))){ye("negate",a);continue}if(t.nonegate!==!0&&u.index===0){Dt();continue}}if(a==="+"){if(t.noextglob!==!0&&C()==="("&&C(2)!=="?"){ye("plus",a);continue}if(i&&i.value==="("||t.regex===!1){b({type:"plus",value:a,output:$});continue}if(i&&(i.type==="bracket"||i.type==="paren"||i.type==="brace")||u.parens>0){b({type:"plus",value:a});continue}b({type:"plus",value:$});continue}if(a==="@"){if(t.noextglob!==!0&&C()==="("&&C(2)!=="?"){b({type:"at",extglob:!0,value:a,output:""});continue}b({type:"text",value:a});continue}if(a!=="*"){(a==="$"||a==="^")&&(a=`\\${a}`);let l=Lr.exec(te());l&&(a+=l[0],u.index+=l[0].length),b({type:"text",value:a});continue}if(i&&(i.type==="globstar"||i.star===!0)){i.type="star",i.star=!0,i.value+=a,i.output=R,u.backtrack=!0,u.globstar=!0,X(a);continue}let f=te();if(t.noextglob!==!0&&/^\([^?]/.test(f)){ye("star",a);continue}if(i.type==="star"){if(t.noglobstar===!0){X(a);continue}let l=i.prev,A=l.prev,S=l.type==="slash"||l.type==="bos",G=A&&(A.type==="star"||A.type==="globstar");if(t.bash===!0&&(!S||f[0]&&f[0]!=="/")){b({type:"star",value:a,output:""});continue}let w=u.braces>0&&(l.type==="comma"||l.type==="brace"),ke=M.length&&(l.type==="pipe"||l.type==="paren");if(!S&&l.type!=="paren"&&!w&&!ke){b({type:"star",value:a,output:""});continue}for(;f.slice(0,3)==="/**";){let Ce=e[u.index+4];if(Ce&&Ce!=="/")break;f=f.slice(3),X("/**",3)}if(l.type==="bos"&&K()){i.type="globstar",i.value+=a,i.output=N(t),u.output=i.output,u.globstar=!0,X(a);continue}if(l.type==="slash"&&l.prev.type!=="bos"&&!G&&K()){u.output=u.output.slice(0,-(l.output+i.output).length),l.output=`(?:${l.output}`,i.type="globstar",i.output=N(t)+(t.strictSlashes?")":"|$)"),i.value+=a,u.globstar=!0,u.output+=l.output+i.output,X(a);continue}if(l.type==="slash"&&l.prev.type!=="bos"&&f[0]==="/"){let Ce=f[1]!==void 0?"|$":"";u.output=u.output.slice(0,-(l.output+i.output).length),l.output=`(?:${l.output}`,i.type="globstar",i.output=`${N(t)}${I}|${I}${Ce})`,i.value+=a,u.output+=l.output+i.output,u.globstar=!0,X(a+x()),b({type:"slash",value:"/",output:""});continue}if(l.type==="bos"&&f[0]==="/"){i.type="globstar",i.value+=a,i.output=`(?:^|${I}|${N(t)}${I})`,u.output=i.output,u.globstar=!0,X(a+x()),b({type:"slash",value:"/",output:""});continue}u.output=u.output.slice(0,-i.output.length),i.type="globstar",i.output=N(t),i.value+=a,u.output+=i.output,u.globstar=!0,X(a);continue}let E={type:"star",value:a,output:R};if(t.bash===!0){E.output=".*?",(i.type==="bos"||i.type==="slash")&&(E.output=U+E.output),b(E);continue}if(i&&(i.type==="bracket"||i.type==="paren")&&t.regex===!0){E.output=a,b(E);continue}(u.index===u.start||i.type==="slash"||i.type==="dot")&&(i.type==="dot"?(u.output+=se,i.output+=se):t.dot===!0?(u.output+=Z,i.output+=Z):(u.output+=U,i.output+=U),C()!=="*"&&(u.output+=F,i.output+=F)),b(E)}for(;u.brackets>0;){if(t.strictBrackets===!0)throw new SyntaxError(ge("closing","]"));u.output=ee.escapeLast(u.output,"["),ae("brackets")}for(;u.parens>0;){if(t.strictBrackets===!0)throw new SyntaxError(ge("closing",")"));u.output=ee.escapeLast(u.output,"("),ae("parens")}for(;u.braces>0;){if(t.strictBrackets===!0)throw new SyntaxError(ge("closing","}"));u.output=ee.escapeLast(u.output,"{"),ae("braces")}if(t.strictSlashes!==!0&&(i.type==="star"||i.type==="bracket")&&b({type:"maybe_slash",value:"",output:`${I}?`}),u.backtrack===!0){u.output="";for(let f of u.tokens)u.output+=f.output!=null?f.output:f.value,f.suffix&&(u.output+=f.suffix)}return u};Ue.fastpaths=(e,r)=>{let t={...r},o=typeof t.maxLength=="number"?Math.min(Le,t.maxLength):Le,n=e.length;if(n>o)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${o}`);e=_t[e]||e;let{DOT_LITERAL:s,SLASH_LITERAL:c,ONE_CHAR:p,DOTS_SLASH:g,NO_DOT:h,NO_DOTS:m,NO_DOTS_SLASH:$,STAR:I,START_ANCHOR:F}=Te.globChars(t.windows),y=t.dot?m:h,H=t.dot?$:h,se=t.capture?"":"?:",Z={negated:!1,prefix:""},_=t.bash===!0?".*?":I;t.capture&&(_=`(${_})`);let z=U=>U.noglobstar===!0?_:`(${se}(?:(?!${F}${U.dot?g:s}).)*?)`,ie=U=>{switch(U){case"*":return`${y}${p}${_}`;case".*":return`${s}${p}${_}`;case"*.*":return`${y}${_}${s}${p}${_}`;case"*/*":return`${y}${_}${c}${p}${H}${_}`;case"**":return y+z(t);case"**/*":return`(?:${y}${z(t)}${c})?${H}${p}${_}`;case"**/*.*":return`(?:${y}${z(t)}${c})?${H}${_}${s}${p}${_}`;case"**/.*":return`(?:${y}${z(t)}${c})?${s}${p}${_}`;default:{let d=/^(.*?)\.(\w+)$/.exec(U);if(!d)return;let R=ie(d[1]);return R?R+s+d[2]:void 0}}},D=ee.removePrefix(e,Z),N=ie(D);return N&&t.strictSlashes!==!0&&(N+=`${c}?`),N};Et.exports=Ue});var vt=ce((oo,St)=>{"use strict";var kr=Ct(),Ve=Ot(),xt=Re(),wr=Ae(),Hr=e=>e&&typeof e=="object"&&!Array.isArray(e),L=(e,r,t=!1)=>{if(Array.isArray(e)){let m=e.map(I=>L(I,r,t));return I=>{for(let F of m){let y=F(I);if(y)return y}return!1}}let o=Hr(e)&&e.tokens&&e.input;if(e===""||typeof e!="string"&&!o)throw new TypeError("Expected pattern to be a non-empty string");let n=r||{},s=n.windows,c=o?L.compileRe(e,r):L.makeRe(e,r,!1,!0),p=c.state;delete c.state;let g=()=>!1;if(n.ignore){let m={...r,ignore:null,onMatch:null,onResult:null};g=L(n.ignore,m,t)}let h=(m,$=!1)=>{let{isMatch:I,match:F,output:y}=L.test(m,c,r,{glob:e,posix:s}),H={glob:e,state:p,regex:c,posix:s,input:m,output:y,match:F,isMatch:I};return typeof n.onResult=="function"&&n.onResult(H),I===!1?(H.isMatch=!1,$?H:!1):g(m)?(typeof n.onIgnore=="function"&&n.onIgnore(H),H.isMatch=!1,$?H:!1):(typeof n.onMatch=="function"&&n.onMatch(H),$?H:!0)};return t&&(h.state=p),h};L.test=(e,r,t,{glob:o,posix:n}={})=>{if(typeof e!="string")throw new TypeError("Expected input to be a string");if(e==="")return{isMatch:!1,output:""};let s=t||{},c=s.format||(n?xt.toPosixSlashes:null),p=e===o,g=p&&c?c(e):e;return p===!1&&(g=c?c(e):e,p=g===o),(p===!1||s.capture===!0)&&(s.matchBase===!0||s.basename===!0?p=L.matchBase(e,r,t,n):p=r.exec(g)),{isMatch:!!p,match:p,output:g}};L.matchBase=(e,r,t)=>(r instanceof RegExp?r:L.makeRe(r,t)).test(xt.basename(e));L.isMatch=(e,r,t)=>L(r,t)(e);L.parse=(e,r)=>Array.isArray(e)?e.map(t=>L.parse(t,r)):Ve(e,{...r,fastpaths:!1});L.scan=(e,r)=>kr(e,r);L.compileRe=(e,r,t=!1,o=!1)=>{if(t===!0)return e.output;let n=r||{},s=n.contains?"":"^",c=n.contains?"":"$",p=`${s}(?:${e.output})${c}`;e&&e.negated===!0&&(p=`^(?!${p}).*$`);let g=L.toRegex(p,r);return o===!0&&(g.state=e),g};L.makeRe=(e,r={},t=!1,o=!1)=>{if(!e||typeof e!="string")throw new TypeError("Expected a non-empty string");let n={negated:!1,fastpaths:!0};return r.fastpaths!==!1&&(e[0]==="."||e[0]==="*")&&(n.output=Ve.fastpaths(e,r)),n.output||(n=Ve(e,r)),L.compileRe(n,r,t,o)};L.toRegex=(e,r)=>{try{let t=r||{};return new RegExp(e,t.flags||(t.nocase?"i":""))}catch(t){if(r&&r.debug===!0)throw t;return/$^/}};L.constants=wr;St.exports=L});var It=ce((no,$t)=>{"use strict";var Tt=vt(),Nr=Re();function Lt(e,r,t=!1){return r&&(r.windows===null||r.windows===void 0)&&(r={...r,windows:Nr.isWindows()}),Tt(e,r,t)}Object.assign(Lt,Tt);$t.exports=Lt});var Br={};Ft(Br,{default:()=>Mr});var j=ue("@yarnpkg/core");var ze=(e=0)=>r=>`\x1B[${r+e}m`,Je=(e=0)=>r=>`\x1B[${38+e};5;${r}m`,et=(e=0)=>(r,t,o)=>`\x1B[${38+e};2;${r};${t};${o}m`,O={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},jr=Object.keys(O.modifier),Vt=Object.keys(O.color),Kt=Object.keys(O.bgColor),Fr=[...Vt,...Kt];function Xt(){let e=new Map;for(let[r,t]of Object.entries(O)){for(let[o,n]of Object.entries(t))O[o]={open:`\x1B[${n[0]}m`,close:`\x1B[${n[1]}m`},t[o]=O[o],e.set(n[0],n[1]);Object.defineProperty(O,r,{value:t,enumerable:!1})}return Object.defineProperty(O,"codes",{value:e,enumerable:!1}),O.color.close="\x1B[39m",O.bgColor.close="\x1B[49m",O.color.ansi=ze(),O.color.ansi256=Je(),O.color.ansi16m=et(),O.bgColor.ansi=ze(10),O.bgColor.ansi256=Je(10),O.bgColor.ansi16m=et(10),Object.defineProperties(O,{rgbToAnsi256:{value(r,t,o){return r===t&&t===o?r<8?16:r>248?231:Math.round((r-8)/247*24)+232:16+36*Math.round(r/255*5)+6*Math.round(t/255*5)+Math.round(o/255*5)},enumerable:!1},hexToRgb:{value(r){let t=/[a-f\d]{6}|[a-f\d]{3}/i.exec(r.toString(16));if(!t)return[0,0,0];let[o]=t;o.length===3&&(o=[...o].map(s=>s+s).join(""));let n=Number.parseInt(o,16);return[n>>16&255,n>>8&255,n&255]},enumerable:!1},hexToAnsi256:{value:r=>O.rgbToAnsi256(...O.hexToRgb(r)),enumerable:!1},ansi256ToAnsi:{value(r){if(r<8)return 30+r;if(r<16)return 90+(r-8);let t,o,n;if(r>=232)t=((r-232)*10+8)/255,o=t,n=t;else{r-=16;let p=r%36;t=Math.floor(r/36)/5,o=Math.floor(p/6)/5,n=p%6/5}let s=Math.max(t,o,n)*2;if(s===0)return 30;let c=30+(Math.round(n)<<2|Math.round(o)<<1|Math.round(t));return s===2&&(c+=60),c},enumerable:!1},rgbToAnsi:{value:(r,t,o)=>O.ansi256ToAnsi(O.rgbToAnsi256(r,t,o)),enumerable:!1},hexToAnsi:{value:r=>O.ansi256ToAnsi(O.hexToAnsi256(r)),enumerable:!1}}),O}var qt=Xt(),Y=qt;var xe=Ee(ue("process"),1),rt=Ee(ue("os"),1),we=Ee(ue("tty"),1);function q(e,r=globalThis.Deno?globalThis.Deno.args:xe.default.argv){let t=e.startsWith("-")?"":e.length===1?"-":"--",o=r.indexOf(t+e),n=r.indexOf("--");return o!==-1&&(n===-1||o=2,has16m:e>=3}}function Zt(e,{streamIsTTY:r,sniffFlags:t=!0}={}){let o=Yt();o!==void 0&&(Oe=o);let n=t?Oe:o;if(n===0)return 0;if(t){if(q("color=16m")||q("color=full")||q("color=truecolor"))return 3;if(q("color=256"))return 2}if("TF_BUILD"in v&&"AGENT_NAME"in v)return 1;if(e&&!r&&n===void 0)return 0;let s=n||0;if(v.TERM==="dumb")return s;if(xe.default.platform==="win32"){let c=rt.default.release().split(".");return Number(c[0])>=10&&Number(c[2])>=10586?Number(c[2])>=14931?3:2:1}if("CI"in v)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(c=>c in v)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(c=>c in v)||v.CI_NAME==="codeship"?1:s;if("TEAMCITY_VERSION"in v)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(v.TEAMCITY_VERSION)?1:0;if(v.COLORTERM==="truecolor"||v.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in v){let c=Number.parseInt((v.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(v.TERM_PROGRAM){case"iTerm.app":return c>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(v.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(v.TERM)||"COLORTERM"in v?1:s}function tt(e,r={}){let t=Zt(e,{streamIsTTY:e&&e.isTTY,...r});return Qt(t)}var zt={stdout:tt({isTTY:we.default.isatty(1)}),stderr:tt({isTTY:we.default.isatty(2)})},ot=zt;function nt(e,r,t){let o=e.indexOf(r);if(o===-1)return e;let n=r.length,s=0,c="";do c+=e.slice(s,o)+r+t,s=o+n,o=e.indexOf(r,s);while(o!==-1);return c+=e.slice(s),c}function st(e,r,t,o){let n=0,s="";do{let c=e[o-1]==="\r";s+=e.slice(n,c?o-1:o)+r+(c?`\r `:` -`)+e,n=o+1,o=t.indexOf(` -`,n)}while(o!==-1);return a+=t.slice(n),a}var{stdout:ot,stderr:nt}=et,ke=Symbol("GENERATOR"),le=Symbol("STYLER"),ge=Symbol("IS_EMPTY"),st=["ansi","ansi","ansi256","ansi16m"],ce=Object.create(null),qt=(t,r={})=>{if(r.level&&!(Number.isInteger(r.level)&&r.level>=0&&r.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let e=ot?ot.level:0;t.level=r.level===void 0?e:r.level};var Yt=t=>{let r=(...e)=>e.join(" ");return qt(r,t),Object.setPrototypeOf(r,he.prototype),r};function he(t){return Yt(t)}Object.setPrototypeOf(he.prototype,Function.prototype);for(let[t,r]of Object.entries(Y))ce[t]={get(){let e=xe(this,Ne(r.open,r.close,this[le]),this[ge]);return Object.defineProperty(this,t,{value:e}),e}};ce.visible={get(){let t=xe(this,this[le],!0);return Object.defineProperty(this,"visible",{value:t}),t}};var He=(t,r,e,...o)=>t==="rgb"?r==="ansi16m"?Y[e].ansi16m(...o):r==="ansi256"?Y[e].ansi256(Y.rgbToAnsi256(...o)):Y[e].ansi(Y.rgbToAnsi(...o)):t==="hex"?He("rgb",r,e,...Y.hexToRgb(...o)):Y[e][t](...o),Qt=["rgb","hex","ansi256"];for(let t of Qt){ce[t]={get(){let{level:e}=this;return function(...o){let n=Ne(He(t,st[e],"color",...o),Y.color.close,this[le]);return xe(this,n,this[ge])}}};let r="bg"+t[0].toUpperCase()+t.slice(1);ce[r]={get(){let{level:e}=this;return function(...o){let n=Ne(He(t,st[e],"bgColor",...o),Y.bgColor.close,this[le]);return xe(this,n,this[ge])}}}}var Zt=Object.defineProperties(()=>{},{...ce,level:{enumerable:!0,get(){return this[ke].level},set(t){this[ke].level=t}}}),Ne=(t,r,e)=>{let o,n;return e===void 0?(o=t,n=r):(o=e.openAll+t,n=r+e.closeAll),{open:t,close:r,openAll:o,closeAll:n,parent:e}},xe=(t,r,e)=>{let o=(...n)=>zt(o,n.length===1?""+n[0]:n.join(" "));return Object.setPrototypeOf(o,Zt),o[ke]=t,o[le]=r,o[ge]=e,o},zt=(t,r)=>{if(t.level<=0||!r)return t[ge]?"":r;let e=t[le];if(e===void 0)return r;let{openAll:o,closeAll:n}=e;if(r.includes("\x1B"))for(;e!==void 0;)r=tt(r,e.close,e.open),e=e.parent;let a=r.indexOf(` -`);return a!==-1&&(r=rt(r,n,o,a)),o+r+n};Object.defineProperties(he.prototype,ce);var Jt=he(),Wr=he({level:nt?nt.level:0});var fe=Jt;var B=class extends Error{constructor(e,o){super(e);this.code=o;this.name="CatalogConfigurationError"}static{this.FILE_NOT_FOUND="FILE_NOT_FOUND"}static{this.INVALID_FORMAT="INVALID_FORMAT"}static{this.INVALID_ALIAS="INVALID_ALIAS"}};var Ve=ae("@yarnpkg/core"),Lt=_e(Tt());var ee="root",P="catalog:";var Le=class{constructor(){this.configCache=new Map}getInheritanceChain(r){let e=r.split("/"),o=[];for(let n=0;n=0;u--){let f=n[u],g=r.list?.[f];if(g&&typeof g=="object"){let h=g[o];if(h)return h}}if(r.list&&typeof r.list=="object"){let u=r.list[o];if(typeof u=="string")return u}let a=r.list?.[ee];if(a&&typeof a=="object"){let u=a[o];if(u)return u}return null}validateInheritanceStructure(r){if(!r.list)return!0;let e=Object.keys(r.list);for(let o of e)if(typeof r.list[o]!="string"&&o.includes("/")){let n=this.getInheritanceChain(o);for(let a=0;a(typeof h=="string"?f[ee]={...f[ee]||{},[g]:h}:f[g]=h,f),{}):u.list={},!this.isValidConfiguration(u))throw new B("Invalid catalogs configuration format. Expected structure: { options?: { default?: string[] | 'max', ignoredWorkspaces?: string[], validation?: 'off' | 'warn' | 'strict' | { [package: string]: 'off' | 'warn' | 'strict' } }, list: { [alias: string]: { [packageName: string]: string } } }",B.INVALID_FORMAT);if(!this.validateInheritanceStructure(u))throw new B("Invalid inheritance structure in catalogs configuration. Check for missing parent groups.",B.INVALID_ALIAS);return this.configCache.set(o,u),u}async getRange(r,e,o){let n=await this.readConfiguration(r),a=e.length===0?ee:e,u=this.resolveInheritedRange(n,a,o);if(u)return/^[^:]+:/.test(u)?u:`${r.configuration.get("defaultProtocol")}${u}`;let f=n.list?.[a];if(!f||typeof f=="string")throw new B(`Alias "${a}" not found in .yarnrc.yml catalogs.`,B.INVALID_ALIAS);let g=f[o];if(!g)throw new B(`Package "${o}" not found in alias "${a}"`,B.INVALID_ALIAS);return/^[^:]+:/.test(g)?g:`${r.configuration.get("defaultProtocol")}${g}`}async getDefaultAliasGroups(r){let e=await this.readConfiguration(r.project);if(e.options){if(await this.shouldIgnoreWorkspace(r))return[];if(e.options.default){if(Array.isArray(e.options.default))return e.options.default;if(e.options.default==="max"){let o=Object.keys(e.list||{}),n=[...r.manifest.dependencies,...r.manifest.devDependencies],a=Object.fromEntries(o.map(f=>[f,0]));for(let[f,g]of n)if(g.range.startsWith(P)){let h=g.range.substring(P.length);a[h]=(a[h]||0)+1}let u=Math.max(...Object.values(a));return Object.keys(a).filter(f=>a[f]===u)}}}return[]}async getGroupValidationLevel(r,e){let n=(await this.readConfiguration(r.project)).options?.validation||"warn";if(typeof n=="string")return n;let a=this.getInheritanceChain(e);for(let u=a.length-1;u>=0;u--){let f=a[u];if(n[f]!==void 0)return n[f]}return"warn"}async getValidationLevelForPackage(r,e){let o=(await this.findDependency(r.project,e)).map(({groupName:a})=>a);if(o.length===0)return"off";let n=[];for(let a of o){let u=await this.getGroupValidationLevel(r,a);n.push(u)}return n.includes("strict")?"strict":n.includes("warn")?"warn":"off"}async findDependency(r,e){let o=Ve.structUtils.stringifyIdent(e),n=await this.readConfiguration(r),a=[];for(let u of Object.keys(n.list||{})){let f=this.resolveInheritedRange(n,u,o);f&&a.push({groupName:u,version:f})}return a}clearCache(r){this.configCache.delete(r)}async shouldIgnoreWorkspace(r){if(!r.manifest.name)return!1;let e=await this.readConfiguration(r.project);return e.options?.ignoredWorkspaces?(0,Lt.isMatch)(Ve.structUtils.stringifyIdent(r.manifest.name),e.options.ignoredWorkspaces):!1}async getValidationLevel(r){let e=await this.readConfiguration(r.project);return e.options?.validation&&typeof e.options.validation=="string"?e.options.validation:"warn"}isValidConfiguration(r){if(!r||typeof r!="object"||!("list"in r)||!r.list||typeof r.list!="object")return!1;for(let[e,o]of Object.entries(r.list)){if(!o||typeof o!="object")return!1;for(let n of Object.values(o))if(typeof n!="string")return!1}if("options"in r&&r.options&&typeof r.options=="object"){if("ignoredWorkspaces"in r.options&&r.options.ignoredWorkspaces&&(!Array.isArray(r.options.ignoredWorkspaces)||r.options.ignoredWorkspaces.length===0))return!1;if("default"in r.options&&r.options.default){if(Array.isArray(r.options.default)){if(r.options.default.length===0)return!1;let e=Object.keys(r.list||{});for(let o of r.options.default)if(o!=="root"&&!e.includes(o))if(o.includes("/")){let n=this.getInheritanceChain(o),a=!0;for(let u of n)if(u!=="root"&&!e.includes(u)){a=!1;break}if(!a)return!1}else return!1}else if(typeof r.options.default!="string"||r.options.default!=="max")return!1}if("validation"in r.options){let e=r.options.validation;if(typeof e=="string"){if(!["warn","strict","off"].includes(e))return!1}else if(typeof e=="object"&&e!==null)for(let[o,n]of Object.entries(e)){if(typeof n!="string"||!["warn","strict","off"].includes(n))return!1;let a=Object.keys(r.list||{});if(!a.includes(o)&&o!==ee)if(o.includes("/")){let u=this.getInheritanceChain(o),f=!0;for(let g of u)if(g!==ee&&!a.includes(g)){f=!1;break}if(!f)return!1}else return!1}else return!1}}return!0}};var q=new Le;var Ke=ae("@yarnpkg/core");async function $e(t,r){if(r.range.startsWith(P)||await q.shouldIgnoreWorkspace(t))return null;let e=(await q.findDependency(t.project,r)).map(({groupName:n})=>n);return e.length===0?null:{validationLevel:await q.getValidationLevelForPackage(t,r),applicableGroups:e}}async function $t(t){let r=[...Object.entries(t.manifest.raw.dependencies??{}),...Object.entries(t.manifest.raw.devDependencies??{})].map(([o,n])=>{let a=Ke.structUtils.parseIdent(o);return Ke.structUtils.makeDescriptor(a,n)}),e=[];for(let o of r){let n=await $e(t,o);n&&n.validationLevel!=="off"&&e.push({descriptor:o,validationLevel:n.validationLevel,applicableGroups:n.applicableGroups})}return e}async function Xe(t,r){if(r.range.startsWith(P)){if(await q.shouldIgnoreWorkspace(t))throw new Error(fe.red("The workspace is ignored from the catalogs, but the dependency to add is using the catalog protocol. Consider removing the protocol."));return}let e=await $e(t,r);if(!e)return;let{validationLevel:o,applicableGroups:n}=e,a=await q.getDefaultAliasGroups(t);if(a.length>0){for(let h of a)if(n.includes(h)){r.range=`${P}${h}`;return}}let u=n.map(h=>h===ee?"":h),f=u.filter(h=>h!=="").length>0?` (${u.join(", ")})`:"",g=`\u27A4 ${r.name} is listed in the catalogs config${f}, but it seems you're adding it without the catalog protocol. Consider running 'yarn add ${r.name}@${P}${u[0]}' instead.`;if(o==="strict")throw new Error(fe.red(g));o==="warn"&&console.warn(fe.yellow(g))}var Ir={configuration:{catalogs:{description:"Define dependency version ranges as reusable constants across your project.",type:F.SettingsType.ANY,default:{}}},hooks:{validateWorkspace:async(t,r)=>{let e=await q.shouldIgnoreWorkspace(t);if(!e){let n=await $t(t);if(n.length>0){let a=n.filter(g=>g.validationLevel==="strict"),u=n.filter(g=>g.validationLevel==="warn"),f=g=>`The following dependencies are listed in the catalogs but not using the catalog protocol: ${g.map(C=>fe.yellow(F.structUtils.stringifyDescriptor(C.descriptor))).join(", ")}. Consider using the catalog protocol instead.`;a.length>0&&r.reportError(F.MessageName.INVALID_MANIFEST,f(a)),u.length>0&&r.reportWarning(F.MessageName.INVALID_MANIFEST,f(u))}}let o=[...Object.values(t.manifest.raw.dependencies||{}),...Object.values(t.manifest.raw.devDependencies||{})].some(n=>n.startsWith(P));e&&o&&r.reportError(F.MessageName.INVALID_MANIFEST,"Workspace is ignored from the catalogs, but it has dependencies with the catalog protocol. Consider removing the protocol.")},reduceDependency:async(t,r,...e)=>{let o=t.range.startsWith(P),n=t.range.includes("catalog%3A")&&t.range.startsWith("patch:");if(!o&&!n)return t;try{let a="",u=t.range;if(o)a=t.range.slice(P.length);else if(n){let $=t.range.match(/catalog%3A([^#&]*)/);$&&(a=$[1]||"")}let f=F.structUtils.stringifyIdent(t),g=await q.getRange(r,a,f),h;if(o?h=F.structUtils.makeDescriptor(F.structUtils.makeIdent(t.scope,t.name),g):h=F.structUtils.makeDescriptor(F.structUtils.makeIdent(t.scope,t.name),u.replace(/catalog%3A[^#&]*/,g)),n)return h;let C=await r.configuration.reduceHook($=>$.reduceDependency,h,r,...e);return C!==h?C:h}catch(a){throw a instanceof B?new Error(`Failed to resolve ${F.structUtils.stringifyDescriptor(t)}: ${a.message}`):a}},afterWorkspaceDependencyAddition:async(t,r,e)=>{Xe(t,e)},afterWorkspaceDependencyReplacement:async(t,r,e,o)=>{Xe(t,o)},beforeWorkspacePacking:async(t,r)=>{if(await q.shouldIgnoreWorkspace(t))return;let e=["dependencies","devDependencies","peerDependencies","optionalDependencies"];for(let o of e){let n=r[o];if(!(!n||typeof n!="object"))for(let[a,u]of Object.entries(n)){let f=u;if(f.startsWith(P))try{let g=f.slice(P.length),h=await q.getRange(t.project,g,a);n[a]=h}catch(g){throw g instanceof B?new Error(`Failed to resolve catalog dependency ${a}@${f} during packaging: ${g.message}`):g}}}}}},wr=Ir;return Mt(kr);})(); +`)+t,n=o+1,o=e.indexOf(` +`,n)}while(o!==-1);return s+=e.slice(n),s}var{stdout:it,stderr:at}=ot,He=Symbol("GENERATOR"),le=Symbol("STYLER"),de=Symbol("IS_EMPTY"),ut=["ansi","ansi","ansi256","ansi16m"],fe=Object.create(null),Jt=(e,r={})=>{if(r.level&&!(Number.isInteger(r.level)&&r.level>=0&&r.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let t=it?it.level:0;e.level=r.level===void 0?t:r.level};var er=e=>{let r=(...t)=>t.join(" ");return Jt(r,e),Object.setPrototypeOf(r,he.prototype),r};function he(e){return er(e)}Object.setPrototypeOf(he.prototype,Function.prototype);for(let[e,r]of Object.entries(Y))fe[e]={get(){let t=Se(this,De(r.open,r.close,this[le]),this[de]);return Object.defineProperty(this,e,{value:t}),t}};fe.visible={get(){let e=Se(this,this[le],!0);return Object.defineProperty(this,"visible",{value:e}),e}};var Ne=(e,r,t,...o)=>e==="rgb"?r==="ansi16m"?Y[t].ansi16m(...o):r==="ansi256"?Y[t].ansi256(Y.rgbToAnsi256(...o)):Y[t].ansi(Y.rgbToAnsi(...o)):e==="hex"?Ne("rgb",r,t,...Y.hexToRgb(...o)):Y[t][e](...o),tr=["rgb","hex","ansi256"];for(let e of tr){fe[e]={get(){let{level:t}=this;return function(...o){let n=De(Ne(e,ut[t],"color",...o),Y.color.close,this[le]);return Se(this,n,this[de])}}};let r="bg"+e[0].toUpperCase()+e.slice(1);fe[r]={get(){let{level:t}=this;return function(...o){let n=De(Ne(e,ut[t],"bgColor",...o),Y.bgColor.close,this[le]);return Se(this,n,this[de])}}}}var rr=Object.defineProperties(()=>{},{...fe,level:{enumerable:!0,get(){return this[He].level},set(e){this[He].level=e}}}),De=(e,r,t)=>{let o,n;return t===void 0?(o=e,n=r):(o=t.openAll+e,n=r+t.closeAll),{open:e,close:r,openAll:o,closeAll:n,parent:t}},Se=(e,r,t)=>{let o=(...n)=>or(o,n.length===1?""+n[0]:n.join(" "));return Object.setPrototypeOf(o,rr),o[He]=e,o[le]=r,o[de]=t,o},or=(e,r)=>{if(e.level<=0||!r)return e[de]?"":r;let t=e[le];if(t===void 0)return r;let{openAll:o,closeAll:n}=t;if(r.includes("\x1B"))for(;t!==void 0;)r=nt(r,t.close,t.open),t=t.parent;let s=r.indexOf(` +`);return s!==-1&&(r=st(r,n,o,s)),o+r+n};Object.defineProperties(he.prototype,fe);var nr=he(),Qr=he({level:at?at.level:0});var pe=nr;var P=class extends Error{constructor(t,o){super(t);this.code=o;this.name="CatalogConfigurationError"}static{this.FILE_NOT_FOUND="FILE_NOT_FOUND"}static{this.INVALID_FORMAT="INVALID_FORMAT"}static{this.INVALID_ALIAS="INVALID_ALIAS"}};var kt=ue("@yarnpkg/core"),wt=Ee(It());var Q="root",W="catalog:";function ne(e){let r=e.split("/"),t=[];for(let o=0;o(typeof h=="string"?p[Q]={...p[Q]||{},[g]:h}:p[g]=h,p),{}):c.list={},!this.isValidConfiguration(c))throw new P("Invalid catalogs configuration format. Expected structure: { options?: { default?: string[] | 'max', ignoredWorkspaces?: string[], validation?: 'off' | 'warn' | 'strict' | { [package: string]: 'off' | 'warn' | 'strict' } }, list: { [alias: string]: { [packageName: string]: string } } }",P.INVALID_FORMAT);if(!this.validateInheritanceStructure(c))throw new P("Invalid inheritance structure in catalogs configuration. Check for missing parent groups.",P.INVALID_ALIAS);return this.configCache.set(o,c),c}clearCache(r){let t=r.cwd;this.configCache.delete(t)}validateInheritanceStructure(r){if(!r.list)return!0;let t=Object.keys(r.list);for(let o of t)if(typeof r.list[o]!="string"&&o.includes("/")){let n=ne(o);for(let s=0;s=0;s--){let c=o[s],p=e.list?.[c];if(p&&typeof p=="object"){let g=p[t];if(g)return g}}if(e.list&&typeof e.list=="object"){let s=e.list[t];if(typeof s=="string")return s}let n=e.list?.[Q];if(n&&typeof n=="object"){let s=n[t];if(s)return s}return null}async function qe(e,r){if(r.range.startsWith(W)){if(await V.shouldIgnoreWorkspace(e))throw new Error(pe.red("The workspace is ignored from the catalogs, but the dependency to add is using the catalog protocol. Consider removing the protocol."));return}let t=await Qe(e,r);if(!t)return;let{validationLevel:o,applicableGroups:n}=t,s=await Ye(e);if(s.length>0){for(let h of s)if(n.includes(h)){r.range=`${W}${h}`;return}}let c=n.map(h=>h===Q?"":h),p=c.filter(h=>h!=="").length>0?` (${c.join(", ")})`:"",g=`\u27A4 ${r.name} is listed in the catalogs config${p}, but it seems you're adding it without the catalog protocol. Consider running 'yarn add ${r.name}@${W}${c[0]}' instead.`;if(o==="strict")throw new Error(pe.red(g));o==="warn"&&console.warn(pe.yellow(g))}async function Ye(e){let r=await V.readConfiguration(e.project);if(r.options){if(await V.shouldIgnoreWorkspace(e))return[];if(r.options.default){if(Array.isArray(r.options.default))return r.options.default;if(r.options.default==="max"){let t=Object.keys(r.list||{}),o=[...e.manifest.dependencies,...e.manifest.devDependencies],n=Object.fromEntries(t.map(c=>[c,0]));for(let[c,p]of o)if(p.range.startsWith(W)){let g=p.range.substring(W.length);n[g]=(n[g]||0)+1}let s=Math.max(...Object.values(n));return Object.keys(n).filter(c=>n[c]===s)}}}return[]}async function Qe(e,r){if(r.range.startsWith(W)||await V.shouldIgnoreWorkspace(e))return null;let t=await Ye(e),o=Ie.structUtils.stringifyIdent(r),s=(await Xe(e.project,o)).flatMap(({groupName:p})=>t.length===0||t.includes(p)?[p]:[]);return s.length===0?null:{validationLevel:await Gr(e,o),applicableGroups:s}}async function Nt(e){let r=[...Object.entries(e.manifest.raw.dependencies??{}),...Object.entries(e.manifest.raw.devDependencies??{})].map(([o,n])=>{let s=Ie.structUtils.parseIdent(o);return Ie.structUtils.makeDescriptor(s,n)}),t=[];for(let o of r){let n=await Qe(e,o);n&&n.validationLevel!=="off"&&t.push({descriptor:o,validationLevel:n.validationLevel,applicableGroups:n.applicableGroups})}return t}async function Dr(e,r){let o=(await V.readConfiguration(e.project)).options?.validation||"warn";if(typeof o=="string")return o;let n=ne(r);for(let s=n.length-1;s>=0;s--){let c=n[s];if(o[c]!==void 0)return o[c]}return"warn"}async function Gr(e,r){let t=(await Xe(e.project,r)).map(({groupName:n})=>n);if(t.length===0)return"off";let o=[];for(let n of t){let s=await Dr(e,n);o.push(s)}return o.includes("strict")?"strict":o.includes("warn")?"warn":"off"}var Pr={configuration:{catalogs:{description:"Define dependency version ranges as reusable constants across your project.",type:j.SettingsType.ANY,default:{}}},hooks:{validateWorkspace:async(e,r)=>{let t=await V.shouldIgnoreWorkspace(e);if(!t){let n=await Nt(e);if(n.length>0){let s=n.filter(g=>g.validationLevel==="strict"),c=n.filter(g=>g.validationLevel==="warn"),p=g=>`The following dependencies are listed in the catalogs but not using the catalog protocol: ${g.map(m=>pe.yellow(j.structUtils.stringifyDescriptor(m.descriptor))).join(", ")}. Consider using the catalog protocol instead.`;s.length>0&&r.reportError(j.MessageName.INVALID_MANIFEST,p(s)),c.length>0&&r.reportWarning(j.MessageName.INVALID_MANIFEST,p(c))}}let o=[...Object.values(e.manifest.raw.dependencies||{}),...Object.values(e.manifest.raw.devDependencies||{})].some(n=>n.startsWith(W));t&&o&&r.reportError(j.MessageName.INVALID_MANIFEST,"Workspace is ignored from the catalogs, but it has dependencies with the catalog protocol. Consider removing the protocol.")},reduceDependency:async(e,r,...t)=>{let o=e.range.startsWith(W),n=e.range.includes("catalog%3A")&&e.range.startsWith("patch:");if(!o&&!n)return e;try{let s="",c=e.range;if(o)s=e.range.slice(W.length);else if(n){let $=e.range.match(/catalog%3A([^#&]*)/);$&&(s=$[1]||"")}let p=j.structUtils.stringifyIdent(e),g=await Ke(r,s,p),h;if(o?h=j.structUtils.makeDescriptor(j.structUtils.makeIdent(e.scope,e.name),g):h=j.structUtils.makeDescriptor(j.structUtils.makeIdent(e.scope,e.name),c.replace(/catalog%3A[^#&]*/,g)),n)return h;let m=await r.configuration.reduceHook($=>$.reduceDependency,h,r,...t);return m!==h?m:h}catch(s){throw s instanceof P?new Error(`Failed to resolve ${j.structUtils.stringifyDescriptor(e)}: ${s.message}`):s}},afterWorkspaceDependencyAddition:async(e,r,t)=>{qe(e,t)},afterWorkspaceDependencyReplacement:async(e,r,t,o)=>{qe(e,o)},beforeWorkspacePacking:async(e,r)=>{if(await V.shouldIgnoreWorkspace(e))return;let t=["dependencies","devDependencies","peerDependencies","optionalDependencies"];for(let o of t){let n=r[o];if(!(!n||typeof n!="object"))for(let[s,c]of Object.entries(n)){let p=c;if(p.startsWith(W))try{let g=p.slice(W.length),h=await Ke(e.project,g,s);n[s]=h}catch(g){throw g instanceof P?new Error(`Failed to resolve catalog dependency ${s}@${p} during packaging: ${g.message}`):g}}}}}},Mr=Pr;return Ut(Br);})(); return plugin; } }; diff --git a/sources/__tests__/validation.test.ts b/sources/__tests__/validation.test.ts index 9ba6142..4bcb2d8 100644 --- a/sources/__tests__/validation.test.ts +++ b/sources/__tests__/validation.test.ts @@ -1,7 +1,7 @@ import { describe, it, expect, afterEach } from "vitest"; import { createTestWorkspace, - TestWorkspace, + type TestWorkspace, extractDependencies, } from "./utils"; diff --git a/sources/__tests__/warnings.test.ts b/sources/__tests__/warnings.test.ts index 301fc12..5a761dc 100644 --- a/sources/__tests__/warnings.test.ts +++ b/sources/__tests__/warnings.test.ts @@ -93,7 +93,7 @@ describe("warnings and recommendations", () => { expect(dependencies).includes("react@npm:18.0.0"); }); - it("should warn when adding a dependency not in the default alias group", async () => { + it("should not warn when adding a dependency not in the default alias group", async () => { workspace = await createTestWorkspace(); await workspace.writeYarnrc({ @@ -115,7 +115,7 @@ describe("warnings and recommendations", () => { await workspace.yarn.add("react"); const { stderr } = await workspace.yarn.add("lodash"); - expect(stderr).toContain("lodash@catalog:stable"); + expect(stderr).not.toContain("lodash@catalog:stable"); const { stdout: listOutput } = await workspace.yarn.info(); const dependencies = extractDependencies(listOutput); @@ -178,4 +178,43 @@ describe("warnings and recommendations", () => { const dependencies = extractDependencies(listOutput); expect(dependencies).includes("react@npm:17.0.0"); }); + + it("should us default alias group without validation error (default: max)", async () => { + workspace = await createTestWorkspace(); + + await workspace.writeYarnrc({ + catalogs: { + options: { + default: "max", + }, + list: { + beta: { + react: "npm:18.0.0", + lodash: "npm:3.0.0", + }, + stable: { + react: "npm:17.0.0", + lodash: "npm:2.0.0", + }, + }, + }, + }); + + await workspace.writeJson("package.json", { + name: "test-workspace", + version: "1.0.0", + private: true, + dependencies: { + react: "catalog:stable", + lodash: "catalog:stable", + }, + }); + + const { stderr } = await workspace.yarn.add("lodash"); + expect(stderr).toBe(""); + + const { stdout: listOutput } = await workspace.yarn.info(); + const dependencies = extractDependencies(listOutput); + expect(dependencies).includes("lodash@npm:2.0.0"); + }); }); diff --git a/sources/utils/default.ts b/sources/utils/default.ts index 6baa740..44ead8a 100644 --- a/sources/utils/default.ts +++ b/sources/utils/default.ts @@ -60,7 +60,9 @@ export async function fallbackDefaultAliasGroup( /** * Get the default alias group from the configuration if it exists */ -async function getDefaultAliasGroups(workspace: Workspace): Promise { +export async function getDefaultAliasGroups( + workspace: Workspace, +): Promise { const config = await configReader.readConfiguration(workspace.project); if (config.options) { diff --git a/sources/utils/resolution.ts b/sources/utils/resolution.ts index 76b485e..25c5ab9 100644 --- a/sources/utils/resolution.ts +++ b/sources/utils/resolution.ts @@ -70,9 +70,8 @@ export async function resolveCatalogDependency( */ export async function findAllGroupsWithSpecificDependency( project: Project, - dependency: Descriptor, + packageName: string, ): Promise> { - const dependencyString = structUtils.stringifyIdent(dependency); const config = await configReader.readConfiguration(project); const results: Array<{ groupName: string; version: string }> = []; @@ -81,7 +80,7 @@ export async function findAllGroupsWithSpecificDependency( const resolvedVersion = resolveInheritedRange( config, groupName, - dependencyString, + packageName, ); if (resolvedVersion) { diff --git a/sources/utils/validation.ts b/sources/utils/validation.ts index 9f3a73e..0ce2319 100644 --- a/sources/utils/validation.ts +++ b/sources/utils/validation.ts @@ -4,6 +4,7 @@ import { getInheritanceChain } from "./functions"; import { configReader } from "../configuration"; import { findAllGroupsWithSpecificDependency } from "./resolution"; import { CATALOG_PROTOCOL } from "../constants"; +import { getDefaultAliasGroups } from "./default"; /** * Check if a package can be used with the catalog protocol @@ -25,18 +26,29 @@ export async function validateCatalogUsability( return null; } + const defaultAliasGroups = await getDefaultAliasGroups(workspace); + // Find all groups that can access this package - const accessibleGroups = ( - await findAllGroupsWithSpecificDependency(workspace.project, descriptor) - ).map(({ groupName }) => groupName); + const packageName = structUtils.stringifyIdent(descriptor); + const groupsWithDependency = await findAllGroupsWithSpecificDependency( + workspace.project, + packageName, + ); + const accessibleGroups = groupsWithDependency.flatMap(({ groupName }) => + defaultAliasGroups.length === 0 || defaultAliasGroups.includes(groupName) + ? [groupName] + : [], + ); - // Return null if no applicable groups found if (accessibleGroups.length === 0) { return null; } // Get validation level for the package - const validationLevel = await getPackageVaidationLevel(workspace, descriptor); + const validationLevel = await getPackageVaidationLevel( + workspace, + packageName, + ); return { validationLevel, @@ -114,10 +126,10 @@ async function getGroupValidationLevel( */ async function getPackageVaidationLevel( workspace: Workspace, - descriptor: Descriptor, + packageName: string, ): Promise { const accessibleGroups = ( - await findAllGroupsWithSpecificDependency(workspace.project, descriptor) + await findAllGroupsWithSpecificDependency(workspace.project, packageName) ).map(({ groupName }) => groupName); if (accessibleGroups.length === 0) {