@zeroheight/adoption-cli 3.4.2 → 3.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -1
- package/dist/cli.js +3 -3
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
# Release notes
|
|
2
2
|
|
|
3
|
+
## [3.5.0](https://www.npmjs.com/package/@zeroheight/adoption-cli/v/3.5.0) - 8th August 2025
|
|
4
|
+
|
|
5
|
+
- Send framework with component usage data to zeroheight
|
|
6
|
+
|
|
3
7
|
## [3.4.2](https://www.npmjs.com/package/@zeroheight/adoption-cli/v/3.4.2) - 29th July 2025
|
|
4
8
|
|
|
5
9
|
- Update copy to improve clarity and fix typos
|
|
6
10
|
|
|
7
|
-
|
|
8
11
|
## [3.4.1](https://www.npmjs.com/package/@zeroheight/adoption-cli/v/3.4.1) - 9th July 2025
|
|
9
12
|
|
|
10
13
|
- Fix issue with package paths overflowing in `track-package` command
|
package/dist/cli.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import*as e from"glob";import*as t from"ignore";import*as i from"yaml";import*as s from"chalk";import*as r from"cli-truncate";import*as n from"os";import*as a from"pino";import*as o from"pino-pretty";import*as l from"@inkjs/ui";import*as h from"commander";import*as c from"fs";import*as u from"ink";import*as d from"ink-link";import*as f from"ink-render-string";import*as p from"ink-spinner";import*as m from"ink-text-input";import*as g from"oxc-parser";import*as y from"path";import*as E from"react";import*as w from"semver";import*as x from"yn";import{createRequire as v}from"node:module";var b,S,k,T,C,A={929:function(e,t,i){(()=>{var e,s,r={623:function(e){"use strict";function t(e,t,r){e instanceof RegExp&&(e=i(e,r)),t instanceof RegExp&&(t=i(t,r));var n=s(e,t,r);return n&&{start:n[0],end:n[1],pre:r.slice(0,n[0]),body:r.slice(n[0]+e.length,n[1]),post:r.slice(n[1]+t.length)}}function i(e,t){var i=t.match(e);return i?i[0]:null}function s(e,t,i){var s,r,n,a,o,l=i.indexOf(e),h=i.indexOf(t,l+1),c=l;if(l>=0&&h>0){if(e===t)return[l,h];for(s=[],n=i.length;c>=0&&!o;)c==l?(s.push(c),l=i.indexOf(e,c+1)):1==s.length?o=[s.pop(),h]:((r=s.pop())<n&&(n=r,a=h),h=i.indexOf(t,c+1)),c=l<h&&l>=0?l:h;s.length&&(o=[n,a])}return o}e.exports=t,t.range=s},644:function(e,t,i){var s=i(623);e.exports=function(e){return e?("{}"===e.substr(0,2)&&(e="\\{\\}"+e.substr(2)),(function e(t,i){var r=[],n=s("{","}",t);if(!n)return[t];var o=n.pre,l=n.post.length?e(n.post,!1):[""];if(/\$$/.test(n.pre))for(var c=0;c<l.length;c++){var m=o+"{"+n.body+"}"+l[c];r.push(m)}else{var g=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(n.body),y=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(n.body),E=g||y,w=n.body.indexOf(",")>=0;if(!E&&!w)return n.post.match(/,.*\}/)?e(t=n.pre+"{"+n.body+a+n.post):[t];if(E)x=n.body.split(/\.\./);else if(1===(x=function e(t){if(!t)return[""];var i=[],r=s("{","}",t);if(!r)return t.split(",");var n=r.pre,a=r.body,o=r.post,l=n.split(",");l[l.length-1]+="{"+a+"}";var h=e(o);return o.length&&(l[l.length-1]+=h.shift(),l.push.apply(l,h)),i.push.apply(i,l),i}(n.body)).length&&1===(x=e(x[0],!1).map(u)).length)return l.map(function(e){return n.pre+x[0]+e});if(E){var x,v,b,S=h(x[0]),k=h(x[1]),T=Math.max(x[0].length,x[1].length),C=3==x.length?Math.abs(h(x[2])):1,A=f;k<S&&(C*=-1,A=p);var O=x.some(d);v=[];for(var z=S;A(z,k);z+=C){if(y)"\\"===(b=String.fromCharCode(z))&&(b="");else if(b=String(z),O){var L=T-b.length;if(L>0){var _=Array(L+1).join("0");b=z<0?"-"+_+b.slice(1):_+b}}v.push(b)}}else{v=[];for(var F=0;F<x.length;F++)v.push.apply(v,e(x[F],!1))}for(var F=0;F<v.length;F++)for(var c=0;c<l.length;c++){var m=o+v[F]+l[c];(!i||E||m)&&r.push(m)}}return r})(e.split("\\\\").join(r).split("\\{").join(n).split("\\}").join(a).split("\\,").join(o).split("\\.").join(l),!0).map(c)):[]};var r="\0SLASH"+Math.random()+"\0",n="\0OPEN"+Math.random()+"\0",a="\0CLOSE"+Math.random()+"\0",o="\0COMMA"+Math.random()+"\0",l="\0PERIOD"+Math.random()+"\0";function h(e){return parseInt(e,10)==e?parseInt(e,10):e.charCodeAt(0)}function c(e){return e.split(r).join("\\").split(n).join("{").split(a).join("}").split(o).join(",").split(l).join(".")}function u(e){return"{"+e+"}"}function d(e){return/^-?0\d/.test(e)}function f(e,t){return e<=t}function p(e,t){return e>=t}},151:function(e){function t(e){return Array.isArray(e)?e:[e]}let i=void 0,s=/^\s+$/,r=/(?:[^\\]|^)\\$/,n=/^\\!/,a=/^\\#/,o=/\r?\n/g,l=/^\.{0,2}\/|^\.{1,2}$/,h=/\/$/,c="node-ignore";"undefined"!=typeof Symbol&&(c=Symbol.for("node-ignore"));let u=c,d=(e,t,i)=>(Object.defineProperty(e,t,{value:i}),i),f=/([0-z])-([0-z])/g,p=()=>!1,m=e=>e.replace(f,(e,t,i)=>t.charCodeAt(0)<=i.charCodeAt(0)?e:""),g=e=>{let{length:t}=e;return e.slice(0,t-t%2)},y=[[/^\uFEFF/,()=>""],[/((?:\\\\)*?)(\\?\s+)$/,(e,t,i)=>t+(0===i.indexOf("\\")?" ":"")],[/(\\+?)\s/g,(e,t)=>{let{length:i}=t;return t.slice(0,i-i%2)+" "}],[/[\\$.|*+(){^]/g,e=>`\\${e}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(e,t,i)=>t+6<i.length?"(?:\\/[^\\/]+)*":"\\/.+"],[/(^|[^\\]+)(\\\*)+(?=.+)/g,(e,t,i)=>t+i.replace(/\\\*/g,"[^\\/]*")],[/\\\\\\(?=[$.|*+(){^])/g,()=>"\\"],[/\\\\/g,()=>"\\"],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(e,t,i,s,r)=>"\\"===t?`\\[${i}${g(s)}${r}`:"]"===r&&s.length%2==0?`[${m(i)}${s}]`:"[]"],[/(?:[^*])$/,e=>/\/$/.test(e)?`${e}$`:`${e}(?=$|\\/$)`]],E=/(^|\\\/)?\\\*$/,w="regex",x="checkRegex",v={[w](e,t){let i=t?`${t}[^/]+`:"[^/]*";return`${i}(?=$|\\/$)`},[x](e,t){let i=t?`${t}[^/]*`:"[^/]*";return`${i}(?=$|\\/$)`}},b=e=>y.reduce((t,[i,s])=>t.replace(i,s.bind(e)),e),S=e=>"string"==typeof e,k=e=>e&&S(e)&&!s.test(e)&&!r.test(e)&&0!==e.indexOf("#"),T=e=>e.split(o).filter(Boolean);class C{constructor(e,t,i,s,r,n){this.pattern=e,this.mark=t,this.negative=r,d(this,"body",i),d(this,"ignoreCase",s),d(this,"regexPrefix",n)}get regex(){let e="_"+w;return this[e]?this[e]:this._make(w,e)}get checkRegex(){let e="_"+x;return this[e]?this[e]:this._make(x,e)}_make(e,t){let i=this.regexPrefix.replace(E,v[e]);return d(this,t,this.ignoreCase?RegExp(i,"i"):new RegExp(i))}}let A=({pattern:e,mark:t},i)=>{let s=!1,r=e;0===r.indexOf("!")&&(s=!0,r=r.substr(1));let o=b(r=r.replace(n,"!").replace(a,"#"));return new C(e,t,r,i,s,o)};class O{constructor(e){this._ignoreCase=e,this._rules=[]}_add(e){if(e&&e[u]){this._rules=this._rules.concat(e._rules._rules),this._added=!0;return}if(S(e)&&(e={pattern:e}),k(e.pattern)){let t=A(e,this._ignoreCase);this._added=!0,this._rules.push(t)}}add(e){return this._added=!1,t(S(e)?T(e):e).forEach(this._add,this),this._added}test(e,t,s){let r,n=!1,a=!1;this._rules.forEach(o=>{let{negative:l}=o;(a!==l||n===a)&&(!l||n||a||t)&&o[s].test(e)&&(n=!l,a=l,r=l?i:o)});let o={ignored:n,unignored:a};return r&&(o.rule=r),o}}let z=(e,t)=>{throw new t(e)},L=(e,t,i)=>S(e)?e?!L.isNotRelative(e)||i(`path should be a \`path.relative()\`d string, but got "${t}"`,RangeError):i("path must not be empty",TypeError):i(`path must be a string, but got \`${t}\``,TypeError),_=e=>l.test(e);L.isNotRelative=_,L.convert=e=>e;class F{constructor({ignorecase:e=!0,ignoreCase:t=e,allowRelativePaths:i=!1}={}){d(this,u,!0),this._rules=new O(t),this._strictPathCheck=!i,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}add(e){return this._rules.add(e)&&this._initCache(),this}addPattern(e){return this.add(e)}_test(e,t,i,s){let r=e&&L.convert(e);return L(r,e,this._strictPathCheck?z:p),this._t(r,t,i,s)}checkIgnore(e){if(!h.test(e))return this.test(e);let t=e.split("/").filter(Boolean);if(t.pop(),t.length){let e=this._t(t.join("/")+"/",this._testCache,!0,t);if(e.ignored)return e}return this._rules.test(e,!1,x)}_t(e,t,i,s){if(e in t)return t[e];if(s||(s=e.split("/").filter(Boolean)),s.pop(),!s.length)return t[e]=this._rules.test(e,i,w);let r=this._t(s.join("/")+"/",t,i,s);return t[e]=r.ignored?r:this._rules.test(e,i,w)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return t(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}}let D=e=>new F(e);if("undefined"!=typeof process&&(process.env&&process.env.IGNORE_TEST_WIN32||"win32"===process.platform)){L.convert=e=>/^\\\\\?\\/.test(e)||/["<>|\u0000-\u001F]+/u.test(e)?e:e.replace(/\\/g,"/");let e=/^[a-z]:\//i;L.isNotRelative=t=>e.test(t)||_(t)}e.exports=D,D.default=D,e.exports.isPathValid=e=>L(e&&L.convert(e),e,p)}},n={};function a(e){var t=n[e];if(void 0!==t)return t.exports;var i=n[e]={exports:{}};return r[e](i,i.exports,a),i.exports}a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},s=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,a.t=function(t,i){if(1&i&&(t=this(t)),8&i||"object"==typeof t&&t&&(4&i&&t.__esModule||16&i&&"function"==typeof t.then))return t;var r=Object.create(null);a.r(r);var n={};e=e||[null,s({}),s([]),s(s)];for(var o=2&i&&t;"object"==typeof o&&!~e.indexOf(o);o=s(o))Object.getOwnPropertyNames(o).forEach(e=>{n[e]=()=>t[e]});return n.default=()=>t,a.d(r,n),r},a.d=(e,t)=>{for(var i in t)a.o(t,i)&&!a.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};for(var l in(()=>{"use strict";a.r(o),a.d(o,{Transformers:()=>t,Analyzers:()=>e});var e={};a.r(e),a.d(e,{analyzeComponentUsage:()=>is,analyzeRawColorUsage:()=>ii,countColorOccurrences:()=>ir});var t={};a.r(t),a.d(t,{transformComponentUsage:()=>ia,transformRawColorUsage:()=>io});let s=i(292),r=i(403);var n=a.n(r);let l=i(727);var h=a(644);let c=e=>{if("string"!=typeof e)throw TypeError("invalid pattern");if(e.length>65536)throw TypeError("pattern is too long")},u={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},d=e=>e.replace(/[[\]\\-]/g,"\\$&"),f=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),p=e=>e.join(""),m=(e,t)=>{if("["!==e.charAt(t))throw Error("not in a brace expression");let i=[],s=[],r=t+1,n=!1,a=!1,o=!1,l=!1,h=t,c="";e:for(;r<e.length;){let f=e.charAt(r);if(("!"===f||"^"===f)&&r===t+1){l=!0,r++;continue}if("]"===f&&n&&!o){h=r+1;break}if(n=!0,"\\"===f&&!o){o=!0,r++;continue}if("["===f&&!o){for(let[n,[o,l,h]]of Object.entries(u))if(e.startsWith(n,r)){if(c)return["$.",!1,e.length-t,!0];r+=n.length,h?s.push(o):i.push(o),a=a||l;continue e}}if(o=!1,c){f>c?i.push(d(c)+"-"+d(f)):f===c&&i.push(d(f)),c="",r++;continue}if(e.startsWith("-]",r+1)){i.push(d(f+"-")),r+=2;continue}if(e.startsWith("-",r+1)){c=f,r+=2;continue}i.push(d(f)),r++}if(h<r)return["",!1,0,!1];if(!i.length&&!s.length)return["$.",!1,e.length-t,!0];if(0===s.length&&1===i.length&&/^\\?.$/.test(i[0])&&!l)return[f(2===i[0].length?i[0].slice(-1):i[0]),!1,h-t,!1];let m="["+(l?"^":"")+p(i)+"]",g="["+(l?"":"^")+p(s)+"]";return[i.length&&s.length?"("+m+"|"+g+")":i.length?m:g,a,h-t,!0]},g=(e,{windowsPathsNoEscape:t=!1}={})=>t?e.replace(/\[([^\/\\])\]/g,"$1"):e.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1"),y=new Set(["!","?","+","*","@"]),E=e=>y.has(e),w="(?!\\.)",x=new Set(["[","."]),v=new Set(["..","."]),b=new Set("().*{}+?[]^$\\!"),S=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),k="[^/]",T=k+"*?",C=k+"+?";class A{type;#e;#t;#i=!1;#s=[];#r;#n;#a;#o=!1;#l;#h;#c=!1;constructor(e,t,i={}){this.type=e,e&&(this.#t=!0),this.#r=t,this.#e=this.#r?this.#r.#e:this,this.#l=this.#e===this?i:this.#e.#l,this.#a=this.#e===this?[]:this.#e.#a,"!"!==e||this.#e.#o||this.#a.push(this),this.#n=this.#r?this.#r.#s.length:0}get hasMagic(){if(void 0!==this.#t)return this.#t;for(let e of this.#s)if("string"!=typeof e&&(e.type||e.hasMagic))return this.#t=!0;return this.#t}toString(){return void 0!==this.#h?this.#h:this.type?this.#h=this.type+"("+this.#s.map(e=>String(e)).join("|")+")":this.#h=this.#s.map(e=>String(e)).join("")}#u(){let e;if(this!==this.#e)throw Error("should only call on root");if(this.#o)return this;for(this.toString(),this.#o=!0;e=this.#a.pop();){if("!"!==e.type)continue;let t=e,i=t.#r;for(;i;){for(let s=t.#n+1;!i.type&&s<i.#s.length;s++)for(let t of e.#s){if("string"==typeof t)throw Error("string part in extglob AST??");t.copyIn(i.#s[s])}i=(t=i).#r}}return this}push(...e){for(let t of e)if(""!==t){if("string"!=typeof t&&!(t instanceof A&&t.#r===this))throw Error("invalid part: "+t);this.#s.push(t)}}toJSON(){let e=null===this.type?this.#s.slice().map(e=>"string"==typeof e?e:e.toJSON()):[this.type,...this.#s.map(e=>e.toJSON())];return this.isStart()&&!this.type&&e.unshift([]),this.isEnd()&&(this===this.#e||this.#e.#o&&this.#r?.type==="!")&&e.push({}),e}isStart(){if(this.#e===this)return!0;if(!this.#r?.isStart())return!1;if(0===this.#n)return!0;let e=this.#r;for(let t=0;t<this.#n;t++){let i=e.#s[t];if(!(i instanceof A&&"!"===i.type))return!1}return!0}isEnd(){if(this.#e===this||this.#r?.type==="!")return!0;if(!this.#r?.isEnd())return!1;if(!this.type)return this.#r?.isEnd();let e=this.#r?this.#r.#s.length:0;return this.#n===e-1}copyIn(e){"string"==typeof e?this.push(e):this.push(e.clone(this))}clone(e){let t=new A(this.type,e);for(let e of this.#s)t.copyIn(e);return t}static #d(e,t,i,s){let r=!1,n=!1,a=-1,o=!1;if(null===t.type){let l=i,h="";for(;l<e.length;){let i=e.charAt(l++);if(r||"\\"===i){r=!r,h+=i;continue}if(n){l===a+1?("^"===i||"!"===i)&&(o=!0):"]"!==i||l===a+2&&o||(n=!1),h+=i;continue}if("["===i){n=!0,a=l,o=!1,h+=i;continue}if(!s.noext&&E(i)&&"("===e.charAt(l)){t.push(h),h="";let r=new A(i,t);l=A.#d(e,r,l,s),t.push(r);continue}h+=i}return t.push(h),l}let l=i+1,h=new A(null,t),c=[],u="";for(;l<e.length;){let i=e.charAt(l++);if(r||"\\"===i){r=!r,u+=i;continue}if(n){l===a+1?("^"===i||"!"===i)&&(o=!0):"]"!==i||l===a+2&&o||(n=!1),u+=i;continue}if("["===i){n=!0,a=l,o=!1,u+=i;continue}if(E(i)&&"("===e.charAt(l)){h.push(u),u="";let t=new A(i,h);h.push(t),l=A.#d(e,t,l,s);continue}if("|"===i){h.push(u),u="",c.push(h),h=new A(null,t);continue}if(")"===i)return""===u&&0===t.#s.length&&(t.#c=!0),h.push(u),u="",t.push(...c,h),l;u+=i}return t.type=null,t.#t=void 0,t.#s=[e.substring(i-1)],l}static fromGlob(e,t={}){let i=new A(null,void 0,t);return A.#d(e,i,0,t),i}toMMPattern(){if(this!==this.#e)return this.#e.toMMPattern();let e=this.toString(),[t,i,s,r]=this.toRegExpSource();return s||this.#t||this.#l.nocase&&!this.#l.nocaseMagicOnly&&e.toUpperCase()!==e.toLowerCase()?Object.assign(RegExp(`^${t}$`,(this.#l.nocase?"i":"")+(r?"u":"")),{_src:t,_glob:e}):i}get options(){return this.#l}toRegExpSource(e){let t=e??!!this.#l.dot;if(this.#e===this&&this.#u(),!this.type){let i=this.isStart()&&this.isEnd(),s=this.#s.map(t=>{let[s,r,n,a]="string"==typeof t?A.#f(t,this.#t,i):t.toRegExpSource(e);return this.#t=this.#t||n,this.#i=this.#i||a,s}).join(""),r="";if(this.isStart()&&"string"==typeof this.#s[0]&&!(1===this.#s.length&&v.has(this.#s[0]))){let i=t&&x.has(s.charAt(0))||s.startsWith("\\.")&&x.has(s.charAt(2))||s.startsWith("\\.\\.")&&x.has(s.charAt(4)),n=!t&&!e&&x.has(s.charAt(0));r=i?"(?!(?:^|/)\\.\\.?(?:$|/))":n?w:""}let n="";return this.isEnd()&&this.#e.#o&&this.#r?.type==="!"&&(n="(?:$|\\/)"),[r+s+n,g(s),this.#t=!!this.#t,this.#i]}let i="*"===this.type||"+"===this.type,s="!"===this.type?"(?:(?!(?:":"(?:",r=this.#p(t);if(this.isStart()&&this.isEnd()&&!r&&"!"!==this.type){let e=this.toString();return this.#s=[e],this.type=null,this.#t=void 0,[e,g(this.toString()),!1,!1]}let n=!i||e||t||!w?"":this.#p(!0);n===r&&(n=""),n&&(r=`(?:${r})(?:${n})*?`);let a="";return["!"===this.type&&this.#c?(this.isStart()&&!t?w:"")+C:s+r+("!"===this.type?"))"+(!this.isStart()||t||e?"":w)+T+")":"@"===this.type?")":"?"===this.type?")?":"+"===this.type&&n?")":"*"===this.type&&n?")?":`)${this.type}`),g(r),this.#t=!!this.#t,this.#i]}#p(e){return this.#s.map(t=>{if("string"==typeof t)throw Error("string type in extglob ast??");let[i,s,r,n]=t.toRegExpSource(e);return this.#i=this.#i||n,i}).filter(e=>!(this.isStart()&&this.isEnd())||!!e).join("|")}static #f(e,t,i=!1){let s=!1,r="",n=!1;for(let a=0;a<e.length;a++){let o=e.charAt(a);if(s){s=!1,r+=(b.has(o)?"\\":"")+o;continue}if("\\"===o){a===e.length-1?r+="\\\\":s=!0;continue}if("["===o){let[i,s,o,l]=m(e,a);if(o){r+=i,n=n||s,a+=o-1,t=t||l;continue}}if("*"===o){i&&"*"===e?r+=C:r+=T,t=!0;continue}if("?"===o){r+=k,t=!0;continue}r+=S(o)}return[r,g(e),!!t,n]}}let O=(e,{windowsPathsNoEscape:t=!1}={})=>t?e.replace(/[?*()[\]]/g,"[$&]"):e.replace(/[?*()[\]\\]/g,"\\$&"),z=(e,t,i={})=>(c(t),(!!i.nocomment||"#"!==t.charAt(0))&&new er(t,i).match(e)),L=/^\*+([^+@!?\*\[\(]*)$/,_=e=>t=>!t.startsWith(".")&&t.endsWith(e),F=e=>t=>t.endsWith(e),D=e=>(e=e.toLowerCase(),t=>!t.startsWith(".")&&t.toLowerCase().endsWith(e)),M=e=>(e=e.toLowerCase(),t=>t.toLowerCase().endsWith(e)),P=/^\*+\.\*+$/,N=e=>!e.startsWith(".")&&e.includes("."),R=e=>"."!==e&&".."!==e&&e.includes("."),B=/^\.\*+$/,j=e=>"."!==e&&".."!==e&&e.startsWith("."),I=/^\*+$/,$=e=>0!==e.length&&!e.startsWith("."),W=e=>0!==e.length&&"."!==e&&".."!==e,U=/^\?+([^+@!?\*\[\(]*)?$/,G=([e,t=""])=>{let i=q([e]);return t?(t=t.toLowerCase(),e=>i(e)&&e.toLowerCase().endsWith(t)):i},Z=([e,t=""])=>{let i=J([e]);return t?(t=t.toLowerCase(),e=>i(e)&&e.toLowerCase().endsWith(t)):i},V=([e,t=""])=>{let i=J([e]);return t?e=>i(e)&&e.endsWith(t):i},H=([e,t=""])=>{let i=q([e]);return t?e=>i(e)&&e.endsWith(t):i},q=([e])=>{let t=e.length;return e=>e.length===t&&!e.startsWith(".")},J=([e])=>{let t=e.length;return e=>e.length===t&&"."!==e&&".."!==e},Y="object"==typeof process&&process?"object"==typeof process.env&&process.env&&process.env.__MINIMATCH_TESTING_PLATFORM__||process.platform:"posix",X={win32:{sep:"\\"},posix:{sep:"/"}};z.sep="win32"===Y?X.win32.sep:X.posix.sep;let K=Symbol("globstar **");z.GLOBSTAR=K;let Q="[^/]*?";z.filter=(e,t={})=>i=>z(i,e,t);let ee=(e,t={})=>Object.assign({},e,t);z.defaults=e=>{if(!e||"object"!=typeof e||!Object.keys(e).length)return z;let t=z;return Object.assign((i,s,r={})=>t(i,s,ee(e,r)),{Minimatch:class extends t.Minimatch{constructor(t,i={}){super(t,ee(e,i))}static defaults(i){return t.defaults(ee(e,i)).Minimatch}},AST:class extends t.AST{constructor(t,i,s={}){super(t,i,ee(e,s))}static fromGlob(i,s={}){return t.AST.fromGlob(i,ee(e,s))}},unescape:(i,s={})=>t.unescape(i,ee(e,s)),escape:(i,s={})=>t.escape(i,ee(e,s)),filter:(i,s={})=>t.filter(i,ee(e,s)),defaults:i=>t.defaults(ee(e,i)),makeRe:(i,s={})=>t.makeRe(i,ee(e,s)),braceExpand:(i,s={})=>t.braceExpand(i,ee(e,s)),match:(i,s,r={})=>t.match(i,s,ee(e,r)),sep:t.sep,GLOBSTAR:K})};let et=(e,t={})=>(c(e),t.nobrace||!/\{(?:(?!\{).)*\}/.test(e))?[e]:h(e);z.braceExpand=et,z.makeRe=(e,t={})=>new er(e,t).makeRe(),z.match=(e,t,i={})=>{let s=new er(t,i);return e=e.filter(e=>s.match(e)),s.options.nonull&&!e.length&&e.push(t),e};let ei=/[?*]|[+@!]\(.*?\)|\[|\]/,es=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");class er{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;regexp;constructor(e,t={}){c(e),t=t||{},this.options=t,this.pattern=e,this.platform=t.platform||Y,this.isWindows="win32"===this.platform,this.windowsPathsNoEscape=!!t.windowsPathsNoEscape||!1===t.allowWindowsEscape,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.preserveMultipleSlashes=!!t.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!t.nonegate,this.comment=!1,this.empty=!1,this.partial=!!t.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=void 0!==t.windowsNoMagicRoot?t.windowsNoMagicRoot:!!(this.isWindows&&this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(let e of this.set)for(let t of e)if("string"!=typeof t)return!0;return!1}debug(...e){}make(){let e=this.pattern,t=this.options;if(!t.nocomment&&"#"===e.charAt(0)){this.comment=!0;return}if(!e){this.empty=!0;return}this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],t.debug&&(this.debug=(...e)=>console.error(...e)),this.debug(this.pattern,this.globSet);let i=this.globSet.map(e=>this.slashSplit(e));this.globParts=this.preprocess(i),this.debug(this.pattern,this.globParts);let s=this.globParts.map((e,t,i)=>{if(this.isWindows&&this.windowsNoMagicRoot){let t=""===e[0]&&""===e[1]&&("?"===e[2]||!ei.test(e[2]))&&!ei.test(e[3]),i=/^[a-z]:/i.test(e[0]);if(t)return[...e.slice(0,4),...e.slice(4).map(e=>this.parse(e))];if(i)return[e[0],...e.slice(1).map(e=>this.parse(e))]}return e.map(e=>this.parse(e))});if(this.debug(this.pattern,s),this.set=s.filter(e=>-1===e.indexOf(!1)),this.isWindows)for(let e=0;e<this.set.length;e++){let t=this.set[e];""===t[0]&&""===t[1]&&"?"===this.globParts[e][2]&&"string"==typeof t[3]&&/^[a-z]:$/i.test(t[3])&&(t[2]="?")}this.debug(this.pattern,this.set)}preprocess(e){if(this.options.noglobstar)for(let t=0;t<e.length;t++)for(let i=0;i<e[t].length;i++)"**"===e[t][i]&&(e[t][i]="*");let{optimizationLevel:t=1}=this.options;return t>=2?(e=this.firstPhasePreProcess(e),e=this.secondPhasePreProcess(e)):e=t>=1?this.levelOneOptimize(e):this.adjascentGlobstarOptimize(e),e}adjascentGlobstarOptimize(e){return e.map(e=>{let t=-1;for(;-1!==(t=e.indexOf("**",t+1));){let i=t;for(;"**"===e[i+1];)i++;i!==t&&e.splice(t,i-t)}return e})}levelOneOptimize(e){return e.map(e=>0===(e=e.reduce((e,t)=>{let i=e[e.length-1];return"**"===t&&"**"===i||(".."===t&&i&&".."!==i&&"."!==i&&"**"!==i?e.pop():e.push(t)),e},[])).length?[""]:e)}levelTwoFileOptimize(e){Array.isArray(e)||(e=this.slashSplit(e));let t=!1;do{if(t=!1,!this.preserveMultipleSlashes){for(let i=1;i<e.length-1;i++){let s=e[i];(1!==i||""!==s||""!==e[0])&&("."===s||""===s)&&(t=!0,e.splice(i,1),i--)}"."===e[0]&&2===e.length&&("."===e[1]||""===e[1])&&(t=!0,e.pop())}let i=0;for(;-1!==(i=e.indexOf("..",i+1));){let s=e[i-1];s&&"."!==s&&".."!==s&&"**"!==s&&(t=!0,e.splice(i-1,2),i-=2)}}while(t);return 0===e.length?[""]:e}firstPhasePreProcess(e){let t=!1;do for(let i of(t=!1,e)){let s=-1;for(;-1!==(s=i.indexOf("**",s+1));){let r=s;for(;"**"===i[r+1];)r++;r>s&&i.splice(s+1,r-s);let n=i[s+1],a=i[s+2],o=i[s+3];if(".."!==n||!a||"."===a||".."===a||!o||"."===o||".."===o)continue;t=!0,i.splice(s,1);let l=i.slice(0);l[s]="**",e.push(l),s--}if(!this.preserveMultipleSlashes){for(let e=1;e<i.length-1;e++){let s=i[e];(1!==e||""!==s||""!==i[0])&&("."===s||""===s)&&(t=!0,i.splice(e,1),e--)}"."===i[0]&&2===i.length&&("."===i[1]||""===i[1])&&(t=!0,i.pop())}let r=0;for(;-1!==(r=i.indexOf("..",r+1));){let e=i[r-1];if(e&&"."!==e&&".."!==e&&"**"!==e){t=!0;let e=1===r&&"**"===i[r+1]?["."]:[];i.splice(r-1,2,...e),0===i.length&&i.push(""),r-=2}}}while(t);return e}secondPhasePreProcess(e){for(let t=0;t<e.length-1;t++)for(let i=t+1;i<e.length;i++){let s=this.partsMatch(e[t],e[i],!this.preserveMultipleSlashes);if(s){e[t]=[],e[i]=s;break}}return e.filter(e=>e.length)}partsMatch(e,t,i=!1){let s=0,r=0,n=[],a="";for(;s<e.length&&r<t.length;)if(e[s]===t[r])n.push("b"===a?t[r]:e[s]),s++,r++;else if(i&&"**"===e[s]&&t[r]===e[s+1])n.push(e[s]),s++;else if(i&&"**"===t[r]&&e[s]===t[r+1])n.push(t[r]),r++;else if("*"===e[s]&&t[r]&&(this.options.dot||!t[r].startsWith("."))&&"**"!==t[r]){if("b"===a)return!1;a="a",n.push(e[s]),s++,r++}else{if("*"!==t[r]||!e[s]||!this.options.dot&&e[s].startsWith(".")||"**"===e[s]||"a"===a)return!1;a="b",n.push(t[r]),s++,r++}return e.length===t.length&&n}parseNegate(){if(this.nonegate)return;let e=this.pattern,t=!1,i=0;for(let s=0;s<e.length&&"!"===e.charAt(s);s++)t=!t,i++;i&&(this.pattern=e.slice(i)),this.negate=t}matchOne(e,t,i=!1){let s=this.options;if(this.isWindows){let i="string"==typeof e[0]&&/^[a-z]:$/i.test(e[0]),s=!i&&""===e[0]&&""===e[1]&&"?"===e[2]&&/^[a-z]:$/i.test(e[3]),r="string"==typeof t[0]&&/^[a-z]:$/i.test(t[0]),n=!r&&""===t[0]&&""===t[1]&&"?"===t[2]&&"string"==typeof t[3]&&/^[a-z]:$/i.test(t[3]),a=s?3:i?0:void 0,o=n?3:r?0:void 0;if("number"==typeof a&&"number"==typeof o){let[i,s]=[e[a],t[o]];i.toLowerCase()===s.toLowerCase()&&(t[o]=i,o>a?t=t.slice(o):a>o&&(e=e.slice(a)))}}let{optimizationLevel:r=1}=this.options;r>=2&&(e=this.levelTwoFileOptimize(e)),this.debug("matchOne",this,{file:e,pattern:t}),this.debug("matchOne",e.length,t.length);for(var n=0,a=0,o=e.length,l=t.length;n<o&&a<l;n++,a++){let r;this.debug("matchOne loop");var h=t[a],c=e[n];if(this.debug(t,h,c),!1===h)return!1;if(h===K){this.debug("GLOBSTAR",[t,h,c]);var u=n,d=a+1;if(d===l){for(this.debug("** at the end");n<o;n++)if("."===e[n]||".."===e[n]||!s.dot&&"."===e[n].charAt(0))return!1;return!0}for(;u<o;){var f=e[u];if(this.debug("\nglobstar while",e,u,t,d,f),this.matchOne(e.slice(u),t.slice(d),i))return this.debug("globstar found match!",u,o,f),!0;if("."===f||".."===f||!s.dot&&"."===f.charAt(0)){this.debug("dot detected!",e,u,t,d);break}this.debug("globstar swallow a segment, and continue"),u++}if(i&&(this.debug("\n>>> no match, partial?",e,u,t,d),u===o))return!0;return!1}if("string"==typeof h?(r=c===h,this.debug("string match",h,c,r)):(r=h.test(c),this.debug("pattern match",h,c,r)),!r)return!1}if(n===o&&a===l)return!0;if(n===o)return i;if(a===l)return n===o-1&&""===e[n];throw Error("wtf?")}braceExpand(){return et(this.pattern,this.options)}parse(e){let t;c(e);let i=this.options;if("**"===e)return K;if(""===e)return"";let s=null;(t=e.match(I))?s=i.dot?W:$:(t=e.match(L))?s=(i.nocase?i.dot?M:D:i.dot?F:_)(t[1]):(t=e.match(U))?s=(i.nocase?i.dot?Z:G:i.dot?V:H)(t):(t=e.match(P))?s=i.dot?R:N:(t=e.match(B))&&(s=j);let r=A.fromGlob(e,this.options).toMMPattern();return s&&"object"==typeof r&&Reflect.defineProperty(r,"test",{value:s}),r}makeRe(){if(this.regexp||!1===this.regexp)return this.regexp;let e=this.set;if(!e.length)return this.regexp=!1,this.regexp;let t=this.options,i=t.noglobstar?Q:t.dot?"(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?":"(?:(?!(?:\\/|^)\\.).)*?",s=new Set(t.nocase?["i"]:[]),r=e.map(e=>{let t=e.map(e=>{if(e instanceof RegExp)for(let t of e.flags.split(""))s.add(t);return"string"==typeof e?es(e):e===K?K:e._src});return t.forEach((e,s)=>{let r=t[s+1],n=t[s-1];e===K&&n!==K&&(void 0===n?void 0!==r&&r!==K?t[s+1]="(?:\\/|"+i+"\\/)?"+r:t[s]=i:void 0===r?t[s-1]=n+"(?:\\/|"+i+")?":r!==K&&(t[s-1]=n+"(?:\\/|\\/"+i+"\\/)"+r,t[s+1]=K))}),t.filter(e=>e!==K).join("/")}).join("|"),[n,a]=e.length>1?["(?:",")"]:["",""];r="^"+n+r+a+"$",this.negate&&(r="^(?!"+r+").+$");try{this.regexp=new RegExp(r,[...s].join(""))}catch(e){this.regexp=!1}return this.regexp}slashSplit(e){return this.preserveMultipleSlashes?e.split("/"):this.isWindows&&/^\/\/[^\/]+/.test(e)?["",...e.split(/\/+/)]:e.split(/\/+/)}match(e,t=this.partial){if(this.debug("match",e,this.pattern),this.comment)return!1;if(this.empty)return""===e;if("/"===e&&t)return!0;let i=this.options;this.isWindows&&(e=e.split("\\").join("/"));let s=this.slashSplit(e);this.debug(this.pattern,"split",s);let r=this.set;this.debug(this.pattern,"set",r);let n=s[s.length-1];if(!n)for(let e=s.length-2;!n&&e>=0;e--)n=s[e];for(let e=0;e<r.length;e++){let a=r[e],o=s;if(i.matchBase&&1===a.length&&(o=[n]),this.matchOne(o,a,t)){if(i.flipNegate)return!0;return!this.negate}}return!i.flipNegate&&this.negate}static defaults(e){return z.defaults(e).Minimatch}}z.AST=A,z.Minimatch=er,z.escape=O,z.unescape=g;let en=i(41),ea="object"==typeof performance&&performance&&"function"==typeof performance.now?performance:Date,eo=new Set,el="object"==typeof process&&process?process:{},eh=(e,t,i,s)=>{"function"==typeof el.emitWarning?el.emitWarning(e,t,i,s):console.error(`[${i}] ${t}: ${e}`)},ec=globalThis.AbortController,eu=globalThis.AbortSignal;if(void 0===ec){eu=class{onabort;_onabort=[];reason;aborted=!1;addEventListener(e,t){this._onabort.push(t)}},ec=class{constructor(){t()}signal=new eu;abort(e){if(!this.signal.aborted){for(let t of(this.signal.reason=e,this.signal.aborted=!0,this.signal._onabort))t(e);this.signal.onabort?.(e)}}};let e=el.env?.LRU_CACHE_IGNORE_AC_WARNING!=="1",t=()=>{e&&(e=!1,eh("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",t))}}let ed=e=>!eo.has(e);Symbol("type");let ef=e=>e&&e===Math.floor(e)&&e>0&&isFinite(e),ep=e=>ef(e)?e<=256?Uint8Array:e<=65536?Uint16Array:e<=0x100000000?Uint32Array:e<=Number.MAX_SAFE_INTEGER?em:null:null;class em extends Array{constructor(e){super(e),this.fill(0)}}class eg{heap;length;static #m=!1;static create(e){let t=ep(e);if(!t)return[];eg.#m=!0;let i=new eg(e,t);return eg.#m=!1,i}constructor(e,t){if(!eg.#m)throw TypeError("instantiate Stack using Stack.create(n)");this.heap=new t(e),this.length=0}push(e){this.heap[this.length++]=e}pop(){return this.heap[--this.length]}}class ey{#g;#y;#E;#w;#x;#v;#b;ttl;ttlResolution;ttlAutopurge;updateAgeOnGet;updateAgeOnHas;allowStale;noDisposeOnSet;noUpdateTTL;maxEntrySize;sizeCalculation;noDeleteOnFetchRejection;noDeleteOnStaleGet;allowStaleOnFetchAbort;allowStaleOnFetchRejection;ignoreFetchAbort;#S;#k;#T;#C;#A;#O;#z;#L;#_;#F;#D;#M;#P;#N;#R;#B;#j;#I;static unsafeExposeInternals(e){return{starts:e.#P,ttls:e.#N,sizes:e.#M,keyMap:e.#T,keyList:e.#C,valList:e.#A,next:e.#O,prev:e.#z,get head(){return e.#L},get tail(){return e.#_},free:e.#F,isBackgroundFetch:t=>e.#$(t),backgroundFetch:(t,i,s,r)=>e.#W(t,i,s,r),moveToTail:t=>e.#U(t),indexes:t=>e.#G(t),rindexes:t=>e.#Z(t),isStale:t=>e.#V(t)}}get max(){return this.#g}get maxSize(){return this.#y}get calculatedSize(){return this.#k}get size(){return this.#S}get fetchMethod(){return this.#v}get memoMethod(){return this.#b}get dispose(){return this.#E}get onInsert(){return this.#w}get disposeAfter(){return this.#x}constructor(e){let{max:t=0,ttl:i,ttlResolution:s=1,ttlAutopurge:r,updateAgeOnGet:n,updateAgeOnHas:a,allowStale:o,dispose:l,onInsert:h,disposeAfter:c,noDisposeOnSet:u,noUpdateTTL:d,maxSize:f=0,maxEntrySize:p=0,sizeCalculation:m,fetchMethod:g,memoMethod:y,noDeleteOnFetchRejection:E,noDeleteOnStaleGet:w,allowStaleOnFetchRejection:x,allowStaleOnFetchAbort:v,ignoreFetchAbort:b}=e;if(0!==t&&!ef(t))throw TypeError("max option must be a nonnegative integer");let S=t?ep(t):Array;if(!S)throw Error("invalid max value: "+t);if(this.#g=t,this.#y=f,this.maxEntrySize=p||this.#y,this.sizeCalculation=m,this.sizeCalculation){if(!this.#y&&!this.maxEntrySize)throw TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if("function"!=typeof this.sizeCalculation)throw TypeError("sizeCalculation set to non-function")}if(void 0!==y&&"function"!=typeof y)throw TypeError("memoMethod must be a function if defined");if(this.#b=y,void 0!==g&&"function"!=typeof g)throw TypeError("fetchMethod must be a function if specified");if(this.#v=g,this.#B=!!g,this.#T=new Map,this.#C=Array(t).fill(void 0),this.#A=Array(t).fill(void 0),this.#O=new S(t),this.#z=new S(t),this.#L=0,this.#_=0,this.#F=eg.create(t),this.#S=0,this.#k=0,"function"==typeof l&&(this.#E=l),"function"==typeof h&&(this.#w=h),"function"==typeof c?(this.#x=c,this.#D=[]):(this.#x=void 0,this.#D=void 0),this.#R=!!this.#E,this.#I=!!this.#w,this.#j=!!this.#x,this.noDisposeOnSet=!!u,this.noUpdateTTL=!!d,this.noDeleteOnFetchRejection=!!E,this.allowStaleOnFetchRejection=!!x,this.allowStaleOnFetchAbort=!!v,this.ignoreFetchAbort=!!b,0!==this.maxEntrySize){if(0!==this.#y&&!ef(this.#y))throw TypeError("maxSize must be a positive integer if specified");if(!ef(this.maxEntrySize))throw TypeError("maxEntrySize must be a positive integer if specified");this.#H()}if(this.allowStale=!!o,this.noDeleteOnStaleGet=!!w,this.updateAgeOnGet=!!n,this.updateAgeOnHas=!!a,this.ttlResolution=ef(s)||0===s?s:1,this.ttlAutopurge=!!r,this.ttl=i||0,this.ttl){if(!ef(this.ttl))throw TypeError("ttl must be a positive integer if specified");this.#q()}if(0===this.#g&&0===this.ttl&&0===this.#y)throw TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!this.#g&&!this.#y){let e="LRU_CACHE_UNBOUNDED";ed(e)&&(eo.add(e),eh("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",e,ey))}}getRemainingTTL(e){return this.#T.has(e)?1/0:0}#q(){let e=new em(this.#g),t=new em(this.#g);this.#N=e,this.#P=t,this.#J=(i,s,r=ea.now())=>{if(t[i]=0!==s?r:0,e[i]=s,0!==s&&this.ttlAutopurge){let e=setTimeout(()=>{this.#V(i)&&this.#Y(this.#C[i],"expire")},s+1);e.unref&&e.unref()}},this.#X=i=>{t[i]=0!==e[i]?ea.now():0},this.#K=(r,n)=>{if(e[n]){let a=e[n],o=t[n];if(!a||!o)return;r.ttl=a,r.start=o,r.now=i||s();let l=r.now-o;r.remainingTTL=a-l}};let i=0,s=()=>{let e=ea.now();if(this.ttlResolution>0){i=e;let t=setTimeout(()=>i=0,this.ttlResolution);t.unref&&t.unref()}return e};this.getRemainingTTL=r=>{let n=this.#T.get(r);if(void 0===n)return 0;let a=e[n],o=t[n];return a&&o?a-((i||s())-o):1/0},this.#V=r=>{let n=t[r],a=e[r];return!!a&&!!n&&(i||s())-n>a}}#X=()=>{};#K=()=>{};#J=()=>{};#V=()=>!1;#H(){let e=new em(this.#g);this.#k=0,this.#M=e,this.#Q=t=>{this.#k-=e[t],e[t]=0},this.#ee=(e,t,i,s)=>{if(this.#$(t))return 0;if(!ef(i))if(s){if("function"!=typeof s)throw TypeError("sizeCalculation must be a function");if(!ef(i=s(t,e)))throw TypeError("sizeCalculation return invalid (expect positive integer)")}else throw TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return i},this.#et=(t,i,s)=>{if(e[t]=i,this.#y){let i=this.#y-e[t];for(;this.#k>i;)this.#ei(!0)}this.#k+=e[t],s&&(s.entrySize=i,s.totalCalculatedSize=this.#k)}}#Q=e=>{};#et=(e,t,i)=>{};#ee=(e,t,i,s)=>{if(i||s)throw TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0};*#G({allowStale:e=this.allowStale}={}){if(this.#S)for(let t=this.#_;this.#es(t)&&((e||!this.#V(t))&&(yield t),t!==this.#L);)t=this.#z[t]}*#Z({allowStale:e=this.allowStale}={}){if(this.#S)for(let t=this.#L;this.#es(t)&&((e||!this.#V(t))&&(yield t),t!==this.#_);)t=this.#O[t]}#es(e){return void 0!==e&&this.#T.get(this.#C[e])===e}*entries(){for(let e of this.#G())void 0===this.#A[e]||void 0===this.#C[e]||this.#$(this.#A[e])||(yield[this.#C[e],this.#A[e]])}*rentries(){for(let e of this.#Z())void 0===this.#A[e]||void 0===this.#C[e]||this.#$(this.#A[e])||(yield[this.#C[e],this.#A[e]])}*keys(){for(let e of this.#G()){let t=this.#C[e];void 0===t||this.#$(this.#A[e])||(yield t)}}*rkeys(){for(let e of this.#Z()){let t=this.#C[e];void 0===t||this.#$(this.#A[e])||(yield t)}}*values(){for(let e of this.#G())void 0===this.#A[e]||this.#$(this.#A[e])||(yield this.#A[e])}*rvalues(){for(let e of this.#Z())void 0===this.#A[e]||this.#$(this.#A[e])||(yield this.#A[e])}[Symbol.iterator](){return this.entries()}[Symbol.toStringTag]="LRUCache";find(e,t={}){for(let i of this.#G()){let s=this.#A[i],r=this.#$(s)?s.__staleWhileFetching:s;if(void 0!==r&&e(r,this.#C[i],this))return this.get(this.#C[i],t)}}forEach(e,t=this){for(let i of this.#G()){let s=this.#A[i],r=this.#$(s)?s.__staleWhileFetching:s;void 0!==r&&e.call(t,r,this.#C[i],this)}}rforEach(e,t=this){for(let i of this.#Z()){let s=this.#A[i],r=this.#$(s)?s.__staleWhileFetching:s;void 0!==r&&e.call(t,r,this.#C[i],this)}}purgeStale(){let e=!1;for(let t of this.#Z({allowStale:!0}))this.#V(t)&&(this.#Y(this.#C[t],"expire"),e=!0);return e}info(e){let t=this.#T.get(e);if(void 0===t)return;let i=this.#A[t],s=this.#$(i)?i.__staleWhileFetching:i;if(void 0===s)return;let r={value:s};if(this.#N&&this.#P){let e=this.#N[t],i=this.#P[t];e&&i&&(r.ttl=e-(ea.now()-i),r.start=Date.now())}return this.#M&&(r.size=this.#M[t]),r}dump(){let e=[];for(let t of this.#G({allowStale:!0})){let i=this.#C[t],s=this.#A[t],r=this.#$(s)?s.__staleWhileFetching:s;if(void 0===r||void 0===i)continue;let n={value:r};if(this.#N&&this.#P){n.ttl=this.#N[t];let e=ea.now()-this.#P[t];n.start=Math.floor(Date.now()-e)}this.#M&&(n.size=this.#M[t]),e.unshift([i,n])}return e}load(e){for(let[t,i]of(this.clear(),e)){if(i.start){let e=Date.now()-i.start;i.start=ea.now()-e}this.set(t,i.value,i)}}set(e,t,i={}){if(void 0===t)return this.delete(e),this;let{ttl:s=this.ttl,start:r,noDisposeOnSet:n=this.noDisposeOnSet,sizeCalculation:a=this.sizeCalculation,status:o}=i,{noUpdateTTL:l=this.noUpdateTTL}=i,h=this.#ee(e,t,i.size||0,a);if(this.maxEntrySize&&h>this.maxEntrySize)return o&&(o.set="miss",o.maxEntrySizeExceeded=!0),this.#Y(e,"set"),this;let c=0===this.#S?void 0:this.#T.get(e);if(void 0===c)c=0===this.#S?this.#_:0!==this.#F.length?this.#F.pop():this.#S===this.#g?this.#ei(!1):this.#S,this.#C[c]=e,this.#A[c]=t,this.#T.set(e,c),this.#O[this.#_]=c,this.#z[c]=this.#_,this.#_=c,this.#S++,this.#et(c,h,o),o&&(o.set="add"),l=!1,this.#I&&this.#w?.(t,e,"add");else{this.#U(c);let i=this.#A[c];if(t!==i){if(this.#B&&this.#$(i)){i.__abortController.abort(Error("replaced"));let{__staleWhileFetching:t}=i;void 0!==t&&!n&&(this.#R&&this.#E?.(t,e,"set"),this.#j&&this.#D?.push([t,e,"set"]))}else!n&&(this.#R&&this.#E?.(i,e,"set"),this.#j&&this.#D?.push([i,e,"set"]));if(this.#Q(c),this.#et(c,h,o),this.#A[c]=t,o){o.set="replace";let e=i&&this.#$(i)?i.__staleWhileFetching:i;void 0!==e&&(o.oldValue=e)}}else o&&(o.set="update");this.#I&&this.onInsert?.(t,e,t===i?"update":"replace")}if(0===s||this.#N||this.#q(),this.#N&&(l||this.#J(c,s,r),o&&this.#K(o,c)),!n&&this.#j&&this.#D){let e,t=this.#D;for(;e=t?.shift();)this.#x?.(...e)}return this}pop(){try{for(;this.#S;){let e=this.#A[this.#L];if(this.#ei(!0),this.#$(e)){if(e.__staleWhileFetching)return e.__staleWhileFetching}else if(void 0!==e)return e}}finally{if(this.#j&&this.#D){let e,t=this.#D;for(;e=t?.shift();)this.#x?.(...e)}}}#ei(e){let t=this.#L,i=this.#C[t],s=this.#A[t];return this.#B&&this.#$(s)?s.__abortController.abort(Error("evicted")):(this.#R||this.#j)&&(this.#R&&this.#E?.(s,i,"evict"),this.#j&&this.#D?.push([s,i,"evict"])),this.#Q(t),e&&(this.#C[t]=void 0,this.#A[t]=void 0,this.#F.push(t)),1===this.#S?(this.#L=this.#_=0,this.#F.length=0):this.#L=this.#O[t],this.#T.delete(i),this.#S--,t}has(e,t={}){let{updateAgeOnHas:i=this.updateAgeOnHas,status:s}=t,r=this.#T.get(e);if(void 0!==r){let e=this.#A[r];if(this.#$(e)&&void 0===e.__staleWhileFetching)return!1;if(!this.#V(r))return i&&this.#X(r),s&&(s.has="hit",this.#K(s,r)),!0;s&&(s.has="stale",this.#K(s,r))}else s&&(s.has="miss");return!1}peek(e,t={}){let{allowStale:i=this.allowStale}=t,s=this.#T.get(e);if(void 0===s||!i&&this.#V(s))return;let r=this.#A[s];return this.#$(r)?r.__staleWhileFetching:r}#W(e,t,i,s){let r=void 0===t?void 0:this.#A[t];if(this.#$(r))return r;let n=new ec,{signal:a}=i;a?.addEventListener("abort",()=>n.abort(a.reason),{signal:n.signal});let o={signal:n.signal,options:i,context:s},l=(s,r=!1)=>{let{aborted:a}=n.signal,l=i.ignoreFetchAbort&&void 0!==s;return(i.status&&(a&&!r?(i.status.fetchAborted=!0,i.status.fetchError=n.signal.reason,l&&(i.status.fetchAbortIgnored=!0)):i.status.fetchResolved=!0),!a||l||r)?(this.#A[t]===c&&(void 0===s?c.__staleWhileFetching?this.#A[t]=c.__staleWhileFetching:this.#Y(e,"fetch"):(i.status&&(i.status.fetchUpdated=!0),this.set(e,s,o.options))),s):h(n.signal.reason)},h=s=>{let{aborted:r}=n.signal,a=r&&i.allowStaleOnFetchAbort,o=a||i.allowStaleOnFetchRejection,l=o||i.noDeleteOnFetchRejection;if(this.#A[t]===c&&(l&&void 0!==c.__staleWhileFetching?a||(this.#A[t]=c.__staleWhileFetching):this.#Y(e,"fetch")),o)return i.status&&void 0!==c.__staleWhileFetching&&(i.status.returnedStale=!0),c.__staleWhileFetching;if(c.__returned===c)throw s};i.status&&(i.status.fetchDispatched=!0);let c=new Promise((t,s)=>{let a=this.#v?.(e,r,o);a&&a instanceof Promise&&a.then(e=>t(void 0===e?void 0:e),s),n.signal.addEventListener("abort",()=>{(!i.ignoreFetchAbort||i.allowStaleOnFetchAbort)&&(t(void 0),i.allowStaleOnFetchAbort&&(t=e=>l(e,!0)))})}).then(l,e=>(i.status&&(i.status.fetchRejected=!0,i.status.fetchError=e),h(e))),u=Object.assign(c,{__abortController:n,__staleWhileFetching:r,__returned:void 0});return void 0===t?(this.set(e,u,{...o.options,status:void 0}),t=this.#T.get(e)):this.#A[t]=u,u}#$(e){return!!this.#B&&!!e&&e instanceof Promise&&e.hasOwnProperty("__staleWhileFetching")&&e.__abortController instanceof ec}async fetch(e,t={}){let{allowStale:i=this.allowStale,updateAgeOnGet:s=this.updateAgeOnGet,noDeleteOnStaleGet:r=this.noDeleteOnStaleGet,ttl:n=this.ttl,noDisposeOnSet:a=this.noDisposeOnSet,size:o=0,sizeCalculation:l=this.sizeCalculation,noUpdateTTL:h=this.noUpdateTTL,noDeleteOnFetchRejection:c=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:u=this.allowStaleOnFetchRejection,ignoreFetchAbort:d=this.ignoreFetchAbort,allowStaleOnFetchAbort:f=this.allowStaleOnFetchAbort,context:p,forceRefresh:m=!1,status:g,signal:y}=t;if(!this.#B)return g&&(g.fetch="get"),this.get(e,{allowStale:i,updateAgeOnGet:s,noDeleteOnStaleGet:r,status:g});let E={allowStale:i,updateAgeOnGet:s,noDeleteOnStaleGet:r,ttl:n,noDisposeOnSet:a,size:o,sizeCalculation:l,noUpdateTTL:h,noDeleteOnFetchRejection:c,allowStaleOnFetchRejection:u,allowStaleOnFetchAbort:f,ignoreFetchAbort:d,status:g,signal:y},w=this.#T.get(e);if(void 0===w){g&&(g.fetch="miss");let t=this.#W(e,w,E,p);return t.__returned=t}{let t=this.#A[w];if(this.#$(t)){let e=i&&void 0!==t.__staleWhileFetching;return g&&(g.fetch="inflight",e&&(g.returnedStale=!0)),e?t.__staleWhileFetching:t.__returned=t}let r=this.#V(w);if(!m&&!r)return g&&(g.fetch="hit"),this.#U(w),s&&this.#X(w),g&&this.#K(g,w),t;let n=this.#W(e,w,E,p),a=void 0!==n.__staleWhileFetching&&i;return g&&(g.fetch=r?"stale":"refresh",a&&r&&(g.returnedStale=!0)),a?n.__staleWhileFetching:n.__returned=n}}async forceFetch(e,t={}){let i=await this.fetch(e,t);if(void 0===i)throw Error("fetch() returned undefined");return i}memo(e,t={}){let i=this.#b;if(!i)throw Error("no memoMethod provided to constructor");let{context:s,forceRefresh:r,...n}=t,a=this.get(e,n);if(!r&&void 0!==a)return a;let o=i(e,a,{options:n,context:s});return this.set(e,o,n),o}get(e,t={}){let{allowStale:i=this.allowStale,updateAgeOnGet:s=this.updateAgeOnGet,noDeleteOnStaleGet:r=this.noDeleteOnStaleGet,status:n}=t,a=this.#T.get(e);if(void 0!==a){let t=this.#A[a],o=this.#$(t);return(n&&this.#K(n,a),this.#V(a))?(n&&(n.get="stale"),o)?(n&&i&&void 0!==t.__staleWhileFetching&&(n.returnedStale=!0),i?t.__staleWhileFetching:void 0):(r||this.#Y(e,"expire"),n&&i&&(n.returnedStale=!0),i?t:void 0):(n&&(n.get="hit"),o)?t.__staleWhileFetching:(this.#U(a),s&&this.#X(a),t)}n&&(n.get="miss")}#er(e,t){this.#z[t]=e,this.#O[e]=t}#U(e){e!==this.#_&&(e===this.#L?this.#L=this.#O[e]:this.#er(this.#z[e],this.#O[e]),this.#er(this.#_,e),this.#_=e)}delete(e){return this.#Y(e,"delete")}#Y(e,t){let i=!1;if(0!==this.#S){let s=this.#T.get(e);if(void 0!==s)if(i=!0,1===this.#S)this.#en(t);else{this.#Q(s);let i=this.#A[s];if(this.#$(i)?i.__abortController.abort(Error("deleted")):(this.#R||this.#j)&&(this.#R&&this.#E?.(i,e,t),this.#j&&this.#D?.push([i,e,t])),this.#T.delete(e),this.#C[s]=void 0,this.#A[s]=void 0,s===this.#_)this.#_=this.#z[s];else if(s===this.#L)this.#L=this.#O[s];else{let e=this.#z[s];this.#O[e]=this.#O[s];let t=this.#O[s];this.#z[t]=this.#z[s]}this.#S--,this.#F.push(s)}}if(this.#j&&this.#D?.length){let e,t=this.#D;for(;e=t?.shift();)this.#x?.(...e)}return i}clear(){return this.#en("delete")}#en(e){for(let t of this.#Z({allowStale:!0})){let i=this.#A[t];if(this.#$(i))i.__abortController.abort(Error("deleted"));else{let s=this.#C[t];this.#R&&this.#E?.(i,s,e),this.#j&&this.#D?.push([i,s,e])}}if(this.#T.clear(),this.#A.fill(void 0),this.#C.fill(void 0),this.#N&&this.#P&&(this.#N.fill(0),this.#P.fill(0)),this.#M&&this.#M.fill(0),this.#L=0,this.#_=0,this.#F.length=0,this.#k=0,this.#S=0,this.#j&&this.#D){let e,t=this.#D;for(;e=t?.shift();)this.#x?.(...e)}}}let eE=i(411),ew=i(561);var ex=a.t(ew,2);let ev=i(977),eb=i(673),eS=i(492),ek=i(915),eT="object"==typeof process&&process?process:{stdout:null,stderr:null},eC=e=>!!e&&"object"==typeof e&&(e instanceof tn||e instanceof eS||eA(e)||eO(e)),eA=e=>!!e&&"object"==typeof e&&e instanceof eb.EventEmitter&&"function"==typeof e.pipe&&e.pipe!==eS.Writable.prototype.pipe,eO=e=>!!e&&"object"==typeof e&&e instanceof eb.EventEmitter&&"function"==typeof e.write&&"function"==typeof e.end,ez=Symbol("EOF"),eL=Symbol("maybeEmitEnd"),e_=Symbol("emittedEnd"),eF=Symbol("emittingEnd"),eD=Symbol("emittedError"),eM=Symbol("closed"),eP=Symbol("read"),eN=Symbol("flush"),eR=Symbol("flushChunk"),eB=Symbol("encoding"),ej=Symbol("decoder"),eI=Symbol("flowing"),e$=Symbol("paused"),eW=Symbol("resume"),eU=Symbol("buffer"),eG=Symbol("pipes"),eZ=Symbol("bufferLength"),eV=Symbol("bufferPush"),eH=Symbol("bufferShift"),eq=Symbol("objectMode"),eJ=Symbol("destroyed"),eY=Symbol("error"),eX=Symbol("emitData"),eK=Symbol("emitEnd"),eQ=Symbol("emitEnd2"),e0=Symbol("async"),e1=Symbol("abort"),e2=Symbol("aborted"),e4=Symbol("signal"),e3=Symbol("dataListeners"),e6=Symbol("discarded"),e9=e=>Promise.resolve().then(e),e8=e=>e(),e5=e=>"end"===e||"finish"===e||"prefinish"===e,e7=e=>e instanceof ArrayBuffer||!!e&&"object"==typeof e&&e.constructor&&"ArrayBuffer"===e.constructor.name&&e.byteLength>=0,te=e=>!Buffer.isBuffer(e)&&ArrayBuffer.isView(e);class tt{src;dest;opts;ondrain;constructor(e,t,i){this.src=e,this.dest=t,this.opts=i,this.ondrain=()=>e[eW](),this.dest.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(e){}end(){this.unpipe(),this.opts.end&&this.dest.end()}}class ti extends tt{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}constructor(e,t,i){super(e,t,i),this.proxyErrors=e=>t.emit("error",e),e.on("error",this.proxyErrors)}}let ts=e=>!!e.objectMode,tr=e=>!e.objectMode&&!!e.encoding&&"buffer"!==e.encoding;class tn extends eb.EventEmitter{[eI]=!1;[e$]=!1;[eG]=[];[eU]=[];[eq];[eB];[e0];[ej];[ez]=!1;[e_]=!1;[eF]=!1;[eM]=!1;[eD]=null;[eZ]=0;[eJ]=!1;[e4];[e2]=!1;[e3]=0;[e6]=!1;writable=!0;readable=!0;constructor(...e){let t=e[0]||{};if(super(),t.objectMode&&"string"==typeof t.encoding)throw TypeError("Encoding and objectMode may not be used together");ts(t)?(this[eq]=!0,this[eB]=null):tr(t)?(this[eB]=t.encoding,this[eq]=!1):(this[eq]=!1,this[eB]=null),this[e0]=!!t.async,this[ej]=this[eB]?new ek.StringDecoder(this[eB]):null,t&&!0===t.debugExposeBuffer&&Object.defineProperty(this,"buffer",{get:()=>this[eU]}),t&&!0===t.debugExposePipes&&Object.defineProperty(this,"pipes",{get:()=>this[eG]});let{signal:i}=t;i&&(this[e4]=i,i.aborted?this[e1]():i.addEventListener("abort",()=>this[e1]()))}get bufferLength(){return this[eZ]}get encoding(){return this[eB]}set encoding(e){throw Error("Encoding must be set at instantiation time")}setEncoding(e){throw Error("Encoding must be set at instantiation time")}get objectMode(){return this[eq]}set objectMode(e){throw Error("objectMode must be set at instantiation time")}get async(){return this[e0]}set async(e){this[e0]=this[e0]||!!e}[e1](){this[e2]=!0,this.emit("abort",this[e4]?.reason),this.destroy(this[e4]?.reason)}get aborted(){return this[e2]}set aborted(e){}write(e,t,i){if(this[e2])return!1;if(this[ez])throw Error("write after end");if(this[eJ])return this.emit("error",Object.assign(Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0;"function"==typeof t&&(i=t,t="utf8"),t||(t="utf8");let s=this[e0]?e9:e8;if(!this[eq]&&!Buffer.isBuffer(e)){if(te(e))e=Buffer.from(e.buffer,e.byteOffset,e.byteLength);else if(e7(e))e=Buffer.from(e);else if("string"!=typeof e)throw Error("Non-contiguous data written to non-objectMode stream")}return this[eq]?(this[eI]&&0!==this[eZ]&&this[eN](!0),this[eI]?this.emit("data",e):this[eV](e)):e.length&&("string"==typeof e&&(t!==this[eB]||this[ej]?.lastNeed)&&(e=Buffer.from(e,t)),Buffer.isBuffer(e)&&this[eB]&&(e=this[ej].write(e)),this[eI]&&0!==this[eZ]&&this[eN](!0),this[eI]?this.emit("data",e):this[eV](e)),0!==this[eZ]&&this.emit("readable"),i&&s(i),this[eI]}read(e){if(this[eJ])return null;if(this[e6]=!1,0===this[eZ]||0===e||e&&e>this[eZ])return this[eL](),null;this[eq]&&(e=null),this[eU].length>1&&!this[eq]&&(this[eU]=[this[eB]?this[eU].join(""):Buffer.concat(this[eU],this[eZ])]);let t=this[eP](e||null,this[eU][0]);return this[eL](),t}[eP](e,t){if(this[eq])this[eH]();else{let i=t;e===i.length||null===e?this[eH]():("string"==typeof i?(this[eU][0]=i.slice(e),t=i.slice(0,e)):(this[eU][0]=i.subarray(e),t=i.subarray(0,e)),this[eZ]-=e)}return this.emit("data",t),this[eU].length||this[ez]||this.emit("drain"),t}end(e,t,i){return"function"==typeof e&&(i=e,e=void 0),"function"==typeof t&&(i=t,t="utf8"),void 0!==e&&this.write(e,t),i&&this.once("end",i),this[ez]=!0,this.writable=!1,(this[eI]||!this[e$])&&this[eL](),this}[eW](){this[eJ]||(this[e3]||this[eG].length||(this[e6]=!0),this[e$]=!1,this[eI]=!0,this.emit("resume"),this[eU].length?this[eN]():this[ez]?this[eL]():this.emit("drain"))}resume(){return this[eW]()}pause(){this[eI]=!1,this[e$]=!0,this[e6]=!1}get destroyed(){return this[eJ]}get flowing(){return this[eI]}get paused(){return this[e$]}[eV](e){this[eq]?this[eZ]+=1:this[eZ]+=e.length,this[eU].push(e)}[eH](){return this[eq]?this[eZ]-=1:this[eZ]-=this[eU][0].length,this[eU].shift()}[eN](e=!1){do;while(this[eR](this[eH]())&&this[eU].length);e||this[eU].length||this[ez]||this.emit("drain")}[eR](e){return this.emit("data",e),this[eI]}pipe(e,t){if(this[eJ])return e;this[e6]=!1;let i=this[e_];return t=t||{},e===eT.stdout||e===eT.stderr?t.end=!1:t.end=!1!==t.end,t.proxyErrors=!!t.proxyErrors,i?t.end&&e.end():(this[eG].push(t.proxyErrors?new ti(this,e,t):new tt(this,e,t)),this[e0]?e9(()=>this[eW]()):this[eW]()),e}unpipe(e){let t=this[eG].find(t=>t.dest===e);t&&(1===this[eG].length?(this[eI]&&0===this[e3]&&(this[eI]=!1),this[eG]=[]):this[eG].splice(this[eG].indexOf(t),1),t.unpipe())}addListener(e,t){return this.on(e,t)}on(e,t){let i=super.on(e,t);return"data"===e?(this[e6]=!1,this[e3]++,this[eG].length||this[eI]||this[eW]()):"readable"===e&&0!==this[eZ]?super.emit("readable"):e5(e)&&this[e_]?(super.emit(e),this.removeAllListeners(e)):"error"===e&&this[eD]&&(this[e0]?e9(()=>t.call(this,this[eD])):t.call(this,this[eD])),i}removeListener(e,t){return this.off(e,t)}off(e,t){let i=super.off(e,t);return"data"===e&&(this[e3]=this.listeners("data").length,0!==this[e3]||this[e6]||this[eG].length||(this[eI]=!1)),i}removeAllListeners(e){let t=super.removeAllListeners(e);return("data"===e||void 0===e)&&(this[e3]=0,this[e6]||this[eG].length||(this[eI]=!1)),t}get emittedEnd(){return this[e_]}[eL](){this[eF]||this[e_]||this[eJ]||0!==this[eU].length||!this[ez]||(this[eF]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[eM]&&this.emit("close"),this[eF]=!1)}emit(e,...t){let i=t[0];if("error"!==e&&"close"!==e&&e!==eJ&&this[eJ])return!1;if("data"===e)return(!!this[eq]||!!i)&&(this[e0]?(e9(()=>this[eX](i)),!0):this[eX](i));if("end"===e)return this[eK]();if("close"===e){if(this[eM]=!0,!this[e_]&&!this[eJ])return!1;let e=super.emit("close");return this.removeAllListeners("close"),e}if("error"===e){this[eD]=i,super.emit(eY,i);let e=(!this[e4]||!!this.listeners("error").length)&&super.emit("error",i);return this[eL](),e}else if("resume"===e){let e=super.emit("resume");return this[eL](),e}else if("finish"===e||"prefinish"===e){let t=super.emit(e);return this.removeAllListeners(e),t}let s=super.emit(e,...t);return this[eL](),s}[eX](e){for(let t of this[eG])!1===t.dest.write(e)&&this.pause();let t=!this[e6]&&super.emit("data",e);return this[eL](),t}[eK](){return!this[e_]&&(this[e_]=!0,this.readable=!1,this[e0]?(e9(()=>this[eQ]()),!0):this[eQ]())}[eQ](){if(this[ej]){let e=this[ej].end();if(e){for(let t of this[eG])t.dest.write(e);this[e6]||super.emit("data",e)}}for(let e of this[eG])e.end();let e=super.emit("end");return this.removeAllListeners("end"),e}async collect(){let e=Object.assign([],{dataLength:0});this[eq]||(e.dataLength=0);let t=this.promise();return this.on("data",t=>{e.push(t),this[eq]||(e.dataLength+=t.length)}),await t,e}async concat(){if(this[eq])throw Error("cannot concat in objectMode");let e=await this.collect();return this[eB]?e.join(""):Buffer.concat(e,e.dataLength)}async promise(){return new Promise((e,t)=>{this.on(eJ,()=>t(Error("stream destroyed"))),this.on("error",e=>t(e)),this.on("end",()=>e())})}[Symbol.asyncIterator](){this[e6]=!1;let e=!1,t=async()=>(this.pause(),e=!0,{value:void 0,done:!0});return{next:()=>{let i,s;if(e)return t();let r=this.read();if(null!==r)return Promise.resolve({done:!1,value:r});if(this[ez])return t();let n=e=>{this.off("data",a),this.off("end",o),this.off(eJ,l),t(),s(e)},a=e=>{this.off("error",n),this.off("end",o),this.off(eJ,l),this.pause(),i({value:e,done:!!this[ez]})},o=()=>{this.off("error",n),this.off("data",a),this.off(eJ,l),t(),i({done:!0,value:void 0})},l=()=>n(Error("stream destroyed"));return new Promise((e,t)=>{s=t,i=e,this.once(eJ,l),this.once("error",n),this.once("end",o),this.once("data",a)})},throw:t,return:t,[Symbol.asyncIterator](){return this}}}[Symbol.iterator](){this[e6]=!1;let e=!1,t=()=>(this.pause(),this.off(eY,t),this.off(eJ,t),this.off("end",t),e=!0,{done:!0,value:void 0});return this.once("end",t),this.once(eY,t),this.once(eJ,t),{next:()=>{if(e)return t();let i=this.read();return null===i?t():{done:!1,value:i}},throw:t,return:t,[Symbol.iterator](){return this}}}destroy(e){return this[eJ]||(this[eJ]=!0,this[e6]=!0,this[eU].length=0,this[eZ]=0,"function"!=typeof this.close||this[eM]||this.close()),e?this.emit("error",e):this.emit(eJ),this}static get isStream(){return eC}}let ta=l.realpathSync.native,to={lstatSync:l.lstatSync,readdir:l.readdir,readdirSync:l.readdirSync,readlinkSync:l.readlinkSync,realpathSync:ta,promises:{lstat:ev.lstat,readdir:ev.readdir,readlink:ev.readlink,realpath:ev.realpath}},tl=e=>e&&e!==to&&e!==ex?{...to,...e,promises:{...to.promises,...e.promises||{}}}:to,th=/^\\\\\?\\([a-z]:)\\?$/i,tc=e=>e.replace(/\//g,"\\").replace(th,"$1\\"),tu=/[\\\/]/,td=-16,tf=704,tp=e=>e.isFile()?8:e.isDirectory()?4:e.isSymbolicLink()?10:e.isCharacterDevice()?2:e.isBlockDevice()?6:e.isSocket()?12:+!!e.isFIFO(),tm=new Map,tg=e=>{let t=tm.get(e);if(t)return t;let i=e.normalize("NFKD");return tm.set(e,i),i},ty=new Map,tE=e=>{let t=ty.get(e);if(t)return t;let i=tg(e.toLowerCase());return ty.set(e,i),i};class tw extends ey{constructor(){super({max:256})}}class tx extends ey{constructor(e=16384){super({maxSize:e,sizeCalculation:e=>e.length+1})}}let tv=Symbol("PathScurry setAsCwd");class tb{name;root;roots;parent;nocase;isCWD=!1;#ea;#eo;get dev(){return this.#eo}#el;get mode(){return this.#el}#eh;get nlink(){return this.#eh}#ec;get uid(){return this.#ec}#eu;get gid(){return this.#eu}#ed;get rdev(){return this.#ed}#ef;get blksize(){return this.#ef}#ep;get ino(){return this.#ep}#S;get size(){return this.#S}#em;get blocks(){return this.#em}#eg;get atimeMs(){return this.#eg}#ey;get mtimeMs(){return this.#ey}#eE;get ctimeMs(){return this.#eE}#ew;get birthtimeMs(){return this.#ew}#ex;get atime(){return this.#ex}#ev;get mtime(){return this.#ev}#eb;get ctime(){return this.#eb}#eS;get birthtime(){return this.#eS}#ek;#eT;#eC;#eA;#eO;#ez;#eL;#e_;#eF;#eD;get parentPath(){return(this.parent||this).fullpath()}get path(){return this.parentPath}constructor(e,t=0,i,s,r,n,a){this.name=e,this.#ek=r?tE(e):tg(e),this.#eL=1023&t,this.nocase=r,this.roots=s,this.root=i||this,this.#e_=n,this.#eC=a.fullpath,this.#eO=a.relative,this.#ez=a.relativePosix,this.parent=a.parent,this.parent?this.#ea=this.parent.#ea:this.#ea=tl(a.fs)}depth(){return void 0!==this.#eT?this.#eT:this.parent?this.#eT=this.parent.depth()+1:this.#eT=0}childrenCache(){return this.#e_}resolve(e){if(!e)return this;let t=this.getRootString(e),i=e.substring(t.length).split(this.splitSep);return t?this.getRoot(t).#eM(i):this.#eM(i)}#eM(e){let t=this;for(let i of e)t=t.child(i);return t}children(){let e=this.#e_.get(this);if(e)return e;let t=Object.assign([],{provisional:0});return this.#e_.set(this,t),this.#eL&=-17,t}child(e,t){if(""===e||"."===e)return this;if(".."===e)return this.parent||this;let i=this.children(),s=this.nocase?tE(e):tg(e);for(let e of i)if(e.#ek===s)return e;let r=this.parent?this.sep:"",n=this.#eC?this.#eC+r+e:void 0,a=this.newChild(e,0,{...t,parent:this,fullpath:n});return this.canReaddir()||(a.#eL|=128),i.push(a),a}relative(){if(this.isCWD)return"";if(void 0!==this.#eO)return this.#eO;let e=this.name,t=this.parent;if(!t)return this.#eO=this.name;let i=t.relative();return i+(i&&t.parent?this.sep:"")+e}relativePosix(){if("/"===this.sep)return this.relative();if(this.isCWD)return"";if(void 0!==this.#ez)return this.#ez;let e=this.name,t=this.parent;if(!t)return this.#ez=this.fullpathPosix();let i=t.relativePosix();return i+(i&&t.parent?"/":"")+e}fullpath(){if(void 0!==this.#eC)return this.#eC;let e=this.name,t=this.parent;if(!t)return this.#eC=this.name;let i=t.fullpath()+(t.parent?this.sep:"")+e;return this.#eC=i}fullpathPosix(){if(void 0!==this.#eA)return this.#eA;if("/"===this.sep)return this.#eA=this.fullpath();if(!this.parent){let e=this.fullpath().replace(/\\/g,"/");return/^[a-z]:\//i.test(e)?this.#eA=`//?/${e}`:this.#eA=e}let e=this.parent,t=e.fullpathPosix(),i=t+(t&&e.parent?"/":"")+this.name;return this.#eA=i}isUnknown(){return(15&this.#eL)==0}isType(e){return this[`is${e}`]()}getType(){return this.isUnknown()?"Unknown":this.isDirectory()?"Directory":this.isFile()?"File":this.isSymbolicLink()?"SymbolicLink":this.isFIFO()?"FIFO":this.isCharacterDevice()?"CharacterDevice":this.isBlockDevice()?"BlockDevice":this.isSocket()?"Socket":"Unknown"}isFile(){return(15&this.#eL)==8}isDirectory(){return(15&this.#eL)==4}isCharacterDevice(){return(15&this.#eL)==2}isBlockDevice(){return(15&this.#eL)==6}isFIFO(){return(15&this.#eL)==1}isSocket(){return(15&this.#eL)==12}isSymbolicLink(){return(10&this.#eL)==10}lstatCached(){return 32&this.#eL?this:void 0}readlinkCached(){return this.#eF}realpathCached(){return this.#eD}readdirCached(){let e=this.children();return e.slice(0,e.provisional)}canReadlink(){if(this.#eF)return!0;if(!this.parent)return!1;let e=15&this.#eL;return!(0!==e&&10!==e||256&this.#eL||128&this.#eL)}calledReaddir(){return!!(16&this.#eL)}isENOENT(){return!!(128&this.#eL)}isNamed(e){return this.nocase?this.#ek===tE(e):this.#ek===tg(e)}async readlink(){let e=this.#eF;if(e)return e;if(this.canReadlink()&&this.parent)try{let e=await this.#ea.promises.readlink(this.fullpath()),t=(await this.parent.realpath())?.resolve(e);if(t)return this.#eF=t}catch(e){this.#eP(e.code);return}}readlinkSync(){let e=this.#eF;if(e)return e;if(this.canReadlink()&&this.parent)try{let e=this.#ea.readlinkSync(this.fullpath()),t=this.parent.realpathSync()?.resolve(e);if(t)return this.#eF=t}catch(e){this.#eP(e.code);return}}#eN(e){this.#eL|=16;for(let t=e.provisional;t<e.length;t++){let i=e[t];i&&i.#eR()}}#eR(){128&this.#eL||(this.#eL=(128|this.#eL)&td,this.#eB())}#eB(){let e=this.children();for(let t of(e.provisional=0,e))t.#eR()}#ej(){this.#eL|=512,this.#eI()}#eI(){if(64&this.#eL)return;let e=this.#eL;(15&e)==4&&(e&=td),this.#eL=64|e,this.#eB()}#e$(e=""){"ENOTDIR"===e||"EPERM"===e?this.#eI():"ENOENT"===e?this.#eR():this.children().provisional=0}#eW(e=""){"ENOTDIR"===e?this.parent.#eI():"ENOENT"===e&&this.#eR()}#eP(e=""){let t=this.#eL;t|=256,"ENOENT"===e&&(t|=128),("EINVAL"===e||"UNKNOWN"===e)&&(t&=td),this.#eL=t,"ENOTDIR"===e&&this.parent&&this.parent.#eI()}#eU(e,t){return this.#eG(e,t)||this.#eZ(e,t)}#eZ(e,t){let i=tp(e),s=this.newChild(e.name,i,{parent:this}),r=15&s.#eL;return 4!==r&&10!==r&&0!==r&&(s.#eL|=64),t.unshift(s),t.provisional++,s}#eG(e,t){for(let i=t.provisional;i<t.length;i++){let s=t[i];if((this.nocase?tE(e.name):tg(e.name))===s.#ek)return this.#eV(e,s,i,t)}}#eV(e,t,i,s){let r=t.name;return t.#eL=t.#eL&td|tp(e),r!==e.name&&(t.name=e.name),i!==s.provisional&&(i===s.length-1?s.pop():s.splice(i,1),s.unshift(t)),s.provisional++,t}async lstat(){if((128&this.#eL)==0)try{return this.#eH(await this.#ea.promises.lstat(this.fullpath())),this}catch(e){this.#eW(e.code)}}lstatSync(){if((128&this.#eL)==0)try{return this.#eH(this.#ea.lstatSync(this.fullpath())),this}catch(e){this.#eW(e.code)}}#eH(e){let{atime:t,atimeMs:i,birthtime:s,birthtimeMs:r,blksize:n,blocks:a,ctime:o,ctimeMs:l,dev:h,gid:c,ino:u,mode:d,mtime:f,mtimeMs:p,nlink:m,rdev:g,size:y,uid:E}=e;this.#ex=t,this.#eg=i,this.#eS=s,this.#ew=r,this.#ef=n,this.#em=a,this.#eb=o,this.#eE=l,this.#eo=h,this.#eu=c,this.#ep=u,this.#el=d,this.#ev=f,this.#ey=p,this.#eh=m,this.#ed=g,this.#S=y,this.#ec=E;let w=tp(e);this.#eL=this.#eL&td|w|32,0!==w&&4!==w&&10!==w&&(this.#eL|=64)}#eq=[];#eJ=!1;#eY(e){this.#eJ=!1;let t=this.#eq.slice();this.#eq.length=0,t.forEach(t=>t(null,e))}readdirCB(e,t=!1){if(!this.canReaddir())return void(t?e(null,[]):queueMicrotask(()=>e(null,[])));let i=this.children();if(this.calledReaddir()){let s=i.slice(0,i.provisional);t?e(null,s):queueMicrotask(()=>e(null,s));return}if(this.#eq.push(e),this.#eJ)return;this.#eJ=!0;let s=this.fullpath();this.#ea.readdir(s,{withFileTypes:!0},(e,t)=>{if(e)this.#e$(e.code),i.provisional=0;else{for(let e of t)this.#eU(e,i);this.#eN(i)}this.#eY(i.slice(0,i.provisional))})}#eX;async readdir(){if(!this.canReaddir())return[];let e=this.children();if(this.calledReaddir())return e.slice(0,e.provisional);let t=this.fullpath();if(this.#eX)await this.#eX;else{let i=()=>{};this.#eX=new Promise(e=>i=e);try{for(let i of(await this.#ea.promises.readdir(t,{withFileTypes:!0})))this.#eU(i,e);this.#eN(e)}catch(t){this.#e$(t.code),e.provisional=0}this.#eX=void 0,i()}return e.slice(0,e.provisional)}readdirSync(){if(!this.canReaddir())return[];let e=this.children();if(this.calledReaddir())return e.slice(0,e.provisional);let t=this.fullpath();try{for(let i of this.#ea.readdirSync(t,{withFileTypes:!0}))this.#eU(i,e);this.#eN(e)}catch(t){this.#e$(t.code),e.provisional=0}return e.slice(0,e.provisional)}canReaddir(){if(this.#eL&tf)return!1;let e=15&this.#eL;return 0===e||4===e||10===e}shouldWalk(e,t){return(4&this.#eL)==4&&!(this.#eL&tf)&&!e.has(this)&&(!t||t(this))}async realpath(){if(this.#eD)return this.#eD;if(!(896&this.#eL))try{let e=await this.#ea.promises.realpath(this.fullpath());return this.#eD=this.resolve(e)}catch(e){this.#ej()}}realpathSync(){if(this.#eD)return this.#eD;if(!(896&this.#eL))try{let e=this.#ea.realpathSync(this.fullpath());return this.#eD=this.resolve(e)}catch(e){this.#ej()}}[tv](e){if(e===this)return;e.isCWD=!1,this.isCWD=!0;let t=new Set([]),i=[],s=this;for(;s&&s.parent;)t.add(s),s.#eO=i.join(this.sep),s.#ez=i.join("/"),s=s.parent,i.push("..");for(s=e;s&&s.parent&&!t.has(s);)s.#eO=void 0,s.#ez=void 0,s=s.parent}}class tS extends tb{sep="\\";splitSep=tu;constructor(e,t=0,i,s,r,n,a){super(e,t,i,s,r,n,a)}newChild(e,t=0,i={}){return new tS(e,t,this.root,this.roots,this.nocase,this.childrenCache(),i)}getRootString(e){return eE.win32.parse(e).root}getRoot(e){if((e=tc(e.toUpperCase()))===this.root.name)return this.root;for(let[t,i]of Object.entries(this.roots))if(this.sameRoot(e,t))return this.roots[e]=i;return this.roots[e]=new tC(e,this).root}sameRoot(e,t=this.root.name){return(e=e.toUpperCase().replace(/\//g,"\\").replace(th,"$1\\"))===t}}class tk extends tb{splitSep="/";sep="/";constructor(e,t=0,i,s,r,n,a){super(e,t,i,s,r,n,a)}getRootString(e){return e.startsWith("/")?"/":""}getRoot(e){return this.root}newChild(e,t=0,i={}){return new tk(e,t,this.root,this.roots,this.nocase,this.childrenCache(),i)}}class tT{root;rootPath;roots;cwd;#eK;#eQ;#e_;nocase;#ea;constructor(e=process.cwd(),t,i,{nocase:s,childrenCacheSize:r=16384,fs:n=to}={}){this.#ea=tl(n),(e instanceof URL||e.startsWith("file://"))&&(e=(0,en.fileURLToPath)(e));let a=t.resolve(e);this.roots=Object.create(null),this.rootPath=this.parseRootPath(a),this.#eK=new tw,this.#eQ=new tw,this.#e_=new tx(r);let o=a.substring(this.rootPath.length).split(i);if(1!==o.length||o[0]||o.pop(),void 0===s)throw TypeError("must provide nocase setting to PathScurryBase ctor");this.nocase=s,this.root=this.newRoot(this.#ea),this.roots[this.rootPath]=this.root;let l=this.root,h=o.length-1,c=t.sep,u=this.rootPath,d=!1;for(let e of o){let t=h--;l=l.child(e,{relative:Array(t).fill("..").join(c),relativePosix:Array(t).fill("..").join("/"),fullpath:u+=(d?"":c)+e}),d=!0}this.cwd=l}depth(e=this.cwd){return"string"==typeof e&&(e=this.cwd.resolve(e)),e.depth()}childrenCache(){return this.#e_}resolve(...e){let t="";for(let i=e.length-1;i>=0;i--){let s=e[i];if(s&&"."!==s&&(t=t?`${s}/${t}`:s,this.isAbsolute(s)))break}let i=this.#eK.get(t);if(void 0!==i)return i;let s=this.cwd.resolve(t).fullpath();return this.#eK.set(t,s),s}resolvePosix(...e){let t="";for(let i=e.length-1;i>=0;i--){let s=e[i];if(s&&"."!==s&&(t=t?`${s}/${t}`:s,this.isAbsolute(s)))break}let i=this.#eQ.get(t);if(void 0!==i)return i;let s=this.cwd.resolve(t).fullpathPosix();return this.#eQ.set(t,s),s}relative(e=this.cwd){return"string"==typeof e&&(e=this.cwd.resolve(e)),e.relative()}relativePosix(e=this.cwd){return"string"==typeof e&&(e=this.cwd.resolve(e)),e.relativePosix()}basename(e=this.cwd){return"string"==typeof e&&(e=this.cwd.resolve(e)),e.name}dirname(e=this.cwd){return"string"==typeof e&&(e=this.cwd.resolve(e)),(e.parent||e).fullpath()}async readdir(e=this.cwd,t={withFileTypes:!0}){"string"==typeof e?e=this.cwd.resolve(e):e instanceof tb||(t=e,e=this.cwd);let{withFileTypes:i}=t;if(!e.canReaddir())return[];{let t=await e.readdir();return i?t:t.map(e=>e.name)}}readdirSync(e=this.cwd,t={withFileTypes:!0}){"string"==typeof e?e=this.cwd.resolve(e):e instanceof tb||(t=e,e=this.cwd);let{withFileTypes:i=!0}=t;return e.canReaddir()?i?e.readdirSync():e.readdirSync().map(e=>e.name):[]}async lstat(e=this.cwd){return"string"==typeof e&&(e=this.cwd.resolve(e)),e.lstat()}lstatSync(e=this.cwd){return"string"==typeof e&&(e=this.cwd.resolve(e)),e.lstatSync()}async readlink(e=this.cwd,{withFileTypes:t}={withFileTypes:!1}){"string"==typeof e?e=this.cwd.resolve(e):e instanceof tb||(t=e.withFileTypes,e=this.cwd);let i=await e.readlink();return t?i:i?.fullpath()}readlinkSync(e=this.cwd,{withFileTypes:t}={withFileTypes:!1}){"string"==typeof e?e=this.cwd.resolve(e):e instanceof tb||(t=e.withFileTypes,e=this.cwd);let i=e.readlinkSync();return t?i:i?.fullpath()}async realpath(e=this.cwd,{withFileTypes:t}={withFileTypes:!1}){"string"==typeof e?e=this.cwd.resolve(e):e instanceof tb||(t=e.withFileTypes,e=this.cwd);let i=await e.realpath();return t?i:i?.fullpath()}realpathSync(e=this.cwd,{withFileTypes:t}={withFileTypes:!1}){"string"==typeof e?e=this.cwd.resolve(e):e instanceof tb||(t=e.withFileTypes,e=this.cwd);let i=e.realpathSync();return t?i:i?.fullpath()}async walk(e=this.cwd,t={}){"string"==typeof e?e=this.cwd.resolve(e):e instanceof tb||(t=e,e=this.cwd);let{withFileTypes:i=!0,follow:s=!1,filter:r,walkFilter:n}=t,a=[];(!r||r(e))&&a.push(i?e:e.fullpath());let o=new Set,l=(e,t)=>{o.add(e),e.readdirCB((e,h)=>{if(e)return t(e);let c=h.length;if(!c)return t();let u=()=>{0==--c&&t()};for(let e of h)(!r||r(e))&&a.push(i?e:e.fullpath()),s&&e.isSymbolicLink()?e.realpath().then(e=>e?.isUnknown()?e.lstat():e).then(e=>e?.shouldWalk(o,n)?l(e,u):u()):e.shouldWalk(o,n)?l(e,u):u()},!0)},h=e;return new Promise((e,t)=>{l(h,i=>{if(i)return t(i);e(a)})})}walkSync(e=this.cwd,t={}){"string"==typeof e?e=this.cwd.resolve(e):e instanceof tb||(t=e,e=this.cwd);let{withFileTypes:i=!0,follow:s=!1,filter:r,walkFilter:n}=t,a=[];(!r||r(e))&&a.push(i?e:e.fullpath());let o=new Set([e]);for(let e of o)for(let t of e.readdirSync()){(!r||r(t))&&a.push(i?t:t.fullpath());let e=t;if(t.isSymbolicLink()){if(!(s&&(e=t.realpathSync())))continue;e.isUnknown()&&e.lstatSync()}e.shouldWalk(o,n)&&o.add(e)}return a}[Symbol.asyncIterator](){return this.iterate()}iterate(e=this.cwd,t={}){return"string"==typeof e?e=this.cwd.resolve(e):e instanceof tb||(t=e,e=this.cwd),this.stream(e,t)[Symbol.asyncIterator]()}[Symbol.iterator](){return this.iterateSync()}*iterateSync(e=this.cwd,t={}){"string"==typeof e?e=this.cwd.resolve(e):e instanceof tb||(t=e,e=this.cwd);let{withFileTypes:i=!0,follow:s=!1,filter:r,walkFilter:n}=t;(!r||r(e))&&(yield i?e:e.fullpath());let a=new Set([e]);for(let e of a)for(let t of e.readdirSync()){(!r||r(t))&&(yield i?t:t.fullpath());let e=t;if(t.isSymbolicLink()){if(!(s&&(e=t.realpathSync())))continue;e.isUnknown()&&e.lstatSync()}e.shouldWalk(a,n)&&a.add(e)}}stream(e=this.cwd,t={}){"string"==typeof e?e=this.cwd.resolve(e):e instanceof tb||(t=e,e=this.cwd);let{withFileTypes:i=!0,follow:s=!1,filter:r,walkFilter:n}=t,a=new tn({objectMode:!0});(!r||r(e))&&a.write(i?e:e.fullpath());let o=new Set,l=[e],h=0,c=()=>{let e=!1;for(;!e;){let t=l.shift();if(!t){0===h&&a.end();return}h++,o.add(t);let u=(t,f,p=!1)=>{if(t)return a.emit("error",t);if(s&&!p){let e=[];for(let t of f)t.isSymbolicLink()&&e.push(t.realpath().then(e=>e?.isUnknown()?e.lstat():e));if(e.length)return void Promise.all(e).then(()=>u(null,f,!0))}for(let t of f)t&&(!r||r(t))&&!a.write(i?t:t.fullpath())&&(e=!0);for(let e of(h--,f)){let t=e.realpathCached()||e;t.shouldWalk(o,n)&&l.push(t)}e&&!a.flowing?a.once("drain",c):d||c()},d=!0;t.readdirCB(u,!0),d=!1}};return c(),a}streamSync(e=this.cwd,t={}){"string"==typeof e?e=this.cwd.resolve(e):e instanceof tb||(t=e,e=this.cwd);let{withFileTypes:i=!0,follow:s=!1,filter:r,walkFilter:n}=t,a=new tn({objectMode:!0}),o=new Set;(!r||r(e))&&a.write(i?e:e.fullpath());let l=[e],h=0,c=()=>{let e=!1;for(;!e;){let t=l.shift();if(!t){0===h&&a.end();return}h++,o.add(t);let c=t.readdirSync();for(let t of c)(!r||r(t))&&!a.write(i?t:t.fullpath())&&(e=!0);for(let e of(h--,c)){let t=e;if(e.isSymbolicLink()){if(!(s&&(t=e.realpathSync())))continue;t.isUnknown()&&t.lstatSync()}t.shouldWalk(o,n)&&l.push(t)}}e&&!a.flowing&&a.once("drain",c)};return c(),a}chdir(e=this.cwd){let t=this.cwd;this.cwd="string"==typeof e?this.cwd.resolve(e):e,this.cwd[tv](t)}}class tC extends tT{sep="\\";constructor(e=process.cwd(),t={}){let{nocase:i=!0}=t;super(e,eE.win32,"\\",{...t,nocase:i}),this.nocase=i;for(let e=this.cwd;e;e=e.parent)e.nocase=this.nocase}parseRootPath(e){return eE.win32.parse(e).root.toUpperCase()}newRoot(e){return new tS(this.rootPath,4,void 0,this.roots,this.nocase,this.childrenCache(),{fs:e})}isAbsolute(e){return e.startsWith("/")||e.startsWith("\\")||/^[a-z]:(\/|\\)/i.test(e)}}class tA extends tT{sep="/";constructor(e=process.cwd(),t={}){let{nocase:i=!1}=t;super(e,eE.posix,"/",{...t,nocase:i}),this.nocase=i}parseRootPath(e){return"/"}newRoot(e){return new tk(this.rootPath,4,void 0,this.roots,this.nocase,this.childrenCache(),{fs:e})}isAbsolute(e){return e.startsWith("/")}}class tO extends tA{constructor(e=process.cwd(),t={}){let{nocase:i=!0}=t;super(e,{...t,nocase:i})}}process.platform;let tz="win32"===process.platform?tC:"darwin"===process.platform?tO:tA,tL=e=>e.length>=1,t_=e=>e.length>=1;class tF{#e0;#e1;#e2;length;#e4;#e3;#e6;#e9;#e8;#e5;#e7=!0;constructor(e,t,i,s){if(!tL(e))throw TypeError("empty pattern list");if(!t_(t))throw TypeError("empty glob list");if(t.length!==e.length)throw TypeError("mismatched pattern list and glob list lengths");if(this.length=e.length,i<0||i>=this.length)throw TypeError("index out of range");if(this.#e0=e,this.#e1=t,this.#e2=i,this.#e4=s,0===this.#e2){if(this.isUNC()){let[e,t,i,s,...r]=this.#e0,[n,a,o,l,...h]=this.#e1;""===r[0]&&(r.shift(),h.shift());let c=[e,t,i,s,""].join("/"),u=[n,a,o,l,""].join("/");this.#e0=[c,...r],this.#e1=[u,...h],this.length=this.#e0.length}else if(this.isDrive()||this.isAbsolute()){let[e,...t]=this.#e0,[i,...s]=this.#e1;""===t[0]&&(t.shift(),s.shift()),this.#e0=[e+"/",...t],this.#e1=[i+"/",...s],this.length=this.#e0.length}}}pattern(){return this.#e0[this.#e2]}isString(){return"string"==typeof this.#e0[this.#e2]}isGlobstar(){return this.#e0[this.#e2]===K}isRegExp(){return this.#e0[this.#e2]instanceof RegExp}globString(){return this.#e6=this.#e6||(0===this.#e2?this.isAbsolute()?this.#e1[0]+this.#e1.slice(1).join("/"):this.#e1.join("/"):this.#e1.slice(this.#e2).join("/"))}hasMore(){return this.length>this.#e2+1}rest(){return void 0!==this.#e3?this.#e3:this.hasMore()?(this.#e3=new tF(this.#e0,this.#e1,this.#e2+1,this.#e4),this.#e3.#e5=this.#e5,this.#e3.#e8=this.#e8,this.#e3.#e9=this.#e9,this.#e3):this.#e3=null}isUNC(){let e=this.#e0;return void 0!==this.#e8?this.#e8:this.#e8="win32"===this.#e4&&0===this.#e2&&""===e[0]&&""===e[1]&&"string"==typeof e[2]&&!!e[2]&&"string"==typeof e[3]&&!!e[3]}isDrive(){let e=this.#e0;return void 0!==this.#e9?this.#e9:this.#e9="win32"===this.#e4&&0===this.#e2&&this.length>1&&"string"==typeof e[0]&&/^[a-z]:$/i.test(e[0])}isAbsolute(){let e=this.#e0;return void 0!==this.#e5?this.#e5:this.#e5=""===e[0]&&e.length>1||this.isDrive()||this.isUNC()}root(){let e=this.#e0[0];return"string"==typeof e&&this.isAbsolute()&&0===this.#e2?e:""}checkFollowGlobstar(){return!(0===this.#e2||!this.isGlobstar()||!this.#e7)}markFollowGlobstar(){return 0!==this.#e2&&!!this.isGlobstar()&&!!this.#e7&&(this.#e7=!1,!0)}}let tD="object"==typeof process&&process&&"string"==typeof process.platform?process.platform:"linux";class tM{relative;relativeChildren;absolute;absoluteChildren;platform;mmopts;constructor(e,{nobrace:t,nocase:i,noext:s,noglobstar:r,platform:n=tD}){for(let a of(this.relative=[],this.absolute=[],this.relativeChildren=[],this.absoluteChildren=[],this.platform=n,this.mmopts={dot:!0,nobrace:t,nocase:i,noext:s,noglobstar:r,optimizationLevel:2,platform:n,nocomment:!0,nonegate:!0},e))this.add(a)}add(e){let t=new er(e,this.mmopts);for(let e=0;e<t.set.length;e++){let i=t.set[e],s=t.globParts[e];if(!i||!s)throw Error("invalid pattern object");for(;"."===i[0]&&"."===s[0];)i.shift(),s.shift();let r=new tF(i,s,0,this.platform),n=new er(r.globString(),this.mmopts),a="**"===s[s.length-1],o=r.isAbsolute();o?this.absolute.push(n):this.relative.push(n),a&&(o?this.absoluteChildren.push(n):this.relativeChildren.push(n))}}ignored(e){let t=e.fullpath(),i=`${t}/`,s=e.relative()||".",r=`${s}/`;for(let e of this.relative)if(e.match(s)||e.match(r))return!0;for(let e of this.absolute)if(e.match(t)||e.match(i))return!0;return!1}childrenIgnored(e){let t=e.fullpath()+"/",i=(e.relative()||".")+"/";for(let e of this.relativeChildren)if(e.match(i))return!0;for(let e of this.absoluteChildren)if(e.match(t))return!0;return!1}}class tP{store;constructor(e=new Map){this.store=e}copy(){return new tP(new Map(this.store))}hasWalked(e,t){return this.store.get(e.fullpath())?.has(t.globString())}storeWalked(e,t){let i=e.fullpath(),s=this.store.get(i);s?s.add(t.globString()):this.store.set(i,new Set([t.globString()]))}}class tN{store=new Map;add(e,t,i){let s=2*!!t|!!i,r=this.store.get(e);this.store.set(e,void 0===r?s:s&r)}entries(){return[...this.store.entries()].map(([e,t])=>[e,!!(2&t),!!(1&t)])}}class tR{store=new Map;add(e,t){if(!e.canReaddir())return;let i=this.store.get(e);i?i.find(e=>e.globString()===t.globString())||i.push(t):this.store.set(e,[t])}get(e){let t=this.store.get(e);if(!t)throw Error("attempting to walk unknown path");return t}entries(){return this.keys().map(e=>[e,this.store.get(e)])}keys(){return[...this.store.keys()].filter(e=>e.canReaddir())}}class tB{hasWalkedCache;matches=new tN;subwalks=new tR;patterns;follow;dot;opts;constructor(e,t){this.opts=e,this.follow=!!e.follow,this.dot=!!e.dot,this.hasWalkedCache=t?t.copy():new tP}processPatterns(e,t){for(let[i,s]of(this.patterns=t,t.map(t=>[e,t]))){let e,t;this.hasWalkedCache.storeWalked(i,s);let r=s.root(),n=s.isAbsolute()&&!1!==this.opts.absolute;if(r){i=i.resolve("/"===r&&void 0!==this.opts.root?this.opts.root:r);let e=s.rest();if(e)s=e;else{this.matches.add(i,!0,!1);continue}}if(i.isENOENT())continue;let a=!1;for(;"string"==typeof(e=s.pattern())&&(t=s.rest());)i=i.resolve(e),s=t,a=!0;if(e=s.pattern(),t=s.rest(),a){if(this.hasWalkedCache.hasWalked(i,s))continue;this.hasWalkedCache.storeWalked(i,s)}if("string"==typeof e){let t=".."===e||""===e||"."===e;this.matches.add(i.resolve(e),n,t);continue}if(e===K){(!i.isSymbolicLink()||this.follow||s.checkFollowGlobstar())&&this.subwalks.add(i,s);let e=t?.pattern(),r=t?.rest();if(t&&(""!==e&&"."!==e||r)){if(".."===e){let e=i.parent||i;r?this.hasWalkedCache.hasWalked(e,r)||this.subwalks.add(e,r):this.matches.add(e,n,!0)}}else this.matches.add(i,n,""===e||"."===e)}else e instanceof RegExp&&this.subwalks.add(i,s)}return this}subwalkTargets(){return this.subwalks.keys()}child(){return new tB(this.opts,this.hasWalkedCache)}filterEntries(e,t){let i=this.subwalks.get(e),s=this.child();for(let e of t)for(let t of i){let i=t.isAbsolute(),r=t.pattern(),n=t.rest();r===K?s.testGlobstar(e,t,n,i):r instanceof RegExp?s.testRegExp(e,r,n,i):s.testString(e,r,n,i)}return s}testGlobstar(e,t,i,s){if((this.dot||!e.name.startsWith("."))&&(t.hasMore()||this.matches.add(e,s,!1),e.canReaddir()&&(this.follow||!e.isSymbolicLink()?this.subwalks.add(e,t):e.isSymbolicLink()&&(i&&t.checkFollowGlobstar()?this.subwalks.add(e,i):t.markFollowGlobstar()&&this.subwalks.add(e,t)))),i){let t=i.pattern();if("string"==typeof t&&".."!==t&&""!==t&&"."!==t)this.testString(e,t,i.rest(),s);else if(".."===t){let t=e.parent||e;this.subwalks.add(t,i)}else t instanceof RegExp&&this.testRegExp(e,t,i.rest(),s)}}testRegExp(e,t,i,s){t.test(e.name)&&(i?this.subwalks.add(e,i):this.matches.add(e,s,!1))}testString(e,t,i,s){e.isNamed(t)&&(i?this.subwalks.add(e,i):this.matches.add(e,s,!1))}}let tj=(e,t)=>"string"==typeof e?new tM([e],t):Array.isArray(e)?new tM(e,t):e;class tI{path;patterns;opts;seen=new Set;paused=!1;aborted=!1;#te=[];#tt;#ti;signal;maxDepth;includeChildMatches;constructor(e,t,i){if(this.patterns=e,this.path=t,this.opts=i,this.#ti=i.posix||"win32"!==i.platform?"/":"\\",this.includeChildMatches=!1!==i.includeChildMatches,(i.ignore||!this.includeChildMatches)&&(this.#tt=tj(i.ignore??[],i),!this.includeChildMatches&&"function"!=typeof this.#tt.add))throw Error("cannot ignore child matches, ignore lacks add() method.");this.maxDepth=i.maxDepth||1/0,i.signal&&(this.signal=i.signal,this.signal.addEventListener("abort",()=>{this.#te.length=0}))}#ts(e){return this.seen.has(e)||!!this.#tt?.ignored?.(e)}#tr(e){return!!this.#tt?.childrenIgnored?.(e)}pause(){this.paused=!0}resume(){let e;if(!this.signal?.aborted)for(this.paused=!1;!this.paused&&(e=this.#te.shift());)e()}onResume(e){this.signal?.aborted||(this.paused?this.#te.push(e):e())}async matchCheck(e,t){let i;if(t&&this.opts.nodir)return;if(this.opts.realpath){if(!(i=e.realpathCached()||await e.realpath()))return;e=i}let s=e.isUnknown()||this.opts.stat?await e.lstat():e;if(this.opts.follow&&this.opts.nodir&&s?.isSymbolicLink()){let e=await s.realpath();e&&(e.isUnknown()||this.opts.stat)&&await e.lstat()}return this.matchCheckTest(s,t)}matchCheckTest(e,t){return e&&(this.maxDepth===1/0||e.depth()<=this.maxDepth)&&(!t||e.canReaddir())&&(!this.opts.nodir||!e.isDirectory())&&(!this.opts.nodir||!this.opts.follow||!e.isSymbolicLink()||!e.realpathCached()?.isDirectory())&&!this.#ts(e)?e:void 0}matchCheckSync(e,t){let i;if(t&&this.opts.nodir)return;if(this.opts.realpath){if(!(i=e.realpathCached()||e.realpathSync()))return;e=i}let s=e.isUnknown()||this.opts.stat?e.lstatSync():e;if(this.opts.follow&&this.opts.nodir&&s?.isSymbolicLink()){let e=s.realpathSync();e&&(e?.isUnknown()||this.opts.stat)&&e.lstatSync()}return this.matchCheckTest(s,t)}matchFinish(e,t){if(this.#ts(e))return;if(!this.includeChildMatches&&this.#tt?.add){let t=`${e.relativePosix()}/**`;this.#tt.add(t)}let i=void 0===this.opts.absolute?t:this.opts.absolute;this.seen.add(e);let s=this.opts.mark&&e.isDirectory()?this.#ti:"";if(this.opts.withFileTypes)this.matchEmit(e);else if(i){let t=this.opts.posix?e.fullpathPosix():e.fullpath();this.matchEmit(t+s)}else{let t=this.opts.posix?e.relativePosix():e.relative(),i=this.opts.dotRelative&&!t.startsWith(".."+this.#ti)?"."+this.#ti:"";this.matchEmit(t?i+t+s:"."+s)}}async match(e,t,i){let s=await this.matchCheck(e,i);s&&this.matchFinish(s,t)}matchSync(e,t,i){let s=this.matchCheckSync(e,i);s&&this.matchFinish(s,t)}walkCB(e,t,i){this.signal?.aborted&&i(),this.walkCB2(e,t,new tB(this.opts),i)}walkCB2(e,t,i,s){if(this.#tr(e))return s();if(this.signal?.aborted&&s(),this.paused)return void this.onResume(()=>this.walkCB2(e,t,i,s));i.processPatterns(e,t);let r=1,n=()=>{0==--r&&s()};for(let[e,t,s]of i.matches.entries())this.#ts(e)||(r++,this.match(e,t,s).then(()=>n()));for(let e of i.subwalkTargets()){if(this.maxDepth!==1/0&&e.depth()>=this.maxDepth)continue;r++;let t=e.readdirCached();e.calledReaddir()?this.walkCB3(e,t,i,n):e.readdirCB((t,s)=>this.walkCB3(e,s,i,n),!0)}n()}walkCB3(e,t,i,s){i=i.filterEntries(e,t);let r=1,n=()=>{0==--r&&s()};for(let[e,t,s]of i.matches.entries())this.#ts(e)||(r++,this.match(e,t,s).then(()=>n()));for(let[e,t]of i.subwalks.entries())r++,this.walkCB2(e,t,i.child(),n);n()}walkCBSync(e,t,i){this.signal?.aborted&&i(),this.walkCB2Sync(e,t,new tB(this.opts),i)}walkCB2Sync(e,t,i,s){if(this.#tr(e))return s();if(this.signal?.aborted&&s(),this.paused)return void this.onResume(()=>this.walkCB2Sync(e,t,i,s));i.processPatterns(e,t);let r=1,n=()=>{0==--r&&s()};for(let[e,t,s]of i.matches.entries())this.#ts(e)||this.matchSync(e,t,s);for(let e of i.subwalkTargets()){if(this.maxDepth!==1/0&&e.depth()>=this.maxDepth)continue;r++;let t=e.readdirSync();this.walkCB3Sync(e,t,i,n)}n()}walkCB3Sync(e,t,i,s){i=i.filterEntries(e,t);let r=1,n=()=>{0==--r&&s()};for(let[e,t,s]of i.matches.entries())this.#ts(e)||this.matchSync(e,t,s);for(let[e,t]of i.subwalks.entries())r++,this.walkCB2Sync(e,t,i.child(),n);n()}}class t$ extends tI{matches=new Set;constructor(e,t,i){super(e,t,i)}matchEmit(e){this.matches.add(e)}async walk(){if(this.signal?.aborted)throw this.signal.reason;return this.path.isUnknown()&&await this.path.lstat(),await new Promise((e,t)=>{this.walkCB(this.path,this.patterns,()=>{this.signal?.aborted?t(this.signal.reason):e(this.matches)})}),this.matches}walkSync(){if(this.signal?.aborted)throw this.signal.reason;return this.path.isUnknown()&&this.path.lstatSync(),this.walkCBSync(this.path,this.patterns,()=>{if(this.signal?.aborted)throw this.signal.reason}),this.matches}}class tW extends tI{results;constructor(e,t,i){super(e,t,i),this.results=new tn({signal:this.signal,objectMode:!0}),this.results.on("drain",()=>this.resume()),this.results.on("resume",()=>this.resume())}matchEmit(e){this.results.write(e),this.results.flowing||this.pause()}stream(){let e=this.path;return e.isUnknown()?e.lstat().then(()=>{this.walkCB(e,this.patterns,()=>this.results.end())}):this.walkCB(e,this.patterns,()=>this.results.end()),this.results}streamSync(){return this.path.isUnknown()&&this.path.lstatSync(),this.walkCBSync(this.path,this.patterns,()=>this.results.end()),this.results}}let tU="object"==typeof process&&process&&"string"==typeof process.platform?process.platform:"linux";class tG{absolute;cwd;root;dot;dotRelative;follow;ignore;magicalBraces;mark;matchBase;maxDepth;nobrace;nocase;nodir;noext;noglobstar;pattern;platform;realpath;scurry;stat;signal;windowsPathsNoEscape;withFileTypes;includeChildMatches;opts;patterns;constructor(e,t){if(!t)throw TypeError("glob options required");if(this.withFileTypes=!!t.withFileTypes,this.signal=t.signal,this.follow=!!t.follow,this.dot=!!t.dot,this.dotRelative=!!t.dotRelative,this.nodir=!!t.nodir,this.mark=!!t.mark,t.cwd?(t.cwd instanceof URL||t.cwd.startsWith("file://"))&&(t.cwd=(0,en.fileURLToPath)(t.cwd)):this.cwd="",this.cwd=t.cwd||"",this.root=t.root,this.magicalBraces=!!t.magicalBraces,this.nobrace=!!t.nobrace,this.noext=!!t.noext,this.realpath=!!t.realpath,this.absolute=t.absolute,this.includeChildMatches=!1!==t.includeChildMatches,this.noglobstar=!!t.noglobstar,this.matchBase=!!t.matchBase,this.maxDepth="number"==typeof t.maxDepth?t.maxDepth:1/0,this.stat=!!t.stat,this.ignore=t.ignore,this.withFileTypes&&void 0!==this.absolute)throw Error("cannot set absolute and withFileTypes:true");if("string"==typeof e&&(e=[e]),this.windowsPathsNoEscape=!!t.windowsPathsNoEscape||!1===t.allowWindowsEscape,this.windowsPathsNoEscape&&(e=e.map(e=>e.replace(/\\/g,"/"))),this.matchBase){if(t.noglobstar)throw TypeError("base matching requires globstar");e=e.map(e=>e.includes("/")?e:`./**/${e}`)}if(this.pattern=e,this.platform=t.platform||tU,this.opts={...t,platform:this.platform},t.scurry){if(this.scurry=t.scurry,void 0!==t.nocase&&t.nocase!==t.scurry.nocase)throw Error("nocase option contradicts provided scurry option")}else{let e="win32"===t.platform?tC:"darwin"===t.platform?tO:t.platform?tA:tz;this.scurry=new e(this.cwd,{nocase:t.nocase,fs:t.fs})}this.nocase=this.scurry.nocase;let i="darwin"===this.platform||"win32"===this.platform,s={...t,dot:this.dot,matchBase:this.matchBase,nobrace:this.nobrace,nocase:this.nocase,nocaseMagicOnly:i,nocomment:!0,noext:this.noext,nonegate:!0,optimizationLevel:2,platform:this.platform,windowsPathsNoEscape:this.windowsPathsNoEscape,debug:!!this.opts.debug},[r,n]=this.pattern.map(e=>new er(e,s)).reduce((e,t)=>(e[0].push(...t.set),e[1].push(...t.globParts),e),[[],[]]);this.patterns=r.map((e,t)=>{let i=n[t];if(!i)throw Error("invalid pattern object");return new tF(e,i,0,this.platform)})}async walk(){return[...await new t$(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==1/0?this.maxDepth+this.scurry.cwd.depth():1/0,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).walk()]}walkSync(){return[...new t$(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==1/0?this.maxDepth+this.scurry.cwd.depth():1/0,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).walkSync()]}stream(){return new tW(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==1/0?this.maxDepth+this.scurry.cwd.depth():1/0,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).stream()}streamSync(){return new tW(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==1/0?this.maxDepth+this.scurry.cwd.depth():1/0,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).streamSync()}iterateSync(){return this.streamSync()[Symbol.iterator]()}[Symbol.iterator](){return this.iterateSync()}iterate(){return this.stream()[Symbol.asyncIterator]()}[Symbol.asyncIterator](){return this.iterate()}}function tZ(e,t={}){return new tG(e,t).streamSync()}function tV(e,t={}){return new tG(e,t).stream()}function tH(e,t={}){return new tG(e,t).walkSync()}async function tq(e,t={}){return new tG(e,t).walk()}function tJ(e,t={}){return new tG(e,t).iterateSync()}function tY(e,t={}){return new tG(e,t).iterate()}let tX=Object.assign(tV,{sync:tZ}),tK=Object.assign(tY,{sync:tJ}),tQ=Object.assign(tH,{stream:tZ,iterate:tJ}),t0=Object.assign(tq,{glob:tq,globSync:tH,sync:tQ,globStream:tV,stream:tX,globStreamSync:tZ,streamSync:tZ,globIterate:tY,iterate:tK,globIterateSync:tJ,iterateSync:tJ,Glob:tG,hasMagic:(e,t={})=>{for(let i of(Array.isArray(e)||(e=[e]),e))if(new er(i,t).hasMagic())return!0;return!1},escape:O,unescape:g});t0.glob=t0;var t1=a(151),t2=a.n(t1);async function t4(e,t,i){let r=await t3(e),a=t2()().add("/**/.*").add("/**/.*/").add("node_modules/").add(r),o=[];try{for await(let r of new tG(t,{cwd:e,ignore:i,fs:l})){let t=n().join(e,r);(await (0,s.stat)(t)).isDirectory()||a.ignores(r)||o.push(t)}}catch(e){throw Error(`Failed to search files with pattern '${t}': ${e.message}
|
|
3
|
-
Please check your extensions pattern is valid glob syntax.`)}return o}async function t3(e){let t=n().join(e,".gitignore");try{return await (0,s.readFile)(t,"utf-8")}catch(e){return""}}function t6(e,t,i,s,r){var n=i?function(e,t){var i=Object.create(t||t5);for(var s in e)i[s]=e[s];return i}(i,s||void 0):s;!function e(t,i,s){n[s||t.type](t,i,e)}(e,t,r)}function t9(e,t,i){i(e,t)}function t8(e,t,i){}var t5={};t5.Program=t5.BlockStatement=t5.StaticBlock=function(e,t,i){for(var s=0,r=e.body;s<r.length;s+=1)i(r[s],t,"Statement")},t5.Statement=t9,t5.EmptyStatement=t8,t5.ExpressionStatement=t5.ParenthesizedExpression=t5.ChainExpression=function(e,t,i){return i(e.expression,t,"Expression")},t5.IfStatement=function(e,t,i){i(e.test,t,"Expression"),i(e.consequent,t,"Statement"),e.alternate&&i(e.alternate,t,"Statement")},t5.LabeledStatement=function(e,t,i){return i(e.body,t,"Statement")},t5.BreakStatement=t5.ContinueStatement=t8,t5.WithStatement=function(e,t,i){i(e.object,t,"Expression"),i(e.body,t,"Statement")},t5.SwitchStatement=function(e,t,i){i(e.discriminant,t,"Expression");for(var s=0,r=e.cases;s<r.length;s+=1)i(r[s],t)},t5.SwitchCase=function(e,t,i){e.test&&i(e.test,t,"Expression");for(var s=0,r=e.consequent;s<r.length;s+=1)i(r[s],t,"Statement")},t5.ReturnStatement=t5.YieldExpression=t5.AwaitExpression=function(e,t,i){e.argument&&i(e.argument,t,"Expression")},t5.ThrowStatement=t5.SpreadElement=function(e,t,i){return i(e.argument,t,"Expression")},t5.TryStatement=function(e,t,i){i(e.block,t,"Statement"),e.handler&&i(e.handler,t),e.finalizer&&i(e.finalizer,t,"Statement")},t5.CatchClause=function(e,t,i){e.param&&i(e.param,t,"Pattern"),i(e.body,t,"Statement")},t5.WhileStatement=t5.DoWhileStatement=function(e,t,i){i(e.test,t,"Expression"),i(e.body,t,"Statement")},t5.ForStatement=function(e,t,i){e.init&&i(e.init,t,"ForInit"),e.test&&i(e.test,t,"Expression"),e.update&&i(e.update,t,"Expression"),i(e.body,t,"Statement")},t5.ForInStatement=t5.ForOfStatement=function(e,t,i){i(e.left,t,"ForInit"),i(e.right,t,"Expression"),i(e.body,t,"Statement")},t5.ForInit=function(e,t,i){"VariableDeclaration"===e.type?i(e,t):i(e,t,"Expression")},t5.DebuggerStatement=t8,t5.FunctionDeclaration=function(e,t,i){return i(e,t,"Function")},t5.VariableDeclaration=function(e,t,i){for(var s=0,r=e.declarations;s<r.length;s+=1)i(r[s],t)},t5.VariableDeclarator=function(e,t,i){i(e.id,t,"Pattern"),e.init&&i(e.init,t,"Expression")},t5.Function=function(e,t,i){e.id&&i(e.id,t,"Pattern");for(var s=0,r=e.params;s<r.length;s+=1)i(r[s],t,"Pattern");i(e.body,t,e.expression?"Expression":"Statement")},t5.Pattern=function(e,t,i){"Identifier"===e.type?i(e,t,"VariablePattern"):"MemberExpression"===e.type?i(e,t,"MemberPattern"):i(e,t)},t5.VariablePattern=t8,t5.MemberPattern=t9,t5.RestElement=function(e,t,i){return i(e.argument,t,"Pattern")},t5.ArrayPattern=function(e,t,i){for(var s=0,r=e.elements;s<r.length;s+=1){var n=r[s];n&&i(n,t,"Pattern")}},t5.ObjectPattern=function(e,t,i){for(var s=0,r=e.properties;s<r.length;s+=1){var n=r[s];"Property"===n.type?(n.computed&&i(n.key,t,"Expression"),i(n.value,t,"Pattern")):"RestElement"===n.type&&i(n.argument,t,"Pattern")}},t5.Expression=t9,t5.ThisExpression=t5.Super=t5.MetaProperty=t8,t5.ArrayExpression=function(e,t,i){for(var s=0,r=e.elements;s<r.length;s+=1){var n=r[s];n&&i(n,t,"Expression")}},t5.ObjectExpression=function(e,t,i){for(var s=0,r=e.properties;s<r.length;s+=1)i(r[s],t)},t5.FunctionExpression=t5.ArrowFunctionExpression=t5.FunctionDeclaration,t5.SequenceExpression=function(e,t,i){for(var s=0,r=e.expressions;s<r.length;s+=1)i(r[s],t,"Expression")},t5.TemplateLiteral=function(e,t,i){for(var s=0,r=e.quasis;s<r.length;s+=1)i(r[s],t);for(var n=0,a=e.expressions;n<a.length;n+=1)i(a[n],t,"Expression")},t5.TemplateElement=t8,t5.UnaryExpression=t5.UpdateExpression=function(e,t,i){i(e.argument,t,"Expression")},t5.BinaryExpression=t5.LogicalExpression=function(e,t,i){i(e.left,t,"Expression"),i(e.right,t,"Expression")},t5.AssignmentExpression=t5.AssignmentPattern=function(e,t,i){i(e.left,t,"Pattern"),i(e.right,t,"Expression")},t5.ConditionalExpression=function(e,t,i){i(e.test,t,"Expression"),i(e.consequent,t,"Expression"),i(e.alternate,t,"Expression")},t5.NewExpression=t5.CallExpression=function(e,t,i){if(i(e.callee,t,"Expression"),e.arguments)for(var s=0,r=e.arguments;s<r.length;s+=1)i(r[s],t,"Expression")},t5.MemberExpression=function(e,t,i){i(e.object,t,"Expression"),e.computed&&i(e.property,t,"Expression")},t5.ExportNamedDeclaration=t5.ExportDefaultDeclaration=function(e,t,i){e.declaration&&i(e.declaration,t,"ExportNamedDeclaration"===e.type||e.declaration.id?"Statement":"Expression"),e.source&&i(e.source,t,"Expression")},t5.ExportAllDeclaration=function(e,t,i){e.exported&&i(e.exported,t),i(e.source,t,"Expression")},t5.ImportDeclaration=function(e,t,i){for(var s=0,r=e.specifiers;s<r.length;s+=1)i(r[s],t);i(e.source,t,"Expression")},t5.ImportExpression=function(e,t,i){i(e.source,t,"Expression")},t5.ImportSpecifier=t5.ImportDefaultSpecifier=t5.ImportNamespaceSpecifier=t5.Identifier=t5.PrivateIdentifier=t5.Literal=t8,t5.TaggedTemplateExpression=function(e,t,i){i(e.tag,t,"Expression"),i(e.quasi,t,"Expression")},t5.ClassDeclaration=t5.ClassExpression=function(e,t,i){return i(e,t,"Class")},t5.Class=function(e,t,i){e.id&&i(e.id,t,"Pattern"),e.superClass&&i(e.superClass,t,"Expression"),i(e.body,t)},t5.ClassBody=function(e,t,i){for(var s=0,r=e.body;s<r.length;s+=1)i(r[s],t)},t5.MethodDefinition=t5.PropertyDefinition=t5.Property=function(e,t,i){e.computed&&i(e.key,t,"Expression"),e.value&&i(e.value,t,"Expression")};let t7=["Identifier","TemplateLiteral","ArrowFunctionExpression","StaticMemberExpression","CallExpression","TSAsExpression"],ie=i(764);var it=a.n(ie);async function ii(e,t,i,r){let n=await t4(e,t,i);if(0===n.length)throw Error("Can't find any relevant files");null==r||r.info({directory:e,extensions:t,ignorePattern:i,filesFound:n.length},"Starting color usage analysis");let a=[],o=new Map;for(let t of n)try{let i=await (0,s.readFile)(t,"utf-8"),n=ir(i);if(n.totalCount>0){let i=t.slice(e.length);o.set(i,n),null==r||r.info({file:i,colorUsage:n},"Found color usage in file")}}catch(i){let e={file:t,error:i,message:`Error parsing ${t}`};a.push(e),null==r||r.error(e,"Error parsing file for color usage")}return{errors:a,usage:o}}async function is(e,t,i,r){let n=await t4(e,t,i);if(0===n.length)throw Error("Can't find any relevant files");null==r||r.info({directory:e,extensions:t,ignorePattern:i,filesFound:n.length},"Starting component usage analysis");let a=[],o=new Map;for(let t of n)try{let i=await (0,s.readFile)(t,"utf-8"),{ast:n,errors:l}=function(e,t){let i=it().parseSync(e,{sourceFilename:t,sourceType:"module"});return{ast:JSON.parse(i.program),errors:i.errors}}(i,t);if(l.length>0){let e={file:t,error:l,message:`Error parsing ${t}`};a.push(e),null==r||r.error(e,"AST parsing errors");continue}let h=function(e){let t={components:new Map,props:new Map,imports:new Map},i={CatchClause(){},CatchParameter(){},ComputedMemberExpression(){},JSXText(){},NullLiteral(){},NumericLiteral(){},BooleanLiteral(){},ObjectExpression(){},ObjectProperty(){},StringLiteral(){},TSAsExpression(){},TSEnumDeclaration(){},TSInterfaceDeclaration(){},TSTypeAliasDeclaration(){},TSModuleDeclaration(){},TSSatisfiesExpression(){},StaticMemberExpression(){},RegExpLiteral(){},TSNonNullExpression(){},JSXEmptyExpression(){},JSXFragment(e,t){e.children.forEach(e=>t6(e,t,i,t5))},IfStatement(e,t){t6(e.consequent,t,i,t5),e.alternate&&t6(e.alternate,t,i,t5)},VariableDeclaration(e,t){e.declarations.forEach(e=>{t6(e,t,i,t5)})},ArrowFunctionExpression(e,t){"FunctionBody"===e.body.type&&t6(e.body,t,i,t5)},ParenthesizedExpression(e,t){t6(e.expression,t,i,t5)},ReturnStatement(e,t){e.argument&&t6(e.argument,t,i,t5)},FunctionBody(e,t){e.statements.forEach(e=>t6(e,t,i,t5))},Program(e,t){e.body.forEach(e=>{t6(e,t,i,t5)})},JSXElement(e,t){var s;let r=e.openingElement,n=r.name.name;if((null==n?void 0:n[0])!==(null==n||null==(s=n[0])?void 0:s.toLocaleLowerCase())){if(r.attributes.length>0){let e=[];r.attributes.forEach(t=>{if(t.name){var i,s,r;if((null==(i=t.value)?void 0:i.type)==="JSXExpressionContainer"){let i=t.value.expression.type;i&&t7.includes(i)?e.push({name:t.name.name,type:[i],values:["zh-runtime-value"]}):i&&"ObjectExpression"===i?e.push({name:t.name.name,type:[i],values:["zh-object-value"]}):i&&"ArrayExpression"===i?e.push({name:t.name.name,type:[i],values:["zh-array-value"]}):i&&"BinaryExpression"===i?e.push({name:t.name.name,type:[i],values:["zh-binary-value"]}):e.push({name:t.name.name,type:[i],values:[t.value.expression.value||t.value.expression.name]})}else e.push({name:t.name.name,type:[null==(s=t.value)?void 0:s.type],values:[null==(r=t.value)?void 0:r.value]})}});let i=t.props.get(n)??[];t.props.set(n,[...e,...i])}t.components.set(n,(t.components.get(n)??0)+1)}e.children.forEach(e=>{t6(e,t,i,t5)})},CallExpression(e,t){e.arguments.forEach(e=>t6(e,t,i,t5))},ExportDefaultDeclaration(e,t){if("FunctionDeclaration"===e.declaration.type){let{statements:s}=e.declaration.body;s.forEach(e=>{t6(e,t,i,t5)})}},JSXExpressionContainer(e,t){t6(e.expression,t,i,t5)},ImportDeclaration(e,t){var i,s;let r=(null==(i=e.source.value)?void 0:i.toString())??"";null==(s=e.specifiers)||s.forEach(e=>{if("ImportNamespaceSpecifier"===e.type)return;let i=e.local.name;"ImportDefaultSpecifier"===e.type||"Identifier"===e.type?i=e.local.name:"ImportSpecifier"===e.type&&(i="Literal"===e.imported.type?e.imported.value:e.imported.name),t.imports.set(e.local.name,{package:r,name:i})})}};try{t6(e,t,i,t5)}finally{return function(e){let t=new Map;for(let[i,s]of e.components){let r=e.imports.get(i),n=(null==r?void 0:r.name)??i,a=(null==r?void 0:r.package)??"",o=`package:${a} name:${n}`,l=t.get(o)??{name:n,count:0,package:(null==r?void 0:r.package)??"",props:{}};t.set(o,{...l,count:l.count+s,props:{}})}for(let[i,s]of e.props){let r=e.imports.get(i),n=(null==r?void 0:r.name)??i,a=(null==r?void 0:r.package)??"",o=`package:${a} name:${n}`,l=t.get(o),h=l.props;s.forEach(e=>{var t,i;h[e.name]={type:Array.from(new Set([...(null==(t=h[e.name])?void 0:t.type)??[],...e.type??[]])),values:[...(null==(i=h[e.name])?void 0:i.values)??[],...e.values]}}),t.set(o,{...l,props:h})}return Array.from(t.values())}(t)}}(n);if(h.length>0){let i=t.slice(e.length);o.set(i,h),null==r||r.info({file:i,ast:n,usage:h},"Found component usage in file")}}catch(i){let e={file:t,error:i,message:`Error parsing ${t}`};a.push(e),null==r||r.error(e,"Error parsing file for component usage")}return{errors:a,usage:o}}function ir(e){let t=Array.from(e.match(/#([a-fA-F0-9]{6}|[a-fA-F0-9]{8})\b|#([a-fA-F0-9]{3})\b/gi)??[]),i=Array.from(e.match(/rgba?\(\s*(\d{1,3})\s*[,\s]\s*(\d{1,3})\s*[,\s]\s*(\d{1,3})(?:\s*[,\s]\s*(\d*\.?\d+))?\s*\)/g)??[]),s=Array.from(e.match(/hsl(?:a)?\(\s*(?:(?:none|from\s+[a-zA-Z#0-9()]+)?\s*(?:[a-z\d+\-*/%()\s]+)\s*|(\d+(?:deg|grad|rad|turn)?)\s*(\d+%?)\s*(\d+%?)\s*(?:\/\s*(\d+%?|0?\.\d+))?|(\d+(?:deg|grad|rad|turn)?)\s*,\s*(\d+%)\s*,\s*(\d+%)\s*(?:,\s*(\d+(\.\d+)?%?))?)\)/g)??[]),r=Array.from(e.match(/okl(?:ab|ch)\(\s*(-?\d*\.?\d+)\s*[,\s]\s*(-?\d*\.?\d+)\s*[,\s]\s*(-?\d*\.?\d+)(?:\s*[,\s]\s*(\d*\.?\d+))?\s*\)/g)??[]),n=Array.from(e.match(/hwb\(\s*(\d*\.?\d+)(?:deg|turn|rad|grad)?\s*[,\s]\s*(\d*\.?\d+%)\s*[,\s]\s*(\d*\.?\d+%)(?:\s*[,\s]\s*(\d*\.?\d+))?\s*\)/g)??[]),a=Array.from(e.match(/(?<!ok)lab\(\s*(-?\d*\.?\d+%)\s*[,\s]\s*(-?\d*\.?\d+)\s*[,\s]\s*(-?\d*\.?\d+)(?:\s*[,\s]\s*(\d*\.?\d+))?\s*\)/g)??[]),o=Array.from(e.match(/(?<!ok)lch\(\s*(-?\d*\.?\d+%)\s*[,\s]\s*(-?\d*\.?\d+)\s*[,\s]\s*(-?\d*\.?\d+)(?:\s*[,\s]\s*(\d*\.?\d+))?\s*\)/g)??[]),l=Array.from(e.match(/color\(\s*([\w-]+)\s+(?:[-+]?\d*\.?\d+(?:e[-+]?\d+)?%?\s*){3,4}\)/g)??[]);return{hex:t,rgb:i,hsla:s,oklab:r,hwb:n,lab:a,lch:o,colorSpace:l,totalCount:t.length+i.length+s.length+n.length+a.length+o.length+l.length+r.length}}function ia(e){let t=new Map;for(let[i,s]of e)for(let{count:e,package:r,name:a,props:o}of s){let s=r;if(r.startsWith(".")){let e=n().dirname(i),t=n().join(e,r);s=n().normalize(t)}let l=`package:${s} name:${a}`,h=t.get(l),c=[...(null==h?void 0:h.files)??[],i];t.set(l,{name:(null==h?void 0:h.name)??a,files:Array.from(new Set(c)),count:e+((null==h?void 0:h.count)??0),package:s,props:function(e,t){if(!t)return e;if(!e)return t;let i=Array.from(new Set([...Object.keys(t),...Object.keys(e)])),s={};return i.forEach(i=>{let r=t[i]??{},n=e[i],a=[...(null==r?void 0:r.values)??[],...(null==n?void 0:n.values)??[]];s[i]={type:Array.from(new Set([...r.type??[],...(null==n?void 0:n.type)??[]])),count:a.length,values:a}}),s}(o,(null==h?void 0:h.props)??{})})}return Array.from(t.values())}function io(e){let t=new Map;for(let[i,{hex:s,rgb:r,hsla:n}]of e)for(let e of[...s,...r,...n]){let s=t.get(e),r=[...(null==s?void 0:s.files)??[],i];t.set(e,{value:e,type:"color",files:r,count:((null==s?void 0:s.count)??0)+1})}return Array.from(t.values())}})(),t.Analyzers=o.Analyzers,t.Transformers=o.Transformers,o)-1===["Analyzers","Transformers"].indexOf(l)&&(t[l]=o[l]);Object.defineProperty(t,"__esModule",{value:!0})})()},584:function(e,t,i){i.a(e,async function(e,s){try{i.d(t,{Z:()=>x});var r=i(810),n=i(725),a=i(92),o=i(381),l=i(468),h=i(307),c=i(772),u=i(306),d=i(512),f=i(448),p=i(999);let e=new n.Command;async function m(){let e=await fetch("https://registry.npmjs.org/@zeroheight/adoption-cli/latest");return(await e.json()).version}let{output:g,cleanup:y}=(0,a.render)(r.createElement(o.Z,null)),{output:E,cleanup:w}=(0,a.render)(r.createElement(l.Z,{latestVersion:await m()}));e.name("zh-adoption").description("CLI for measuring design system usage usage in your products").version("3.4.2").addHelpText("before",g).option("--log-file <path>","Path to write logs to, if not provided logs only error logs will be written to stderr").addOption(new n.Option("--log-level <level>","The lowest level of logs to display").default("error").choices(["fatal","error","warn","info"])).addCommand((0,h.O)()).addCommand((0,c.G)()).addCommand((0,u.C)()).addCommand((0,d.G)()).hook("preAction",async(e,t)=>{f.ZP.level=e.opts().logLevel,e.opts().logFile&&(0,f.H4)(e.opts().logFile),f.ZP.info({command:{name:t.name(),opts:t.opts(),globalOpts:e.opts()}},"Running command");let i=await m();(0,p.lt)("3.4.2",i)&&console.log(E)}),y(),w(),"test"!==process.env.NODE_ENV&&e.parse();let x=e;s()}catch(e){s(e)}},1)},307:function(e,t,i){i.d(t,{O:()=>O});var s=i(810),r=i(149),n=i(725),a=i(904),o=i(367),l=i(165),h=i(950),c=i(795);function u({onContinue:e,dryRun:t}){let[i,n]=s.useState("");return s.createElement(r.Box,null,s.createElement(r.Text,null,t?s.createElement(s.Fragment,null,"Continue to next step? ",s.createElement(r.Text,{dimColor:!0},"(Y/n):")):s.createElement(s.Fragment,null,"Send this data to ",s.createElement(r.Text,{color:"#f63e7c"},"zeroheight"),"?"," ",s.createElement(r.Text,{dimColor:!0},"(Y/n):"))),s.createElement(c.Z,{isChecked:!0,value:i,onChange:n,onSubmit:t=>{e(t)}}))}function d({dataType:e}){return s.createElement(s.Fragment,null,s.createElement(r.Text,null,"Nothing sent to zeroheight, if you want to track ",e," data then remove the ",s.createElement(r.Text,{italic:!0},"--dry-run")," option."),s.createElement(r.Newline,null))}function f({dataType:e}){return s.createElement(s.Fragment,null,s.createElement(d,{dataType:e}),s.createElement(r.Text,null,"\uD83D\uDC4B See you next time!"))}var p=i(432),m=i(741),g=i(22),y=i(829),E=i(651);function w({credentials:e,onRepoNameSelected:t}){let[i,n]=s.default.useState("LOADING"),[a,o]=s.default.useState([]),[h,c]=s.default.useState("");async function u(e){try{let t=await (0,g.ru)(e);if(t.status!==g.Mx.Success)throw Error("Failed to get repo names");let i=t.data.repo_names;o(i),0===i.length?n("ENTER_REPO_NAME"):n("SELECT_REPO_NAME")}catch(e){n("ERROR")}}if(s.default.useEffect(()=>{e&&(n("LOADING"),(0,m.zi)().then(i=>{var s;let r=null==i||null==(s=i.repoNames)?void 0:s[process.cwd()];r?t(r):u(e)}))},[e]),"LOADING"===i)return s.default.createElement(r.Box,{flexDirection:"column"},s.default.createElement(r.Text,null,s.default.createElement(r.Text,{color:"cyan"},s.default.createElement(l.default,{type:"dots"}))," ","Fetching repository names..."));if("ERROR"===i)return s.default.createElement(r.Box,{flexDirection:"column"},s.default.createElement(r.Text,{color:"red"},"Error:"),s.default.createElement(r.Box,{flexDirection:"column",marginLeft:1},s.default.createElement(r.Text,null,"- Failed to fetch repository names")));if("SELECT_REPO_NAME"===i){let e=[{label:"Enter repository name",value:"enter-repository-name"},...a.map(e=>({label:e,value:e}))];return s.default.createElement(r.Box,{flexDirection:"column"},s.default.createElement(r.Text,null,"Select the repository name"),s.default.createElement(E.Z,{as:"select",options:e,onChange:function(e){if("enter-repository-name"===e)return void n("ENTER_REPO_NAME");t(e)}}))}return"ENTER_REPO_NAME"===i?s.default.createElement(r.Box,null,s.default.createElement(r.Text,null,"Repository name:"),s.default.createElement(y.default,{value:h,onChange:c,onSubmit:e=>{0!==e.trim().length&&t(e)}})):null}function x({usage:e}){let t=Array.from(e.entries());return s.createElement(r.Box,{flexDirection:"column"},t.map(([e,t])=>s.createElement(r.Box,{key:e,flexDirection:"column"},s.createElement(r.Text,{color:"green"},e),s.createElement(r.Box,{flexDirection:"column",marginLeft:2},t.map(({name:t,count:i})=>s.createElement(r.Box,{gap:2,key:`${t}-${e}`},s.createElement(r.Text,{bold:!0},i),s.createElement(r.Text,null,t)))))))}var v=i(410);let b={hex:"HEX",rgb:"RGB",hsla:"HSL",oklab:"Oklab",hwb:"HWB",lab:"LAB",lch:"LCH",colorSpace:"Color space",totalCount:"Total usage"};function S({usage:e}){let t=Array.from(e.entries());return s.createElement(r.Box,{flexDirection:"column"},t.map(([e,t])=>{let i=Object.entries(t);return s.createElement(r.Box,{key:e,flexDirection:"column"},s.createElement(r.Text,{color:"green"},e),s.createElement(r.Box,{flexDirection:"column",marginLeft:2},s.createElement(r.Box,{flexDirection:"column",marginLeft:2},i.map(([e,t])=>{if("totalCount"===e)return null;let i=t.length;if(0===i)return null;let n=b[e];return s.createElement(r.Box,{gap:2,key:`${e}-${i}`},s.createElement(r.Text,{bold:!0},n,": "),s.createElement(r.Text,null,i))})),s.createElement(r.Text,{bold:!0},"Total usage: ",t.totalCount)))}))}function k({onAnalyzeFiles:e,onAnalyzeColorUsage:t,dryRun:i,repoName:n}){let{exit:a}=(0,r.useApp)(),[y,E]=s.default.useState(0),[b,k]=s.default.useState(new Map),[T,C]=s.default.useState(new Map),[A,O]=s.default.useState([]),[z,L]=s.default.useState(null),[_,F]=s.default.useState(null),[D,M]=s.default.useState((0,g.jM)()),[P,N]=s.default.useState(n),[R,B]=s.default.useState(""),[j,I]=s.default.useState(""),[$,W]=s.default.useState(""),[U,G]=s.default.useState("");async function Z(){try{let{errorFile:t,usage:i}=await e();L(t),k(i),E(5)}catch(e){O(t=>[...t,e])}}async function V(e){if(e){if(i)return void E(12);let e=await H();if(!e)return void E(8);if(!P)return void E(9);E(10),q(b,P,e)}else E(12)}async function H(){try{let e=await (0,m.zi)();if(e)return F({token:e.token,client:e.client}),{token:e.token,client:e.client};return null}catch(e){return O(e=>[...e,"Failed to load credentials"]),null}}async function q(e,t,i){try{var s;await (0,g.BW)(e,t,i);let r=await (0,g.lx)(i);if(r.status!==g.Mx.Success)throw Error("Failed to get credentials");let n=null==(s=r.data.project)?void 0:s.id,a=(0,g.jM)();a.pathname=n?`/project/${n}/adoption/`:"/adoption/",M(a),E(11)}catch(t){let e="Failed to send data to zeroheight";t instanceof v.MS&&(e=t.message),O(t=>[...t,e])}}async function J(e,t){try{await (0,g.lx)({token:t,client:e})}catch{return O(["Auth credentials are not valid"]),a()}}function Y(e){e?(E(13),X()):E(1)}async function X(){try{let{errorFile:e,usage:i}=await t();L(e),C(i),E(14)}catch(e){O(t=>[...t,e])}}async function K(e){if(e){if(i)return void E(1);let e=await H();if(!e)return void E(17);if(!P)return void E(18);E(19),Q(T,P,e)}else E(1),a()}async function Q(e,t,i){try{var s;await (0,g.$O)(e,t,i);let r=await (0,g.lx)(i);if(r.status!==g.Mx.Success)throw Error("Failed to get credentials");let n=null==(s=r.data.project)?void 0:s.id,a=(0,g.jM)();a.pathname=n?`/project/${n}/adoption/`:"/adoption/",M(a),E(20)}catch(t){let e="Failed to send data to zeroheight";t instanceof v.MS&&(e=t.message),O(t=>[...t,e])}}if(A.length>0)return s.default.createElement(r.Box,{flexDirection:"column"},s.default.createElement(r.Text,{color:"red"},"Error:"),s.default.createElement(r.Box,{flexDirection:"column",marginLeft:1},A.map(e=>s.default.createElement(s.default.Fragment,null,s.default.createElement(r.Text,{key:e},e),s.default.createElement(r.Newline,null)))));if(0===y)return s.default.createElement(r.Box,{flexDirection:"column"},s.default.createElement(r.Text,null,"\uD83D\uDC4B Welcome to the ",s.default.createElement(r.Text,{color:"#f63e7c"},"zeroheight")," analyze tool"),s.default.createElement(r.Newline,null),s.default.createElement(r.Box,{flexDirection:"column"},s.default.createElement(r.Text,null,"❓ Would you like us to scan the files in this project to understand how components are being used (React only)?"," ",s.default.createElement(r.Text,{dimColor:!0},"(Y/n)")),s.default.createElement(c.Z,{isChecked:!0,value:j,onChange:I,onSubmit:function(e){e?(E(4),Z()):E(12)}})));if(4===y)return s.default.createElement(r.Text,null,s.default.createElement(r.Text,{color:"green"},s.default.createElement(l.default,{type:"dots"}))," Scanning files for component usage...");if(5===y)if((null==b?void 0:b.size)>0)return s.default.createElement(r.Box,{flexDirection:"column"},s.default.createElement(r.Text,{color:"green"},(0,o.G2)(b)," components found"),z&&s.default.createElement(s.default.Fragment,null,s.default.createElement(r.Newline,null),s.default.createElement(r.Box,null,s.default.createElement(r.Text,{color:"red"},"Error:"),s.default.createElement(r.Text,null," ","Some files could not be parsed. Errors can be found at"," ",s.default.createElement(h.default,{url:z},z)))),s.default.createElement(r.Box,null,s.default.createElement(r.Text,null,"Show more details? ",s.default.createElement(r.Text,{dimColor:!0},"(y/N)")),s.default.createElement(c.Z,{isChecked:!1,value:U,onChange:G,onSubmit:function(e){e?E(6):E(7)}})));else return s.default.createElement(r.Box,{flexDirection:"column"},s.default.createElement(r.Box,null,s.default.createElement(r.Text,null,"No files found, try a different directory or change the file extensions you want to include.")),s.default.createElement(r.Box,null,s.default.createElement(r.Text,null,"Continue to token usage analysis? ",s.default.createElement(r.Text,{dimColor:!0},"(Y/n)")),s.default.createElement(c.Z,{isChecked:!0,value:R,onChange:B,onSubmit:function(e){e?E(12):E(1)}})));if(6===y)return s.default.createElement(r.Box,{flexDirection:"column"},s.default.createElement(x,{usage:b}),s.default.createElement(r.Newline,null),i?s.default.createElement(s.default.Fragment,null,s.default.createElement(d,{dataType:"component usage"}),s.default.createElement(u,{dryRun:!0,onContinue:()=>V(!1)})):s.default.createElement(u,{onContinue:V}));if(7===y)return s.default.createElement(r.Box,{flexDirection:"column"},i?s.default.createElement(s.default.Fragment,null,s.default.createElement(d,{dataType:"component usage"}),s.default.createElement(u,{dryRun:!0,onContinue:()=>V(!1)})):s.default.createElement(u,{onContinue:V}));if(8===y||17===y)return s.default.createElement(p.Z,{configPath:(0,m.qA)(),onCheckCredentials:J,onSaveCredentials:async(e,t,i)=>{F({token:i,client:t}),e&&await (0,m.iL)({client:t,token:i}),8===y?(V(!0),E(10)):(K(!0),E(19))}});if(9===y||18===y)return s.default.createElement(w,{credentials:_,onRepoNameSelected:function(e){N(e),(0,m.iL)({repoNames:{[process.cwd()]:e}}),9===y?(V(!0),E(10)):(K(!0),E(19))}});if(10===y||19===y)return s.default.createElement(r.Text,null,s.default.createElement(r.Text,{color:"green"},s.default.createElement(l.default,{type:"dots"}))," ","Sending usage data to ",s.default.createElement(r.Text,{color:"#f63e7c"},"zeroheight"),"...");if(11===y)return s.default.createElement(r.Box,{flexDirection:"column"},s.default.createElement(r.Text,null,s.default.createElement(r.Text,{color:"green"},"Successfully sent:")," View your"," ",s.default.createElement(h.default,{url:D.toString()},s.default.createElement(r.Text,{underline:!0,color:"#f63e7c"},"usage data on zeroheight"))),s.default.createElement(r.Newline,null),s.default.createElement(r.Box,null,s.default.createElement(r.Text,null,"❓ Would you like us to scan the files in this project to understand how colors are being used? ",s.default.createElement(r.Text,{dimColor:!0},"(Y/n)")),s.default.createElement(c.Z,{isChecked:!0,value:$,onChange:W,onSubmit:Y})));if(12===y)return s.default.createElement(r.Box,{flexDirection:"column"},s.default.createElement(r.Box,null,s.default.createElement(r.Text,null,"❓ Would you like us to scan the files in this project to understand how colors are being used? ",s.default.createElement(r.Text,{dimColor:!0},"(Y/n)")),s.default.createElement(c.Z,{isChecked:!0,value:$,onChange:W,onSubmit:Y})));if(13===y)return s.default.createElement(r.Text,null,s.default.createElement(r.Text,{color:"green"},s.default.createElement(l.default,{type:"dots"}))," Scanning files for color usage...");if(14===y)if((null==T?void 0:T.size)>0)return s.default.createElement(r.Box,{flexDirection:"column"},s.default.createElement(r.Text,{color:"green"},(0,o.IJ)(T)," instances of raw color usage found"),z&&s.default.createElement(s.default.Fragment,null,s.default.createElement(r.Newline,null),s.default.createElement(r.Box,null,s.default.createElement(r.Text,{color:"red"},"Error:"),s.default.createElement(r.Text,null," ","Some files could not be parsed. Errors can be found at"," ",s.default.createElement(h.default,{url:z},z)))),s.default.createElement(r.Box,null,s.default.createElement(r.Text,null,"Show more details? ",s.default.createElement(r.Text,{dimColor:!0},"(y/N)")),s.default.createElement(c.Z,{isChecked:!1,value:U,onChange:G,onSubmit:function(e){e?E(15):E(16)}})));else return s.default.createElement(r.Box,{flexDirection:"column"},s.default.createElement(r.Text,null,"No files found, try a different directory or change the file extensions you want to include."));return 15===y?i?s.default.createElement(r.Box,{flexDirection:"column"},s.default.createElement(S,{usage:T}),s.default.createElement(r.Newline,null),s.default.createElement(f,{dataType:"color usage"})):s.default.createElement(r.Box,{flexDirection:"column"},s.default.createElement(S,{usage:T}),s.default.createElement(r.Newline,null),s.default.createElement(u,{onContinue:K})):16===y?i?s.default.createElement(r.Box,{flexDirection:"column"},s.default.createElement(f,{dataType:"color usage"})):s.default.createElement(r.Box,{flexDirection:"column"},s.default.createElement(u,{onContinue:K})):20===y?s.default.createElement(r.Box,{flexDirection:"column"},s.default.createElement(r.Text,null,s.default.createElement(r.Text,{color:"green"},"Successfully sent:")," View your"," ",s.default.createElement(h.default,{url:D.toString()},s.default.createElement(r.Text,{underline:!0,color:"#f63e7c"},"usage data on zeroheight"))),s.default.createElement(r.Newline,null),s.default.createElement(r.Text,null,"\uD83D\uDC4B See you next time!")):1===y?s.default.createElement(r.Box,{flexDirection:"column"},s.default.createElement(r.Text,null,"\uD83D\uDC4B See you next time!")):s.default.createElement(r.Text,null,"Analyze complete")}function T({repoName:e,onAnalyzeFiles:t,onAnalyzeColorUsage:i,shouldAnalyzeComponentUsage:n,shouldAnalyzeTokenUsage:a,dryRun:c}){let[u,d]=s.default.useState(!1),[f,p]=s.default.useState(!1),[y,E]=s.default.useState(!1),[w,x]=s.default.useState(null),[b,S]=s.default.useState([]),[k,T]=s.default.useState(null),[C,A]=s.default.useState(null),[O,z]=s.default.useState(null);async function L(){E(!0);try{let e=await (0,m.zi)();return e&&T({token:e.token,client:e.client}),e}catch(e){S(e=>[...e,"Failed to load credentials"])}finally{E(!1)}return null}async function _(e,t,i){d(!0);try{await (0,g.BW)(e,t,i)}catch(t){let e="Failed to send component usage data to zeroheight";t instanceof v.MS&&(e=t.message),S(t=>[...t,e])}finally{d(!1)}}async function F(e,t,i){d(!0);try{await (0,g.$O)(e,t,i)}catch(t){let e="Failed to send color usage data to zeroheight";t instanceof v.MS&&(e=t.message),S(t=>[...t,e])}finally{d(!1)}}async function D(){p(!0);let{errorFile:e,usage:i}=await t();return A(i),e&&x(e),p(!1),i}async function M(){p(!0);let{errorFile:e,usage:t}=await i();return z(t),e&&x(e),p(!1),t}return(s.default.useEffect(()=>{(async()=>{let t=await L();if(t&&e){if(n){let i=await D();c||await _(i,e,t)}if(a){let i=await M();c||await F(i,e,t)}}})()},[]),f||y||u)?s.default.createElement(r.Text,null,s.default.createElement(l.default,{type:"dots"})," ",f&&s.default.createElement(r.Text,null,"Analyzing files"),y&&s.default.createElement(r.Text,null,"Loading credentials"),u&&s.default.createElement(r.Text,null,"Sending data to zeroheight")):b.length>0?s.default.createElement(r.Box,{flexDirection:"column"},s.default.createElement(r.Text,{color:"red"},"Error:"),s.default.createElement(r.Box,{flexDirection:"column",marginLeft:1},b.map(e=>s.default.createElement(r.Text,{key:e},"- ",e)))):w?s.default.createElement(s.default.Fragment,null,s.default.createElement(r.Newline,null),s.default.createElement(r.Box,null,s.default.createElement(r.Text,{color:"red"},"Error:"),s.default.createElement(r.Text,null," ","Some files could not be parsed. Errors can be found at"," ",s.default.createElement(h.default,{url:w},w)))):e?k?C||O?s.default.createElement(s.default.Fragment,null,C&&s.default.createElement(r.Text,{color:"green"},(0,o.G2)(C)," components found",c?" (dry run - not sent)":" and sent to",!c&&s.default.createElement(r.Text,{color:"#f63e7c"}," zeroheight")),O&&s.default.createElement(r.Text,{color:"green"},(0,o.IJ)(O)," usages of raw colors found",c?" (dry run - not sent)":" and sent to",!c&&s.default.createElement(r.Text,{color:"#f63e7c"}," zeroheight"))):s.default.createElement(r.Text,null,"No usage could be found."):s.default.createElement(r.Text,null,"Credentials not found, please ensure they are set before running the"," ",s.default.createElement(r.Text,{bold:!0},"analyze")," command with"," ",s.default.createElement(r.Text,{italic:!0},"--interactive false")):s.default.createElement(r.Text,null,s.default.createElement(r.Text,{bold:!0},"Repo name")," not found, run the ",s.default.createElement(r.Text,{bold:!0},"analyze")," ","command in interactive mode or provide the"," ",s.default.createElement(r.Text,{italic:!0},"--repo-name ","<my repo name>")," option")}var C=i(448);async function A(e,t){e.interactive?(0,r.render)(s.createElement(k,{dryRun:e.dryRun,onAnalyzeFiles:()=>(0,o.NT)(e.extensions,e.ignore),onAnalyzeColorUsage:()=>(0,o.hS)(e.extensions,e.ignore),repoName:e.repoName}),t):(0,r.render)(s.createElement(T,{repoName:e.repoName,onAnalyzeFiles:()=>(0,o.NT)(e.extensions,e.ignore),onAnalyzeColorUsage:()=>(0,o.hS)(e.extensions,e.ignore),shouldAnalyzeComponentUsage:e.componentUsage,shouldAnalyzeTokenUsage:e.colorUsage,dryRun:e.dryRun}))}function O(){return new n.Command().command("analyze").description("Analyze your codebase to determine component usage metrics").configureHelp({showGlobalOptions:!0}).addOption(new n.Option("-e, --extensions [ext]","glob pattern for file extensions to include when searching for components. Examples: '**/*.{js,jsx,ts,tsx}', '**/*.js', 'src/**/*.{ts,tsx}'").default("**/*.{js,jsx,ts,tsx}","*.js, *.jsx, *.ts, *.tsx files recursively in all directories").argParser(o.Uc)).addOption(new n.Option("-i, --ignore [patterns]","files to ignore when searching for components, use multiple times to add more than one glob pattern").default(["**/*.{test,spec}.*","**/*.d.ts"],"*.test.*, *.spec.* and *.d.ts files").argParser(o.tu)).addOption(new n.Option("-d, --dry-run","don't push results to zeroheight").default(!1)).addOption(new n.Option("-r, --repo-name <string>","name of the repository")).addOption(new n.Option("-in, --interactive [boolean]","disable to skip input (useful when running in CI)").default(!0).argParser(e=>(0,a.default)(e))).addOption(new n.Option("-cu, --component-usage [boolean]","gather data about component and prop usage").default(!0).argParser(e=>(0,a.default)(e))).addOption(new n.Option("-cou, --color-usage [boolean]","gather data about color usage").default(!0).argParser(e=>(0,a.default)(e))).action(async e=>{e.interactive||(0,C.If)();let t="boolean"==typeof e.ignore?[]:e.ignore;try{await A({...e,ignore:t})}catch(e){C.ZP.error({error:e},"Unhandled exception running analyze command"),process.exitCode=1}})}},367:function(i,s,r){r.d(s,{hS:()=>m,IJ:()=>p,tu:()=>g,g8:()=>c,Uc:()=>y,G2:()=>f,NT:()=>d});var n=r(292),a=r(727),o=r(403),l=r(929),h=r(448);async function c(i,s,r){let l=await u(i),h=(0,t.default)().add("/**/.*").add("/**/.*/").add("node_modules/").add(l),c=[];try{for await(let t of new e.Glob(s,{cwd:i,ignore:r,fs:a})){let e=o.default.join(i,t);(await (0,n.stat)(e)).isDirectory()||h.ignores(t)||c.push(e)}}catch(e){throw Error(`Failed to search files with pattern '${s}': ${e.message}
|
|
2
|
+
import*as e from"glob";import*as t from"ignore";import*as i from"yaml";import*as s from"chalk";import*as r from"cli-truncate";import*as n from"os";import*as a from"pino";import*as o from"pino-pretty";import*as l from"@inkjs/ui";import*as h from"commander";import*as c from"fs";import*as u from"ink";import*as d from"ink-link";import*as f from"ink-render-string";import*as p from"ink-spinner";import*as m from"ink-text-input";import*as g from"oxc-parser";import*as y from"path";import*as E from"react";import*as w from"semver";import*as x from"yn";import{createRequire as v}from"node:module";var b,S,k,T,C,A={929:function(e,t,i){(()=>{var e,s,r={623:function(e){"use strict";function t(e,t,r){e instanceof RegExp&&(e=i(e,r)),t instanceof RegExp&&(t=i(t,r));var n=s(e,t,r);return n&&{start:n[0],end:n[1],pre:r.slice(0,n[0]),body:r.slice(n[0]+e.length,n[1]),post:r.slice(n[1]+t.length)}}function i(e,t){var i=t.match(e);return i?i[0]:null}function s(e,t,i){var s,r,n,a,o,l=i.indexOf(e),h=i.indexOf(t,l+1),c=l;if(l>=0&&h>0){if(e===t)return[l,h];for(s=[],n=i.length;c>=0&&!o;)c==l?(s.push(c),l=i.indexOf(e,c+1)):1==s.length?o=[s.pop(),h]:((r=s.pop())<n&&(n=r,a=h),h=i.indexOf(t,c+1)),c=l<h&&l>=0?l:h;s.length&&(o=[n,a])}return o}e.exports=t,t.range=s},644:function(e,t,i){var s=i(623);e.exports=function(e){return e?("{}"===e.substr(0,2)&&(e="\\{\\}"+e.substr(2)),(function e(t,i){var r=[],n=s("{","}",t);if(!n)return[t];var o=n.pre,l=n.post.length?e(n.post,!1):[""];if(/\$$/.test(n.pre))for(var c=0;c<l.length;c++){var m=o+"{"+n.body+"}"+l[c];r.push(m)}else{var g=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(n.body),y=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(n.body),E=g||y,w=n.body.indexOf(",")>=0;if(!E&&!w)return n.post.match(/,.*\}/)?e(t=n.pre+"{"+n.body+a+n.post):[t];if(E)x=n.body.split(/\.\./);else if(1===(x=function e(t){if(!t)return[""];var i=[],r=s("{","}",t);if(!r)return t.split(",");var n=r.pre,a=r.body,o=r.post,l=n.split(",");l[l.length-1]+="{"+a+"}";var h=e(o);return o.length&&(l[l.length-1]+=h.shift(),l.push.apply(l,h)),i.push.apply(i,l),i}(n.body)).length&&1===(x=e(x[0],!1).map(u)).length)return l.map(function(e){return n.pre+x[0]+e});if(E){var x,v,b,S=h(x[0]),k=h(x[1]),T=Math.max(x[0].length,x[1].length),C=3==x.length?Math.abs(h(x[2])):1,A=f;k<S&&(C*=-1,A=p);var O=x.some(d);v=[];for(var z=S;A(z,k);z+=C){if(y)"\\"===(b=String.fromCharCode(z))&&(b="");else if(b=String(z),O){var L=T-b.length;if(L>0){var _=Array(L+1).join("0");b=z<0?"-"+_+b.slice(1):_+b}}v.push(b)}}else{v=[];for(var F=0;F<x.length;F++)v.push.apply(v,e(x[F],!1))}for(var F=0;F<v.length;F++)for(var c=0;c<l.length;c++){var m=o+v[F]+l[c];(!i||E||m)&&r.push(m)}}return r})(e.split("\\\\").join(r).split("\\{").join(n).split("\\}").join(a).split("\\,").join(o).split("\\.").join(l),!0).map(c)):[]};var r="\0SLASH"+Math.random()+"\0",n="\0OPEN"+Math.random()+"\0",a="\0CLOSE"+Math.random()+"\0",o="\0COMMA"+Math.random()+"\0",l="\0PERIOD"+Math.random()+"\0";function h(e){return parseInt(e,10)==e?parseInt(e,10):e.charCodeAt(0)}function c(e){return e.split(r).join("\\").split(n).join("{").split(a).join("}").split(o).join(",").split(l).join(".")}function u(e){return"{"+e+"}"}function d(e){return/^-?0\d/.test(e)}function f(e,t){return e<=t}function p(e,t){return e>=t}},151:function(e){function t(e){return Array.isArray(e)?e:[e]}let i=void 0,s=/^\s+$/,r=/(?:[^\\]|^)\\$/,n=/^\\!/,a=/^\\#/,o=/\r?\n/g,l=/^\.{0,2}\/|^\.{1,2}$/,h=/\/$/,c="node-ignore";"undefined"!=typeof Symbol&&(c=Symbol.for("node-ignore"));let u=c,d=(e,t,i)=>(Object.defineProperty(e,t,{value:i}),i),f=/([0-z])-([0-z])/g,p=()=>!1,m=e=>e.replace(f,(e,t,i)=>t.charCodeAt(0)<=i.charCodeAt(0)?e:""),g=e=>{let{length:t}=e;return e.slice(0,t-t%2)},y=[[/^\uFEFF/,()=>""],[/((?:\\\\)*?)(\\?\s+)$/,(e,t,i)=>t+(0===i.indexOf("\\")?" ":"")],[/(\\+?)\s/g,(e,t)=>{let{length:i}=t;return t.slice(0,i-i%2)+" "}],[/[\\$.|*+(){^]/g,e=>`\\${e}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(e,t,i)=>t+6<i.length?"(?:\\/[^\\/]+)*":"\\/.+"],[/(^|[^\\]+)(\\\*)+(?=.+)/g,(e,t,i)=>t+i.replace(/\\\*/g,"[^\\/]*")],[/\\\\\\(?=[$.|*+(){^])/g,()=>"\\"],[/\\\\/g,()=>"\\"],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(e,t,i,s,r)=>"\\"===t?`\\[${i}${g(s)}${r}`:"]"===r&&s.length%2==0?`[${m(i)}${s}]`:"[]"],[/(?:[^*])$/,e=>/\/$/.test(e)?`${e}$`:`${e}(?=$|\\/$)`]],E=/(^|\\\/)?\\\*$/,w="regex",x="checkRegex",v={[w](e,t){let i=t?`${t}[^/]+`:"[^/]*";return`${i}(?=$|\\/$)`},[x](e,t){let i=t?`${t}[^/]*`:"[^/]*";return`${i}(?=$|\\/$)`}},b=e=>y.reduce((t,[i,s])=>t.replace(i,s.bind(e)),e),S=e=>"string"==typeof e,k=e=>e&&S(e)&&!s.test(e)&&!r.test(e)&&0!==e.indexOf("#"),T=e=>e.split(o).filter(Boolean);class C{constructor(e,t,i,s,r,n){this.pattern=e,this.mark=t,this.negative=r,d(this,"body",i),d(this,"ignoreCase",s),d(this,"regexPrefix",n)}get regex(){let e="_"+w;return this[e]?this[e]:this._make(w,e)}get checkRegex(){let e="_"+x;return this[e]?this[e]:this._make(x,e)}_make(e,t){let i=this.regexPrefix.replace(E,v[e]);return d(this,t,this.ignoreCase?RegExp(i,"i"):new RegExp(i))}}let A=({pattern:e,mark:t},i)=>{let s=!1,r=e;0===r.indexOf("!")&&(s=!0,r=r.substr(1));let o=b(r=r.replace(n,"!").replace(a,"#"));return new C(e,t,r,i,s,o)};class O{constructor(e){this._ignoreCase=e,this._rules=[]}_add(e){if(e&&e[u]){this._rules=this._rules.concat(e._rules._rules),this._added=!0;return}if(S(e)&&(e={pattern:e}),k(e.pattern)){let t=A(e,this._ignoreCase);this._added=!0,this._rules.push(t)}}add(e){return this._added=!1,t(S(e)?T(e):e).forEach(this._add,this),this._added}test(e,t,s){let r,n=!1,a=!1;this._rules.forEach(o=>{let{negative:l}=o;(a!==l||n===a)&&(!l||n||a||t)&&o[s].test(e)&&(n=!l,a=l,r=l?i:o)});let o={ignored:n,unignored:a};return r&&(o.rule=r),o}}let z=(e,t)=>{throw new t(e)},L=(e,t,i)=>S(e)?e?!L.isNotRelative(e)||i(`path should be a \`path.relative()\`d string, but got "${t}"`,RangeError):i("path must not be empty",TypeError):i(`path must be a string, but got \`${t}\``,TypeError),_=e=>l.test(e);L.isNotRelative=_,L.convert=e=>e;class F{constructor({ignorecase:e=!0,ignoreCase:t=e,allowRelativePaths:i=!1}={}){d(this,u,!0),this._rules=new O(t),this._strictPathCheck=!i,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}add(e){return this._rules.add(e)&&this._initCache(),this}addPattern(e){return this.add(e)}_test(e,t,i,s){let r=e&&L.convert(e);return L(r,e,this._strictPathCheck?z:p),this._t(r,t,i,s)}checkIgnore(e){if(!h.test(e))return this.test(e);let t=e.split("/").filter(Boolean);if(t.pop(),t.length){let e=this._t(t.join("/")+"/",this._testCache,!0,t);if(e.ignored)return e}return this._rules.test(e,!1,x)}_t(e,t,i,s){if(e in t)return t[e];if(s||(s=e.split("/").filter(Boolean)),s.pop(),!s.length)return t[e]=this._rules.test(e,i,w);let r=this._t(s.join("/")+"/",t,i,s);return t[e]=r.ignored?r:this._rules.test(e,i,w)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return t(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}}let D=e=>new F(e);if("undefined"!=typeof process&&(process.env&&process.env.IGNORE_TEST_WIN32||"win32"===process.platform)){L.convert=e=>/^\\\\\?\\/.test(e)||/["<>|\u0000-\u001F]+/u.test(e)?e:e.replace(/\\/g,"/");let e=/^[a-z]:\//i;L.isNotRelative=t=>e.test(t)||_(t)}e.exports=D,D.default=D,e.exports.isPathValid=e=>L(e&&L.convert(e),e,p)}},n={};function a(e){var t=n[e];if(void 0!==t)return t.exports;var i=n[e]={exports:{}};return r[e](i,i.exports,a),i.exports}a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},s=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,a.t=function(t,i){if(1&i&&(t=this(t)),8&i||"object"==typeof t&&t&&(4&i&&t.__esModule||16&i&&"function"==typeof t.then))return t;var r=Object.create(null);a.r(r);var n={};e=e||[null,s({}),s([]),s(s)];for(var o=2&i&&t;"object"==typeof o&&!~e.indexOf(o);o=s(o))Object.getOwnPropertyNames(o).forEach(e=>{n[e]=()=>t[e]});return n.default=()=>t,a.d(r,n),r},a.d=(e,t)=>{for(var i in t)a.o(t,i)&&!a.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};for(var l in(()=>{"use strict";a.r(o),a.d(o,{Transformers:()=>t,Analyzers:()=>e});var e={};a.r(e),a.d(e,{analyzeComponentUsage:()=>is,analyzeRawColorUsage:()=>ii,countColorOccurrences:()=>ir});var t={};a.r(t),a.d(t,{transformComponentUsage:()=>ia,transformRawColorUsage:()=>io});let s=i(292),r=i(403);var n=a.n(r);let l=i(727);var h=a(644);let c=e=>{if("string"!=typeof e)throw TypeError("invalid pattern");if(e.length>65536)throw TypeError("pattern is too long")},u={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},d=e=>e.replace(/[[\]\\-]/g,"\\$&"),f=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),p=e=>e.join(""),m=(e,t)=>{if("["!==e.charAt(t))throw Error("not in a brace expression");let i=[],s=[],r=t+1,n=!1,a=!1,o=!1,l=!1,h=t,c="";e:for(;r<e.length;){let f=e.charAt(r);if(("!"===f||"^"===f)&&r===t+1){l=!0,r++;continue}if("]"===f&&n&&!o){h=r+1;break}if(n=!0,"\\"===f&&!o){o=!0,r++;continue}if("["===f&&!o){for(let[n,[o,l,h]]of Object.entries(u))if(e.startsWith(n,r)){if(c)return["$.",!1,e.length-t,!0];r+=n.length,h?s.push(o):i.push(o),a=a||l;continue e}}if(o=!1,c){f>c?i.push(d(c)+"-"+d(f)):f===c&&i.push(d(f)),c="",r++;continue}if(e.startsWith("-]",r+1)){i.push(d(f+"-")),r+=2;continue}if(e.startsWith("-",r+1)){c=f,r+=2;continue}i.push(d(f)),r++}if(h<r)return["",!1,0,!1];if(!i.length&&!s.length)return["$.",!1,e.length-t,!0];if(0===s.length&&1===i.length&&/^\\?.$/.test(i[0])&&!l)return[f(2===i[0].length?i[0].slice(-1):i[0]),!1,h-t,!1];let m="["+(l?"^":"")+p(i)+"]",g="["+(l?"":"^")+p(s)+"]";return[i.length&&s.length?"("+m+"|"+g+")":i.length?m:g,a,h-t,!0]},g=(e,{windowsPathsNoEscape:t=!1}={})=>t?e.replace(/\[([^\/\\])\]/g,"$1"):e.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1"),y=new Set(["!","?","+","*","@"]),E=e=>y.has(e),w="(?!\\.)",x=new Set(["[","."]),v=new Set(["..","."]),b=new Set("().*{}+?[]^$\\!"),S=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),k="[^/]",T=k+"*?",C=k+"+?";class A{type;#e;#t;#i=!1;#s=[];#r;#n;#a;#o=!1;#l;#h;#c=!1;constructor(e,t,i={}){this.type=e,e&&(this.#t=!0),this.#r=t,this.#e=this.#r?this.#r.#e:this,this.#l=this.#e===this?i:this.#e.#l,this.#a=this.#e===this?[]:this.#e.#a,"!"!==e||this.#e.#o||this.#a.push(this),this.#n=this.#r?this.#r.#s.length:0}get hasMagic(){if(void 0!==this.#t)return this.#t;for(let e of this.#s)if("string"!=typeof e&&(e.type||e.hasMagic))return this.#t=!0;return this.#t}toString(){return void 0!==this.#h?this.#h:this.type?this.#h=this.type+"("+this.#s.map(e=>String(e)).join("|")+")":this.#h=this.#s.map(e=>String(e)).join("")}#u(){let e;if(this!==this.#e)throw Error("should only call on root");if(this.#o)return this;for(this.toString(),this.#o=!0;e=this.#a.pop();){if("!"!==e.type)continue;let t=e,i=t.#r;for(;i;){for(let s=t.#n+1;!i.type&&s<i.#s.length;s++)for(let t of e.#s){if("string"==typeof t)throw Error("string part in extglob AST??");t.copyIn(i.#s[s])}i=(t=i).#r}}return this}push(...e){for(let t of e)if(""!==t){if("string"!=typeof t&&!(t instanceof A&&t.#r===this))throw Error("invalid part: "+t);this.#s.push(t)}}toJSON(){let e=null===this.type?this.#s.slice().map(e=>"string"==typeof e?e:e.toJSON()):[this.type,...this.#s.map(e=>e.toJSON())];return this.isStart()&&!this.type&&e.unshift([]),this.isEnd()&&(this===this.#e||this.#e.#o&&this.#r?.type==="!")&&e.push({}),e}isStart(){if(this.#e===this)return!0;if(!this.#r?.isStart())return!1;if(0===this.#n)return!0;let e=this.#r;for(let t=0;t<this.#n;t++){let i=e.#s[t];if(!(i instanceof A&&"!"===i.type))return!1}return!0}isEnd(){if(this.#e===this||this.#r?.type==="!")return!0;if(!this.#r?.isEnd())return!1;if(!this.type)return this.#r?.isEnd();let e=this.#r?this.#r.#s.length:0;return this.#n===e-1}copyIn(e){"string"==typeof e?this.push(e):this.push(e.clone(this))}clone(e){let t=new A(this.type,e);for(let e of this.#s)t.copyIn(e);return t}static #d(e,t,i,s){let r=!1,n=!1,a=-1,o=!1;if(null===t.type){let l=i,h="";for(;l<e.length;){let i=e.charAt(l++);if(r||"\\"===i){r=!r,h+=i;continue}if(n){l===a+1?("^"===i||"!"===i)&&(o=!0):"]"!==i||l===a+2&&o||(n=!1),h+=i;continue}if("["===i){n=!0,a=l,o=!1,h+=i;continue}if(!s.noext&&E(i)&&"("===e.charAt(l)){t.push(h),h="";let r=new A(i,t);l=A.#d(e,r,l,s),t.push(r);continue}h+=i}return t.push(h),l}let l=i+1,h=new A(null,t),c=[],u="";for(;l<e.length;){let i=e.charAt(l++);if(r||"\\"===i){r=!r,u+=i;continue}if(n){l===a+1?("^"===i||"!"===i)&&(o=!0):"]"!==i||l===a+2&&o||(n=!1),u+=i;continue}if("["===i){n=!0,a=l,o=!1,u+=i;continue}if(E(i)&&"("===e.charAt(l)){h.push(u),u="";let t=new A(i,h);h.push(t),l=A.#d(e,t,l,s);continue}if("|"===i){h.push(u),u="",c.push(h),h=new A(null,t);continue}if(")"===i)return""===u&&0===t.#s.length&&(t.#c=!0),h.push(u),u="",t.push(...c,h),l;u+=i}return t.type=null,t.#t=void 0,t.#s=[e.substring(i-1)],l}static fromGlob(e,t={}){let i=new A(null,void 0,t);return A.#d(e,i,0,t),i}toMMPattern(){if(this!==this.#e)return this.#e.toMMPattern();let e=this.toString(),[t,i,s,r]=this.toRegExpSource();return s||this.#t||this.#l.nocase&&!this.#l.nocaseMagicOnly&&e.toUpperCase()!==e.toLowerCase()?Object.assign(RegExp(`^${t}$`,(this.#l.nocase?"i":"")+(r?"u":"")),{_src:t,_glob:e}):i}get options(){return this.#l}toRegExpSource(e){let t=e??!!this.#l.dot;if(this.#e===this&&this.#u(),!this.type){let i=this.isStart()&&this.isEnd(),s=this.#s.map(t=>{let[s,r,n,a]="string"==typeof t?A.#f(t,this.#t,i):t.toRegExpSource(e);return this.#t=this.#t||n,this.#i=this.#i||a,s}).join(""),r="";if(this.isStart()&&"string"==typeof this.#s[0]&&!(1===this.#s.length&&v.has(this.#s[0]))){let i=t&&x.has(s.charAt(0))||s.startsWith("\\.")&&x.has(s.charAt(2))||s.startsWith("\\.\\.")&&x.has(s.charAt(4)),n=!t&&!e&&x.has(s.charAt(0));r=i?"(?!(?:^|/)\\.\\.?(?:$|/))":n?w:""}let n="";return this.isEnd()&&this.#e.#o&&this.#r?.type==="!"&&(n="(?:$|\\/)"),[r+s+n,g(s),this.#t=!!this.#t,this.#i]}let i="*"===this.type||"+"===this.type,s="!"===this.type?"(?:(?!(?:":"(?:",r=this.#p(t);if(this.isStart()&&this.isEnd()&&!r&&"!"!==this.type){let e=this.toString();return this.#s=[e],this.type=null,this.#t=void 0,[e,g(this.toString()),!1,!1]}let n=!i||e||t||!w?"":this.#p(!0);n===r&&(n=""),n&&(r=`(?:${r})(?:${n})*?`);let a="";return["!"===this.type&&this.#c?(this.isStart()&&!t?w:"")+C:s+r+("!"===this.type?"))"+(!this.isStart()||t||e?"":w)+T+")":"@"===this.type?")":"?"===this.type?")?":"+"===this.type&&n?")":"*"===this.type&&n?")?":`)${this.type}`),g(r),this.#t=!!this.#t,this.#i]}#p(e){return this.#s.map(t=>{if("string"==typeof t)throw Error("string type in extglob ast??");let[i,s,r,n]=t.toRegExpSource(e);return this.#i=this.#i||n,i}).filter(e=>!(this.isStart()&&this.isEnd())||!!e).join("|")}static #f(e,t,i=!1){let s=!1,r="",n=!1;for(let a=0;a<e.length;a++){let o=e.charAt(a);if(s){s=!1,r+=(b.has(o)?"\\":"")+o;continue}if("\\"===o){a===e.length-1?r+="\\\\":s=!0;continue}if("["===o){let[i,s,o,l]=m(e,a);if(o){r+=i,n=n||s,a+=o-1,t=t||l;continue}}if("*"===o){i&&"*"===e?r+=C:r+=T,t=!0;continue}if("?"===o){r+=k,t=!0;continue}r+=S(o)}return[r,g(e),!!t,n]}}let O=(e,{windowsPathsNoEscape:t=!1}={})=>t?e.replace(/[?*()[\]]/g,"[$&]"):e.replace(/[?*()[\]\\]/g,"\\$&"),z=(e,t,i={})=>(c(t),(!!i.nocomment||"#"!==t.charAt(0))&&new er(t,i).match(e)),L=/^\*+([^+@!?\*\[\(]*)$/,_=e=>t=>!t.startsWith(".")&&t.endsWith(e),F=e=>t=>t.endsWith(e),D=e=>(e=e.toLowerCase(),t=>!t.startsWith(".")&&t.toLowerCase().endsWith(e)),M=e=>(e=e.toLowerCase(),t=>t.toLowerCase().endsWith(e)),P=/^\*+\.\*+$/,N=e=>!e.startsWith(".")&&e.includes("."),R=e=>"."!==e&&".."!==e&&e.includes("."),B=/^\.\*+$/,j=e=>"."!==e&&".."!==e&&e.startsWith("."),I=/^\*+$/,$=e=>0!==e.length&&!e.startsWith("."),W=e=>0!==e.length&&"."!==e&&".."!==e,U=/^\?+([^+@!?\*\[\(]*)?$/,G=([e,t=""])=>{let i=q([e]);return t?(t=t.toLowerCase(),e=>i(e)&&e.toLowerCase().endsWith(t)):i},Z=([e,t=""])=>{let i=J([e]);return t?(t=t.toLowerCase(),e=>i(e)&&e.toLowerCase().endsWith(t)):i},V=([e,t=""])=>{let i=J([e]);return t?e=>i(e)&&e.endsWith(t):i},H=([e,t=""])=>{let i=q([e]);return t?e=>i(e)&&e.endsWith(t):i},q=([e])=>{let t=e.length;return e=>e.length===t&&!e.startsWith(".")},J=([e])=>{let t=e.length;return e=>e.length===t&&"."!==e&&".."!==e},Y="object"==typeof process&&process?"object"==typeof process.env&&process.env&&process.env.__MINIMATCH_TESTING_PLATFORM__||process.platform:"posix",X={win32:{sep:"\\"},posix:{sep:"/"}};z.sep="win32"===Y?X.win32.sep:X.posix.sep;let K=Symbol("globstar **");z.GLOBSTAR=K;let Q="[^/]*?";z.filter=(e,t={})=>i=>z(i,e,t);let ee=(e,t={})=>Object.assign({},e,t);z.defaults=e=>{if(!e||"object"!=typeof e||!Object.keys(e).length)return z;let t=z;return Object.assign((i,s,r={})=>t(i,s,ee(e,r)),{Minimatch:class extends t.Minimatch{constructor(t,i={}){super(t,ee(e,i))}static defaults(i){return t.defaults(ee(e,i)).Minimatch}},AST:class extends t.AST{constructor(t,i,s={}){super(t,i,ee(e,s))}static fromGlob(i,s={}){return t.AST.fromGlob(i,ee(e,s))}},unescape:(i,s={})=>t.unescape(i,ee(e,s)),escape:(i,s={})=>t.escape(i,ee(e,s)),filter:(i,s={})=>t.filter(i,ee(e,s)),defaults:i=>t.defaults(ee(e,i)),makeRe:(i,s={})=>t.makeRe(i,ee(e,s)),braceExpand:(i,s={})=>t.braceExpand(i,ee(e,s)),match:(i,s,r={})=>t.match(i,s,ee(e,r)),sep:t.sep,GLOBSTAR:K})};let et=(e,t={})=>(c(e),t.nobrace||!/\{(?:(?!\{).)*\}/.test(e))?[e]:h(e);z.braceExpand=et,z.makeRe=(e,t={})=>new er(e,t).makeRe(),z.match=(e,t,i={})=>{let s=new er(t,i);return e=e.filter(e=>s.match(e)),s.options.nonull&&!e.length&&e.push(t),e};let ei=/[?*]|[+@!]\(.*?\)|\[|\]/,es=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");class er{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;regexp;constructor(e,t={}){c(e),t=t||{},this.options=t,this.pattern=e,this.platform=t.platform||Y,this.isWindows="win32"===this.platform,this.windowsPathsNoEscape=!!t.windowsPathsNoEscape||!1===t.allowWindowsEscape,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.preserveMultipleSlashes=!!t.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!t.nonegate,this.comment=!1,this.empty=!1,this.partial=!!t.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=void 0!==t.windowsNoMagicRoot?t.windowsNoMagicRoot:!!(this.isWindows&&this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(let e of this.set)for(let t of e)if("string"!=typeof t)return!0;return!1}debug(...e){}make(){let e=this.pattern,t=this.options;if(!t.nocomment&&"#"===e.charAt(0)){this.comment=!0;return}if(!e){this.empty=!0;return}this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],t.debug&&(this.debug=(...e)=>console.error(...e)),this.debug(this.pattern,this.globSet);let i=this.globSet.map(e=>this.slashSplit(e));this.globParts=this.preprocess(i),this.debug(this.pattern,this.globParts);let s=this.globParts.map((e,t,i)=>{if(this.isWindows&&this.windowsNoMagicRoot){let t=""===e[0]&&""===e[1]&&("?"===e[2]||!ei.test(e[2]))&&!ei.test(e[3]),i=/^[a-z]:/i.test(e[0]);if(t)return[...e.slice(0,4),...e.slice(4).map(e=>this.parse(e))];if(i)return[e[0],...e.slice(1).map(e=>this.parse(e))]}return e.map(e=>this.parse(e))});if(this.debug(this.pattern,s),this.set=s.filter(e=>-1===e.indexOf(!1)),this.isWindows)for(let e=0;e<this.set.length;e++){let t=this.set[e];""===t[0]&&""===t[1]&&"?"===this.globParts[e][2]&&"string"==typeof t[3]&&/^[a-z]:$/i.test(t[3])&&(t[2]="?")}this.debug(this.pattern,this.set)}preprocess(e){if(this.options.noglobstar)for(let t=0;t<e.length;t++)for(let i=0;i<e[t].length;i++)"**"===e[t][i]&&(e[t][i]="*");let{optimizationLevel:t=1}=this.options;return t>=2?(e=this.firstPhasePreProcess(e),e=this.secondPhasePreProcess(e)):e=t>=1?this.levelOneOptimize(e):this.adjascentGlobstarOptimize(e),e}adjascentGlobstarOptimize(e){return e.map(e=>{let t=-1;for(;-1!==(t=e.indexOf("**",t+1));){let i=t;for(;"**"===e[i+1];)i++;i!==t&&e.splice(t,i-t)}return e})}levelOneOptimize(e){return e.map(e=>0===(e=e.reduce((e,t)=>{let i=e[e.length-1];return"**"===t&&"**"===i||(".."===t&&i&&".."!==i&&"."!==i&&"**"!==i?e.pop():e.push(t)),e},[])).length?[""]:e)}levelTwoFileOptimize(e){Array.isArray(e)||(e=this.slashSplit(e));let t=!1;do{if(t=!1,!this.preserveMultipleSlashes){for(let i=1;i<e.length-1;i++){let s=e[i];(1!==i||""!==s||""!==e[0])&&("."===s||""===s)&&(t=!0,e.splice(i,1),i--)}"."===e[0]&&2===e.length&&("."===e[1]||""===e[1])&&(t=!0,e.pop())}let i=0;for(;-1!==(i=e.indexOf("..",i+1));){let s=e[i-1];s&&"."!==s&&".."!==s&&"**"!==s&&(t=!0,e.splice(i-1,2),i-=2)}}while(t);return 0===e.length?[""]:e}firstPhasePreProcess(e){let t=!1;do for(let i of(t=!1,e)){let s=-1;for(;-1!==(s=i.indexOf("**",s+1));){let r=s;for(;"**"===i[r+1];)r++;r>s&&i.splice(s+1,r-s);let n=i[s+1],a=i[s+2],o=i[s+3];if(".."!==n||!a||"."===a||".."===a||!o||"."===o||".."===o)continue;t=!0,i.splice(s,1);let l=i.slice(0);l[s]="**",e.push(l),s--}if(!this.preserveMultipleSlashes){for(let e=1;e<i.length-1;e++){let s=i[e];(1!==e||""!==s||""!==i[0])&&("."===s||""===s)&&(t=!0,i.splice(e,1),e--)}"."===i[0]&&2===i.length&&("."===i[1]||""===i[1])&&(t=!0,i.pop())}let r=0;for(;-1!==(r=i.indexOf("..",r+1));){let e=i[r-1];if(e&&"."!==e&&".."!==e&&"**"!==e){t=!0;let e=1===r&&"**"===i[r+1]?["."]:[];i.splice(r-1,2,...e),0===i.length&&i.push(""),r-=2}}}while(t);return e}secondPhasePreProcess(e){for(let t=0;t<e.length-1;t++)for(let i=t+1;i<e.length;i++){let s=this.partsMatch(e[t],e[i],!this.preserveMultipleSlashes);if(s){e[t]=[],e[i]=s;break}}return e.filter(e=>e.length)}partsMatch(e,t,i=!1){let s=0,r=0,n=[],a="";for(;s<e.length&&r<t.length;)if(e[s]===t[r])n.push("b"===a?t[r]:e[s]),s++,r++;else if(i&&"**"===e[s]&&t[r]===e[s+1])n.push(e[s]),s++;else if(i&&"**"===t[r]&&e[s]===t[r+1])n.push(t[r]),r++;else if("*"===e[s]&&t[r]&&(this.options.dot||!t[r].startsWith("."))&&"**"!==t[r]){if("b"===a)return!1;a="a",n.push(e[s]),s++,r++}else{if("*"!==t[r]||!e[s]||!this.options.dot&&e[s].startsWith(".")||"**"===e[s]||"a"===a)return!1;a="b",n.push(t[r]),s++,r++}return e.length===t.length&&n}parseNegate(){if(this.nonegate)return;let e=this.pattern,t=!1,i=0;for(let s=0;s<e.length&&"!"===e.charAt(s);s++)t=!t,i++;i&&(this.pattern=e.slice(i)),this.negate=t}matchOne(e,t,i=!1){let s=this.options;if(this.isWindows){let i="string"==typeof e[0]&&/^[a-z]:$/i.test(e[0]),s=!i&&""===e[0]&&""===e[1]&&"?"===e[2]&&/^[a-z]:$/i.test(e[3]),r="string"==typeof t[0]&&/^[a-z]:$/i.test(t[0]),n=!r&&""===t[0]&&""===t[1]&&"?"===t[2]&&"string"==typeof t[3]&&/^[a-z]:$/i.test(t[3]),a=s?3:i?0:void 0,o=n?3:r?0:void 0;if("number"==typeof a&&"number"==typeof o){let[i,s]=[e[a],t[o]];i.toLowerCase()===s.toLowerCase()&&(t[o]=i,o>a?t=t.slice(o):a>o&&(e=e.slice(a)))}}let{optimizationLevel:r=1}=this.options;r>=2&&(e=this.levelTwoFileOptimize(e)),this.debug("matchOne",this,{file:e,pattern:t}),this.debug("matchOne",e.length,t.length);for(var n=0,a=0,o=e.length,l=t.length;n<o&&a<l;n++,a++){let r;this.debug("matchOne loop");var h=t[a],c=e[n];if(this.debug(t,h,c),!1===h)return!1;if(h===K){this.debug("GLOBSTAR",[t,h,c]);var u=n,d=a+1;if(d===l){for(this.debug("** at the end");n<o;n++)if("."===e[n]||".."===e[n]||!s.dot&&"."===e[n].charAt(0))return!1;return!0}for(;u<o;){var f=e[u];if(this.debug("\nglobstar while",e,u,t,d,f),this.matchOne(e.slice(u),t.slice(d),i))return this.debug("globstar found match!",u,o,f),!0;if("."===f||".."===f||!s.dot&&"."===f.charAt(0)){this.debug("dot detected!",e,u,t,d);break}this.debug("globstar swallow a segment, and continue"),u++}if(i&&(this.debug("\n>>> no match, partial?",e,u,t,d),u===o))return!0;return!1}if("string"==typeof h?(r=c===h,this.debug("string match",h,c,r)):(r=h.test(c),this.debug("pattern match",h,c,r)),!r)return!1}if(n===o&&a===l)return!0;if(n===o)return i;if(a===l)return n===o-1&&""===e[n];throw Error("wtf?")}braceExpand(){return et(this.pattern,this.options)}parse(e){let t;c(e);let i=this.options;if("**"===e)return K;if(""===e)return"";let s=null;(t=e.match(I))?s=i.dot?W:$:(t=e.match(L))?s=(i.nocase?i.dot?M:D:i.dot?F:_)(t[1]):(t=e.match(U))?s=(i.nocase?i.dot?Z:G:i.dot?V:H)(t):(t=e.match(P))?s=i.dot?R:N:(t=e.match(B))&&(s=j);let r=A.fromGlob(e,this.options).toMMPattern();return s&&"object"==typeof r&&Reflect.defineProperty(r,"test",{value:s}),r}makeRe(){if(this.regexp||!1===this.regexp)return this.regexp;let e=this.set;if(!e.length)return this.regexp=!1,this.regexp;let t=this.options,i=t.noglobstar?Q:t.dot?"(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?":"(?:(?!(?:\\/|^)\\.).)*?",s=new Set(t.nocase?["i"]:[]),r=e.map(e=>{let t=e.map(e=>{if(e instanceof RegExp)for(let t of e.flags.split(""))s.add(t);return"string"==typeof e?es(e):e===K?K:e._src});return t.forEach((e,s)=>{let r=t[s+1],n=t[s-1];e===K&&n!==K&&(void 0===n?void 0!==r&&r!==K?t[s+1]="(?:\\/|"+i+"\\/)?"+r:t[s]=i:void 0===r?t[s-1]=n+"(?:\\/|"+i+")?":r!==K&&(t[s-1]=n+"(?:\\/|\\/"+i+"\\/)"+r,t[s+1]=K))}),t.filter(e=>e!==K).join("/")}).join("|"),[n,a]=e.length>1?["(?:",")"]:["",""];r="^"+n+r+a+"$",this.negate&&(r="^(?!"+r+").+$");try{this.regexp=new RegExp(r,[...s].join(""))}catch(e){this.regexp=!1}return this.regexp}slashSplit(e){return this.preserveMultipleSlashes?e.split("/"):this.isWindows&&/^\/\/[^\/]+/.test(e)?["",...e.split(/\/+/)]:e.split(/\/+/)}match(e,t=this.partial){if(this.debug("match",e,this.pattern),this.comment)return!1;if(this.empty)return""===e;if("/"===e&&t)return!0;let i=this.options;this.isWindows&&(e=e.split("\\").join("/"));let s=this.slashSplit(e);this.debug(this.pattern,"split",s);let r=this.set;this.debug(this.pattern,"set",r);let n=s[s.length-1];if(!n)for(let e=s.length-2;!n&&e>=0;e--)n=s[e];for(let e=0;e<r.length;e++){let a=r[e],o=s;if(i.matchBase&&1===a.length&&(o=[n]),this.matchOne(o,a,t)){if(i.flipNegate)return!0;return!this.negate}}return!i.flipNegate&&this.negate}static defaults(e){return z.defaults(e).Minimatch}}z.AST=A,z.Minimatch=er,z.escape=O,z.unescape=g;let en=i(41),ea="object"==typeof performance&&performance&&"function"==typeof performance.now?performance:Date,eo=new Set,el="object"==typeof process&&process?process:{},eh=(e,t,i,s)=>{"function"==typeof el.emitWarning?el.emitWarning(e,t,i,s):console.error(`[${i}] ${t}: ${e}`)},ec=globalThis.AbortController,eu=globalThis.AbortSignal;if(void 0===ec){eu=class{onabort;_onabort=[];reason;aborted=!1;addEventListener(e,t){this._onabort.push(t)}},ec=class{constructor(){t()}signal=new eu;abort(e){if(!this.signal.aborted){for(let t of(this.signal.reason=e,this.signal.aborted=!0,this.signal._onabort))t(e);this.signal.onabort?.(e)}}};let e=el.env?.LRU_CACHE_IGNORE_AC_WARNING!=="1",t=()=>{e&&(e=!1,eh("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",t))}}let ed=e=>!eo.has(e);Symbol("type");let ef=e=>e&&e===Math.floor(e)&&e>0&&isFinite(e),ep=e=>ef(e)?e<=256?Uint8Array:e<=65536?Uint16Array:e<=0x100000000?Uint32Array:e<=Number.MAX_SAFE_INTEGER?em:null:null;class em extends Array{constructor(e){super(e),this.fill(0)}}class eg{heap;length;static #m=!1;static create(e){let t=ep(e);if(!t)return[];eg.#m=!0;let i=new eg(e,t);return eg.#m=!1,i}constructor(e,t){if(!eg.#m)throw TypeError("instantiate Stack using Stack.create(n)");this.heap=new t(e),this.length=0}push(e){this.heap[this.length++]=e}pop(){return this.heap[--this.length]}}class ey{#g;#y;#E;#w;#x;#v;#b;ttl;ttlResolution;ttlAutopurge;updateAgeOnGet;updateAgeOnHas;allowStale;noDisposeOnSet;noUpdateTTL;maxEntrySize;sizeCalculation;noDeleteOnFetchRejection;noDeleteOnStaleGet;allowStaleOnFetchAbort;allowStaleOnFetchRejection;ignoreFetchAbort;#S;#k;#T;#C;#A;#O;#z;#L;#_;#F;#D;#M;#P;#N;#R;#B;#j;#I;static unsafeExposeInternals(e){return{starts:e.#P,ttls:e.#N,sizes:e.#M,keyMap:e.#T,keyList:e.#C,valList:e.#A,next:e.#O,prev:e.#z,get head(){return e.#L},get tail(){return e.#_},free:e.#F,isBackgroundFetch:t=>e.#$(t),backgroundFetch:(t,i,s,r)=>e.#W(t,i,s,r),moveToTail:t=>e.#U(t),indexes:t=>e.#G(t),rindexes:t=>e.#Z(t),isStale:t=>e.#V(t)}}get max(){return this.#g}get maxSize(){return this.#y}get calculatedSize(){return this.#k}get size(){return this.#S}get fetchMethod(){return this.#v}get memoMethod(){return this.#b}get dispose(){return this.#E}get onInsert(){return this.#w}get disposeAfter(){return this.#x}constructor(e){let{max:t=0,ttl:i,ttlResolution:s=1,ttlAutopurge:r,updateAgeOnGet:n,updateAgeOnHas:a,allowStale:o,dispose:l,onInsert:h,disposeAfter:c,noDisposeOnSet:u,noUpdateTTL:d,maxSize:f=0,maxEntrySize:p=0,sizeCalculation:m,fetchMethod:g,memoMethod:y,noDeleteOnFetchRejection:E,noDeleteOnStaleGet:w,allowStaleOnFetchRejection:x,allowStaleOnFetchAbort:v,ignoreFetchAbort:b}=e;if(0!==t&&!ef(t))throw TypeError("max option must be a nonnegative integer");let S=t?ep(t):Array;if(!S)throw Error("invalid max value: "+t);if(this.#g=t,this.#y=f,this.maxEntrySize=p||this.#y,this.sizeCalculation=m,this.sizeCalculation){if(!this.#y&&!this.maxEntrySize)throw TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if("function"!=typeof this.sizeCalculation)throw TypeError("sizeCalculation set to non-function")}if(void 0!==y&&"function"!=typeof y)throw TypeError("memoMethod must be a function if defined");if(this.#b=y,void 0!==g&&"function"!=typeof g)throw TypeError("fetchMethod must be a function if specified");if(this.#v=g,this.#B=!!g,this.#T=new Map,this.#C=Array(t).fill(void 0),this.#A=Array(t).fill(void 0),this.#O=new S(t),this.#z=new S(t),this.#L=0,this.#_=0,this.#F=eg.create(t),this.#S=0,this.#k=0,"function"==typeof l&&(this.#E=l),"function"==typeof h&&(this.#w=h),"function"==typeof c?(this.#x=c,this.#D=[]):(this.#x=void 0,this.#D=void 0),this.#R=!!this.#E,this.#I=!!this.#w,this.#j=!!this.#x,this.noDisposeOnSet=!!u,this.noUpdateTTL=!!d,this.noDeleteOnFetchRejection=!!E,this.allowStaleOnFetchRejection=!!x,this.allowStaleOnFetchAbort=!!v,this.ignoreFetchAbort=!!b,0!==this.maxEntrySize){if(0!==this.#y&&!ef(this.#y))throw TypeError("maxSize must be a positive integer if specified");if(!ef(this.maxEntrySize))throw TypeError("maxEntrySize must be a positive integer if specified");this.#H()}if(this.allowStale=!!o,this.noDeleteOnStaleGet=!!w,this.updateAgeOnGet=!!n,this.updateAgeOnHas=!!a,this.ttlResolution=ef(s)||0===s?s:1,this.ttlAutopurge=!!r,this.ttl=i||0,this.ttl){if(!ef(this.ttl))throw TypeError("ttl must be a positive integer if specified");this.#q()}if(0===this.#g&&0===this.ttl&&0===this.#y)throw TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!this.#g&&!this.#y){let e="LRU_CACHE_UNBOUNDED";ed(e)&&(eo.add(e),eh("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",e,ey))}}getRemainingTTL(e){return this.#T.has(e)?1/0:0}#q(){let e=new em(this.#g),t=new em(this.#g);this.#N=e,this.#P=t,this.#J=(i,s,r=ea.now())=>{if(t[i]=0!==s?r:0,e[i]=s,0!==s&&this.ttlAutopurge){let e=setTimeout(()=>{this.#V(i)&&this.#Y(this.#C[i],"expire")},s+1);e.unref&&e.unref()}},this.#X=i=>{t[i]=0!==e[i]?ea.now():0},this.#K=(r,n)=>{if(e[n]){let a=e[n],o=t[n];if(!a||!o)return;r.ttl=a,r.start=o,r.now=i||s();let l=r.now-o;r.remainingTTL=a-l}};let i=0,s=()=>{let e=ea.now();if(this.ttlResolution>0){i=e;let t=setTimeout(()=>i=0,this.ttlResolution);t.unref&&t.unref()}return e};this.getRemainingTTL=r=>{let n=this.#T.get(r);if(void 0===n)return 0;let a=e[n],o=t[n];return a&&o?a-((i||s())-o):1/0},this.#V=r=>{let n=t[r],a=e[r];return!!a&&!!n&&(i||s())-n>a}}#X=()=>{};#K=()=>{};#J=()=>{};#V=()=>!1;#H(){let e=new em(this.#g);this.#k=0,this.#M=e,this.#Q=t=>{this.#k-=e[t],e[t]=0},this.#ee=(e,t,i,s)=>{if(this.#$(t))return 0;if(!ef(i))if(s){if("function"!=typeof s)throw TypeError("sizeCalculation must be a function");if(!ef(i=s(t,e)))throw TypeError("sizeCalculation return invalid (expect positive integer)")}else throw TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return i},this.#et=(t,i,s)=>{if(e[t]=i,this.#y){let i=this.#y-e[t];for(;this.#k>i;)this.#ei(!0)}this.#k+=e[t],s&&(s.entrySize=i,s.totalCalculatedSize=this.#k)}}#Q=e=>{};#et=(e,t,i)=>{};#ee=(e,t,i,s)=>{if(i||s)throw TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0};*#G({allowStale:e=this.allowStale}={}){if(this.#S)for(let t=this.#_;this.#es(t)&&((e||!this.#V(t))&&(yield t),t!==this.#L);)t=this.#z[t]}*#Z({allowStale:e=this.allowStale}={}){if(this.#S)for(let t=this.#L;this.#es(t)&&((e||!this.#V(t))&&(yield t),t!==this.#_);)t=this.#O[t]}#es(e){return void 0!==e&&this.#T.get(this.#C[e])===e}*entries(){for(let e of this.#G())void 0===this.#A[e]||void 0===this.#C[e]||this.#$(this.#A[e])||(yield[this.#C[e],this.#A[e]])}*rentries(){for(let e of this.#Z())void 0===this.#A[e]||void 0===this.#C[e]||this.#$(this.#A[e])||(yield[this.#C[e],this.#A[e]])}*keys(){for(let e of this.#G()){let t=this.#C[e];void 0===t||this.#$(this.#A[e])||(yield t)}}*rkeys(){for(let e of this.#Z()){let t=this.#C[e];void 0===t||this.#$(this.#A[e])||(yield t)}}*values(){for(let e of this.#G())void 0===this.#A[e]||this.#$(this.#A[e])||(yield this.#A[e])}*rvalues(){for(let e of this.#Z())void 0===this.#A[e]||this.#$(this.#A[e])||(yield this.#A[e])}[Symbol.iterator](){return this.entries()}[Symbol.toStringTag]="LRUCache";find(e,t={}){for(let i of this.#G()){let s=this.#A[i],r=this.#$(s)?s.__staleWhileFetching:s;if(void 0!==r&&e(r,this.#C[i],this))return this.get(this.#C[i],t)}}forEach(e,t=this){for(let i of this.#G()){let s=this.#A[i],r=this.#$(s)?s.__staleWhileFetching:s;void 0!==r&&e.call(t,r,this.#C[i],this)}}rforEach(e,t=this){for(let i of this.#Z()){let s=this.#A[i],r=this.#$(s)?s.__staleWhileFetching:s;void 0!==r&&e.call(t,r,this.#C[i],this)}}purgeStale(){let e=!1;for(let t of this.#Z({allowStale:!0}))this.#V(t)&&(this.#Y(this.#C[t],"expire"),e=!0);return e}info(e){let t=this.#T.get(e);if(void 0===t)return;let i=this.#A[t],s=this.#$(i)?i.__staleWhileFetching:i;if(void 0===s)return;let r={value:s};if(this.#N&&this.#P){let e=this.#N[t],i=this.#P[t];e&&i&&(r.ttl=e-(ea.now()-i),r.start=Date.now())}return this.#M&&(r.size=this.#M[t]),r}dump(){let e=[];for(let t of this.#G({allowStale:!0})){let i=this.#C[t],s=this.#A[t],r=this.#$(s)?s.__staleWhileFetching:s;if(void 0===r||void 0===i)continue;let n={value:r};if(this.#N&&this.#P){n.ttl=this.#N[t];let e=ea.now()-this.#P[t];n.start=Math.floor(Date.now()-e)}this.#M&&(n.size=this.#M[t]),e.unshift([i,n])}return e}load(e){for(let[t,i]of(this.clear(),e)){if(i.start){let e=Date.now()-i.start;i.start=ea.now()-e}this.set(t,i.value,i)}}set(e,t,i={}){if(void 0===t)return this.delete(e),this;let{ttl:s=this.ttl,start:r,noDisposeOnSet:n=this.noDisposeOnSet,sizeCalculation:a=this.sizeCalculation,status:o}=i,{noUpdateTTL:l=this.noUpdateTTL}=i,h=this.#ee(e,t,i.size||0,a);if(this.maxEntrySize&&h>this.maxEntrySize)return o&&(o.set="miss",o.maxEntrySizeExceeded=!0),this.#Y(e,"set"),this;let c=0===this.#S?void 0:this.#T.get(e);if(void 0===c)c=0===this.#S?this.#_:0!==this.#F.length?this.#F.pop():this.#S===this.#g?this.#ei(!1):this.#S,this.#C[c]=e,this.#A[c]=t,this.#T.set(e,c),this.#O[this.#_]=c,this.#z[c]=this.#_,this.#_=c,this.#S++,this.#et(c,h,o),o&&(o.set="add"),l=!1,this.#I&&this.#w?.(t,e,"add");else{this.#U(c);let i=this.#A[c];if(t!==i){if(this.#B&&this.#$(i)){i.__abortController.abort(Error("replaced"));let{__staleWhileFetching:t}=i;void 0!==t&&!n&&(this.#R&&this.#E?.(t,e,"set"),this.#j&&this.#D?.push([t,e,"set"]))}else!n&&(this.#R&&this.#E?.(i,e,"set"),this.#j&&this.#D?.push([i,e,"set"]));if(this.#Q(c),this.#et(c,h,o),this.#A[c]=t,o){o.set="replace";let e=i&&this.#$(i)?i.__staleWhileFetching:i;void 0!==e&&(o.oldValue=e)}}else o&&(o.set="update");this.#I&&this.onInsert?.(t,e,t===i?"update":"replace")}if(0===s||this.#N||this.#q(),this.#N&&(l||this.#J(c,s,r),o&&this.#K(o,c)),!n&&this.#j&&this.#D){let e,t=this.#D;for(;e=t?.shift();)this.#x?.(...e)}return this}pop(){try{for(;this.#S;){let e=this.#A[this.#L];if(this.#ei(!0),this.#$(e)){if(e.__staleWhileFetching)return e.__staleWhileFetching}else if(void 0!==e)return e}}finally{if(this.#j&&this.#D){let e,t=this.#D;for(;e=t?.shift();)this.#x?.(...e)}}}#ei(e){let t=this.#L,i=this.#C[t],s=this.#A[t];return this.#B&&this.#$(s)?s.__abortController.abort(Error("evicted")):(this.#R||this.#j)&&(this.#R&&this.#E?.(s,i,"evict"),this.#j&&this.#D?.push([s,i,"evict"])),this.#Q(t),e&&(this.#C[t]=void 0,this.#A[t]=void 0,this.#F.push(t)),1===this.#S?(this.#L=this.#_=0,this.#F.length=0):this.#L=this.#O[t],this.#T.delete(i),this.#S--,t}has(e,t={}){let{updateAgeOnHas:i=this.updateAgeOnHas,status:s}=t,r=this.#T.get(e);if(void 0!==r){let e=this.#A[r];if(this.#$(e)&&void 0===e.__staleWhileFetching)return!1;if(!this.#V(r))return i&&this.#X(r),s&&(s.has="hit",this.#K(s,r)),!0;s&&(s.has="stale",this.#K(s,r))}else s&&(s.has="miss");return!1}peek(e,t={}){let{allowStale:i=this.allowStale}=t,s=this.#T.get(e);if(void 0===s||!i&&this.#V(s))return;let r=this.#A[s];return this.#$(r)?r.__staleWhileFetching:r}#W(e,t,i,s){let r=void 0===t?void 0:this.#A[t];if(this.#$(r))return r;let n=new ec,{signal:a}=i;a?.addEventListener("abort",()=>n.abort(a.reason),{signal:n.signal});let o={signal:n.signal,options:i,context:s},l=(s,r=!1)=>{let{aborted:a}=n.signal,l=i.ignoreFetchAbort&&void 0!==s;return(i.status&&(a&&!r?(i.status.fetchAborted=!0,i.status.fetchError=n.signal.reason,l&&(i.status.fetchAbortIgnored=!0)):i.status.fetchResolved=!0),!a||l||r)?(this.#A[t]===c&&(void 0===s?c.__staleWhileFetching?this.#A[t]=c.__staleWhileFetching:this.#Y(e,"fetch"):(i.status&&(i.status.fetchUpdated=!0),this.set(e,s,o.options))),s):h(n.signal.reason)},h=s=>{let{aborted:r}=n.signal,a=r&&i.allowStaleOnFetchAbort,o=a||i.allowStaleOnFetchRejection,l=o||i.noDeleteOnFetchRejection;if(this.#A[t]===c&&(l&&void 0!==c.__staleWhileFetching?a||(this.#A[t]=c.__staleWhileFetching):this.#Y(e,"fetch")),o)return i.status&&void 0!==c.__staleWhileFetching&&(i.status.returnedStale=!0),c.__staleWhileFetching;if(c.__returned===c)throw s};i.status&&(i.status.fetchDispatched=!0);let c=new Promise((t,s)=>{let a=this.#v?.(e,r,o);a&&a instanceof Promise&&a.then(e=>t(void 0===e?void 0:e),s),n.signal.addEventListener("abort",()=>{(!i.ignoreFetchAbort||i.allowStaleOnFetchAbort)&&(t(void 0),i.allowStaleOnFetchAbort&&(t=e=>l(e,!0)))})}).then(l,e=>(i.status&&(i.status.fetchRejected=!0,i.status.fetchError=e),h(e))),u=Object.assign(c,{__abortController:n,__staleWhileFetching:r,__returned:void 0});return void 0===t?(this.set(e,u,{...o.options,status:void 0}),t=this.#T.get(e)):this.#A[t]=u,u}#$(e){return!!this.#B&&!!e&&e instanceof Promise&&e.hasOwnProperty("__staleWhileFetching")&&e.__abortController instanceof ec}async fetch(e,t={}){let{allowStale:i=this.allowStale,updateAgeOnGet:s=this.updateAgeOnGet,noDeleteOnStaleGet:r=this.noDeleteOnStaleGet,ttl:n=this.ttl,noDisposeOnSet:a=this.noDisposeOnSet,size:o=0,sizeCalculation:l=this.sizeCalculation,noUpdateTTL:h=this.noUpdateTTL,noDeleteOnFetchRejection:c=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:u=this.allowStaleOnFetchRejection,ignoreFetchAbort:d=this.ignoreFetchAbort,allowStaleOnFetchAbort:f=this.allowStaleOnFetchAbort,context:p,forceRefresh:m=!1,status:g,signal:y}=t;if(!this.#B)return g&&(g.fetch="get"),this.get(e,{allowStale:i,updateAgeOnGet:s,noDeleteOnStaleGet:r,status:g});let E={allowStale:i,updateAgeOnGet:s,noDeleteOnStaleGet:r,ttl:n,noDisposeOnSet:a,size:o,sizeCalculation:l,noUpdateTTL:h,noDeleteOnFetchRejection:c,allowStaleOnFetchRejection:u,allowStaleOnFetchAbort:f,ignoreFetchAbort:d,status:g,signal:y},w=this.#T.get(e);if(void 0===w){g&&(g.fetch="miss");let t=this.#W(e,w,E,p);return t.__returned=t}{let t=this.#A[w];if(this.#$(t)){let e=i&&void 0!==t.__staleWhileFetching;return g&&(g.fetch="inflight",e&&(g.returnedStale=!0)),e?t.__staleWhileFetching:t.__returned=t}let r=this.#V(w);if(!m&&!r)return g&&(g.fetch="hit"),this.#U(w),s&&this.#X(w),g&&this.#K(g,w),t;let n=this.#W(e,w,E,p),a=void 0!==n.__staleWhileFetching&&i;return g&&(g.fetch=r?"stale":"refresh",a&&r&&(g.returnedStale=!0)),a?n.__staleWhileFetching:n.__returned=n}}async forceFetch(e,t={}){let i=await this.fetch(e,t);if(void 0===i)throw Error("fetch() returned undefined");return i}memo(e,t={}){let i=this.#b;if(!i)throw Error("no memoMethod provided to constructor");let{context:s,forceRefresh:r,...n}=t,a=this.get(e,n);if(!r&&void 0!==a)return a;let o=i(e,a,{options:n,context:s});return this.set(e,o,n),o}get(e,t={}){let{allowStale:i=this.allowStale,updateAgeOnGet:s=this.updateAgeOnGet,noDeleteOnStaleGet:r=this.noDeleteOnStaleGet,status:n}=t,a=this.#T.get(e);if(void 0!==a){let t=this.#A[a],o=this.#$(t);return(n&&this.#K(n,a),this.#V(a))?(n&&(n.get="stale"),o)?(n&&i&&void 0!==t.__staleWhileFetching&&(n.returnedStale=!0),i?t.__staleWhileFetching:void 0):(r||this.#Y(e,"expire"),n&&i&&(n.returnedStale=!0),i?t:void 0):(n&&(n.get="hit"),o)?t.__staleWhileFetching:(this.#U(a),s&&this.#X(a),t)}n&&(n.get="miss")}#er(e,t){this.#z[t]=e,this.#O[e]=t}#U(e){e!==this.#_&&(e===this.#L?this.#L=this.#O[e]:this.#er(this.#z[e],this.#O[e]),this.#er(this.#_,e),this.#_=e)}delete(e){return this.#Y(e,"delete")}#Y(e,t){let i=!1;if(0!==this.#S){let s=this.#T.get(e);if(void 0!==s)if(i=!0,1===this.#S)this.#en(t);else{this.#Q(s);let i=this.#A[s];if(this.#$(i)?i.__abortController.abort(Error("deleted")):(this.#R||this.#j)&&(this.#R&&this.#E?.(i,e,t),this.#j&&this.#D?.push([i,e,t])),this.#T.delete(e),this.#C[s]=void 0,this.#A[s]=void 0,s===this.#_)this.#_=this.#z[s];else if(s===this.#L)this.#L=this.#O[s];else{let e=this.#z[s];this.#O[e]=this.#O[s];let t=this.#O[s];this.#z[t]=this.#z[s]}this.#S--,this.#F.push(s)}}if(this.#j&&this.#D?.length){let e,t=this.#D;for(;e=t?.shift();)this.#x?.(...e)}return i}clear(){return this.#en("delete")}#en(e){for(let t of this.#Z({allowStale:!0})){let i=this.#A[t];if(this.#$(i))i.__abortController.abort(Error("deleted"));else{let s=this.#C[t];this.#R&&this.#E?.(i,s,e),this.#j&&this.#D?.push([i,s,e])}}if(this.#T.clear(),this.#A.fill(void 0),this.#C.fill(void 0),this.#N&&this.#P&&(this.#N.fill(0),this.#P.fill(0)),this.#M&&this.#M.fill(0),this.#L=0,this.#_=0,this.#F.length=0,this.#k=0,this.#S=0,this.#j&&this.#D){let e,t=this.#D;for(;e=t?.shift();)this.#x?.(...e)}}}let eE=i(411),ew=i(561);var ex=a.t(ew,2);let ev=i(977),eb=i(673),eS=i(492),ek=i(915),eT="object"==typeof process&&process?process:{stdout:null,stderr:null},eC=e=>!!e&&"object"==typeof e&&(e instanceof tn||e instanceof eS||eA(e)||eO(e)),eA=e=>!!e&&"object"==typeof e&&e instanceof eb.EventEmitter&&"function"==typeof e.pipe&&e.pipe!==eS.Writable.prototype.pipe,eO=e=>!!e&&"object"==typeof e&&e instanceof eb.EventEmitter&&"function"==typeof e.write&&"function"==typeof e.end,ez=Symbol("EOF"),eL=Symbol("maybeEmitEnd"),e_=Symbol("emittedEnd"),eF=Symbol("emittingEnd"),eD=Symbol("emittedError"),eM=Symbol("closed"),eP=Symbol("read"),eN=Symbol("flush"),eR=Symbol("flushChunk"),eB=Symbol("encoding"),ej=Symbol("decoder"),eI=Symbol("flowing"),e$=Symbol("paused"),eW=Symbol("resume"),eU=Symbol("buffer"),eG=Symbol("pipes"),eZ=Symbol("bufferLength"),eV=Symbol("bufferPush"),eH=Symbol("bufferShift"),eq=Symbol("objectMode"),eJ=Symbol("destroyed"),eY=Symbol("error"),eX=Symbol("emitData"),eK=Symbol("emitEnd"),eQ=Symbol("emitEnd2"),e0=Symbol("async"),e1=Symbol("abort"),e2=Symbol("aborted"),e4=Symbol("signal"),e3=Symbol("dataListeners"),e6=Symbol("discarded"),e5=e=>Promise.resolve().then(e),e9=e=>e(),e8=e=>"end"===e||"finish"===e||"prefinish"===e,e7=e=>e instanceof ArrayBuffer||!!e&&"object"==typeof e&&e.constructor&&"ArrayBuffer"===e.constructor.name&&e.byteLength>=0,te=e=>!Buffer.isBuffer(e)&&ArrayBuffer.isView(e);class tt{src;dest;opts;ondrain;constructor(e,t,i){this.src=e,this.dest=t,this.opts=i,this.ondrain=()=>e[eW](),this.dest.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(e){}end(){this.unpipe(),this.opts.end&&this.dest.end()}}class ti extends tt{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}constructor(e,t,i){super(e,t,i),this.proxyErrors=e=>t.emit("error",e),e.on("error",this.proxyErrors)}}let ts=e=>!!e.objectMode,tr=e=>!e.objectMode&&!!e.encoding&&"buffer"!==e.encoding;class tn extends eb.EventEmitter{[eI]=!1;[e$]=!1;[eG]=[];[eU]=[];[eq];[eB];[e0];[ej];[ez]=!1;[e_]=!1;[eF]=!1;[eM]=!1;[eD]=null;[eZ]=0;[eJ]=!1;[e4];[e2]=!1;[e3]=0;[e6]=!1;writable=!0;readable=!0;constructor(...e){let t=e[0]||{};if(super(),t.objectMode&&"string"==typeof t.encoding)throw TypeError("Encoding and objectMode may not be used together");ts(t)?(this[eq]=!0,this[eB]=null):tr(t)?(this[eB]=t.encoding,this[eq]=!1):(this[eq]=!1,this[eB]=null),this[e0]=!!t.async,this[ej]=this[eB]?new ek.StringDecoder(this[eB]):null,t&&!0===t.debugExposeBuffer&&Object.defineProperty(this,"buffer",{get:()=>this[eU]}),t&&!0===t.debugExposePipes&&Object.defineProperty(this,"pipes",{get:()=>this[eG]});let{signal:i}=t;i&&(this[e4]=i,i.aborted?this[e1]():i.addEventListener("abort",()=>this[e1]()))}get bufferLength(){return this[eZ]}get encoding(){return this[eB]}set encoding(e){throw Error("Encoding must be set at instantiation time")}setEncoding(e){throw Error("Encoding must be set at instantiation time")}get objectMode(){return this[eq]}set objectMode(e){throw Error("objectMode must be set at instantiation time")}get async(){return this[e0]}set async(e){this[e0]=this[e0]||!!e}[e1](){this[e2]=!0,this.emit("abort",this[e4]?.reason),this.destroy(this[e4]?.reason)}get aborted(){return this[e2]}set aborted(e){}write(e,t,i){if(this[e2])return!1;if(this[ez])throw Error("write after end");if(this[eJ])return this.emit("error",Object.assign(Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0;"function"==typeof t&&(i=t,t="utf8"),t||(t="utf8");let s=this[e0]?e5:e9;if(!this[eq]&&!Buffer.isBuffer(e)){if(te(e))e=Buffer.from(e.buffer,e.byteOffset,e.byteLength);else if(e7(e))e=Buffer.from(e);else if("string"!=typeof e)throw Error("Non-contiguous data written to non-objectMode stream")}return this[eq]?(this[eI]&&0!==this[eZ]&&this[eN](!0),this[eI]?this.emit("data",e):this[eV](e)):e.length&&("string"==typeof e&&(t!==this[eB]||this[ej]?.lastNeed)&&(e=Buffer.from(e,t)),Buffer.isBuffer(e)&&this[eB]&&(e=this[ej].write(e)),this[eI]&&0!==this[eZ]&&this[eN](!0),this[eI]?this.emit("data",e):this[eV](e)),0!==this[eZ]&&this.emit("readable"),i&&s(i),this[eI]}read(e){if(this[eJ])return null;if(this[e6]=!1,0===this[eZ]||0===e||e&&e>this[eZ])return this[eL](),null;this[eq]&&(e=null),this[eU].length>1&&!this[eq]&&(this[eU]=[this[eB]?this[eU].join(""):Buffer.concat(this[eU],this[eZ])]);let t=this[eP](e||null,this[eU][0]);return this[eL](),t}[eP](e,t){if(this[eq])this[eH]();else{let i=t;e===i.length||null===e?this[eH]():("string"==typeof i?(this[eU][0]=i.slice(e),t=i.slice(0,e)):(this[eU][0]=i.subarray(e),t=i.subarray(0,e)),this[eZ]-=e)}return this.emit("data",t),this[eU].length||this[ez]||this.emit("drain"),t}end(e,t,i){return"function"==typeof e&&(i=e,e=void 0),"function"==typeof t&&(i=t,t="utf8"),void 0!==e&&this.write(e,t),i&&this.once("end",i),this[ez]=!0,this.writable=!1,(this[eI]||!this[e$])&&this[eL](),this}[eW](){this[eJ]||(this[e3]||this[eG].length||(this[e6]=!0),this[e$]=!1,this[eI]=!0,this.emit("resume"),this[eU].length?this[eN]():this[ez]?this[eL]():this.emit("drain"))}resume(){return this[eW]()}pause(){this[eI]=!1,this[e$]=!0,this[e6]=!1}get destroyed(){return this[eJ]}get flowing(){return this[eI]}get paused(){return this[e$]}[eV](e){this[eq]?this[eZ]+=1:this[eZ]+=e.length,this[eU].push(e)}[eH](){return this[eq]?this[eZ]-=1:this[eZ]-=this[eU][0].length,this[eU].shift()}[eN](e=!1){do;while(this[eR](this[eH]())&&this[eU].length);e||this[eU].length||this[ez]||this.emit("drain")}[eR](e){return this.emit("data",e),this[eI]}pipe(e,t){if(this[eJ])return e;this[e6]=!1;let i=this[e_];return t=t||{},e===eT.stdout||e===eT.stderr?t.end=!1:t.end=!1!==t.end,t.proxyErrors=!!t.proxyErrors,i?t.end&&e.end():(this[eG].push(t.proxyErrors?new ti(this,e,t):new tt(this,e,t)),this[e0]?e5(()=>this[eW]()):this[eW]()),e}unpipe(e){let t=this[eG].find(t=>t.dest===e);t&&(1===this[eG].length?(this[eI]&&0===this[e3]&&(this[eI]=!1),this[eG]=[]):this[eG].splice(this[eG].indexOf(t),1),t.unpipe())}addListener(e,t){return this.on(e,t)}on(e,t){let i=super.on(e,t);return"data"===e?(this[e6]=!1,this[e3]++,this[eG].length||this[eI]||this[eW]()):"readable"===e&&0!==this[eZ]?super.emit("readable"):e8(e)&&this[e_]?(super.emit(e),this.removeAllListeners(e)):"error"===e&&this[eD]&&(this[e0]?e5(()=>t.call(this,this[eD])):t.call(this,this[eD])),i}removeListener(e,t){return this.off(e,t)}off(e,t){let i=super.off(e,t);return"data"===e&&(this[e3]=this.listeners("data").length,0!==this[e3]||this[e6]||this[eG].length||(this[eI]=!1)),i}removeAllListeners(e){let t=super.removeAllListeners(e);return("data"===e||void 0===e)&&(this[e3]=0,this[e6]||this[eG].length||(this[eI]=!1)),t}get emittedEnd(){return this[e_]}[eL](){this[eF]||this[e_]||this[eJ]||0!==this[eU].length||!this[ez]||(this[eF]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[eM]&&this.emit("close"),this[eF]=!1)}emit(e,...t){let i=t[0];if("error"!==e&&"close"!==e&&e!==eJ&&this[eJ])return!1;if("data"===e)return(!!this[eq]||!!i)&&(this[e0]?(e5(()=>this[eX](i)),!0):this[eX](i));if("end"===e)return this[eK]();if("close"===e){if(this[eM]=!0,!this[e_]&&!this[eJ])return!1;let e=super.emit("close");return this.removeAllListeners("close"),e}if("error"===e){this[eD]=i,super.emit(eY,i);let e=(!this[e4]||!!this.listeners("error").length)&&super.emit("error",i);return this[eL](),e}else if("resume"===e){let e=super.emit("resume");return this[eL](),e}else if("finish"===e||"prefinish"===e){let t=super.emit(e);return this.removeAllListeners(e),t}let s=super.emit(e,...t);return this[eL](),s}[eX](e){for(let t of this[eG])!1===t.dest.write(e)&&this.pause();let t=!this[e6]&&super.emit("data",e);return this[eL](),t}[eK](){return!this[e_]&&(this[e_]=!0,this.readable=!1,this[e0]?(e5(()=>this[eQ]()),!0):this[eQ]())}[eQ](){if(this[ej]){let e=this[ej].end();if(e){for(let t of this[eG])t.dest.write(e);this[e6]||super.emit("data",e)}}for(let e of this[eG])e.end();let e=super.emit("end");return this.removeAllListeners("end"),e}async collect(){let e=Object.assign([],{dataLength:0});this[eq]||(e.dataLength=0);let t=this.promise();return this.on("data",t=>{e.push(t),this[eq]||(e.dataLength+=t.length)}),await t,e}async concat(){if(this[eq])throw Error("cannot concat in objectMode");let e=await this.collect();return this[eB]?e.join(""):Buffer.concat(e,e.dataLength)}async promise(){return new Promise((e,t)=>{this.on(eJ,()=>t(Error("stream destroyed"))),this.on("error",e=>t(e)),this.on("end",()=>e())})}[Symbol.asyncIterator](){this[e6]=!1;let e=!1,t=async()=>(this.pause(),e=!0,{value:void 0,done:!0});return{next:()=>{let i,s;if(e)return t();let r=this.read();if(null!==r)return Promise.resolve({done:!1,value:r});if(this[ez])return t();let n=e=>{this.off("data",a),this.off("end",o),this.off(eJ,l),t(),s(e)},a=e=>{this.off("error",n),this.off("end",o),this.off(eJ,l),this.pause(),i({value:e,done:!!this[ez]})},o=()=>{this.off("error",n),this.off("data",a),this.off(eJ,l),t(),i({done:!0,value:void 0})},l=()=>n(Error("stream destroyed"));return new Promise((e,t)=>{s=t,i=e,this.once(eJ,l),this.once("error",n),this.once("end",o),this.once("data",a)})},throw:t,return:t,[Symbol.asyncIterator](){return this}}}[Symbol.iterator](){this[e6]=!1;let e=!1,t=()=>(this.pause(),this.off(eY,t),this.off(eJ,t),this.off("end",t),e=!0,{done:!0,value:void 0});return this.once("end",t),this.once(eY,t),this.once(eJ,t),{next:()=>{if(e)return t();let i=this.read();return null===i?t():{done:!1,value:i}},throw:t,return:t,[Symbol.iterator](){return this}}}destroy(e){return this[eJ]||(this[eJ]=!0,this[e6]=!0,this[eU].length=0,this[eZ]=0,"function"!=typeof this.close||this[eM]||this.close()),e?this.emit("error",e):this.emit(eJ),this}static get isStream(){return eC}}let ta=l.realpathSync.native,to={lstatSync:l.lstatSync,readdir:l.readdir,readdirSync:l.readdirSync,readlinkSync:l.readlinkSync,realpathSync:ta,promises:{lstat:ev.lstat,readdir:ev.readdir,readlink:ev.readlink,realpath:ev.realpath}},tl=e=>e&&e!==to&&e!==ex?{...to,...e,promises:{...to.promises,...e.promises||{}}}:to,th=/^\\\\\?\\([a-z]:)\\?$/i,tc=e=>e.replace(/\//g,"\\").replace(th,"$1\\"),tu=/[\\\/]/,td=-16,tf=704,tp=e=>e.isFile()?8:e.isDirectory()?4:e.isSymbolicLink()?10:e.isCharacterDevice()?2:e.isBlockDevice()?6:e.isSocket()?12:+!!e.isFIFO(),tm=new Map,tg=e=>{let t=tm.get(e);if(t)return t;let i=e.normalize("NFKD");return tm.set(e,i),i},ty=new Map,tE=e=>{let t=ty.get(e);if(t)return t;let i=tg(e.toLowerCase());return ty.set(e,i),i};class tw extends ey{constructor(){super({max:256})}}class tx extends ey{constructor(e=16384){super({maxSize:e,sizeCalculation:e=>e.length+1})}}let tv=Symbol("PathScurry setAsCwd");class tb{name;root;roots;parent;nocase;isCWD=!1;#ea;#eo;get dev(){return this.#eo}#el;get mode(){return this.#el}#eh;get nlink(){return this.#eh}#ec;get uid(){return this.#ec}#eu;get gid(){return this.#eu}#ed;get rdev(){return this.#ed}#ef;get blksize(){return this.#ef}#ep;get ino(){return this.#ep}#S;get size(){return this.#S}#em;get blocks(){return this.#em}#eg;get atimeMs(){return this.#eg}#ey;get mtimeMs(){return this.#ey}#eE;get ctimeMs(){return this.#eE}#ew;get birthtimeMs(){return this.#ew}#ex;get atime(){return this.#ex}#ev;get mtime(){return this.#ev}#eb;get ctime(){return this.#eb}#eS;get birthtime(){return this.#eS}#ek;#eT;#eC;#eA;#eO;#ez;#eL;#e_;#eF;#eD;get parentPath(){return(this.parent||this).fullpath()}get path(){return this.parentPath}constructor(e,t=0,i,s,r,n,a){this.name=e,this.#ek=r?tE(e):tg(e),this.#eL=1023&t,this.nocase=r,this.roots=s,this.root=i||this,this.#e_=n,this.#eC=a.fullpath,this.#eO=a.relative,this.#ez=a.relativePosix,this.parent=a.parent,this.parent?this.#ea=this.parent.#ea:this.#ea=tl(a.fs)}depth(){return void 0!==this.#eT?this.#eT:this.parent?this.#eT=this.parent.depth()+1:this.#eT=0}childrenCache(){return this.#e_}resolve(e){if(!e)return this;let t=this.getRootString(e),i=e.substring(t.length).split(this.splitSep);return t?this.getRoot(t).#eM(i):this.#eM(i)}#eM(e){let t=this;for(let i of e)t=t.child(i);return t}children(){let e=this.#e_.get(this);if(e)return e;let t=Object.assign([],{provisional:0});return this.#e_.set(this,t),this.#eL&=-17,t}child(e,t){if(""===e||"."===e)return this;if(".."===e)return this.parent||this;let i=this.children(),s=this.nocase?tE(e):tg(e);for(let e of i)if(e.#ek===s)return e;let r=this.parent?this.sep:"",n=this.#eC?this.#eC+r+e:void 0,a=this.newChild(e,0,{...t,parent:this,fullpath:n});return this.canReaddir()||(a.#eL|=128),i.push(a),a}relative(){if(this.isCWD)return"";if(void 0!==this.#eO)return this.#eO;let e=this.name,t=this.parent;if(!t)return this.#eO=this.name;let i=t.relative();return i+(i&&t.parent?this.sep:"")+e}relativePosix(){if("/"===this.sep)return this.relative();if(this.isCWD)return"";if(void 0!==this.#ez)return this.#ez;let e=this.name,t=this.parent;if(!t)return this.#ez=this.fullpathPosix();let i=t.relativePosix();return i+(i&&t.parent?"/":"")+e}fullpath(){if(void 0!==this.#eC)return this.#eC;let e=this.name,t=this.parent;if(!t)return this.#eC=this.name;let i=t.fullpath()+(t.parent?this.sep:"")+e;return this.#eC=i}fullpathPosix(){if(void 0!==this.#eA)return this.#eA;if("/"===this.sep)return this.#eA=this.fullpath();if(!this.parent){let e=this.fullpath().replace(/\\/g,"/");return/^[a-z]:\//i.test(e)?this.#eA=`//?/${e}`:this.#eA=e}let e=this.parent,t=e.fullpathPosix(),i=t+(t&&e.parent?"/":"")+this.name;return this.#eA=i}isUnknown(){return(15&this.#eL)==0}isType(e){return this[`is${e}`]()}getType(){return this.isUnknown()?"Unknown":this.isDirectory()?"Directory":this.isFile()?"File":this.isSymbolicLink()?"SymbolicLink":this.isFIFO()?"FIFO":this.isCharacterDevice()?"CharacterDevice":this.isBlockDevice()?"BlockDevice":this.isSocket()?"Socket":"Unknown"}isFile(){return(15&this.#eL)==8}isDirectory(){return(15&this.#eL)==4}isCharacterDevice(){return(15&this.#eL)==2}isBlockDevice(){return(15&this.#eL)==6}isFIFO(){return(15&this.#eL)==1}isSocket(){return(15&this.#eL)==12}isSymbolicLink(){return(10&this.#eL)==10}lstatCached(){return 32&this.#eL?this:void 0}readlinkCached(){return this.#eF}realpathCached(){return this.#eD}readdirCached(){let e=this.children();return e.slice(0,e.provisional)}canReadlink(){if(this.#eF)return!0;if(!this.parent)return!1;let e=15&this.#eL;return!(0!==e&&10!==e||256&this.#eL||128&this.#eL)}calledReaddir(){return!!(16&this.#eL)}isENOENT(){return!!(128&this.#eL)}isNamed(e){return this.nocase?this.#ek===tE(e):this.#ek===tg(e)}async readlink(){let e=this.#eF;if(e)return e;if(this.canReadlink()&&this.parent)try{let e=await this.#ea.promises.readlink(this.fullpath()),t=(await this.parent.realpath())?.resolve(e);if(t)return this.#eF=t}catch(e){this.#eP(e.code);return}}readlinkSync(){let e=this.#eF;if(e)return e;if(this.canReadlink()&&this.parent)try{let e=this.#ea.readlinkSync(this.fullpath()),t=this.parent.realpathSync()?.resolve(e);if(t)return this.#eF=t}catch(e){this.#eP(e.code);return}}#eN(e){this.#eL|=16;for(let t=e.provisional;t<e.length;t++){let i=e[t];i&&i.#eR()}}#eR(){128&this.#eL||(this.#eL=(128|this.#eL)&td,this.#eB())}#eB(){let e=this.children();for(let t of(e.provisional=0,e))t.#eR()}#ej(){this.#eL|=512,this.#eI()}#eI(){if(64&this.#eL)return;let e=this.#eL;(15&e)==4&&(e&=td),this.#eL=64|e,this.#eB()}#e$(e=""){"ENOTDIR"===e||"EPERM"===e?this.#eI():"ENOENT"===e?this.#eR():this.children().provisional=0}#eW(e=""){"ENOTDIR"===e?this.parent.#eI():"ENOENT"===e&&this.#eR()}#eP(e=""){let t=this.#eL;t|=256,"ENOENT"===e&&(t|=128),("EINVAL"===e||"UNKNOWN"===e)&&(t&=td),this.#eL=t,"ENOTDIR"===e&&this.parent&&this.parent.#eI()}#eU(e,t){return this.#eG(e,t)||this.#eZ(e,t)}#eZ(e,t){let i=tp(e),s=this.newChild(e.name,i,{parent:this}),r=15&s.#eL;return 4!==r&&10!==r&&0!==r&&(s.#eL|=64),t.unshift(s),t.provisional++,s}#eG(e,t){for(let i=t.provisional;i<t.length;i++){let s=t[i];if((this.nocase?tE(e.name):tg(e.name))===s.#ek)return this.#eV(e,s,i,t)}}#eV(e,t,i,s){let r=t.name;return t.#eL=t.#eL&td|tp(e),r!==e.name&&(t.name=e.name),i!==s.provisional&&(i===s.length-1?s.pop():s.splice(i,1),s.unshift(t)),s.provisional++,t}async lstat(){if((128&this.#eL)==0)try{return this.#eH(await this.#ea.promises.lstat(this.fullpath())),this}catch(e){this.#eW(e.code)}}lstatSync(){if((128&this.#eL)==0)try{return this.#eH(this.#ea.lstatSync(this.fullpath())),this}catch(e){this.#eW(e.code)}}#eH(e){let{atime:t,atimeMs:i,birthtime:s,birthtimeMs:r,blksize:n,blocks:a,ctime:o,ctimeMs:l,dev:h,gid:c,ino:u,mode:d,mtime:f,mtimeMs:p,nlink:m,rdev:g,size:y,uid:E}=e;this.#ex=t,this.#eg=i,this.#eS=s,this.#ew=r,this.#ef=n,this.#em=a,this.#eb=o,this.#eE=l,this.#eo=h,this.#eu=c,this.#ep=u,this.#el=d,this.#ev=f,this.#ey=p,this.#eh=m,this.#ed=g,this.#S=y,this.#ec=E;let w=tp(e);this.#eL=this.#eL&td|w|32,0!==w&&4!==w&&10!==w&&(this.#eL|=64)}#eq=[];#eJ=!1;#eY(e){this.#eJ=!1;let t=this.#eq.slice();this.#eq.length=0,t.forEach(t=>t(null,e))}readdirCB(e,t=!1){if(!this.canReaddir())return void(t?e(null,[]):queueMicrotask(()=>e(null,[])));let i=this.children();if(this.calledReaddir()){let s=i.slice(0,i.provisional);t?e(null,s):queueMicrotask(()=>e(null,s));return}if(this.#eq.push(e),this.#eJ)return;this.#eJ=!0;let s=this.fullpath();this.#ea.readdir(s,{withFileTypes:!0},(e,t)=>{if(e)this.#e$(e.code),i.provisional=0;else{for(let e of t)this.#eU(e,i);this.#eN(i)}this.#eY(i.slice(0,i.provisional))})}#eX;async readdir(){if(!this.canReaddir())return[];let e=this.children();if(this.calledReaddir())return e.slice(0,e.provisional);let t=this.fullpath();if(this.#eX)await this.#eX;else{let i=()=>{};this.#eX=new Promise(e=>i=e);try{for(let i of(await this.#ea.promises.readdir(t,{withFileTypes:!0})))this.#eU(i,e);this.#eN(e)}catch(t){this.#e$(t.code),e.provisional=0}this.#eX=void 0,i()}return e.slice(0,e.provisional)}readdirSync(){if(!this.canReaddir())return[];let e=this.children();if(this.calledReaddir())return e.slice(0,e.provisional);let t=this.fullpath();try{for(let i of this.#ea.readdirSync(t,{withFileTypes:!0}))this.#eU(i,e);this.#eN(e)}catch(t){this.#e$(t.code),e.provisional=0}return e.slice(0,e.provisional)}canReaddir(){if(this.#eL&tf)return!1;let e=15&this.#eL;return 0===e||4===e||10===e}shouldWalk(e,t){return(4&this.#eL)==4&&!(this.#eL&tf)&&!e.has(this)&&(!t||t(this))}async realpath(){if(this.#eD)return this.#eD;if(!(896&this.#eL))try{let e=await this.#ea.promises.realpath(this.fullpath());return this.#eD=this.resolve(e)}catch(e){this.#ej()}}realpathSync(){if(this.#eD)return this.#eD;if(!(896&this.#eL))try{let e=this.#ea.realpathSync(this.fullpath());return this.#eD=this.resolve(e)}catch(e){this.#ej()}}[tv](e){if(e===this)return;e.isCWD=!1,this.isCWD=!0;let t=new Set([]),i=[],s=this;for(;s&&s.parent;)t.add(s),s.#eO=i.join(this.sep),s.#ez=i.join("/"),s=s.parent,i.push("..");for(s=e;s&&s.parent&&!t.has(s);)s.#eO=void 0,s.#ez=void 0,s=s.parent}}class tS extends tb{sep="\\";splitSep=tu;constructor(e,t=0,i,s,r,n,a){super(e,t,i,s,r,n,a)}newChild(e,t=0,i={}){return new tS(e,t,this.root,this.roots,this.nocase,this.childrenCache(),i)}getRootString(e){return eE.win32.parse(e).root}getRoot(e){if((e=tc(e.toUpperCase()))===this.root.name)return this.root;for(let[t,i]of Object.entries(this.roots))if(this.sameRoot(e,t))return this.roots[e]=i;return this.roots[e]=new tC(e,this).root}sameRoot(e,t=this.root.name){return(e=e.toUpperCase().replace(/\//g,"\\").replace(th,"$1\\"))===t}}class tk extends tb{splitSep="/";sep="/";constructor(e,t=0,i,s,r,n,a){super(e,t,i,s,r,n,a)}getRootString(e){return e.startsWith("/")?"/":""}getRoot(e){return this.root}newChild(e,t=0,i={}){return new tk(e,t,this.root,this.roots,this.nocase,this.childrenCache(),i)}}class tT{root;rootPath;roots;cwd;#eK;#eQ;#e_;nocase;#ea;constructor(e=process.cwd(),t,i,{nocase:s,childrenCacheSize:r=16384,fs:n=to}={}){this.#ea=tl(n),(e instanceof URL||e.startsWith("file://"))&&(e=(0,en.fileURLToPath)(e));let a=t.resolve(e);this.roots=Object.create(null),this.rootPath=this.parseRootPath(a),this.#eK=new tw,this.#eQ=new tw,this.#e_=new tx(r);let o=a.substring(this.rootPath.length).split(i);if(1!==o.length||o[0]||o.pop(),void 0===s)throw TypeError("must provide nocase setting to PathScurryBase ctor");this.nocase=s,this.root=this.newRoot(this.#ea),this.roots[this.rootPath]=this.root;let l=this.root,h=o.length-1,c=t.sep,u=this.rootPath,d=!1;for(let e of o){let t=h--;l=l.child(e,{relative:Array(t).fill("..").join(c),relativePosix:Array(t).fill("..").join("/"),fullpath:u+=(d?"":c)+e}),d=!0}this.cwd=l}depth(e=this.cwd){return"string"==typeof e&&(e=this.cwd.resolve(e)),e.depth()}childrenCache(){return this.#e_}resolve(...e){let t="";for(let i=e.length-1;i>=0;i--){let s=e[i];if(s&&"."!==s&&(t=t?`${s}/${t}`:s,this.isAbsolute(s)))break}let i=this.#eK.get(t);if(void 0!==i)return i;let s=this.cwd.resolve(t).fullpath();return this.#eK.set(t,s),s}resolvePosix(...e){let t="";for(let i=e.length-1;i>=0;i--){let s=e[i];if(s&&"."!==s&&(t=t?`${s}/${t}`:s,this.isAbsolute(s)))break}let i=this.#eQ.get(t);if(void 0!==i)return i;let s=this.cwd.resolve(t).fullpathPosix();return this.#eQ.set(t,s),s}relative(e=this.cwd){return"string"==typeof e&&(e=this.cwd.resolve(e)),e.relative()}relativePosix(e=this.cwd){return"string"==typeof e&&(e=this.cwd.resolve(e)),e.relativePosix()}basename(e=this.cwd){return"string"==typeof e&&(e=this.cwd.resolve(e)),e.name}dirname(e=this.cwd){return"string"==typeof e&&(e=this.cwd.resolve(e)),(e.parent||e).fullpath()}async readdir(e=this.cwd,t={withFileTypes:!0}){"string"==typeof e?e=this.cwd.resolve(e):e instanceof tb||(t=e,e=this.cwd);let{withFileTypes:i}=t;if(!e.canReaddir())return[];{let t=await e.readdir();return i?t:t.map(e=>e.name)}}readdirSync(e=this.cwd,t={withFileTypes:!0}){"string"==typeof e?e=this.cwd.resolve(e):e instanceof tb||(t=e,e=this.cwd);let{withFileTypes:i=!0}=t;return e.canReaddir()?i?e.readdirSync():e.readdirSync().map(e=>e.name):[]}async lstat(e=this.cwd){return"string"==typeof e&&(e=this.cwd.resolve(e)),e.lstat()}lstatSync(e=this.cwd){return"string"==typeof e&&(e=this.cwd.resolve(e)),e.lstatSync()}async readlink(e=this.cwd,{withFileTypes:t}={withFileTypes:!1}){"string"==typeof e?e=this.cwd.resolve(e):e instanceof tb||(t=e.withFileTypes,e=this.cwd);let i=await e.readlink();return t?i:i?.fullpath()}readlinkSync(e=this.cwd,{withFileTypes:t}={withFileTypes:!1}){"string"==typeof e?e=this.cwd.resolve(e):e instanceof tb||(t=e.withFileTypes,e=this.cwd);let i=e.readlinkSync();return t?i:i?.fullpath()}async realpath(e=this.cwd,{withFileTypes:t}={withFileTypes:!1}){"string"==typeof e?e=this.cwd.resolve(e):e instanceof tb||(t=e.withFileTypes,e=this.cwd);let i=await e.realpath();return t?i:i?.fullpath()}realpathSync(e=this.cwd,{withFileTypes:t}={withFileTypes:!1}){"string"==typeof e?e=this.cwd.resolve(e):e instanceof tb||(t=e.withFileTypes,e=this.cwd);let i=e.realpathSync();return t?i:i?.fullpath()}async walk(e=this.cwd,t={}){"string"==typeof e?e=this.cwd.resolve(e):e instanceof tb||(t=e,e=this.cwd);let{withFileTypes:i=!0,follow:s=!1,filter:r,walkFilter:n}=t,a=[];(!r||r(e))&&a.push(i?e:e.fullpath());let o=new Set,l=(e,t)=>{o.add(e),e.readdirCB((e,h)=>{if(e)return t(e);let c=h.length;if(!c)return t();let u=()=>{0==--c&&t()};for(let e of h)(!r||r(e))&&a.push(i?e:e.fullpath()),s&&e.isSymbolicLink()?e.realpath().then(e=>e?.isUnknown()?e.lstat():e).then(e=>e?.shouldWalk(o,n)?l(e,u):u()):e.shouldWalk(o,n)?l(e,u):u()},!0)},h=e;return new Promise((e,t)=>{l(h,i=>{if(i)return t(i);e(a)})})}walkSync(e=this.cwd,t={}){"string"==typeof e?e=this.cwd.resolve(e):e instanceof tb||(t=e,e=this.cwd);let{withFileTypes:i=!0,follow:s=!1,filter:r,walkFilter:n}=t,a=[];(!r||r(e))&&a.push(i?e:e.fullpath());let o=new Set([e]);for(let e of o)for(let t of e.readdirSync()){(!r||r(t))&&a.push(i?t:t.fullpath());let e=t;if(t.isSymbolicLink()){if(!(s&&(e=t.realpathSync())))continue;e.isUnknown()&&e.lstatSync()}e.shouldWalk(o,n)&&o.add(e)}return a}[Symbol.asyncIterator](){return this.iterate()}iterate(e=this.cwd,t={}){return"string"==typeof e?e=this.cwd.resolve(e):e instanceof tb||(t=e,e=this.cwd),this.stream(e,t)[Symbol.asyncIterator]()}[Symbol.iterator](){return this.iterateSync()}*iterateSync(e=this.cwd,t={}){"string"==typeof e?e=this.cwd.resolve(e):e instanceof tb||(t=e,e=this.cwd);let{withFileTypes:i=!0,follow:s=!1,filter:r,walkFilter:n}=t;(!r||r(e))&&(yield i?e:e.fullpath());let a=new Set([e]);for(let e of a)for(let t of e.readdirSync()){(!r||r(t))&&(yield i?t:t.fullpath());let e=t;if(t.isSymbolicLink()){if(!(s&&(e=t.realpathSync())))continue;e.isUnknown()&&e.lstatSync()}e.shouldWalk(a,n)&&a.add(e)}}stream(e=this.cwd,t={}){"string"==typeof e?e=this.cwd.resolve(e):e instanceof tb||(t=e,e=this.cwd);let{withFileTypes:i=!0,follow:s=!1,filter:r,walkFilter:n}=t,a=new tn({objectMode:!0});(!r||r(e))&&a.write(i?e:e.fullpath());let o=new Set,l=[e],h=0,c=()=>{let e=!1;for(;!e;){let t=l.shift();if(!t){0===h&&a.end();return}h++,o.add(t);let u=(t,f,p=!1)=>{if(t)return a.emit("error",t);if(s&&!p){let e=[];for(let t of f)t.isSymbolicLink()&&e.push(t.realpath().then(e=>e?.isUnknown()?e.lstat():e));if(e.length)return void Promise.all(e).then(()=>u(null,f,!0))}for(let t of f)t&&(!r||r(t))&&!a.write(i?t:t.fullpath())&&(e=!0);for(let e of(h--,f)){let t=e.realpathCached()||e;t.shouldWalk(o,n)&&l.push(t)}e&&!a.flowing?a.once("drain",c):d||c()},d=!0;t.readdirCB(u,!0),d=!1}};return c(),a}streamSync(e=this.cwd,t={}){"string"==typeof e?e=this.cwd.resolve(e):e instanceof tb||(t=e,e=this.cwd);let{withFileTypes:i=!0,follow:s=!1,filter:r,walkFilter:n}=t,a=new tn({objectMode:!0}),o=new Set;(!r||r(e))&&a.write(i?e:e.fullpath());let l=[e],h=0,c=()=>{let e=!1;for(;!e;){let t=l.shift();if(!t){0===h&&a.end();return}h++,o.add(t);let c=t.readdirSync();for(let t of c)(!r||r(t))&&!a.write(i?t:t.fullpath())&&(e=!0);for(let e of(h--,c)){let t=e;if(e.isSymbolicLink()){if(!(s&&(t=e.realpathSync())))continue;t.isUnknown()&&t.lstatSync()}t.shouldWalk(o,n)&&l.push(t)}}e&&!a.flowing&&a.once("drain",c)};return c(),a}chdir(e=this.cwd){let t=this.cwd;this.cwd="string"==typeof e?this.cwd.resolve(e):e,this.cwd[tv](t)}}class tC extends tT{sep="\\";constructor(e=process.cwd(),t={}){let{nocase:i=!0}=t;super(e,eE.win32,"\\",{...t,nocase:i}),this.nocase=i;for(let e=this.cwd;e;e=e.parent)e.nocase=this.nocase}parseRootPath(e){return eE.win32.parse(e).root.toUpperCase()}newRoot(e){return new tS(this.rootPath,4,void 0,this.roots,this.nocase,this.childrenCache(),{fs:e})}isAbsolute(e){return e.startsWith("/")||e.startsWith("\\")||/^[a-z]:(\/|\\)/i.test(e)}}class tA extends tT{sep="/";constructor(e=process.cwd(),t={}){let{nocase:i=!1}=t;super(e,eE.posix,"/",{...t,nocase:i}),this.nocase=i}parseRootPath(e){return"/"}newRoot(e){return new tk(this.rootPath,4,void 0,this.roots,this.nocase,this.childrenCache(),{fs:e})}isAbsolute(e){return e.startsWith("/")}}class tO extends tA{constructor(e=process.cwd(),t={}){let{nocase:i=!0}=t;super(e,{...t,nocase:i})}}process.platform;let tz="win32"===process.platform?tC:"darwin"===process.platform?tO:tA,tL=e=>e.length>=1,t_=e=>e.length>=1;class tF{#e0;#e1;#e2;length;#e4;#e3;#e6;#e5;#e9;#e8;#e7=!0;constructor(e,t,i,s){if(!tL(e))throw TypeError("empty pattern list");if(!t_(t))throw TypeError("empty glob list");if(t.length!==e.length)throw TypeError("mismatched pattern list and glob list lengths");if(this.length=e.length,i<0||i>=this.length)throw TypeError("index out of range");if(this.#e0=e,this.#e1=t,this.#e2=i,this.#e4=s,0===this.#e2){if(this.isUNC()){let[e,t,i,s,...r]=this.#e0,[n,a,o,l,...h]=this.#e1;""===r[0]&&(r.shift(),h.shift());let c=[e,t,i,s,""].join("/"),u=[n,a,o,l,""].join("/");this.#e0=[c,...r],this.#e1=[u,...h],this.length=this.#e0.length}else if(this.isDrive()||this.isAbsolute()){let[e,...t]=this.#e0,[i,...s]=this.#e1;""===t[0]&&(t.shift(),s.shift()),this.#e0=[e+"/",...t],this.#e1=[i+"/",...s],this.length=this.#e0.length}}}pattern(){return this.#e0[this.#e2]}isString(){return"string"==typeof this.#e0[this.#e2]}isGlobstar(){return this.#e0[this.#e2]===K}isRegExp(){return this.#e0[this.#e2]instanceof RegExp}globString(){return this.#e6=this.#e6||(0===this.#e2?this.isAbsolute()?this.#e1[0]+this.#e1.slice(1).join("/"):this.#e1.join("/"):this.#e1.slice(this.#e2).join("/"))}hasMore(){return this.length>this.#e2+1}rest(){return void 0!==this.#e3?this.#e3:this.hasMore()?(this.#e3=new tF(this.#e0,this.#e1,this.#e2+1,this.#e4),this.#e3.#e8=this.#e8,this.#e3.#e9=this.#e9,this.#e3.#e5=this.#e5,this.#e3):this.#e3=null}isUNC(){let e=this.#e0;return void 0!==this.#e9?this.#e9:this.#e9="win32"===this.#e4&&0===this.#e2&&""===e[0]&&""===e[1]&&"string"==typeof e[2]&&!!e[2]&&"string"==typeof e[3]&&!!e[3]}isDrive(){let e=this.#e0;return void 0!==this.#e5?this.#e5:this.#e5="win32"===this.#e4&&0===this.#e2&&this.length>1&&"string"==typeof e[0]&&/^[a-z]:$/i.test(e[0])}isAbsolute(){let e=this.#e0;return void 0!==this.#e8?this.#e8:this.#e8=""===e[0]&&e.length>1||this.isDrive()||this.isUNC()}root(){let e=this.#e0[0];return"string"==typeof e&&this.isAbsolute()&&0===this.#e2?e:""}checkFollowGlobstar(){return!(0===this.#e2||!this.isGlobstar()||!this.#e7)}markFollowGlobstar(){return 0!==this.#e2&&!!this.isGlobstar()&&!!this.#e7&&(this.#e7=!1,!0)}}let tD="object"==typeof process&&process&&"string"==typeof process.platform?process.platform:"linux";class tM{relative;relativeChildren;absolute;absoluteChildren;platform;mmopts;constructor(e,{nobrace:t,nocase:i,noext:s,noglobstar:r,platform:n=tD}){for(let a of(this.relative=[],this.absolute=[],this.relativeChildren=[],this.absoluteChildren=[],this.platform=n,this.mmopts={dot:!0,nobrace:t,nocase:i,noext:s,noglobstar:r,optimizationLevel:2,platform:n,nocomment:!0,nonegate:!0},e))this.add(a)}add(e){let t=new er(e,this.mmopts);for(let e=0;e<t.set.length;e++){let i=t.set[e],s=t.globParts[e];if(!i||!s)throw Error("invalid pattern object");for(;"."===i[0]&&"."===s[0];)i.shift(),s.shift();let r=new tF(i,s,0,this.platform),n=new er(r.globString(),this.mmopts),a="**"===s[s.length-1],o=r.isAbsolute();o?this.absolute.push(n):this.relative.push(n),a&&(o?this.absoluteChildren.push(n):this.relativeChildren.push(n))}}ignored(e){let t=e.fullpath(),i=`${t}/`,s=e.relative()||".",r=`${s}/`;for(let e of this.relative)if(e.match(s)||e.match(r))return!0;for(let e of this.absolute)if(e.match(t)||e.match(i))return!0;return!1}childrenIgnored(e){let t=e.fullpath()+"/",i=(e.relative()||".")+"/";for(let e of this.relativeChildren)if(e.match(i))return!0;for(let e of this.absoluteChildren)if(e.match(t))return!0;return!1}}class tP{store;constructor(e=new Map){this.store=e}copy(){return new tP(new Map(this.store))}hasWalked(e,t){return this.store.get(e.fullpath())?.has(t.globString())}storeWalked(e,t){let i=e.fullpath(),s=this.store.get(i);s?s.add(t.globString()):this.store.set(i,new Set([t.globString()]))}}class tN{store=new Map;add(e,t,i){let s=2*!!t|!!i,r=this.store.get(e);this.store.set(e,void 0===r?s:s&r)}entries(){return[...this.store.entries()].map(([e,t])=>[e,!!(2&t),!!(1&t)])}}class tR{store=new Map;add(e,t){if(!e.canReaddir())return;let i=this.store.get(e);i?i.find(e=>e.globString()===t.globString())||i.push(t):this.store.set(e,[t])}get(e){let t=this.store.get(e);if(!t)throw Error("attempting to walk unknown path");return t}entries(){return this.keys().map(e=>[e,this.store.get(e)])}keys(){return[...this.store.keys()].filter(e=>e.canReaddir())}}class tB{hasWalkedCache;matches=new tN;subwalks=new tR;patterns;follow;dot;opts;constructor(e,t){this.opts=e,this.follow=!!e.follow,this.dot=!!e.dot,this.hasWalkedCache=t?t.copy():new tP}processPatterns(e,t){for(let[i,s]of(this.patterns=t,t.map(t=>[e,t]))){let e,t;this.hasWalkedCache.storeWalked(i,s);let r=s.root(),n=s.isAbsolute()&&!1!==this.opts.absolute;if(r){i=i.resolve("/"===r&&void 0!==this.opts.root?this.opts.root:r);let e=s.rest();if(e)s=e;else{this.matches.add(i,!0,!1);continue}}if(i.isENOENT())continue;let a=!1;for(;"string"==typeof(e=s.pattern())&&(t=s.rest());)i=i.resolve(e),s=t,a=!0;if(e=s.pattern(),t=s.rest(),a){if(this.hasWalkedCache.hasWalked(i,s))continue;this.hasWalkedCache.storeWalked(i,s)}if("string"==typeof e){let t=".."===e||""===e||"."===e;this.matches.add(i.resolve(e),n,t);continue}if(e===K){(!i.isSymbolicLink()||this.follow||s.checkFollowGlobstar())&&this.subwalks.add(i,s);let e=t?.pattern(),r=t?.rest();if(t&&(""!==e&&"."!==e||r)){if(".."===e){let e=i.parent||i;r?this.hasWalkedCache.hasWalked(e,r)||this.subwalks.add(e,r):this.matches.add(e,n,!0)}}else this.matches.add(i,n,""===e||"."===e)}else e instanceof RegExp&&this.subwalks.add(i,s)}return this}subwalkTargets(){return this.subwalks.keys()}child(){return new tB(this.opts,this.hasWalkedCache)}filterEntries(e,t){let i=this.subwalks.get(e),s=this.child();for(let e of t)for(let t of i){let i=t.isAbsolute(),r=t.pattern(),n=t.rest();r===K?s.testGlobstar(e,t,n,i):r instanceof RegExp?s.testRegExp(e,r,n,i):s.testString(e,r,n,i)}return s}testGlobstar(e,t,i,s){if((this.dot||!e.name.startsWith("."))&&(t.hasMore()||this.matches.add(e,s,!1),e.canReaddir()&&(this.follow||!e.isSymbolicLink()?this.subwalks.add(e,t):e.isSymbolicLink()&&(i&&t.checkFollowGlobstar()?this.subwalks.add(e,i):t.markFollowGlobstar()&&this.subwalks.add(e,t)))),i){let t=i.pattern();if("string"==typeof t&&".."!==t&&""!==t&&"."!==t)this.testString(e,t,i.rest(),s);else if(".."===t){let t=e.parent||e;this.subwalks.add(t,i)}else t instanceof RegExp&&this.testRegExp(e,t,i.rest(),s)}}testRegExp(e,t,i,s){t.test(e.name)&&(i?this.subwalks.add(e,i):this.matches.add(e,s,!1))}testString(e,t,i,s){e.isNamed(t)&&(i?this.subwalks.add(e,i):this.matches.add(e,s,!1))}}let tj=(e,t)=>"string"==typeof e?new tM([e],t):Array.isArray(e)?new tM(e,t):e;class tI{path;patterns;opts;seen=new Set;paused=!1;aborted=!1;#te=[];#tt;#ti;signal;maxDepth;includeChildMatches;constructor(e,t,i){if(this.patterns=e,this.path=t,this.opts=i,this.#ti=i.posix||"win32"!==i.platform?"/":"\\",this.includeChildMatches=!1!==i.includeChildMatches,(i.ignore||!this.includeChildMatches)&&(this.#tt=tj(i.ignore??[],i),!this.includeChildMatches&&"function"!=typeof this.#tt.add))throw Error("cannot ignore child matches, ignore lacks add() method.");this.maxDepth=i.maxDepth||1/0,i.signal&&(this.signal=i.signal,this.signal.addEventListener("abort",()=>{this.#te.length=0}))}#ts(e){return this.seen.has(e)||!!this.#tt?.ignored?.(e)}#tr(e){return!!this.#tt?.childrenIgnored?.(e)}pause(){this.paused=!0}resume(){let e;if(!this.signal?.aborted)for(this.paused=!1;!this.paused&&(e=this.#te.shift());)e()}onResume(e){this.signal?.aborted||(this.paused?this.#te.push(e):e())}async matchCheck(e,t){let i;if(t&&this.opts.nodir)return;if(this.opts.realpath){if(!(i=e.realpathCached()||await e.realpath()))return;e=i}let s=e.isUnknown()||this.opts.stat?await e.lstat():e;if(this.opts.follow&&this.opts.nodir&&s?.isSymbolicLink()){let e=await s.realpath();e&&(e.isUnknown()||this.opts.stat)&&await e.lstat()}return this.matchCheckTest(s,t)}matchCheckTest(e,t){return e&&(this.maxDepth===1/0||e.depth()<=this.maxDepth)&&(!t||e.canReaddir())&&(!this.opts.nodir||!e.isDirectory())&&(!this.opts.nodir||!this.opts.follow||!e.isSymbolicLink()||!e.realpathCached()?.isDirectory())&&!this.#ts(e)?e:void 0}matchCheckSync(e,t){let i;if(t&&this.opts.nodir)return;if(this.opts.realpath){if(!(i=e.realpathCached()||e.realpathSync()))return;e=i}let s=e.isUnknown()||this.opts.stat?e.lstatSync():e;if(this.opts.follow&&this.opts.nodir&&s?.isSymbolicLink()){let e=s.realpathSync();e&&(e?.isUnknown()||this.opts.stat)&&e.lstatSync()}return this.matchCheckTest(s,t)}matchFinish(e,t){if(this.#ts(e))return;if(!this.includeChildMatches&&this.#tt?.add){let t=`${e.relativePosix()}/**`;this.#tt.add(t)}let i=void 0===this.opts.absolute?t:this.opts.absolute;this.seen.add(e);let s=this.opts.mark&&e.isDirectory()?this.#ti:"";if(this.opts.withFileTypes)this.matchEmit(e);else if(i){let t=this.opts.posix?e.fullpathPosix():e.fullpath();this.matchEmit(t+s)}else{let t=this.opts.posix?e.relativePosix():e.relative(),i=this.opts.dotRelative&&!t.startsWith(".."+this.#ti)?"."+this.#ti:"";this.matchEmit(t?i+t+s:"."+s)}}async match(e,t,i){let s=await this.matchCheck(e,i);s&&this.matchFinish(s,t)}matchSync(e,t,i){let s=this.matchCheckSync(e,i);s&&this.matchFinish(s,t)}walkCB(e,t,i){this.signal?.aborted&&i(),this.walkCB2(e,t,new tB(this.opts),i)}walkCB2(e,t,i,s){if(this.#tr(e))return s();if(this.signal?.aborted&&s(),this.paused)return void this.onResume(()=>this.walkCB2(e,t,i,s));i.processPatterns(e,t);let r=1,n=()=>{0==--r&&s()};for(let[e,t,s]of i.matches.entries())this.#ts(e)||(r++,this.match(e,t,s).then(()=>n()));for(let e of i.subwalkTargets()){if(this.maxDepth!==1/0&&e.depth()>=this.maxDepth)continue;r++;let t=e.readdirCached();e.calledReaddir()?this.walkCB3(e,t,i,n):e.readdirCB((t,s)=>this.walkCB3(e,s,i,n),!0)}n()}walkCB3(e,t,i,s){i=i.filterEntries(e,t);let r=1,n=()=>{0==--r&&s()};for(let[e,t,s]of i.matches.entries())this.#ts(e)||(r++,this.match(e,t,s).then(()=>n()));for(let[e,t]of i.subwalks.entries())r++,this.walkCB2(e,t,i.child(),n);n()}walkCBSync(e,t,i){this.signal?.aborted&&i(),this.walkCB2Sync(e,t,new tB(this.opts),i)}walkCB2Sync(e,t,i,s){if(this.#tr(e))return s();if(this.signal?.aborted&&s(),this.paused)return void this.onResume(()=>this.walkCB2Sync(e,t,i,s));i.processPatterns(e,t);let r=1,n=()=>{0==--r&&s()};for(let[e,t,s]of i.matches.entries())this.#ts(e)||this.matchSync(e,t,s);for(let e of i.subwalkTargets()){if(this.maxDepth!==1/0&&e.depth()>=this.maxDepth)continue;r++;let t=e.readdirSync();this.walkCB3Sync(e,t,i,n)}n()}walkCB3Sync(e,t,i,s){i=i.filterEntries(e,t);let r=1,n=()=>{0==--r&&s()};for(let[e,t,s]of i.matches.entries())this.#ts(e)||this.matchSync(e,t,s);for(let[e,t]of i.subwalks.entries())r++,this.walkCB2Sync(e,t,i.child(),n);n()}}class t$ extends tI{matches=new Set;constructor(e,t,i){super(e,t,i)}matchEmit(e){this.matches.add(e)}async walk(){if(this.signal?.aborted)throw this.signal.reason;return this.path.isUnknown()&&await this.path.lstat(),await new Promise((e,t)=>{this.walkCB(this.path,this.patterns,()=>{this.signal?.aborted?t(this.signal.reason):e(this.matches)})}),this.matches}walkSync(){if(this.signal?.aborted)throw this.signal.reason;return this.path.isUnknown()&&this.path.lstatSync(),this.walkCBSync(this.path,this.patterns,()=>{if(this.signal?.aborted)throw this.signal.reason}),this.matches}}class tW extends tI{results;constructor(e,t,i){super(e,t,i),this.results=new tn({signal:this.signal,objectMode:!0}),this.results.on("drain",()=>this.resume()),this.results.on("resume",()=>this.resume())}matchEmit(e){this.results.write(e),this.results.flowing||this.pause()}stream(){let e=this.path;return e.isUnknown()?e.lstat().then(()=>{this.walkCB(e,this.patterns,()=>this.results.end())}):this.walkCB(e,this.patterns,()=>this.results.end()),this.results}streamSync(){return this.path.isUnknown()&&this.path.lstatSync(),this.walkCBSync(this.path,this.patterns,()=>this.results.end()),this.results}}let tU="object"==typeof process&&process&&"string"==typeof process.platform?process.platform:"linux";class tG{absolute;cwd;root;dot;dotRelative;follow;ignore;magicalBraces;mark;matchBase;maxDepth;nobrace;nocase;nodir;noext;noglobstar;pattern;platform;realpath;scurry;stat;signal;windowsPathsNoEscape;withFileTypes;includeChildMatches;opts;patterns;constructor(e,t){if(!t)throw TypeError("glob options required");if(this.withFileTypes=!!t.withFileTypes,this.signal=t.signal,this.follow=!!t.follow,this.dot=!!t.dot,this.dotRelative=!!t.dotRelative,this.nodir=!!t.nodir,this.mark=!!t.mark,t.cwd?(t.cwd instanceof URL||t.cwd.startsWith("file://"))&&(t.cwd=(0,en.fileURLToPath)(t.cwd)):this.cwd="",this.cwd=t.cwd||"",this.root=t.root,this.magicalBraces=!!t.magicalBraces,this.nobrace=!!t.nobrace,this.noext=!!t.noext,this.realpath=!!t.realpath,this.absolute=t.absolute,this.includeChildMatches=!1!==t.includeChildMatches,this.noglobstar=!!t.noglobstar,this.matchBase=!!t.matchBase,this.maxDepth="number"==typeof t.maxDepth?t.maxDepth:1/0,this.stat=!!t.stat,this.ignore=t.ignore,this.withFileTypes&&void 0!==this.absolute)throw Error("cannot set absolute and withFileTypes:true");if("string"==typeof e&&(e=[e]),this.windowsPathsNoEscape=!!t.windowsPathsNoEscape||!1===t.allowWindowsEscape,this.windowsPathsNoEscape&&(e=e.map(e=>e.replace(/\\/g,"/"))),this.matchBase){if(t.noglobstar)throw TypeError("base matching requires globstar");e=e.map(e=>e.includes("/")?e:`./**/${e}`)}if(this.pattern=e,this.platform=t.platform||tU,this.opts={...t,platform:this.platform},t.scurry){if(this.scurry=t.scurry,void 0!==t.nocase&&t.nocase!==t.scurry.nocase)throw Error("nocase option contradicts provided scurry option")}else{let e="win32"===t.platform?tC:"darwin"===t.platform?tO:t.platform?tA:tz;this.scurry=new e(this.cwd,{nocase:t.nocase,fs:t.fs})}this.nocase=this.scurry.nocase;let i="darwin"===this.platform||"win32"===this.platform,s={...t,dot:this.dot,matchBase:this.matchBase,nobrace:this.nobrace,nocase:this.nocase,nocaseMagicOnly:i,nocomment:!0,noext:this.noext,nonegate:!0,optimizationLevel:2,platform:this.platform,windowsPathsNoEscape:this.windowsPathsNoEscape,debug:!!this.opts.debug},[r,n]=this.pattern.map(e=>new er(e,s)).reduce((e,t)=>(e[0].push(...t.set),e[1].push(...t.globParts),e),[[],[]]);this.patterns=r.map((e,t)=>{let i=n[t];if(!i)throw Error("invalid pattern object");return new tF(e,i,0,this.platform)})}async walk(){return[...await new t$(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==1/0?this.maxDepth+this.scurry.cwd.depth():1/0,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).walk()]}walkSync(){return[...new t$(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==1/0?this.maxDepth+this.scurry.cwd.depth():1/0,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).walkSync()]}stream(){return new tW(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==1/0?this.maxDepth+this.scurry.cwd.depth():1/0,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).stream()}streamSync(){return new tW(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==1/0?this.maxDepth+this.scurry.cwd.depth():1/0,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).streamSync()}iterateSync(){return this.streamSync()[Symbol.iterator]()}[Symbol.iterator](){return this.iterateSync()}iterate(){return this.stream()[Symbol.asyncIterator]()}[Symbol.asyncIterator](){return this.iterate()}}function tZ(e,t={}){return new tG(e,t).streamSync()}function tV(e,t={}){return new tG(e,t).stream()}function tH(e,t={}){return new tG(e,t).walkSync()}async function tq(e,t={}){return new tG(e,t).walk()}function tJ(e,t={}){return new tG(e,t).iterateSync()}function tY(e,t={}){return new tG(e,t).iterate()}let tX=Object.assign(tV,{sync:tZ}),tK=Object.assign(tY,{sync:tJ}),tQ=Object.assign(tH,{stream:tZ,iterate:tJ}),t0=Object.assign(tq,{glob:tq,globSync:tH,sync:tQ,globStream:tV,stream:tX,globStreamSync:tZ,streamSync:tZ,globIterate:tY,iterate:tK,globIterateSync:tJ,iterateSync:tJ,Glob:tG,hasMagic:(e,t={})=>{for(let i of(Array.isArray(e)||(e=[e]),e))if(new er(i,t).hasMagic())return!0;return!1},escape:O,unescape:g});t0.glob=t0;var t1=a(151),t2=a.n(t1);async function t4(e,t,i){let r=await t3(e),a=t2()().add("/**/.*").add("/**/.*/").add("node_modules/").add(r),o=[];try{for await(let r of new tG(t,{cwd:e,ignore:i,fs:l})){let t=n().join(e,r);(await (0,s.stat)(t)).isDirectory()||a.ignores(r)||o.push(t)}}catch(e){throw Error(`Failed to search files with pattern '${t}': ${e.message}
|
|
3
|
+
Please check your extensions pattern is valid glob syntax.`)}return o}async function t3(e){let t=n().join(e,".gitignore");try{return await (0,s.readFile)(t,"utf-8")}catch(e){return""}}function t6(e,t,i,s,r){var n=i?function(e,t){var i=Object.create(t||t8);for(var s in e)i[s]=e[s];return i}(i,s||void 0):s;!function e(t,i,s){n[s||t.type](t,i,e)}(e,t,r)}function t5(e,t,i){i(e,t)}function t9(e,t,i){}var t8={};t8.Program=t8.BlockStatement=t8.StaticBlock=function(e,t,i){for(var s=0,r=e.body;s<r.length;s+=1)i(r[s],t,"Statement")},t8.Statement=t5,t8.EmptyStatement=t9,t8.ExpressionStatement=t8.ParenthesizedExpression=t8.ChainExpression=function(e,t,i){return i(e.expression,t,"Expression")},t8.IfStatement=function(e,t,i){i(e.test,t,"Expression"),i(e.consequent,t,"Statement"),e.alternate&&i(e.alternate,t,"Statement")},t8.LabeledStatement=function(e,t,i){return i(e.body,t,"Statement")},t8.BreakStatement=t8.ContinueStatement=t9,t8.WithStatement=function(e,t,i){i(e.object,t,"Expression"),i(e.body,t,"Statement")},t8.SwitchStatement=function(e,t,i){i(e.discriminant,t,"Expression");for(var s=0,r=e.cases;s<r.length;s+=1)i(r[s],t)},t8.SwitchCase=function(e,t,i){e.test&&i(e.test,t,"Expression");for(var s=0,r=e.consequent;s<r.length;s+=1)i(r[s],t,"Statement")},t8.ReturnStatement=t8.YieldExpression=t8.AwaitExpression=function(e,t,i){e.argument&&i(e.argument,t,"Expression")},t8.ThrowStatement=t8.SpreadElement=function(e,t,i){return i(e.argument,t,"Expression")},t8.TryStatement=function(e,t,i){i(e.block,t,"Statement"),e.handler&&i(e.handler,t),e.finalizer&&i(e.finalizer,t,"Statement")},t8.CatchClause=function(e,t,i){e.param&&i(e.param,t,"Pattern"),i(e.body,t,"Statement")},t8.WhileStatement=t8.DoWhileStatement=function(e,t,i){i(e.test,t,"Expression"),i(e.body,t,"Statement")},t8.ForStatement=function(e,t,i){e.init&&i(e.init,t,"ForInit"),e.test&&i(e.test,t,"Expression"),e.update&&i(e.update,t,"Expression"),i(e.body,t,"Statement")},t8.ForInStatement=t8.ForOfStatement=function(e,t,i){i(e.left,t,"ForInit"),i(e.right,t,"Expression"),i(e.body,t,"Statement")},t8.ForInit=function(e,t,i){"VariableDeclaration"===e.type?i(e,t):i(e,t,"Expression")},t8.DebuggerStatement=t9,t8.FunctionDeclaration=function(e,t,i){return i(e,t,"Function")},t8.VariableDeclaration=function(e,t,i){for(var s=0,r=e.declarations;s<r.length;s+=1)i(r[s],t)},t8.VariableDeclarator=function(e,t,i){i(e.id,t,"Pattern"),e.init&&i(e.init,t,"Expression")},t8.Function=function(e,t,i){e.id&&i(e.id,t,"Pattern");for(var s=0,r=e.params;s<r.length;s+=1)i(r[s],t,"Pattern");i(e.body,t,e.expression?"Expression":"Statement")},t8.Pattern=function(e,t,i){"Identifier"===e.type?i(e,t,"VariablePattern"):"MemberExpression"===e.type?i(e,t,"MemberPattern"):i(e,t)},t8.VariablePattern=t9,t8.MemberPattern=t5,t8.RestElement=function(e,t,i){return i(e.argument,t,"Pattern")},t8.ArrayPattern=function(e,t,i){for(var s=0,r=e.elements;s<r.length;s+=1){var n=r[s];n&&i(n,t,"Pattern")}},t8.ObjectPattern=function(e,t,i){for(var s=0,r=e.properties;s<r.length;s+=1){var n=r[s];"Property"===n.type?(n.computed&&i(n.key,t,"Expression"),i(n.value,t,"Pattern")):"RestElement"===n.type&&i(n.argument,t,"Pattern")}},t8.Expression=t5,t8.ThisExpression=t8.Super=t8.MetaProperty=t9,t8.ArrayExpression=function(e,t,i){for(var s=0,r=e.elements;s<r.length;s+=1){var n=r[s];n&&i(n,t,"Expression")}},t8.ObjectExpression=function(e,t,i){for(var s=0,r=e.properties;s<r.length;s+=1)i(r[s],t)},t8.FunctionExpression=t8.ArrowFunctionExpression=t8.FunctionDeclaration,t8.SequenceExpression=function(e,t,i){for(var s=0,r=e.expressions;s<r.length;s+=1)i(r[s],t,"Expression")},t8.TemplateLiteral=function(e,t,i){for(var s=0,r=e.quasis;s<r.length;s+=1)i(r[s],t);for(var n=0,a=e.expressions;n<a.length;n+=1)i(a[n],t,"Expression")},t8.TemplateElement=t9,t8.UnaryExpression=t8.UpdateExpression=function(e,t,i){i(e.argument,t,"Expression")},t8.BinaryExpression=t8.LogicalExpression=function(e,t,i){i(e.left,t,"Expression"),i(e.right,t,"Expression")},t8.AssignmentExpression=t8.AssignmentPattern=function(e,t,i){i(e.left,t,"Pattern"),i(e.right,t,"Expression")},t8.ConditionalExpression=function(e,t,i){i(e.test,t,"Expression"),i(e.consequent,t,"Expression"),i(e.alternate,t,"Expression")},t8.NewExpression=t8.CallExpression=function(e,t,i){if(i(e.callee,t,"Expression"),e.arguments)for(var s=0,r=e.arguments;s<r.length;s+=1)i(r[s],t,"Expression")},t8.MemberExpression=function(e,t,i){i(e.object,t,"Expression"),e.computed&&i(e.property,t,"Expression")},t8.ExportNamedDeclaration=t8.ExportDefaultDeclaration=function(e,t,i){e.declaration&&i(e.declaration,t,"ExportNamedDeclaration"===e.type||e.declaration.id?"Statement":"Expression"),e.source&&i(e.source,t,"Expression")},t8.ExportAllDeclaration=function(e,t,i){e.exported&&i(e.exported,t),i(e.source,t,"Expression")},t8.ImportDeclaration=function(e,t,i){for(var s=0,r=e.specifiers;s<r.length;s+=1)i(r[s],t);i(e.source,t,"Expression")},t8.ImportExpression=function(e,t,i){i(e.source,t,"Expression")},t8.ImportSpecifier=t8.ImportDefaultSpecifier=t8.ImportNamespaceSpecifier=t8.Identifier=t8.PrivateIdentifier=t8.Literal=t9,t8.TaggedTemplateExpression=function(e,t,i){i(e.tag,t,"Expression"),i(e.quasi,t,"Expression")},t8.ClassDeclaration=t8.ClassExpression=function(e,t,i){return i(e,t,"Class")},t8.Class=function(e,t,i){e.id&&i(e.id,t,"Pattern"),e.superClass&&i(e.superClass,t,"Expression"),i(e.body,t)},t8.ClassBody=function(e,t,i){for(var s=0,r=e.body;s<r.length;s+=1)i(r[s],t)},t8.MethodDefinition=t8.PropertyDefinition=t8.Property=function(e,t,i){e.computed&&i(e.key,t,"Expression"),e.value&&i(e.value,t,"Expression")};let t7=["Identifier","TemplateLiteral","ArrowFunctionExpression","StaticMemberExpression","CallExpression","TSAsExpression"],ie=i(764);var it=a.n(ie);async function ii(e,t,i,r){let n=await t4(e,t,i);if(0===n.length)throw Error("Can't find any relevant files");null==r||r.info({directory:e,extensions:t,ignorePattern:i,filesFound:n.length},"Starting color usage analysis");let a=[],o=new Map;for(let t of n)try{let i=await (0,s.readFile)(t,"utf-8"),n=ir(i);if(n.totalCount>0){let i=t.slice(e.length);o.set(i,n),null==r||r.info({file:i,colorUsage:n},"Found color usage in file")}}catch(i){let e={file:t,error:i,message:`Error parsing ${t}`};a.push(e),null==r||r.error(e,"Error parsing file for color usage")}return{errors:a,usage:o}}async function is(e,t,i,r){let n=await t4(e,t,i);if(0===n.length)throw Error("Can't find any relevant files");null==r||r.info({directory:e,extensions:t,ignorePattern:i,filesFound:n.length},"Starting component usage analysis");let a=[],o=new Map;for(let t of n)try{let i=await (0,s.readFile)(t,"utf-8"),{ast:n,errors:l}=function(e,t){let i=it().parseSync(e,{sourceFilename:t,sourceType:"module"});return{ast:JSON.parse(i.program),errors:i.errors}}(i,t);if(l.length>0){let e={file:t,error:l,message:`Error parsing ${t}`};a.push(e),null==r||r.error(e,"AST parsing errors");continue}let h=function(e){let t={components:new Map,props:new Map,imports:new Map},i={CatchClause(){},CatchParameter(){},ComputedMemberExpression(){},JSXText(){},NullLiteral(){},NumericLiteral(){},BooleanLiteral(){},ObjectExpression(){},ObjectProperty(){},StringLiteral(){},TSAsExpression(){},TSEnumDeclaration(){},TSInterfaceDeclaration(){},TSTypeAliasDeclaration(){},TSModuleDeclaration(){},TSSatisfiesExpression(){},StaticMemberExpression(){},RegExpLiteral(){},TSNonNullExpression(){},JSXEmptyExpression(){},JSXFragment(e,t){e.children.forEach(e=>t6(e,t,i,t8))},IfStatement(e,t){t6(e.consequent,t,i,t8),e.alternate&&t6(e.alternate,t,i,t8)},VariableDeclaration(e,t){e.declarations.forEach(e=>{t6(e,t,i,t8)})},ArrowFunctionExpression(e,t){"FunctionBody"===e.body.type&&t6(e.body,t,i,t8)},ParenthesizedExpression(e,t){t6(e.expression,t,i,t8)},ReturnStatement(e,t){e.argument&&t6(e.argument,t,i,t8)},FunctionBody(e,t){e.statements.forEach(e=>t6(e,t,i,t8))},Program(e,t){e.body.forEach(e=>{t6(e,t,i,t8)})},JSXElement(e,t){var s;let r=e.openingElement,n=r.name.name;if((null==n?void 0:n[0])!==(null==n||null==(s=n[0])?void 0:s.toLocaleLowerCase())){if(r.attributes.length>0){let e=[];r.attributes.forEach(t=>{if(t.name){var i,s,r;if((null==(i=t.value)?void 0:i.type)==="JSXExpressionContainer"){let i=t.value.expression.type;i&&t7.includes(i)?e.push({name:t.name.name,type:[i],values:["zh-runtime-value"]}):i&&"ObjectExpression"===i?e.push({name:t.name.name,type:[i],values:["zh-object-value"]}):i&&"ArrayExpression"===i?e.push({name:t.name.name,type:[i],values:["zh-array-value"]}):i&&"BinaryExpression"===i?e.push({name:t.name.name,type:[i],values:["zh-binary-value"]}):e.push({name:t.name.name,type:[i],values:[t.value.expression.value||t.value.expression.name]})}else e.push({name:t.name.name,type:[null==(s=t.value)?void 0:s.type],values:[null==(r=t.value)?void 0:r.value]})}});let i=t.props.get(n)??[];t.props.set(n,[...e,...i])}t.components.set(n,(t.components.get(n)??0)+1)}e.children.forEach(e=>{t6(e,t,i,t8)})},CallExpression(e,t){e.arguments.forEach(e=>t6(e,t,i,t8))},ExportDefaultDeclaration(e,t){if("FunctionDeclaration"===e.declaration.type){let{statements:s}=e.declaration.body;s.forEach(e=>{t6(e,t,i,t8)})}},JSXExpressionContainer(e,t){t6(e.expression,t,i,t8)},ImportDeclaration(e,t){var i,s;let r=(null==(i=e.source.value)?void 0:i.toString())??"";null==(s=e.specifiers)||s.forEach(e=>{if("ImportNamespaceSpecifier"===e.type)return;let i=e.local.name;"ImportDefaultSpecifier"===e.type||"Identifier"===e.type?i=e.local.name:"ImportSpecifier"===e.type&&(i="Literal"===e.imported.type?e.imported.value:e.imported.name),t.imports.set(e.local.name,{package:r,name:i})})}};try{t6(e,t,i,t8)}finally{return function(e){let t=new Map;for(let[i,s]of e.components){let r=e.imports.get(i),n=(null==r?void 0:r.name)??i,a=(null==r?void 0:r.package)??"",o=`package:${a} name:${n}`,l=t.get(o)??{name:n,count:0,package:(null==r?void 0:r.package)??"",props:{},framework:"react"};t.set(o,{...l,count:l.count+s,props:{}})}for(let[i,s]of e.props){let r=e.imports.get(i),n=(null==r?void 0:r.name)??i,a=(null==r?void 0:r.package)??"",o=`package:${a} name:${n}`,l=t.get(o),h=l.props;s.forEach(e=>{var t,i;h[e.name]={type:Array.from(new Set([...(null==(t=h[e.name])?void 0:t.type)??[],...e.type??[]])),values:[...(null==(i=h[e.name])?void 0:i.values)??[],...e.values]}}),t.set(o,{...l,props:h})}return Array.from(t.values())}(t)}}(n);if(h.length>0){let i=t.slice(e.length);o.set(i,h),null==r||r.info({file:i,ast:n,usage:h},"Found component usage in file")}}catch(i){let e={file:t,error:i,message:`Error parsing ${t}`};a.push(e),null==r||r.error(e,"Error parsing file for component usage")}return{errors:a,usage:o}}function ir(e){let t=Array.from(e.match(/#([a-fA-F0-9]{6}|[a-fA-F0-9]{8})\b|#([a-fA-F0-9]{3})\b/gi)??[]),i=Array.from(e.match(/rgba?\(\s*(\d{1,3})\s*[,\s]\s*(\d{1,3})\s*[,\s]\s*(\d{1,3})(?:\s*[,\s]\s*(\d*\.?\d+))?\s*\)/g)??[]),s=Array.from(e.match(/hsl(?:a)?\(\s*(?:(?:none|from\s+[a-zA-Z#0-9()]+)?\s*(?:[a-z\d+\-*/%()\s]+)\s*|(\d+(?:deg|grad|rad|turn)?)\s*(\d+%?)\s*(\d+%?)\s*(?:\/\s*(\d+%?|0?\.\d+))?|(\d+(?:deg|grad|rad|turn)?)\s*,\s*(\d+%)\s*,\s*(\d+%)\s*(?:,\s*(\d+(\.\d+)?%?))?)\)/g)??[]),r=Array.from(e.match(/okl(?:ab|ch)\(\s*(-?\d*\.?\d+)\s*[,\s]\s*(-?\d*\.?\d+)\s*[,\s]\s*(-?\d*\.?\d+)(?:\s*[,\s]\s*(\d*\.?\d+))?\s*\)/g)??[]),n=Array.from(e.match(/hwb\(\s*(\d*\.?\d+)(?:deg|turn|rad|grad)?\s*[,\s]\s*(\d*\.?\d+%)\s*[,\s]\s*(\d*\.?\d+%)(?:\s*[,\s]\s*(\d*\.?\d+))?\s*\)/g)??[]),a=Array.from(e.match(/(?<!ok)lab\(\s*(-?\d*\.?\d+%)\s*[,\s]\s*(-?\d*\.?\d+)\s*[,\s]\s*(-?\d*\.?\d+)(?:\s*[,\s]\s*(\d*\.?\d+))?\s*\)/g)??[]),o=Array.from(e.match(/(?<!ok)lch\(\s*(-?\d*\.?\d+%)\s*[,\s]\s*(-?\d*\.?\d+)\s*[,\s]\s*(-?\d*\.?\d+)(?:\s*[,\s]\s*(\d*\.?\d+))?\s*\)/g)??[]),l=Array.from(e.match(/color\(\s*([\w-]+)\s+(?:[-+]?\d*\.?\d+(?:e[-+]?\d+)?%?\s*){3,4}\)/g)??[]);return{hex:t,rgb:i,hsla:s,oklab:r,hwb:n,lab:a,lch:o,colorSpace:l,totalCount:t.length+i.length+s.length+n.length+a.length+o.length+l.length+r.length}}function ia(e){let t=new Map;for(let[i,s]of e)for(let{count:e,package:r,name:a,props:o,framework:l}of s){let s=r;if(r.startsWith(".")){let e=n().dirname(i),t=n().join(e,r);s=n().normalize(t)}let h=`package:${s} name:${a}`,c=t.get(h),u=[...(null==c?void 0:c.files)??[],i];t.set(h,{name:(null==c?void 0:c.name)??a,files:Array.from(new Set(u)),count:e+((null==c?void 0:c.count)??0),package:s,props:function(e,t){if(!t)return e;if(!e)return t;let i=Array.from(new Set([...Object.keys(t),...Object.keys(e)])),s={};return i.forEach(i=>{let r=t[i]??{},n=e[i],a=[...(null==r?void 0:r.values)??[],...(null==n?void 0:n.values)??[]];s[i]={type:Array.from(new Set([...r.type??[],...(null==n?void 0:n.type)??[]])),count:a.length,values:a}}),s}(o,(null==c?void 0:c.props)??{}),framework:(null==c?void 0:c.framework)??l})}return Array.from(t.values())}function io(e){let t=new Map;for(let[i,{hex:s,rgb:r,hsla:n}]of e)for(let e of[...s,...r,...n]){let s=t.get(e),r=[...(null==s?void 0:s.files)??[],i];t.set(e,{value:e,type:"color",files:r,count:((null==s?void 0:s.count)??0)+1})}return Array.from(t.values())}})(),t.Analyzers=o.Analyzers,t.Transformers=o.Transformers,o)-1===["Analyzers","Transformers"].indexOf(l)&&(t[l]=o[l]);Object.defineProperty(t,"__esModule",{value:!0})})()},584:function(e,t,i){i.a(e,async function(e,s){try{i.d(t,{Z:()=>x});var r=i(810),n=i(725),a=i(92),o=i(381),l=i(468),h=i(307),c=i(772),u=i(306),d=i(512),f=i(448),p=i(999);let e=new n.Command;async function m(){let e=await fetch("https://registry.npmjs.org/@zeroheight/adoption-cli/latest");return(await e.json()).version}let{output:g,cleanup:y}=(0,a.render)(r.createElement(o.Z,null)),{output:E,cleanup:w}=(0,a.render)(r.createElement(l.Z,{latestVersion:await m()}));e.name("zh-adoption").description("CLI for measuring design system usage usage in your products").version("3.5.0").addHelpText("before",g).option("--log-file <path>","Path to write logs to, if not provided logs only error logs will be written to stderr").addOption(new n.Option("--log-level <level>","The lowest level of logs to display").default("error").choices(["fatal","error","warn","info"])).addCommand((0,h.O)()).addCommand((0,c.G)()).addCommand((0,u.C)()).addCommand((0,d.G)()).hook("preAction",async(e,t)=>{f.ZP.level=e.opts().logLevel,e.opts().logFile&&(0,f.H4)(e.opts().logFile),f.ZP.info({command:{name:t.name(),opts:t.opts(),globalOpts:e.opts()}},"Running command");let i=await m();(0,p.lt)("3.5.0",i)&&console.log(E)}),y(),w(),"test"!==process.env.NODE_ENV&&e.parse();let x=e;s()}catch(e){s(e)}},1)},307:function(e,t,i){i.d(t,{O:()=>O});var s=i(810),r=i(149),n=i(725),a=i(904),o=i(367),l=i(165),h=i(950),c=i(795);function u({onContinue:e,dryRun:t}){let[i,n]=s.useState("");return s.createElement(r.Box,null,s.createElement(r.Text,null,t?s.createElement(s.Fragment,null,"Continue to next step? ",s.createElement(r.Text,{dimColor:!0},"(Y/n):")):s.createElement(s.Fragment,null,"Send this data to ",s.createElement(r.Text,{color:"#f63e7c"},"zeroheight"),"?"," ",s.createElement(r.Text,{dimColor:!0},"(Y/n):"))),s.createElement(c.Z,{isChecked:!0,value:i,onChange:n,onSubmit:t=>{e(t)}}))}function d({dataType:e}){return s.createElement(s.Fragment,null,s.createElement(r.Text,null,"Nothing sent to zeroheight, if you want to track ",e," data then remove the ",s.createElement(r.Text,{italic:!0},"--dry-run")," option."),s.createElement(r.Newline,null))}function f({dataType:e}){return s.createElement(s.Fragment,null,s.createElement(d,{dataType:e}),s.createElement(r.Text,null,"\uD83D\uDC4B See you next time!"))}var p=i(432),m=i(741),g=i(22),y=i(829),E=i(651);function w({credentials:e,onRepoNameSelected:t}){let[i,n]=s.default.useState("LOADING"),[a,o]=s.default.useState([]),[h,c]=s.default.useState("");async function u(e){try{let t=await (0,g.ru)(e);if(t.status!==g.Mx.Success)throw Error("Failed to get repo names");let i=t.data.repo_names;o(i),0===i.length?n("ENTER_REPO_NAME"):n("SELECT_REPO_NAME")}catch(e){n("ERROR")}}if(s.default.useEffect(()=>{e&&(n("LOADING"),(0,m.zi)().then(i=>{var s;let r=null==i||null==(s=i.repoNames)?void 0:s[process.cwd()];r?t(r):u(e)}))},[e]),"LOADING"===i)return s.default.createElement(r.Box,{flexDirection:"column"},s.default.createElement(r.Text,null,s.default.createElement(r.Text,{color:"cyan"},s.default.createElement(l.default,{type:"dots"}))," ","Fetching repository names..."));if("ERROR"===i)return s.default.createElement(r.Box,{flexDirection:"column"},s.default.createElement(r.Text,{color:"red"},"Error:"),s.default.createElement(r.Box,{flexDirection:"column",marginLeft:1},s.default.createElement(r.Text,null,"- Failed to fetch repository names")));if("SELECT_REPO_NAME"===i){let e=[{label:"Enter repository name",value:"enter-repository-name"},...a.map(e=>({label:e,value:e}))];return s.default.createElement(r.Box,{flexDirection:"column"},s.default.createElement(r.Text,null,"Select the repository name"),s.default.createElement(E.Z,{as:"select",options:e,onChange:function(e){if("enter-repository-name"===e)return void n("ENTER_REPO_NAME");t(e)}}))}return"ENTER_REPO_NAME"===i?s.default.createElement(r.Box,null,s.default.createElement(r.Text,null,"Repository name:"),s.default.createElement(y.default,{value:h,onChange:c,onSubmit:e=>{0!==e.trim().length&&t(e)}})):null}function x({usage:e}){let t=Array.from(e.entries());return s.createElement(r.Box,{flexDirection:"column"},t.map(([e,t])=>s.createElement(r.Box,{key:e,flexDirection:"column"},s.createElement(r.Text,{color:"green"},e),s.createElement(r.Box,{flexDirection:"column",marginLeft:2},t.map(({name:t,count:i})=>s.createElement(r.Box,{gap:2,key:`${t}-${e}`},s.createElement(r.Text,{bold:!0},i),s.createElement(r.Text,null,t)))))))}var v=i(410);let b={hex:"HEX",rgb:"RGB",hsla:"HSL",oklab:"Oklab",hwb:"HWB",lab:"LAB",lch:"LCH",colorSpace:"Color space",totalCount:"Total usage"};function S({usage:e}){let t=Array.from(e.entries());return s.createElement(r.Box,{flexDirection:"column"},t.map(([e,t])=>{let i=Object.entries(t);return s.createElement(r.Box,{key:e,flexDirection:"column"},s.createElement(r.Text,{color:"green"},e),s.createElement(r.Box,{flexDirection:"column",marginLeft:2},s.createElement(r.Box,{flexDirection:"column",marginLeft:2},i.map(([e,t])=>{if("totalCount"===e)return null;let i=t.length;if(0===i)return null;let n=b[e];return s.createElement(r.Box,{gap:2,key:`${e}-${i}`},s.createElement(r.Text,{bold:!0},n,": "),s.createElement(r.Text,null,i))})),s.createElement(r.Text,{bold:!0},"Total usage: ",t.totalCount)))}))}function k({onAnalyzeFiles:e,onAnalyzeColorUsage:t,dryRun:i,repoName:n}){let{exit:a}=(0,r.useApp)(),[y,E]=s.default.useState(0),[b,k]=s.default.useState(new Map),[T,C]=s.default.useState(new Map),[A,O]=s.default.useState([]),[z,L]=s.default.useState(null),[_,F]=s.default.useState(null),[D,M]=s.default.useState((0,g.jM)()),[P,N]=s.default.useState(n),[R,B]=s.default.useState(""),[j,I]=s.default.useState(""),[$,W]=s.default.useState(""),[U,G]=s.default.useState("");async function Z(){try{let{errorFile:t,usage:i}=await e();L(t),k(i),E(5)}catch(e){O(t=>[...t,e])}}async function V(e){if(e){if(i)return void E(12);let e=await H();if(!e)return void E(8);if(!P)return void E(9);E(10),q(b,P,e)}else E(12)}async function H(){try{let e=await (0,m.zi)();if(e)return F({token:e.token,client:e.client}),{token:e.token,client:e.client};return null}catch(e){return O(e=>[...e,"Failed to load credentials"]),null}}async function q(e,t,i){try{var s;await (0,g.BW)(e,t,i);let r=await (0,g.lx)(i);if(r.status!==g.Mx.Success)throw Error("Failed to get credentials");let n=null==(s=r.data.project)?void 0:s.id,a=(0,g.jM)();a.pathname=n?`/project/${n}/adoption/`:"/adoption/",M(a),E(11)}catch(t){let e="Failed to send data to zeroheight";t instanceof v.MS&&(e=t.message),O(t=>[...t,e])}}async function J(e,t){try{await (0,g.lx)({token:t,client:e})}catch{return O(["Auth credentials are not valid"]),a()}}function Y(e){e?(E(13),X()):E(1)}async function X(){try{let{errorFile:e,usage:i}=await t();L(e),C(i),E(14)}catch(e){O(t=>[...t,e])}}async function K(e){if(e){if(i)return void E(1);let e=await H();if(!e)return void E(17);if(!P)return void E(18);E(19),Q(T,P,e)}else E(1),a()}async function Q(e,t,i){try{var s;await (0,g.$O)(e,t,i);let r=await (0,g.lx)(i);if(r.status!==g.Mx.Success)throw Error("Failed to get credentials");let n=null==(s=r.data.project)?void 0:s.id,a=(0,g.jM)();a.pathname=n?`/project/${n}/adoption/`:"/adoption/",M(a),E(20)}catch(t){let e="Failed to send data to zeroheight";t instanceof v.MS&&(e=t.message),O(t=>[...t,e])}}if(A.length>0)return s.default.createElement(r.Box,{flexDirection:"column"},s.default.createElement(r.Text,{color:"red"},"Error:"),s.default.createElement(r.Box,{flexDirection:"column",marginLeft:1},A.map(e=>s.default.createElement(s.default.Fragment,null,s.default.createElement(r.Text,{key:e},e),s.default.createElement(r.Newline,null)))));if(0===y)return s.default.createElement(r.Box,{flexDirection:"column"},s.default.createElement(r.Text,null,"\uD83D\uDC4B Welcome to the ",s.default.createElement(r.Text,{color:"#f63e7c"},"zeroheight")," analyze tool"),s.default.createElement(r.Newline,null),s.default.createElement(r.Box,{flexDirection:"column"},s.default.createElement(r.Text,null,"❓ Would you like us to scan the files in this project to understand how components are being used (React only)?"," ",s.default.createElement(r.Text,{dimColor:!0},"(Y/n)")),s.default.createElement(c.Z,{isChecked:!0,value:j,onChange:I,onSubmit:function(e){e?(E(4),Z()):E(12)}})));if(4===y)return s.default.createElement(r.Text,null,s.default.createElement(r.Text,{color:"green"},s.default.createElement(l.default,{type:"dots"}))," Scanning files for component usage...");if(5===y)if((null==b?void 0:b.size)>0)return s.default.createElement(r.Box,{flexDirection:"column"},s.default.createElement(r.Text,{color:"green"},(0,o.G2)(b)," components found"),z&&s.default.createElement(s.default.Fragment,null,s.default.createElement(r.Newline,null),s.default.createElement(r.Box,null,s.default.createElement(r.Text,{color:"red"},"Error:"),s.default.createElement(r.Text,null," ","Some files could not be parsed. Errors can be found at"," ",s.default.createElement(h.default,{url:z},z)))),s.default.createElement(r.Box,null,s.default.createElement(r.Text,null,"Show more details? ",s.default.createElement(r.Text,{dimColor:!0},"(y/N)")),s.default.createElement(c.Z,{isChecked:!1,value:U,onChange:G,onSubmit:function(e){e?E(6):E(7)}})));else return s.default.createElement(r.Box,{flexDirection:"column"},s.default.createElement(r.Box,null,s.default.createElement(r.Text,null,"No files found, try a different directory or change the file extensions you want to include.")),s.default.createElement(r.Box,null,s.default.createElement(r.Text,null,"Continue to token usage analysis? ",s.default.createElement(r.Text,{dimColor:!0},"(Y/n)")),s.default.createElement(c.Z,{isChecked:!0,value:R,onChange:B,onSubmit:function(e){e?E(12):E(1)}})));if(6===y)return s.default.createElement(r.Box,{flexDirection:"column"},s.default.createElement(x,{usage:b}),s.default.createElement(r.Newline,null),i?s.default.createElement(s.default.Fragment,null,s.default.createElement(d,{dataType:"component usage"}),s.default.createElement(u,{dryRun:!0,onContinue:()=>V(!1)})):s.default.createElement(u,{onContinue:V}));if(7===y)return s.default.createElement(r.Box,{flexDirection:"column"},i?s.default.createElement(s.default.Fragment,null,s.default.createElement(d,{dataType:"component usage"}),s.default.createElement(u,{dryRun:!0,onContinue:()=>V(!1)})):s.default.createElement(u,{onContinue:V}));if(8===y||17===y)return s.default.createElement(p.Z,{configPath:(0,m.qA)(),onCheckCredentials:J,onSaveCredentials:async(e,t,i)=>{F({token:i,client:t}),e&&await (0,m.iL)({client:t,token:i}),8===y?(V(!0),E(10)):(K(!0),E(19))}});if(9===y||18===y)return s.default.createElement(w,{credentials:_,onRepoNameSelected:function(e){N(e),(0,m.iL)({repoNames:{[process.cwd()]:e}}),9===y?(V(!0),E(10)):(K(!0),E(19))}});if(10===y||19===y)return s.default.createElement(r.Text,null,s.default.createElement(r.Text,{color:"green"},s.default.createElement(l.default,{type:"dots"}))," ","Sending usage data to ",s.default.createElement(r.Text,{color:"#f63e7c"},"zeroheight"),"...");if(11===y)return s.default.createElement(r.Box,{flexDirection:"column"},s.default.createElement(r.Text,null,s.default.createElement(r.Text,{color:"green"},"Successfully sent:")," View your"," ",s.default.createElement(h.default,{url:D.toString()},s.default.createElement(r.Text,{underline:!0,color:"#f63e7c"},"usage data on zeroheight"))),s.default.createElement(r.Newline,null),s.default.createElement(r.Box,null,s.default.createElement(r.Text,null,"❓ Would you like us to scan the files in this project to understand how colors are being used? ",s.default.createElement(r.Text,{dimColor:!0},"(Y/n)")),s.default.createElement(c.Z,{isChecked:!0,value:$,onChange:W,onSubmit:Y})));if(12===y)return s.default.createElement(r.Box,{flexDirection:"column"},s.default.createElement(r.Box,null,s.default.createElement(r.Text,null,"❓ Would you like us to scan the files in this project to understand how colors are being used? ",s.default.createElement(r.Text,{dimColor:!0},"(Y/n)")),s.default.createElement(c.Z,{isChecked:!0,value:$,onChange:W,onSubmit:Y})));if(13===y)return s.default.createElement(r.Text,null,s.default.createElement(r.Text,{color:"green"},s.default.createElement(l.default,{type:"dots"}))," Scanning files for color usage...");if(14===y)if((null==T?void 0:T.size)>0)return s.default.createElement(r.Box,{flexDirection:"column"},s.default.createElement(r.Text,{color:"green"},(0,o.IJ)(T)," instances of raw color usage found"),z&&s.default.createElement(s.default.Fragment,null,s.default.createElement(r.Newline,null),s.default.createElement(r.Box,null,s.default.createElement(r.Text,{color:"red"},"Error:"),s.default.createElement(r.Text,null," ","Some files could not be parsed. Errors can be found at"," ",s.default.createElement(h.default,{url:z},z)))),s.default.createElement(r.Box,null,s.default.createElement(r.Text,null,"Show more details? ",s.default.createElement(r.Text,{dimColor:!0},"(y/N)")),s.default.createElement(c.Z,{isChecked:!1,value:U,onChange:G,onSubmit:function(e){e?E(15):E(16)}})));else return s.default.createElement(r.Box,{flexDirection:"column"},s.default.createElement(r.Text,null,"No files found, try a different directory or change the file extensions you want to include."));return 15===y?i?s.default.createElement(r.Box,{flexDirection:"column"},s.default.createElement(S,{usage:T}),s.default.createElement(r.Newline,null),s.default.createElement(f,{dataType:"color usage"})):s.default.createElement(r.Box,{flexDirection:"column"},s.default.createElement(S,{usage:T}),s.default.createElement(r.Newline,null),s.default.createElement(u,{onContinue:K})):16===y?i?s.default.createElement(r.Box,{flexDirection:"column"},s.default.createElement(f,{dataType:"color usage"})):s.default.createElement(r.Box,{flexDirection:"column"},s.default.createElement(u,{onContinue:K})):20===y?s.default.createElement(r.Box,{flexDirection:"column"},s.default.createElement(r.Text,null,s.default.createElement(r.Text,{color:"green"},"Successfully sent:")," View your"," ",s.default.createElement(h.default,{url:D.toString()},s.default.createElement(r.Text,{underline:!0,color:"#f63e7c"},"usage data on zeroheight"))),s.default.createElement(r.Newline,null),s.default.createElement(r.Text,null,"\uD83D\uDC4B See you next time!")):1===y?s.default.createElement(r.Box,{flexDirection:"column"},s.default.createElement(r.Text,null,"\uD83D\uDC4B See you next time!")):s.default.createElement(r.Text,null,"Analyze complete")}function T({repoName:e,onAnalyzeFiles:t,onAnalyzeColorUsage:i,shouldAnalyzeComponentUsage:n,shouldAnalyzeTokenUsage:a,dryRun:c}){let[u,d]=s.default.useState(!1),[f,p]=s.default.useState(!1),[y,E]=s.default.useState(!1),[w,x]=s.default.useState(null),[b,S]=s.default.useState([]),[k,T]=s.default.useState(null),[C,A]=s.default.useState(null),[O,z]=s.default.useState(null);async function L(){E(!0);try{let e=await (0,m.zi)();return e&&T({token:e.token,client:e.client}),e}catch(e){S(e=>[...e,"Failed to load credentials"])}finally{E(!1)}return null}async function _(e,t,i){d(!0);try{await (0,g.BW)(e,t,i)}catch(t){let e="Failed to send component usage data to zeroheight";t instanceof v.MS&&(e=t.message),S(t=>[...t,e])}finally{d(!1)}}async function F(e,t,i){d(!0);try{await (0,g.$O)(e,t,i)}catch(t){let e="Failed to send color usage data to zeroheight";t instanceof v.MS&&(e=t.message),S(t=>[...t,e])}finally{d(!1)}}async function D(){p(!0);let{errorFile:e,usage:i}=await t();return A(i),e&&x(e),p(!1),i}async function M(){p(!0);let{errorFile:e,usage:t}=await i();return z(t),e&&x(e),p(!1),t}return(s.default.useEffect(()=>{(async()=>{let t=await L();if(t&&e){if(n){let i=await D();c||await _(i,e,t)}if(a){let i=await M();c||await F(i,e,t)}}})()},[]),f||y||u)?s.default.createElement(r.Text,null,s.default.createElement(l.default,{type:"dots"})," ",f&&s.default.createElement(r.Text,null,"Analyzing files"),y&&s.default.createElement(r.Text,null,"Loading credentials"),u&&s.default.createElement(r.Text,null,"Sending data to zeroheight")):b.length>0?s.default.createElement(r.Box,{flexDirection:"column"},s.default.createElement(r.Text,{color:"red"},"Error:"),s.default.createElement(r.Box,{flexDirection:"column",marginLeft:1},b.map(e=>s.default.createElement(r.Text,{key:e},"- ",e)))):w?s.default.createElement(s.default.Fragment,null,s.default.createElement(r.Newline,null),s.default.createElement(r.Box,null,s.default.createElement(r.Text,{color:"red"},"Error:"),s.default.createElement(r.Text,null," ","Some files could not be parsed. Errors can be found at"," ",s.default.createElement(h.default,{url:w},w)))):e?k?C||O?s.default.createElement(s.default.Fragment,null,C&&s.default.createElement(r.Text,{color:"green"},(0,o.G2)(C)," components found",c?" (dry run - not sent)":" and sent to",!c&&s.default.createElement(r.Text,{color:"#f63e7c"}," zeroheight")),O&&s.default.createElement(r.Text,{color:"green"},(0,o.IJ)(O)," usages of raw colors found",c?" (dry run - not sent)":" and sent to",!c&&s.default.createElement(r.Text,{color:"#f63e7c"}," zeroheight"))):s.default.createElement(r.Text,null,"No usage could be found."):s.default.createElement(r.Text,null,"Credentials not found, please ensure they are set before running the"," ",s.default.createElement(r.Text,{bold:!0},"analyze")," command with"," ",s.default.createElement(r.Text,{italic:!0},"--interactive false")):s.default.createElement(r.Text,null,s.default.createElement(r.Text,{bold:!0},"Repo name")," not found, run the ",s.default.createElement(r.Text,{bold:!0},"analyze")," ","command in interactive mode or provide the"," ",s.default.createElement(r.Text,{italic:!0},"--repo-name ","<my repo name>")," option")}var C=i(448);async function A(e,t){e.interactive?(0,r.render)(s.createElement(k,{dryRun:e.dryRun,onAnalyzeFiles:()=>(0,o.NT)(e.extensions,e.ignore),onAnalyzeColorUsage:()=>(0,o.hS)(e.extensions,e.ignore),repoName:e.repoName}),t):(0,r.render)(s.createElement(T,{repoName:e.repoName,onAnalyzeFiles:()=>(0,o.NT)(e.extensions,e.ignore),onAnalyzeColorUsage:()=>(0,o.hS)(e.extensions,e.ignore),shouldAnalyzeComponentUsage:e.componentUsage,shouldAnalyzeTokenUsage:e.colorUsage,dryRun:e.dryRun}))}function O(){return new n.Command().command("analyze").description("Analyze your codebase to determine component usage metrics").configureHelp({showGlobalOptions:!0}).addOption(new n.Option("-e, --extensions [ext]","glob pattern for file extensions to include when searching for components. Examples: '**/*.{js,jsx,ts,tsx}', '**/*.js', 'src/**/*.{ts,tsx}'").default("**/*.{js,jsx,ts,tsx}","*.js, *.jsx, *.ts, *.tsx files recursively in all directories").argParser(o.Uc)).addOption(new n.Option("-i, --ignore [patterns]","files to ignore when searching for components, use multiple times to add more than one glob pattern").default(["**/*.{test,spec}.*","**/*.d.ts"],"*.test.*, *.spec.* and *.d.ts files").argParser(o.tu)).addOption(new n.Option("-d, --dry-run","don't push results to zeroheight").default(!1)).addOption(new n.Option("-r, --repo-name <string>","name of the repository")).addOption(new n.Option("-in, --interactive [boolean]","disable to skip input (useful when running in CI)").default(!0).argParser(e=>(0,a.default)(e))).addOption(new n.Option("-cu, --component-usage [boolean]","gather data about component and prop usage").default(!0).argParser(e=>(0,a.default)(e))).addOption(new n.Option("-cou, --color-usage [boolean]","gather data about color usage").default(!0).argParser(e=>(0,a.default)(e))).action(async e=>{e.interactive||(0,C.If)();let t="boolean"==typeof e.ignore?[]:e.ignore;try{await A({...e,ignore:t})}catch(e){C.ZP.error({error:e},"Unhandled exception running analyze command"),process.exitCode=1}})}},367:function(i,s,r){r.d(s,{hS:()=>m,IJ:()=>p,tu:()=>g,g8:()=>c,Uc:()=>y,G2:()=>f,NT:()=>d});var n=r(292),a=r(727),o=r(403),l=r(929),h=r(448);async function c(i,s,r){let l=await u(i),h=(0,t.default)().add("/**/.*").add("/**/.*/").add("node_modules/").add(l),c=[];try{for await(let t of new e.Glob(s,{cwd:i,ignore:r,fs:a})){let e=o.default.join(i,t);(await (0,n.stat)(e)).isDirectory()||h.ignores(t)||c.push(e)}}catch(e){throw Error(`Failed to search files with pattern '${s}': ${e.message}
|
|
4
4
|
Please check your --extensions pattern is valid glob syntax.`)}return c}async function u(e){let t=o.default.join(e,".gitignore");try{return await (0,n.readFile)(t,"utf-8")}catch(e){return""}}async function d(e,t){let i=await l.Analyzers.analyzeComponentUsage(process.cwd(),e,t,h.ZP),s=`/tmp/zh-adoption-analyze-errors-${Date.now()}`;if(i.errors.length>0){let e=a.createWriteStream(s);i.errors.forEach(t=>{e.write(JSON.stringify(t)+"\n")}),e.end(),h.ZP.error("Could not parse some files. See error file for more details:",s)}return{errorFile:i.errors.length>0?s:null,usage:i.usage}}function f(e){return e?Array.from(e.entries()).flatMap(e=>e[1]).reduce((e,t)=>e+t.count,0):0}function p(e){return e?Array.from(e.entries()).flatMap(e=>e[1]).reduce((e,t)=>e+t.totalCount,0):0}async function m(e,t){let i=await l.Analyzers.analyzeRawColorUsage(process.cwd(),e,t,h.ZP),s=`/tmp/zh-adoption-analyze-errors-${Date.now()}`;if(i.errors.length>0){let e=a.createWriteStream(s);i.errors.forEach(t=>{e.write(JSON.stringify(t)+"\n")}),e.end(),h.ZP.error("Could not parse some files. See error file for more details:",s)}return{errorFile:i.errors.length>0?s:null,usage:i.usage}}function g(e,t){return t==this.defaultValue?[e]:Array.isArray(t)?t.concat(e):[e]}function y(t){if(!t||""===t.trim())throw Error("Extensions pattern cannot be empty. Use a glob pattern like '**/*.{js,jsx,ts,tsx}'");try{return new e.Glob(t,{cwd:process.cwd()}),t}catch(e){throw Error(`Invalid glob pattern '${t}'. ${e.message}
|
|
5
5
|
Valid examples:
|
|
6
6
|
- **/*.{js,jsx,ts,tsx}
|
|
7
7
|
- **/*.js
|
|
8
8
|
- src/**/*.{ts,tsx}
|
|
9
|
-
- components/**/*.{js,ts}`)}}},772:function(e,t,i){i.d(t,{G:()=>g});var s=i(810),r=i(725),n=i(149),a=i(795),o=i(432),l=i(741),h=i(950),c=i(314);function u({configPath:e,existingConfig:t}){return s.createElement(n.Box,{flexDirection:"column"},s.createElement(n.Text,{bold:!0,color:"yellow"},"You already have your authentication credentials set up"),s.createElement(n.Newline,null),s.createElement(n.Text,null,"You can find them in: ",s.createElement(h.default,{url:e},e)),s.createElement(c.Z,{client:t.client,token:t.token}))}var d=i(165),f=i(22);function p({token:e,client:t}){let{exit:i}=(0,n.useApp)(),[r,h]=s.default.useState(""),[p,m]=s.default.useState(null),[g,y]=s.default.useState(0);async function E(e,t,i){let s=t??(null==e?void 0:e.client),r=i??(null==e?void 0:e.token);if(!s||!r)return void y(3);try{let e={client:s,token:r};y(0),m(e),await (0,l.iL)(e)}catch{y(3);return}y(4)}async function w(e){e?y(2):y(5)}async function x(e,t){try{await (0,f.lx)({token:t,client:e})}catch{return y(6),i()}}async function v(e,t,i){e?await E(p,t,i):y(5)}switch(s.default.useEffect(()=>{(0,l.zi)().then(i=>{y(0),m(i),i?i&&e||i&&t?E(i,t,e):i&&y(1):y(2)})},[]),g){case 1:return s.default.createElement(s.default.Fragment,null,(null==p?void 0:p.client)&&(null==p?void 0:p.token)&&s.default.createElement(u,{configPath:(0,l.qA)(),existingConfig:p}),s.default.createElement(n.Box,null,s.default.createElement(n.Text,null,"Would you like to overwrite these credentials?"," ",s.default.createElement(n.Text,{dimColor:!0},"(y/N)")),s.default.createElement(a.Z,{isChecked:!1,value:r,onChange:h,onSubmit:w})));case 2:return s.default.createElement(o.Z,{onCheckCredentials:x,onSaveCredentials:v,configPath:(0,l.qA)()});case 4:return s.default.createElement(n.Box,{flexDirection:"column"},s.default.createElement(n.Text,{color:"green"},"Updated credentials"),(null==p?void 0:p.client)&&(null==p?void 0:p.token)&&s.default.createElement(c.Z,{client:p.client,token:p.token}));case 5:return s.default.createElement(n.Box,{flexDirection:"column"},s.default.createElement(n.Text,{color:"yellow"},"Credentials are unchanged"),(null==p?void 0:p.client)&&(null==p?void 0:p.token)&&s.default.createElement(c.Z,{client:p.client,token:p.token}));case 3:return s.default.createElement(n.Text,{color:"yellow"},"Something went wrong, try again.");case 6:return s.default.createElement(n.Text,{color:"red"},"Unable to authenticate. Please re-run the command to try again.");case 0:return s.default.createElement(n.Text,null,s.default.createElement(n.Text,{color:"green"},s.default.createElement(d.default,{type:"dots"}))," Loading config...");default:return s.default.createElement(n.Text,null,"Done")}}async function m(e,t){(0,n.render)(s.createElement(p,{token:e.token,client:e.client}),t)}function g(){return new r.Command().command("auth").description("Authenticate with zeroheight").configureHelp({showGlobalOptions:!0}).addHelpText("before","Set credentials for performing actions with zeroheight. Credentials will default to ZEROHEIGHT_CLIENT_ID and ZEROHEIGHT_ACCESS_TOKEN environment variables if not supplied").option("-c, --client <client_id>","zeroheight Client ID",process.env.ZEROHEIGHT_CLIENT_ID).option("-t, --token <access_token>","zeroheight Access Token",process.env.ZEROHEIGHT_ACCESS_TOKEN).action(async e=>{try{await m(e)}catch(e){console.error(e),process.exitCode=1}})}},306:function(e,t,s){s.d(t,{C:()=>T});var r=s(810),n=s(725),a=s(149),o=s(165),l=s(403),h=s(292),c=s(367);class u{}class d extends u{packages;constructor(e){super();let t=JSON.parse(e);switch(t.lockfileVersion){case 1:this.packages=this.#tn(t);break;case 2:this.packages=this.#ta(t);break;default:this.packages=this.#to(t)}}#tn(e){return Object.entries(e.dependencies).map(([e,t])=>({name:this.#tl(e),version:t.version}))}#ta(e){return Object.entries(e.packages).map(([e,t])=>({name:this.#tl(e),version:t.version})).filter(e=>e.name&&e.version)}#to(e){return this.#ta(e)}#tl(e){let t="node_modules/";return e.startsWith(t)?e.slice(t.length):e}}class f extends u{packages;constructor(e){super(),this.packages=[];let t=(0,i.parse)(e);6>parseInt(t.lockfileVersion,10)?this.packages=this.#th(t):this.packages=this.#tc(t)}#th(e){return Object.entries(e.dependencies).map(([e,t])=>({name:e,version:t})).filter(e=>e.name&&e.version)}#tc(e){return Object.keys(e.packages).map(e=>{let t=e.lastIndexOf("@"),i=e.slice(0,t),s=e.slice(t+1);return i.startsWith("/")&&(i=i.slice(1)),{name:i,version:s}}).filter(e=>e.name&&e.version)}}class p extends u{packages;constructor(e){super(),this.packages=[];try{let t=(0,i.parse)(e);if(t.__metadata){let e={...t};null==e||delete e.__metadata,this.packages=this.#tu(e)}}catch{this.packages=this.#tn(e)}}#tn(e){let t=e.split("\n\n").filter(e=>!e.startsWith("#")).map(e=>e.trimStart()),i=/[^"\s](\S+)(?<!")(?=@)/gi,s=/(?<=")(.+)(?<!")/gi;return t.reduce((e,t)=>{var r,n,a,o,l;let h=t.split("\n").map(e=>e.trim()),c=null==(a=h.at(0))||null==(n=a.match(i))||null==(r=n[0])?void 0:r.replace('"',""),u=null==(l=h.slice(1).find(e=>e.startsWith("version")))||null==(o=l.match(s))?void 0:o[0];return c&&u?e.concat([{name:c,version:u}]):e},[])}#tu(e){return Object.entries(e).map(([e,t])=>({name:this.#tl(e),version:t.version.toString()})).filter(e=>e.name)}#tl(e){return e.startsWith("@")?"@"+e.substring(1).split("@").at(0):e.split("@").at(0)}}async function m(e){let t=JSON.parse(await (0,h.readFile)(e,"utf-8"));return{name:t.name,version:t.version}}async function g(e){let t=(0,l.basename)(e),i=function(e){switch(e){case"yarn.lock":return p;case"package-lock.json":return d;case"pnpm-lock.yaml":case"shrinkwrap.yaml":return f;default:return null}}(t);if(!i)throw Error(`Can't find parser for ${t}`);return new i(await (0,h.readFile)(e,"utf-8"))}async function y(e){let t=(0,l.join)(process.cwd(),e??"");return(0,c.g8)(t,"**/**/{package-lock.json,shrinkwrap.yaml,pnpm-lock.yaml,yarn.lock}",[])}var E=s(965),w=s(22),x=s(741),v=s(410);function b({packageDirs:e,packageName:t,dryRun:i}){let[s,n]=r.default.useState(),[h,c]=r.default.useState({});function u(e,t,i){i&&(process.exitCode=1),c(s=>({...s,[e]:{...s[e],step:t,error:i}}))}async function d(){let s=process.cwd(),r=[],a=[];e?(a=(await Promise.all(e.map(y))).flat(),r=(await Promise.all(e.map(E.u1))).flat()):(a=await (0,E.u1)(),r=await y());let o=[...r,...a].map(e=>({base:(0,l.dirname)(e),filename:(0,l.basename)(e)})).reduce((e,t)=>(e[t.base]=[...e[t.base]??[],t.filename],e),{}),h=await (0,x.zi)();if(0===Object.keys(o).length)return void n("No NPM packages found");for(let[e,r]of Object.entries(o)){let a,o=r.filter(e=>"package.json"!==e).at(0);if(!o)continue;try{if(a=await m((0,l.join)(e,"package.json")),t&&(a.name=t),!a.name){n(`Name field is missing in your ${(0,l.basename)(e)}/package.json file. Re-run the command with --package-name <name> to continue.`);continue}}catch(e){continue}u(a.name,2);let c=await g((0,l.join)(e,o)),d=c.packages;c instanceof p&&(d=c.packages.filter(e=>e.name!==a.name));let f=(0,l.join)(e.split(s).pop()??"",o);if(!h){n("No credentials, must authenticate to send data to zeroheight.");continue}try{if(i)u(a.name,0);else{u(a.name,3);let e=await (0,w.iI)(a.name,a.version,f,d,{token:h.token,client:h.client});e.status===w.Mx.Success?u(a.name,0):u(a.name,1,e.message)}}catch(t){let e="Failed to send data to zeroheight";t instanceof v.MS&&(e=t.message),u(a.name,1,e)}}}return r.default.useEffect(()=>{d()},[]),r.default.createElement(r.default.Fragment,null,Object.entries(h).map(([e,{step:t,error:s}])=>r.default.createElement(a.Box,{key:e,flexDirection:"column"},2===t&&r.default.createElement(a.Text,null,r.default.createElement(a.Text,{color:"green"},r.default.createElement(o.default,{type:"dots"})),`${e} - searching for package details...`),3===t&&r.default.createElement(a.Text,null,r.default.createElement(a.Text,{color:"green"},r.default.createElement(o.default,{type:"dots"})),`${e} - sending data to zeroheight...`),0===t&&r.default.createElement(a.Box,{flexDirection:"column"},r.default.createElement(a.Text,{color:"green"},"Success"),r.default.createElement(a.Text,null,"Packages being used by ",e," have been"," ",i?"found (dry run - not sent)":"sent to your zeroheight account")),1===t&&r.default.createElement(a.Text,null,r.default.createElement(a.Text,{color:"red"},"Error: "),`${e} - ${s}`))),s&&r.default.createElement(a.Text,null,r.default.createElement(a.Text,{color:"red"},"Error:")," ",s))}var S=s(448);async function k(e,t){(0,a.render)(r.createElement(b,{packageDirs:e.dir,packageName:e.packageName,dryRun:e.dryRun}))}function T(){return new n.Command().command("monitor-repo").description("Monitor package usage in a repository").configureHelp({showGlobalOptions:!0}).addOption(new n.Option("-d, --dir <path...>","use package directory to find package.json and lockfile")).addOption(new n.Option("-p, --package-name <name>","specify the name used to identify the package in zeroheight")).addOption(new n.Option("--dry-run","don't push results to zeroheight").default(!1)).action(async e=>{(0,S.If)();try{await k(e)}catch(e){console.error(e),process.exitCode=1}})}},512:function(e,t,i){i.d(t,{G:()=>v});var n=i(810),a=i(725),o=i(149),l=i(904),h=i(165),c=i(741),u=i(965),d=i(22),f=i(410);function p({allowedPackages:e,dryRun:t}){let{exit:i}=(0,o.useApp)(),[s,r]=n.default.useState(2),[a,l]=n.default.useState(null),[p,m]=n.default.useState([]),[g,y]=n.default.useState(null),[E,w]=n.default.useState(null);async function x(){let s=await (0,c.zi)()??{token:"temp",client:"temp"},{files:n,error:a}=await (0,u.Rp)(e);try{if(1===n.length){let{name:e,path:a,version:o,exports:h}=n[0];y(e),w(o),r(4);let c=(0,u.ce)(e,h);if(t)r(0),i();else{let t=await (0,d.Yw)(e,a,o,c,{token:s.token,client:s.client});t.status===d.Mx.Success?r(0):(l(t.message),r(1)),i()}}else n.length>1?(m(n),r(3),t||await Promise.all(n.map(async e=>{let t=(0,u.ce)(e.name,e.exports);await (0,d.Yw)(e.name,e.path,e.version,t,{token:s.token,client:s.client})}))):(l(a),r(1),i());r(0),i()}catch(t){let e="Failed to send data to zeroheight";t instanceof f.MS&&(e=t.message),l(e),r(1),i()}}return n.default.useEffect(()=>{x()},[]),n.default.createElement(n.default.Fragment,null,2===s&&n.default.createElement(o.Text,null,n.default.createElement(o.Text,{color:"green"},n.default.createElement(h.default,{type:"dots"}))," searching for package file..."),4===s&&n.default.createElement(n.default.Fragment,null,n.default.createElement(o.Text,null,n.default.createElement(o.Text,{color:"green"},"Details found:")," ",g,"@",E),n.default.createElement(o.Newline,null),!t&&n.default.createElement(o.Text,null,n.default.createElement(o.Text,{color:"green"},n.default.createElement(h.default,{type:"dots"}))," sending to zeroheight...")),3===s&&n.default.createElement(n.default.Fragment,null,n.default.createElement(o.Text,{color:"green"},p.length," packages found"),n.default.createElement(o.Newline,null),!t&&n.default.createElement(o.Text,null,n.default.createElement(o.Text,{color:"green"},n.default.createElement(h.default,{type:"dots"}))," sending to zeroheight...")),0===s&&n.default.createElement(o.Text,null,"Complete -"," ",p.length>1?`details for ${p.length} packages`:"package details"," ",t?"found (dry run - not sent)":"sent to your zeroheight account"),1===s&&n.default.createElement(o.Text,null,n.default.createElement(o.Text,{color:"red"},"Error:")," ",a))}var m=i(795);function g({reservedLines:e=0,children:t}){let{stdout:i}=(0,o.useStdout)(),a=i.rows??24,l=i.columns??80,h=t.props.options,c=Math.max(3,Math.min(a-e,h.length)),u=n.default.useMemo(()=>h.map(e=>({...e,label:(0,r.default)(e.label,l-5,{position:"end",truncationCharacter:s.default.gray("…")})})),[h,l]);return n.default.cloneElement(t,{options:u,visibleOptionCount:c})}var y=i(651);function E({dryRun:e}){let{exit:t}=(0,o.useApp)(),[i,r]=n.default.useState(2),[a,l]=n.default.useState(null),[p,E]=n.default.useState(null),[w,x]=n.default.useState([]),[v,b]=n.default.useState(null),[S,k]=n.default.useState(null),[T,C]=n.default.useState(null),[A,O]=n.default.useState([]),[z,L]=n.default.useState(""),[_,F]=n.default.useState(""),[D,M]=n.default.useState([]),[P,N]=n.default.useState([]);async function R(e,t,i,s){await (0,d.Yw)(e,t,i,s,a)}async function B(){r(5);try{if(w.length>0){let e=w.filter(e=>P.includes(`${e.name}@${e.version}:${e.path}`));e.length>0?await Promise.all(e.map(async e=>{let t=(0,u.ce)(e.name,e.exports);R(e.name,e.path,e.version,t)})):await Promise.all(w.map(async e=>{let t=(0,u.ce)(e.name,e.exports);R(e.name,e.path,e.version,t)}))}else await R(v,S,T,A);r(0)}catch(t){let e="Failed to send data to zeroheight";t instanceof f.MS&&(e=t.message),E(e),r(1)}finally{t()}}let j=async e=>{if(e)return B();t()};switch(n.default.useEffect(()=>{(async()=>{let e=await (0,c.zi)();e&&l({token:e.token,client:e.client});let{files:t,error:i}=await (0,u.Rp)();if(1===t.length){let{name:e,path:i,version:s,exports:n}=t[0];b(e),k(i),C(s),O((0,u.ce)(e,n)),r(7)}else t.length>1?(M(t.map(e=>({label:`${e.name}@${e.version} ${s.default.gray(e.path)}`,value:`${e.name}@${e.version}:${e.path}`}))),x(t),r(3)):(E(i),r(1))})()},[]),i){case 2:return n.default.createElement(o.Text,null,n.default.createElement(o.Text,{color:"green"},n.default.createElement(h.default,{type:"dots"}))," Searching for package file...");case 7:return n.default.createElement(o.Box,{flexDirection:"column"},n.default.createElement(o.Text,null,"The following package details have been found:"),n.default.createElement(o.Box,{marginLeft:1,marginTop:.5},n.default.createElement(o.Text,null,"\uD83D\uDCE6 ",v,"@",T)),n.default.createElement(o.Newline,null),n.default.createElement(o.Text,null,e?"Press return to complete":"Send details to zeroheight?",!e&&n.default.createElement(o.Text,{dimColor:!0},"(Y/n):")),n.default.createElement(m.Z,{isChecked:!0,onChange:L,onSubmit:e?()=>r(0):j,value:z}));case 3:return n.default.createElement(o.Box,{flexDirection:"column"},n.default.createElement(o.Text,null,n.default.createElement(o.Text,{color:"green"},"\uD83D\uDCE6 ",w.length," package files found")),n.default.createElement(o.Newline,null),n.default.createElement(o.Text,null,"Select specific package to ",e?"preview":"send","?"," ",n.default.createElement(o.Text,{dimColor:!0},"(Y/n):")),n.default.createElement(m.Z,{isChecked:!0,onChange:F,onSubmit:e=>{e?r(4):j(!0)},value:_}));case 4:return n.default.createElement(n.default.Fragment,null,n.default.createElement(o.Box,null,n.default.createElement(o.Text,null,"Select packages - ↑/↓ to move, Space to toggle, Enter to confirm")),n.default.createElement(g,{reservedLines:4},n.default.createElement(y.Z,{as:"multiselect",options:D,onChange:e=>{N(e),e.includes("continue")&&r(6)},onSubmit:()=>{P.length>0?r(6):(E("No packages selected"),r(1))}})));case 6:return n.default.createElement(o.Box,{flexDirection:"column"},n.default.createElement(o.Text,null,n.default.createElement(o.Text,{color:"green"},P.length," ",P.length>1?"packages":"package"," selected")),n.default.createElement(o.Newline,null),n.default.createElement(o.Text,null,e?"Press return to complete":"Send details to zeroheight?",!e&&n.default.createElement(o.Text,{dimColor:!0},"(Y/n):")),n.default.createElement(m.Z,{isChecked:!0,onChange:L,onSubmit:e?()=>r(0):j,value:z}));case 5:return n.default.createElement(o.Text,null,n.default.createElement(o.Text,{color:"green"},n.default.createElement(h.default,{type:"dots"}))," Sending details to zeroheight...");case 0:return n.default.createElement(o.Text,null,"Complete - details"," ",e?"found (dry run - not sent)":"sent to your zeroheight account");case 1:return n.default.createElement(o.Text,null,n.default.createElement(o.Text,{color:"red"},"Error:")," ",p);default:return n.default.createElement(o.Text,null,"Done")}}var w=i(448);async function x(e,t){e.interactive?(0,o.render)(n.createElement(E,{dryRun:e.dryRun}),t):(0,o.render)(n.createElement(p,{allowedPackages:e.packages,dryRun:e.dryRun}))}function v(){return new a.Command().command("track-package").description("Track the latest version of your package in zeroheight").configureHelp({showGlobalOptions:!0}).addOption(new a.Option("-in, --interactive [boolean]","disable to skip manual input (useful when running in CI)").default(!0).argParser(e=>(0,l.default)(e))).addOption(new a.Option("-p, --packages [packageNames]","specify the packages to search for, use multiple times to match more than one package").argParser(u.Bi)).addOption(new a.Option("-d, --dry-run","don't push results to zeroheight").default(!1)).action(async e=>{e.interactive||(0,w.If)();try{await x(e)}catch(e){console.error(e),process.exitCode=1}})}},965:function(e,t,i){i.d(t,{Bi:()=>u,Rp:()=>o,ce:()=>c,u1:()=>a});var s=i(292),r=i(403),n=i(367);async function a(e){let t=(0,r.join)(process.cwd(),e??"");return(0,n.g8)(t,"**/**/package.json",[])}async function o(e){let t=process.cwd(),i=await a();if(0===i.length)return{files:[],error:"Can't find any package files"};try{let r=await Promise.all(i.map(async e=>{let i=await (0,s.readFile)(e,"utf-8"),r=JSON.parse(i);return{name:r.name,path:`.${e.split(t).pop()}`,version:r.version??"0.0.0",exports:r.exports}}));if(r.sort(l),(null==e?void 0:e.length)&&!(r=r.filter(t=>e.includes(t.name))).length)return{files:[],error:"Can't find any matching packages"};return{files:r,error:null}}catch{return{files:[],error:`Can't parse file ${i[0]}`}}}function l(e,t){let i=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"}),s=h(e.path),r=h(t.path),n=s.split("/"),a=r.split("/");if(n.length!==a.length)return n.length-a.length;for(let e=0;e<n.length;e++){let t=i.compare(n[e]??"",a[e]??"");if(0!==t)return t}return i.compare(e.name,t.name)}function h(e){let t=e.replace(/\\/g,"/");return t=t.replace(/^(?:\.[/]|[/]{1,2}|[A-Za-z]:[/])/,""),r.default.posix.dirname(t)}function c(e,t){return t?Object.keys(t).map(t=>(0,r.join)(e,t)).filter(t=>t!==e):[]}function u(e,t=[]){return[...t,...e.split(",").map(e=>e.trim()).filter(Boolean)]}},22:function(e,t,i){i.d(t,{$O:()=>d,BW:()=>u,Mx:()=>o,Yw:()=>h,iI:()=>c,jM:()=>l,lx:()=>p,ru:()=>f});var s,r=i(929),n=i(410),a=i(448),o=((s={}).Success="success",s.Error="error",s.Fail="fail",s);function l(){return"dev"===process.env.NODE_ENV?new URL("https://zeroheight.dev"):new URL("https://zeroheight.com")}async function h(e,t,i,s,r){return g("/design_system_packages",{name:e,path:t,latest_version:i,aliases:s},r)}async function c(e,t,i,s,r){return g("/monitored_repositories",{name:e,lock_file_path:i,packages:s,version:t},r)}async function u(e,t,i){return g("/component_usages",{repo_name:t,usage:r.Transformers.transformComponentUsage(e)},i)}async function d(e,t,i){return g("/token_literal_usages",{token_literal_usage:{repo_name:t,usage:r.Transformers.transformRawColorUsage(e)}},i)}async function f(e){return m("/component_usages/repo_names",e)}async function p(e){return m("/auth_tokens",e)}async function m(e,t){return E(e,t,{method:"GET"})}async function g(e,t,i){return E(e,i,{method:"POST",body:JSON.stringify(t)})}async function y(e){return new Promise(t=>setTimeout(t,e))}async function E(e,t,i){let s=l();s.pathname="/open_api/v2"+e,"dev"===process.env.NODE_ENV&&(process.env.NODE_TLS_REJECT_UNAUTHORIZED="0");let r=0;for(;r<3;){a.ZP.info({request:{url:s.toString(),init:i,retries:r}},"Making API request");let e=await fetch(s,{...i,headers:{"X-API-CLIENT-NAME":"cli","X-API-CLIENT":t.client,"X-API-KEY":t.token,"X-API-CLIENT-VERSION":"3.4.2","Content-Type":"application/json"}});if(401===e.status)throw a.ZP.error({response:{status:e.status,body:await e.text()}},"Unauthorized response from API"),new n.yj;if(429===e.status){r++;let t=1e3*(await e.json()).data.reset_time-Date.now();a.ZP.info(`Rate limited, waiting for ${t}ms`),await y(t);continue}if(e.status<200||e.status>=300){if(a.ZP.error({response:{status:e.status,body:await e.text()}},"API request failed"),403===e.status)throw new n.EP;throw new n.Ko}let o=await e.json();return a.ZP.info({response:{status:e.status,body:o}},"API response"),o}throw new n.P2}},741:function(e,t,i){i.d(t,{zi:()=>o,iL:()=>l,qA:()=>a});var s=i(292),r=i(403);function a(){return r.default.join((0,n.homedir)(),".zeroheight-config.json")}async function o(){try{let e=await (0,s.readFile)(a(),"utf8"),{token:t,client:i,repoNames:r={}}=JSON.parse(e);return{token:t,client:i,repoNames:r}}catch(i){let e=process.env.ZEROHEIGHT_CLIENT_ID,t=process.env.ZEROHEIGHT_ACCESS_TOKEN;if(e&&t)return{token:t,client:e,repoNames:{}};return null}}async function l(e){let t=await o()??{repoNames:{}},i=JSON.stringify({...t,...e,repoNames:{...t.repoNames,...e.repoNames??{}}});return(0,s.writeFile)(a(),i)}},410:function(e,t,i){i.d(t,{EP:()=>n,Ko:()=>a,MS:()=>s,P2:()=>o,yj:()=>r});class s extends Error{constructor(e){super(e),this.name="ApiError"}}class r extends s{constructor(){super("Unauthorized. Please reset your authentication by running: npx @zeroheight/adoption-cli auth")}}class n extends s{constructor(){super("The authentication token used does not have the correct scope. \n\nPlease create a new authentication token with the 'Adoption' scopes and then reset your authentication by running: npx @zeroheight/adoption-cli auth")}}class a extends s{constructor(){super("An unknown error occurred while calling the zeroheight API")}}class o extends s{constructor(){super("Max retries exceeded while calling the zeroheight API")}}},448:function(e,t,i){i.d(t,{If:()=>h,ZP:()=>c,H4:()=>l});var s=i(727);let r={base:null,level:"warn",timestamp:a.pino.stdTimeFunctions.isoTime,formatters:{level:e=>({level:e.toUpperCase()})}},n=a.pino.multistream([]);function l(e){n.add({stream:(0,s.createWriteStream)(e,{flags:"a"})})}function h(){n.add({stream:(0,o.default)({destination:process.stderr,ignore:"pid,hostname"}),level:"error"})}let c=(0,a.pino)(r,n)},314:function(e,t,i){i.d(t,{Z:()=>n});var s=i(810),r=i(149);function n({client:e,token:t}){let i=Array(Math.max(3,t.length-12)).fill("✲");return s.createElement(r.Box,{borderStyle:"single",margin:1,padding:1},s.createElement(r.Box,{flexDirection:"column"},s.createElement(r.Box,{gap:7},s.createElement(r.Text,{bold:!0},"Client ID:"),s.createElement(r.Text,null,e)),s.createElement(r.Box,{gap:4},s.createElement(r.Text,{bold:!0},"Access Token:"),s.createElement(r.Text,null,t.slice(0,6),i,t.slice(t.length-6,t.length)))))}},432:function(e,t,i){i.d(t,{Z:()=>c});var s=i(810),r=i(149),n=i(829),a=i(950),o=i(165),l=i(795),h=i(314);function c({onCheckCredentials:e,onSaveCredentials:t,configPath:i}){let[c,u]=s.useState(""),[d,f]=s.useState(""),[p,m]=s.useState(""),[g,y]=s.useState("client"),E=async()=>{y("authenticating"),await e(c,d),y("write")},w=async e=>{await t(e,c.trim(),d.trim())};return s.createElement(r.Box,{flexDirection:"column"},s.createElement(r.Text,null,"\uD83D\uDC4B Welcome to the ",s.createElement(r.Text,{color:"#f63e7c"},"zeroheight")," adoption CLI tool"),s.createElement(r.Newline,null),s.createElement(r.Text,null,"If you need a new auth token, generate them from the"," ",s.createElement(a.default,{url:"https://zeroheight.com/settings/team/developers"},s.createElement(r.Text,{underline:!0,color:"#f63e7c"},"Developer Settings"))),s.createElement(r.Newline,null),"client"===g&&s.createElement(r.Box,null,s.createElement(r.Text,null,"Client ID: "),s.createElement(n.default,{onChange:u,value:c,onSubmit:e=>{0!==e.trim().length&&y("token")}})),"token"===g&&s.createElement(r.Box,null,s.createElement(r.Text,null,"Access Token:"),s.createElement(n.default,{onChange:f,value:d,onSubmit:e=>{0!==e.trim().length&&E()}})),"authenticating"===g&&s.createElement(r.Text,null,s.createElement(r.Text,{color:"green"},s.createElement(o.default,{type:"dots"}))," checking authentication details..."),"write"===g&&s.createElement(r.Box,{flexDirection:"column"},s.createElement(h.Z,{client:c,token:d}),s.createElement(r.Text,null,"Write updated credentials to"," ",s.createElement(a.default,{url:i},i),"?"," ",s.createElement(r.Text,{dimColor:!0},"(Y/n)")),s.createElement(l.Z,{isChecked:!0,onChange:m,onSubmit:w,value:p})),s.createElement(r.Newline,null))}},381:function(e,t,i){i.d(t,{Z:()=>a});var s=i(810),r=i(149),n=i(950);function a(){return s.createElement(s.Fragment,null,s.createElement(r.Box,{borderStyle:"double",paddingLeft:1,paddingRight:1,marginBottom:1,flexDirection:"column"},s.createElement(r.Box,{justifyContent:"center",marginBottom:1},s.createElement(r.Text,{bold:!0},"Welcome \uD83D\uDC4B")),s.createElement(r.Box,{marginBottom:1},s.createElement(r.Text,null,"Get started with the"," ",s.createElement(r.Text,{color:"#f63e7c",bold:!0},"zeroheight")," ","measurement CLI and start tracking your design system's adoption.")),s.createElement(r.Text,null,"For more information on how to set this up, check"," ",s.createElement(n.default,{url:"https://zeroheight.com/help/article/adoption-private-beta-overview/"},"here"),".")))}},468:function(e,t,i){i.d(t,{Z:()=>o});var s=i(810),r=i(149),n=i(950),a=i(999);function o({latestVersion:e}){let t="major"===(0,a.diff)("3.4.2",e);return s.createElement(s.Fragment,null,s.createElement(r.Box,{borderStyle:"double",paddingLeft:1,paddingRight:1,marginBottom:1,flexDirection:"column"},s.createElement(r.Box,{justifyContent:"center",marginBottom:1},s.createElement(r.Text,null,"\uD83D\uDC4B It seems you're not using the latest version of this package")),s.createElement(r.Box,{flexDirection:"column",alignItems:"center",marginBottom:1},s.createElement(r.Box,null,s.createElement(r.Text,{color:t?"redBright":"blueBright",bold:!0},"3.4.2"),s.createElement(r.Text,{bold:!0}," -> "),s.createElement(r.Text,{color:"green",bold:!0},e)),s.createElement(r.Box,null,s.createElement(r.Text,null,"Update using: "),s.createElement(r.Text,{bold:!0},"npm i @zeroheight/adoption-cli"))),s.createElement(r.Box,{flexDirection:"column",alignItems:"center"},s.createElement(r.Text,null,"For more information on the latest version, check"," ",s.createElement(n.default,{url:"https://www.npmjs.com/package/@zeroheight/adoption-cli"},"here")))))}},795:function(e,t,i){i.d(t,{Z:()=>a});var s=i(810),r=i(829),n=i(904);let a=({isChecked:e,onChange:t,onSubmit:i,placeholder:a,value:o,...l})=>{let h=s.useCallback(t=>{i((0,n.default)(t,{default:e}))},[e,i]);return s.createElement(r.default,{...l,placeholder:a,value:o,onChange:t,onSubmit:h})}},651:function(e,t,i){i.d(t,{Z:()=>n});var s=i(810),r=i(149);function n({options:e,visibleOptionCount:t=5,...i}){let n,[a,o]=(0,s.useState)(0),[h,c]=(0,s.useState)(0),u=Math.min(t,e.length),d=Math.max(0,e.length-u);(0,r.useInput)((t,i)=>{let s=a;if(i.upArrow&&(s=Math.max(0,a-1)),i.downArrow&&(s=Math.min(e.length-1,a+1)),s!==a){let e=h;s<h?e=s:s>h+u-1&&(e=s-u+1),e=Math.min(e,d),o(s),c(e)}});let f=h>0,p=h<d;if("multiselect"===i.as){let{as:t,...r}=i;n=s.default.createElement(l.MultiSelect,{...r,options:e,visibleOptionCount:u})}else{let{as:t,...r}=i;n=s.default.createElement(l.Select,{...r,options:e,visibleOptionCount:u})}return s.default.createElement(s.default.Fragment,null,s.default.createElement(r.Text,{dimColor:!0},f?"↑ more results above":"\xa0"),n,s.default.createElement(r.Text,{dimColor:!0},p?"↓ more results below":"\xa0"))}},725:function(e){e.exports=h},727:function(e){e.exports=c},149:function(e){e.exports=u},950:function(e){e.exports=d},92:function(e){e.exports=f},165:function(e){e.exports=p},829:function(e){e.exports=m},764:function(e){e.exports=g},403:function(e){e.exports=y},810:function(e){e.exports=E},999:function(e){e.exports=w},904:function(e){e.exports=x},292:function(e){e.exports=v(import.meta.url)("fs/promises")},673:function(e){e.exports=v(import.meta.url)("node:events")},561:function(e){e.exports=v(import.meta.url)("node:fs")},977:function(e){e.exports=v(import.meta.url)("node:fs/promises")},411:function(e){e.exports=v(import.meta.url)("node:path")},492:function(e){e.exports=v(import.meta.url)("node:stream")},915:function(e){e.exports=v(import.meta.url)("node:string_decoder")},41:function(e){e.exports=v(import.meta.url)("node:url")}},O={};function z(e){var t=O[e];if(void 0!==t)return t.exports;var i=O[e]={exports:{}};return A[e](i,i.exports,z),i.exports}b="function"==typeof Symbol?Symbol("webpack queues"):"__webpack_queues__",S="function"==typeof Symbol?Symbol("webpack exports"):"__webpack_exports__",k="function"==typeof Symbol?Symbol("webpack error"):"__webpack_error__",T=e=>{e&&e.d<1&&(e.d=1,e.forEach(e=>e.r--),e.forEach(e=>e.r--?e.r++:e()))},C=e=>e.map(e=>{if(null!==e&&"object"==typeof e){if(e[b])return e;if(e.then){var t=[];t.d=0,e.then(e=>{i[S]=e,T(t)},e=>{i[k]=e,T(t)});var i={};return i[b]=e=>e(t),i}}var s={};return s[b]=function(){},s[S]=e,s}),z.a=(e,t,i)=>{i&&((s=[]).d=-1);var s,r,n,a,o=new Set,l=e.exports,h=new Promise((e,t)=>{a=t,n=e});h[S]=l,h[b]=e=>{s&&e(s),o.forEach(e),h.catch(function(){})},e.exports=h,t(e=>{r=C(e);var t,i=()=>r.map(e=>{if(e[k])throw e[k];return e[S]}),n=new Promise(e=>{(t=()=>e(i)).r=0;var n=e=>e!==s&&!o.has(e)&&(o.add(e),e&&!e.d&&(t.r++,e.push(t)));r.map(e=>e[b](n))});return t.r?n:i()},e=>(e?a(h[k]=e):n(l),T(s))),s&&s.d<0&&(s.d=0)},z.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return z.d(t,{a:t}),t},z.d=(e,t)=>{for(var i in t)z.o(t,i)&&!z.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},z.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var L=z(584),_=(L=await L).Z;export{_ as default};
|
|
9
|
+
- components/**/*.{js,ts}`)}}},772:function(e,t,i){i.d(t,{G:()=>g});var s=i(810),r=i(725),n=i(149),a=i(795),o=i(432),l=i(741),h=i(950),c=i(314);function u({configPath:e,existingConfig:t}){return s.createElement(n.Box,{flexDirection:"column"},s.createElement(n.Text,{bold:!0,color:"yellow"},"You already have your authentication credentials set up"),s.createElement(n.Newline,null),s.createElement(n.Text,null,"You can find them in: ",s.createElement(h.default,{url:e},e)),s.createElement(c.Z,{client:t.client,token:t.token}))}var d=i(165),f=i(22);function p({token:e,client:t}){let{exit:i}=(0,n.useApp)(),[r,h]=s.default.useState(""),[p,m]=s.default.useState(null),[g,y]=s.default.useState(0);async function E(e,t,i){let s=t??(null==e?void 0:e.client),r=i??(null==e?void 0:e.token);if(!s||!r)return void y(3);try{let e={client:s,token:r};y(0),m(e),await (0,l.iL)(e)}catch{y(3);return}y(4)}async function w(e){e?y(2):y(5)}async function x(e,t){try{await (0,f.lx)({token:t,client:e})}catch{return y(6),i()}}async function v(e,t,i){e?await E(p,t,i):y(5)}switch(s.default.useEffect(()=>{(0,l.zi)().then(i=>{y(0),m(i),i?i&&e||i&&t?E(i,t,e):i&&y(1):y(2)})},[]),g){case 1:return s.default.createElement(s.default.Fragment,null,(null==p?void 0:p.client)&&(null==p?void 0:p.token)&&s.default.createElement(u,{configPath:(0,l.qA)(),existingConfig:p}),s.default.createElement(n.Box,null,s.default.createElement(n.Text,null,"Would you like to overwrite these credentials?"," ",s.default.createElement(n.Text,{dimColor:!0},"(y/N)")),s.default.createElement(a.Z,{isChecked:!1,value:r,onChange:h,onSubmit:w})));case 2:return s.default.createElement(o.Z,{onCheckCredentials:x,onSaveCredentials:v,configPath:(0,l.qA)()});case 4:return s.default.createElement(n.Box,{flexDirection:"column"},s.default.createElement(n.Text,{color:"green"},"Updated credentials"),(null==p?void 0:p.client)&&(null==p?void 0:p.token)&&s.default.createElement(c.Z,{client:p.client,token:p.token}));case 5:return s.default.createElement(n.Box,{flexDirection:"column"},s.default.createElement(n.Text,{color:"yellow"},"Credentials are unchanged"),(null==p?void 0:p.client)&&(null==p?void 0:p.token)&&s.default.createElement(c.Z,{client:p.client,token:p.token}));case 3:return s.default.createElement(n.Text,{color:"yellow"},"Something went wrong, try again.");case 6:return s.default.createElement(n.Text,{color:"red"},"Unable to authenticate. Please re-run the command to try again.");case 0:return s.default.createElement(n.Text,null,s.default.createElement(n.Text,{color:"green"},s.default.createElement(d.default,{type:"dots"}))," Loading config...");default:return s.default.createElement(n.Text,null,"Done")}}async function m(e,t){(0,n.render)(s.createElement(p,{token:e.token,client:e.client}),t)}function g(){return new r.Command().command("auth").description("Authenticate with zeroheight").configureHelp({showGlobalOptions:!0}).addHelpText("before","Set credentials for performing actions with zeroheight. Credentials will default to ZEROHEIGHT_CLIENT_ID and ZEROHEIGHT_ACCESS_TOKEN environment variables if not supplied").option("-c, --client <client_id>","zeroheight Client ID",process.env.ZEROHEIGHT_CLIENT_ID).option("-t, --token <access_token>","zeroheight Access Token",process.env.ZEROHEIGHT_ACCESS_TOKEN).action(async e=>{try{await m(e)}catch(e){console.error(e),process.exitCode=1}})}},306:function(e,t,s){s.d(t,{C:()=>T});var r=s(810),n=s(725),a=s(149),o=s(165),l=s(403),h=s(292),c=s(367);class u{}class d extends u{packages;constructor(e){super();let t=JSON.parse(e);switch(t.lockfileVersion){case 1:this.packages=this.#tn(t);break;case 2:this.packages=this.#ta(t);break;default:this.packages=this.#to(t)}}#tn(e){return Object.entries(e.dependencies).map(([e,t])=>({name:this.#tl(e),version:t.version}))}#ta(e){return Object.entries(e.packages).map(([e,t])=>({name:this.#tl(e),version:t.version})).filter(e=>e.name&&e.version)}#to(e){return this.#ta(e)}#tl(e){let t="node_modules/";return e.startsWith(t)?e.slice(t.length):e}}class f extends u{packages;constructor(e){super(),this.packages=[];let t=(0,i.parse)(e);6>parseInt(t.lockfileVersion,10)?this.packages=this.#th(t):this.packages=this.#tc(t)}#th(e){return Object.entries(e.dependencies).map(([e,t])=>({name:e,version:t})).filter(e=>e.name&&e.version)}#tc(e){return Object.keys(e.packages).map(e=>{let t=e.lastIndexOf("@"),i=e.slice(0,t),s=e.slice(t+1);return i.startsWith("/")&&(i=i.slice(1)),{name:i,version:s}}).filter(e=>e.name&&e.version)}}class p extends u{packages;constructor(e){super(),this.packages=[];try{let t=(0,i.parse)(e);if(t.__metadata){let e={...t};null==e||delete e.__metadata,this.packages=this.#tu(e)}}catch{this.packages=this.#tn(e)}}#tn(e){let t=e.split("\n\n").filter(e=>!e.startsWith("#")).map(e=>e.trimStart()),i=/[^"\s](\S+)(?<!")(?=@)/gi,s=/(?<=")(.+)(?<!")/gi;return t.reduce((e,t)=>{var r,n,a,o,l;let h=t.split("\n").map(e=>e.trim()),c=null==(a=h.at(0))||null==(n=a.match(i))||null==(r=n[0])?void 0:r.replace('"',""),u=null==(l=h.slice(1).find(e=>e.startsWith("version")))||null==(o=l.match(s))?void 0:o[0];return c&&u?e.concat([{name:c,version:u}]):e},[])}#tu(e){return Object.entries(e).map(([e,t])=>({name:this.#tl(e),version:t.version.toString()})).filter(e=>e.name)}#tl(e){return e.startsWith("@")?"@"+e.substring(1).split("@").at(0):e.split("@").at(0)}}async function m(e){let t=JSON.parse(await (0,h.readFile)(e,"utf-8"));return{name:t.name,version:t.version}}async function g(e){let t=(0,l.basename)(e),i=function(e){switch(e){case"yarn.lock":return p;case"package-lock.json":return d;case"pnpm-lock.yaml":case"shrinkwrap.yaml":return f;default:return null}}(t);if(!i)throw Error(`Can't find parser for ${t}`);return new i(await (0,h.readFile)(e,"utf-8"))}async function y(e){let t=(0,l.join)(process.cwd(),e??"");return(0,c.g8)(t,"**/**/{package-lock.json,shrinkwrap.yaml,pnpm-lock.yaml,yarn.lock}",[])}var E=s(965),w=s(22),x=s(741),v=s(410);function b({packageDirs:e,packageName:t,dryRun:i}){let[s,n]=r.default.useState(),[h,c]=r.default.useState({});function u(e,t,i){i&&(process.exitCode=1),c(s=>({...s,[e]:{...s[e],step:t,error:i}}))}async function d(){let s=process.cwd(),r=[],a=[];e?(a=(await Promise.all(e.map(y))).flat(),r=(await Promise.all(e.map(E.u1))).flat()):(a=await (0,E.u1)(),r=await y());let o=[...r,...a].map(e=>({base:(0,l.dirname)(e),filename:(0,l.basename)(e)})).reduce((e,t)=>(e[t.base]=[...e[t.base]??[],t.filename],e),{}),h=await (0,x.zi)();if(0===Object.keys(o).length)return void n("No NPM packages found");for(let[e,r]of Object.entries(o)){let a,o=r.filter(e=>"package.json"!==e).at(0);if(!o)continue;try{if(a=await m((0,l.join)(e,"package.json")),t&&(a.name=t),!a.name){n(`Name field is missing in your ${(0,l.basename)(e)}/package.json file. Re-run the command with --package-name <name> to continue.`);continue}}catch(e){continue}u(a.name,2);let c=await g((0,l.join)(e,o)),d=c.packages;c instanceof p&&(d=c.packages.filter(e=>e.name!==a.name));let f=(0,l.join)(e.split(s).pop()??"",o);if(!h){n("No credentials, must authenticate to send data to zeroheight.");continue}try{if(i)u(a.name,0);else{u(a.name,3);let e=await (0,w.iI)(a.name,a.version,f,d,{token:h.token,client:h.client});e.status===w.Mx.Success?u(a.name,0):u(a.name,1,e.message)}}catch(t){let e="Failed to send data to zeroheight";t instanceof v.MS&&(e=t.message),u(a.name,1,e)}}}return r.default.useEffect(()=>{d()},[]),r.default.createElement(r.default.Fragment,null,Object.entries(h).map(([e,{step:t,error:s}])=>r.default.createElement(a.Box,{key:e,flexDirection:"column"},2===t&&r.default.createElement(a.Text,null,r.default.createElement(a.Text,{color:"green"},r.default.createElement(o.default,{type:"dots"})),`${e} - searching for package details...`),3===t&&r.default.createElement(a.Text,null,r.default.createElement(a.Text,{color:"green"},r.default.createElement(o.default,{type:"dots"})),`${e} - sending data to zeroheight...`),0===t&&r.default.createElement(a.Box,{flexDirection:"column"},r.default.createElement(a.Text,{color:"green"},"Success"),r.default.createElement(a.Text,null,"Packages being used by ",e," have been"," ",i?"found (dry run - not sent)":"sent to your zeroheight account")),1===t&&r.default.createElement(a.Text,null,r.default.createElement(a.Text,{color:"red"},"Error: "),`${e} - ${s}`))),s&&r.default.createElement(a.Text,null,r.default.createElement(a.Text,{color:"red"},"Error:")," ",s))}var S=s(448);async function k(e,t){(0,a.render)(r.createElement(b,{packageDirs:e.dir,packageName:e.packageName,dryRun:e.dryRun}))}function T(){return new n.Command().command("monitor-repo").description("Monitor package usage in a repository").configureHelp({showGlobalOptions:!0}).addOption(new n.Option("-d, --dir <path...>","use package directory to find package.json and lockfile")).addOption(new n.Option("-p, --package-name <name>","specify the name used to identify the package in zeroheight")).addOption(new n.Option("--dry-run","don't push results to zeroheight").default(!1)).action(async e=>{(0,S.If)();try{await k(e)}catch(e){console.error(e),process.exitCode=1}})}},512:function(e,t,i){i.d(t,{G:()=>v});var n=i(810),a=i(725),o=i(149),l=i(904),h=i(165),c=i(741),u=i(965),d=i(22),f=i(410);function p({allowedPackages:e,dryRun:t}){let{exit:i}=(0,o.useApp)(),[s,r]=n.default.useState(2),[a,l]=n.default.useState(null),[p,m]=n.default.useState([]),[g,y]=n.default.useState(null),[E,w]=n.default.useState(null);async function x(){let s=await (0,c.zi)()??{token:"temp",client:"temp"},{files:n,error:a}=await (0,u.Rp)(e);try{if(1===n.length){let{name:e,path:a,version:o,exports:h}=n[0];y(e),w(o),r(4);let c=(0,u.ce)(e,h);if(t)r(0),i();else{let t=await (0,d.Yw)(e,a,o,c,{token:s.token,client:s.client});t.status===d.Mx.Success?r(0):(l(t.message),r(1)),i()}}else n.length>1?(m(n),r(3),t||await Promise.all(n.map(async e=>{let t=(0,u.ce)(e.name,e.exports);await (0,d.Yw)(e.name,e.path,e.version,t,{token:s.token,client:s.client})}))):(l(a),r(1),i());r(0),i()}catch(t){let e="Failed to send data to zeroheight";t instanceof f.MS&&(e=t.message),l(e),r(1),i()}}return n.default.useEffect(()=>{x()},[]),n.default.createElement(n.default.Fragment,null,2===s&&n.default.createElement(o.Text,null,n.default.createElement(o.Text,{color:"green"},n.default.createElement(h.default,{type:"dots"}))," searching for package file..."),4===s&&n.default.createElement(n.default.Fragment,null,n.default.createElement(o.Text,null,n.default.createElement(o.Text,{color:"green"},"Details found:")," ",g,"@",E),n.default.createElement(o.Newline,null),!t&&n.default.createElement(o.Text,null,n.default.createElement(o.Text,{color:"green"},n.default.createElement(h.default,{type:"dots"}))," sending to zeroheight...")),3===s&&n.default.createElement(n.default.Fragment,null,n.default.createElement(o.Text,{color:"green"},p.length," packages found"),n.default.createElement(o.Newline,null),!t&&n.default.createElement(o.Text,null,n.default.createElement(o.Text,{color:"green"},n.default.createElement(h.default,{type:"dots"}))," sending to zeroheight...")),0===s&&n.default.createElement(o.Text,null,"Complete -"," ",p.length>1?`details for ${p.length} packages`:"package details"," ",t?"found (dry run - not sent)":"sent to your zeroheight account"),1===s&&n.default.createElement(o.Text,null,n.default.createElement(o.Text,{color:"red"},"Error:")," ",a))}var m=i(795);function g({reservedLines:e=0,children:t}){let{stdout:i}=(0,o.useStdout)(),a=i.rows??24,l=i.columns??80,h=t.props.options,c=Math.max(3,Math.min(a-e,h.length)),u=n.default.useMemo(()=>h.map(e=>({...e,label:(0,r.default)(e.label,l-5,{position:"end",truncationCharacter:s.default.gray("…")})})),[h,l]);return n.default.cloneElement(t,{options:u,visibleOptionCount:c})}var y=i(651);function E({dryRun:e}){let{exit:t}=(0,o.useApp)(),[i,r]=n.default.useState(2),[a,l]=n.default.useState(null),[p,E]=n.default.useState(null),[w,x]=n.default.useState([]),[v,b]=n.default.useState(null),[S,k]=n.default.useState(null),[T,C]=n.default.useState(null),[A,O]=n.default.useState([]),[z,L]=n.default.useState(""),[_,F]=n.default.useState(""),[D,M]=n.default.useState([]),[P,N]=n.default.useState([]);async function R(e,t,i,s){await (0,d.Yw)(e,t,i,s,a)}async function B(){r(5);try{if(w.length>0){let e=w.filter(e=>P.includes(`${e.name}@${e.version}:${e.path}`));e.length>0?await Promise.all(e.map(async e=>{let t=(0,u.ce)(e.name,e.exports);R(e.name,e.path,e.version,t)})):await Promise.all(w.map(async e=>{let t=(0,u.ce)(e.name,e.exports);R(e.name,e.path,e.version,t)}))}else await R(v,S,T,A);r(0)}catch(t){let e="Failed to send data to zeroheight";t instanceof f.MS&&(e=t.message),E(e),r(1)}finally{t()}}let j=async e=>{if(e)return B();t()};switch(n.default.useEffect(()=>{(async()=>{let e=await (0,c.zi)();e&&l({token:e.token,client:e.client});let{files:t,error:i}=await (0,u.Rp)();if(1===t.length){let{name:e,path:i,version:s,exports:n}=t[0];b(e),k(i),C(s),O((0,u.ce)(e,n)),r(7)}else t.length>1?(M(t.map(e=>({label:`${e.name}@${e.version} ${s.default.gray(e.path)}`,value:`${e.name}@${e.version}:${e.path}`}))),x(t),r(3)):(E(i),r(1))})()},[]),i){case 2:return n.default.createElement(o.Text,null,n.default.createElement(o.Text,{color:"green"},n.default.createElement(h.default,{type:"dots"}))," Searching for package file...");case 7:return n.default.createElement(o.Box,{flexDirection:"column"},n.default.createElement(o.Text,null,"The following package details have been found:"),n.default.createElement(o.Box,{marginLeft:1,marginTop:.5},n.default.createElement(o.Text,null,"\uD83D\uDCE6 ",v,"@",T)),n.default.createElement(o.Newline,null),n.default.createElement(o.Text,null,e?"Press return to complete":"Send details to zeroheight?",!e&&n.default.createElement(o.Text,{dimColor:!0},"(Y/n):")),n.default.createElement(m.Z,{isChecked:!0,onChange:L,onSubmit:e?()=>r(0):j,value:z}));case 3:return n.default.createElement(o.Box,{flexDirection:"column"},n.default.createElement(o.Text,null,n.default.createElement(o.Text,{color:"green"},"\uD83D\uDCE6 ",w.length," package files found")),n.default.createElement(o.Newline,null),n.default.createElement(o.Text,null,"Select specific package to ",e?"preview":"send","?"," ",n.default.createElement(o.Text,{dimColor:!0},"(Y/n):")),n.default.createElement(m.Z,{isChecked:!0,onChange:F,onSubmit:e=>{e?r(4):j(!0)},value:_}));case 4:return n.default.createElement(n.default.Fragment,null,n.default.createElement(o.Box,null,n.default.createElement(o.Text,null,"Select packages - ↑/↓ to move, Space to toggle, Enter to confirm")),n.default.createElement(g,{reservedLines:4},n.default.createElement(y.Z,{as:"multiselect",options:D,onChange:e=>{N(e),e.includes("continue")&&r(6)},onSubmit:()=>{P.length>0?r(6):(E("No packages selected"),r(1))}})));case 6:return n.default.createElement(o.Box,{flexDirection:"column"},n.default.createElement(o.Text,null,n.default.createElement(o.Text,{color:"green"},P.length," ",P.length>1?"packages":"package"," selected")),n.default.createElement(o.Newline,null),n.default.createElement(o.Text,null,e?"Press return to complete":"Send details to zeroheight?",!e&&n.default.createElement(o.Text,{dimColor:!0},"(Y/n):")),n.default.createElement(m.Z,{isChecked:!0,onChange:L,onSubmit:e?()=>r(0):j,value:z}));case 5:return n.default.createElement(o.Text,null,n.default.createElement(o.Text,{color:"green"},n.default.createElement(h.default,{type:"dots"}))," Sending details to zeroheight...");case 0:return n.default.createElement(o.Text,null,"Complete - details"," ",e?"found (dry run - not sent)":"sent to your zeroheight account");case 1:return n.default.createElement(o.Text,null,n.default.createElement(o.Text,{color:"red"},"Error:")," ",p);default:return n.default.createElement(o.Text,null,"Done")}}var w=i(448);async function x(e,t){e.interactive?(0,o.render)(n.createElement(E,{dryRun:e.dryRun}),t):(0,o.render)(n.createElement(p,{allowedPackages:e.packages,dryRun:e.dryRun}))}function v(){return new a.Command().command("track-package").description("Track the latest version of your package in zeroheight").configureHelp({showGlobalOptions:!0}).addOption(new a.Option("-in, --interactive [boolean]","disable to skip manual input (useful when running in CI)").default(!0).argParser(e=>(0,l.default)(e))).addOption(new a.Option("-p, --packages [packageNames]","specify the packages to search for, use multiple times to match more than one package").argParser(u.Bi)).addOption(new a.Option("-d, --dry-run","don't push results to zeroheight").default(!1)).action(async e=>{e.interactive||(0,w.If)();try{await x(e)}catch(e){console.error(e),process.exitCode=1}})}},965:function(e,t,i){i.d(t,{Bi:()=>u,Rp:()=>o,ce:()=>c,u1:()=>a});var s=i(292),r=i(403),n=i(367);async function a(e){let t=(0,r.join)(process.cwd(),e??"");return(0,n.g8)(t,"**/**/package.json",[])}async function o(e){let t=process.cwd(),i=await a();if(0===i.length)return{files:[],error:"Can't find any package files"};try{let r=await Promise.all(i.map(async e=>{let i=await (0,s.readFile)(e,"utf-8"),r=JSON.parse(i);return{name:r.name,path:`.${e.split(t).pop()}`,version:r.version??"0.0.0",exports:r.exports}}));if(r.sort(l),(null==e?void 0:e.length)&&!(r=r.filter(t=>e.includes(t.name))).length)return{files:[],error:"Can't find any matching packages"};return{files:r,error:null}}catch{return{files:[],error:`Can't parse file ${i[0]}`}}}function l(e,t){let i=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"}),s=h(e.path),r=h(t.path),n=s.split("/"),a=r.split("/");if(n.length!==a.length)return n.length-a.length;for(let e=0;e<n.length;e++){let t=i.compare(n[e]??"",a[e]??"");if(0!==t)return t}return i.compare(e.name,t.name)}function h(e){let t=e.replace(/\\/g,"/");return t=t.replace(/^(?:\.[/]|[/]{1,2}|[A-Za-z]:[/])/,""),r.default.posix.dirname(t)}function c(e,t){return t?Object.keys(t).map(t=>(0,r.join)(e,t)).filter(t=>t!==e):[]}function u(e,t=[]){return[...t,...e.split(",").map(e=>e.trim()).filter(Boolean)]}},22:function(e,t,i){i.d(t,{$O:()=>d,BW:()=>u,Mx:()=>o,Yw:()=>h,iI:()=>c,jM:()=>l,lx:()=>p,ru:()=>f});var s,r=i(929),n=i(410),a=i(448),o=((s={}).Success="success",s.Error="error",s.Fail="fail",s);function l(){return"dev"===process.env.NODE_ENV?new URL("https://zeroheight.dev"):new URL("https://zeroheight.com")}async function h(e,t,i,s,r){return g("/design_system_packages",{name:e,path:t,latest_version:i,aliases:s},r)}async function c(e,t,i,s,r){return g("/monitored_repositories",{name:e,lock_file_path:i,packages:s,version:t},r)}async function u(e,t,i){return g("/component_usages",{repo_name:t,usage:r.Transformers.transformComponentUsage(e)},i)}async function d(e,t,i){return g("/token_literal_usages",{token_literal_usage:{repo_name:t,usage:r.Transformers.transformRawColorUsage(e)}},i)}async function f(e){return m("/component_usages/repo_names",e)}async function p(e){return m("/auth_tokens",e)}async function m(e,t){return E(e,t,{method:"GET"})}async function g(e,t,i){return E(e,i,{method:"POST",body:JSON.stringify(t)})}async function y(e){return new Promise(t=>setTimeout(t,e))}async function E(e,t,i){let s=l();s.pathname="/open_api/v2"+e,"dev"===process.env.NODE_ENV&&(process.env.NODE_TLS_REJECT_UNAUTHORIZED="0");let r=0;for(;r<3;){a.ZP.info({request:{url:s.toString(),init:i,retries:r}},"Making API request");let e=await fetch(s,{...i,headers:{"X-API-CLIENT-NAME":"cli","X-API-CLIENT":t.client,"X-API-KEY":t.token,"X-API-CLIENT-VERSION":"3.5.0","Content-Type":"application/json"}});if(401===e.status)throw a.ZP.error({response:{status:e.status,body:await e.text()}},"Unauthorized response from API"),new n.yj;if(429===e.status){r++;let t=1e3*(await e.json()).data.reset_time-Date.now();a.ZP.info(`Rate limited, waiting for ${t}ms`),await y(t);continue}if(e.status<200||e.status>=300){if(a.ZP.error({response:{status:e.status,body:await e.text()}},"API request failed"),403===e.status)throw new n.EP;throw new n.Ko}let o=await e.json();return a.ZP.info({response:{status:e.status,body:o}},"API response"),o}throw new n.P2}},741:function(e,t,i){i.d(t,{zi:()=>o,iL:()=>l,qA:()=>a});var s=i(292),r=i(403);function a(){return r.default.join((0,n.homedir)(),".zeroheight-config.json")}async function o(){try{let e=await (0,s.readFile)(a(),"utf8"),{token:t,client:i,repoNames:r={}}=JSON.parse(e);return{token:t,client:i,repoNames:r}}catch(i){let e=process.env.ZEROHEIGHT_CLIENT_ID,t=process.env.ZEROHEIGHT_ACCESS_TOKEN;if(e&&t)return{token:t,client:e,repoNames:{}};return null}}async function l(e){let t=await o()??{repoNames:{}},i=JSON.stringify({...t,...e,repoNames:{...t.repoNames,...e.repoNames??{}}});return(0,s.writeFile)(a(),i)}},410:function(e,t,i){i.d(t,{EP:()=>n,Ko:()=>a,MS:()=>s,P2:()=>o,yj:()=>r});class s extends Error{constructor(e){super(e),this.name="ApiError"}}class r extends s{constructor(){super("Unauthorized. Please reset your authentication by running: npx @zeroheight/adoption-cli auth")}}class n extends s{constructor(){super("The authentication token used does not have the correct scope. \n\nPlease create a new authentication token with the 'Adoption' scopes and then reset your authentication by running: npx @zeroheight/adoption-cli auth")}}class a extends s{constructor(){super("An unknown error occurred while calling the zeroheight API")}}class o extends s{constructor(){super("Max retries exceeded while calling the zeroheight API")}}},448:function(e,t,i){i.d(t,{If:()=>h,ZP:()=>c,H4:()=>l});var s=i(727);let r={base:null,level:"warn",timestamp:a.pino.stdTimeFunctions.isoTime,formatters:{level:e=>({level:e.toUpperCase()})}},n=a.pino.multistream([]);function l(e){n.add({stream:(0,s.createWriteStream)(e,{flags:"a"})})}function h(){n.add({stream:(0,o.default)({destination:process.stderr,ignore:"pid,hostname"}),level:"error"})}let c=(0,a.pino)(r,n)},314:function(e,t,i){i.d(t,{Z:()=>n});var s=i(810),r=i(149);function n({client:e,token:t}){let i=Array(Math.max(3,t.length-12)).fill("✲");return s.createElement(r.Box,{borderStyle:"single",margin:1,padding:1},s.createElement(r.Box,{flexDirection:"column"},s.createElement(r.Box,{gap:7},s.createElement(r.Text,{bold:!0},"Client ID:"),s.createElement(r.Text,null,e)),s.createElement(r.Box,{gap:4},s.createElement(r.Text,{bold:!0},"Access Token:"),s.createElement(r.Text,null,t.slice(0,6),i,t.slice(t.length-6,t.length)))))}},432:function(e,t,i){i.d(t,{Z:()=>c});var s=i(810),r=i(149),n=i(829),a=i(950),o=i(165),l=i(795),h=i(314);function c({onCheckCredentials:e,onSaveCredentials:t,configPath:i}){let[c,u]=s.useState(""),[d,f]=s.useState(""),[p,m]=s.useState(""),[g,y]=s.useState("client"),E=async()=>{y("authenticating"),await e(c,d),y("write")},w=async e=>{await t(e,c.trim(),d.trim())};return s.createElement(r.Box,{flexDirection:"column"},s.createElement(r.Text,null,"\uD83D\uDC4B Welcome to the ",s.createElement(r.Text,{color:"#f63e7c"},"zeroheight")," adoption CLI tool"),s.createElement(r.Newline,null),s.createElement(r.Text,null,"If you need a new auth token, generate them from the"," ",s.createElement(a.default,{url:"https://zeroheight.com/settings/team/developers"},s.createElement(r.Text,{underline:!0,color:"#f63e7c"},"Developer Settings"))),s.createElement(r.Newline,null),"client"===g&&s.createElement(r.Box,null,s.createElement(r.Text,null,"Client ID: "),s.createElement(n.default,{onChange:u,value:c,onSubmit:e=>{0!==e.trim().length&&y("token")}})),"token"===g&&s.createElement(r.Box,null,s.createElement(r.Text,null,"Access Token:"),s.createElement(n.default,{onChange:f,value:d,onSubmit:e=>{0!==e.trim().length&&E()}})),"authenticating"===g&&s.createElement(r.Text,null,s.createElement(r.Text,{color:"green"},s.createElement(o.default,{type:"dots"}))," checking authentication details..."),"write"===g&&s.createElement(r.Box,{flexDirection:"column"},s.createElement(h.Z,{client:c,token:d}),s.createElement(r.Text,null,"Write updated credentials to"," ",s.createElement(a.default,{url:i},i),"?"," ",s.createElement(r.Text,{dimColor:!0},"(Y/n)")),s.createElement(l.Z,{isChecked:!0,onChange:m,onSubmit:w,value:p})),s.createElement(r.Newline,null))}},381:function(e,t,i){i.d(t,{Z:()=>a});var s=i(810),r=i(149),n=i(950);function a(){return s.createElement(s.Fragment,null,s.createElement(r.Box,{borderStyle:"double",paddingLeft:1,paddingRight:1,marginBottom:1,flexDirection:"column"},s.createElement(r.Box,{justifyContent:"center",marginBottom:1},s.createElement(r.Text,{bold:!0},"Welcome \uD83D\uDC4B")),s.createElement(r.Box,{marginBottom:1},s.createElement(r.Text,null,"Get started with the"," ",s.createElement(r.Text,{color:"#f63e7c",bold:!0},"zeroheight")," ","measurement CLI and start tracking your design system's adoption.")),s.createElement(r.Text,null,"For more information on how to set this up, check"," ",s.createElement(n.default,{url:"https://zeroheight.com/help/article/adoption-private-beta-overview/"},"here"),".")))}},468:function(e,t,i){i.d(t,{Z:()=>o});var s=i(810),r=i(149),n=i(950),a=i(999);function o({latestVersion:e}){let t="major"===(0,a.diff)("3.5.0",e);return s.createElement(s.Fragment,null,s.createElement(r.Box,{borderStyle:"double",paddingLeft:1,paddingRight:1,marginBottom:1,flexDirection:"column"},s.createElement(r.Box,{justifyContent:"center",marginBottom:1},s.createElement(r.Text,null,"\uD83D\uDC4B It seems you're not using the latest version of this package")),s.createElement(r.Box,{flexDirection:"column",alignItems:"center",marginBottom:1},s.createElement(r.Box,null,s.createElement(r.Text,{color:t?"redBright":"blueBright",bold:!0},"3.5.0"),s.createElement(r.Text,{bold:!0}," -> "),s.createElement(r.Text,{color:"green",bold:!0},e)),s.createElement(r.Box,null,s.createElement(r.Text,null,"Update using: "),s.createElement(r.Text,{bold:!0},"npm i @zeroheight/adoption-cli"))),s.createElement(r.Box,{flexDirection:"column",alignItems:"center"},s.createElement(r.Text,null,"For more information on the latest version, check"," ",s.createElement(n.default,{url:"https://www.npmjs.com/package/@zeroheight/adoption-cli"},"here")))))}},795:function(e,t,i){i.d(t,{Z:()=>a});var s=i(810),r=i(829),n=i(904);let a=({isChecked:e,onChange:t,onSubmit:i,placeholder:a,value:o,...l})=>{let h=s.useCallback(t=>{i((0,n.default)(t,{default:e}))},[e,i]);return s.createElement(r.default,{...l,placeholder:a,value:o,onChange:t,onSubmit:h})}},651:function(e,t,i){i.d(t,{Z:()=>n});var s=i(810),r=i(149);function n({options:e,visibleOptionCount:t=5,...i}){let n,[a,o]=(0,s.useState)(0),[h,c]=(0,s.useState)(0),u=Math.min(t,e.length),d=Math.max(0,e.length-u);(0,r.useInput)((t,i)=>{let s=a;if(i.upArrow&&(s=Math.max(0,a-1)),i.downArrow&&(s=Math.min(e.length-1,a+1)),s!==a){let e=h;s<h?e=s:s>h+u-1&&(e=s-u+1),e=Math.min(e,d),o(s),c(e)}});let f=h>0,p=h<d;if("multiselect"===i.as){let{as:t,...r}=i;n=s.default.createElement(l.MultiSelect,{...r,options:e,visibleOptionCount:u})}else{let{as:t,...r}=i;n=s.default.createElement(l.Select,{...r,options:e,visibleOptionCount:u})}return s.default.createElement(s.default.Fragment,null,s.default.createElement(r.Text,{dimColor:!0},f?"↑ more results above":"\xa0"),n,s.default.createElement(r.Text,{dimColor:!0},p?"↓ more results below":"\xa0"))}},725:function(e){e.exports=h},727:function(e){e.exports=c},149:function(e){e.exports=u},950:function(e){e.exports=d},92:function(e){e.exports=f},165:function(e){e.exports=p},829:function(e){e.exports=m},764:function(e){e.exports=g},403:function(e){e.exports=y},810:function(e){e.exports=E},999:function(e){e.exports=w},904:function(e){e.exports=x},292:function(e){e.exports=v(import.meta.url)("fs/promises")},673:function(e){e.exports=v(import.meta.url)("node:events")},561:function(e){e.exports=v(import.meta.url)("node:fs")},977:function(e){e.exports=v(import.meta.url)("node:fs/promises")},411:function(e){e.exports=v(import.meta.url)("node:path")},492:function(e){e.exports=v(import.meta.url)("node:stream")},915:function(e){e.exports=v(import.meta.url)("node:string_decoder")},41:function(e){e.exports=v(import.meta.url)("node:url")}},O={};function z(e){var t=O[e];if(void 0!==t)return t.exports;var i=O[e]={exports:{}};return A[e](i,i.exports,z),i.exports}b="function"==typeof Symbol?Symbol("webpack queues"):"__webpack_queues__",S="function"==typeof Symbol?Symbol("webpack exports"):"__webpack_exports__",k="function"==typeof Symbol?Symbol("webpack error"):"__webpack_error__",T=e=>{e&&e.d<1&&(e.d=1,e.forEach(e=>e.r--),e.forEach(e=>e.r--?e.r++:e()))},C=e=>e.map(e=>{if(null!==e&&"object"==typeof e){if(e[b])return e;if(e.then){var t=[];t.d=0,e.then(e=>{i[S]=e,T(t)},e=>{i[k]=e,T(t)});var i={};return i[b]=e=>e(t),i}}var s={};return s[b]=function(){},s[S]=e,s}),z.a=(e,t,i)=>{i&&((s=[]).d=-1);var s,r,n,a,o=new Set,l=e.exports,h=new Promise((e,t)=>{a=t,n=e});h[S]=l,h[b]=e=>{s&&e(s),o.forEach(e),h.catch(function(){})},e.exports=h,t(e=>{r=C(e);var t,i=()=>r.map(e=>{if(e[k])throw e[k];return e[S]}),n=new Promise(e=>{(t=()=>e(i)).r=0;var n=e=>e!==s&&!o.has(e)&&(o.add(e),e&&!e.d&&(t.r++,e.push(t)));r.map(e=>e[b](n))});return t.r?n:i()},e=>(e?a(h[k]=e):n(l),T(s))),s&&s.d<0&&(s.d=0)},z.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return z.d(t,{a:t}),t},z.d=(e,t)=>{for(var i in t)z.o(t,i)&&!z.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},z.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var L=z(584),_=(L=await L).Z;export{_ as default};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zeroheight/adoption-cli",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.5.0",
|
|
4
4
|
"license": "ISC",
|
|
5
5
|
"main": "dist/cli.js",
|
|
6
6
|
"bin": {
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"@typescript-eslint/parser": "^7.7.1",
|
|
56
56
|
"@vdemedes/prettier-config": "^2.0.1",
|
|
57
57
|
"@vitest/coverage-v8": "^2.1.2",
|
|
58
|
-
"@zeroheight/adoption-common": "^1.
|
|
58
|
+
"@zeroheight/adoption-common": "^1.3.0",
|
|
59
59
|
"eslint-plugin-react": "^7.32.2",
|
|
60
60
|
"eslint-plugin-react-hooks": "^4.6.0",
|
|
61
61
|
"ink-testing-library": "^4.0.0",
|