"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var ae=require("path"),ge=require("fs"),me=require("module"),ke=require("resolve-pkg-maps");function M(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var r=M(ae),S=M(ge),be=M(me);function $(e){return e.startsWith("\\\\?\\")?e:e.replace(/\\/g,"/")}const y=e=>{const l=S.default[e];return function(i,...n){const t=`${e}:${n.join(":")}`;let o=i==null?void 0:i.get(t);return o===void 0&&(o=Reflect.apply(l,S.default,n),i==null||i.set(t,o)),o}},L=y("existsSync"),ve=y("realpathSync"),Te=y("readFileSync"),P=y("statSync"),Y=(e,l,i)=>{for(;;){const n=r.default.posix.join(e,l);if(L(i,n))return n;const t=r.default.dirname(e);if(t===e)return;e=t}},W=/^\.{1,2}(\/.*)?$/,x=e=>{const l=$(e);return W.test(l)?l:`./${l}`};function we(e,l=!1){const i=e.length;let n=0,t="",o=0,s=16,p=0,f=0,k=0,m=0,a=0;function A(u,g){let c=0,_=0;for(;c=48&&O<=57)_=_*16+O-48;else if(O>=65&&O<=70)_=_*16+O-65+10;else if(O>=97&&O<=102)_=_*16+O-97+10;else break;n++,c++}return c=i){u+=e.substring(g,n),a=2;break}const c=e.charCodeAt(n);if(c===34){u+=e.substring(g,n),n++;break}if(c===92){if(u+=e.substring(g,n),n++,n>=i){a=2;break}switch(e.charCodeAt(n++)){case 34:u+='"';break;case 92:u+="\\";break;case 47:u+="/";break;case 98:u+="\b";break;case 102:u+="\f";break;case 110:u+=` `;break;case 114:u+="\r";break;case 116:u+=" ";break;case 117:const O=A(4,!0);O>=0?u+=String.fromCharCode(O):a=4;break;default:a=5}g=n;continue}if(c>=0&&c<=31)if(N(c)){u+=e.substring(g,n),a=2;break}else a=6;n++}return u}function j(){if(t="",a=0,o=n,f=p,m=k,n>=i)return o=i,s=17;let u=e.charCodeAt(n);if(J(u)){do n++,t+=String.fromCharCode(u),u=e.charCodeAt(n);while(J(u));return s=15}if(N(u))return n++,t+=String.fromCharCode(u),u===13&&e.charCodeAt(n)===10&&(n++,t+=` `),p++,k=n,s=14;switch(u){case 123:return n++,s=1;case 125:return n++,s=2;case 91:return n++,s=3;case 93:return n++,s=4;case 58:return n++,s=6;case 44:return n++,s=5;case 34:return n++,t=v(),s=10;case 47:const g=n-1;if(e.charCodeAt(n+1)===47){for(n+=2;n=12&&u<=15);return u}return{setPosition:T,getPosition:()=>n,scan:l?B:j,getToken:()=>s,getTokenValue:()=>t,getTokenOffset:()=>o,getTokenLength:()=>n-o,getTokenStartLine:()=>f,getTokenStartCharacter:()=>o-m,getTokenError:()=>a}}function J(e){return e===32||e===9}function N(e){return e===10||e===13}function F(e){return e>=48&&e<=57}var Z;(function(e){e[e.lineFeed=10]="lineFeed",e[e.carriageReturn=13]="carriageReturn",e[e.space=32]="space",e[e._0=48]="_0",e[e._1=49]="_1",e[e._2=50]="_2",e[e._3=51]="_3",e[e._4=52]="_4",e[e._5=53]="_5",e[e._6=54]="_6",e[e._7=55]="_7",e[e._8=56]="_8",e[e._9=57]="_9",e[e.a=97]="a",e[e.b=98]="b",e[e.c=99]="c",e[e.d=100]="d",e[e.e=101]="e",e[e.f=102]="f",e[e.g=103]="g",e[e.h=104]="h",e[e.i=105]="i",e[e.j=106]="j",e[e.k=107]="k",e[e.l=108]="l",e[e.m=109]="m",e[e.n=110]="n",e[e.o=111]="o",e[e.p=112]="p",e[e.q=113]="q",e[e.r=114]="r",e[e.s=115]="s",e[e.t=116]="t",e[e.u=117]="u",e[e.v=118]="v",e[e.w=119]="w",e[e.x=120]="x",e[e.y=121]="y",e[e.z=122]="z",e[e.A=65]="A",e[e.B=66]="B",e[e.C=67]="C",e[e.D=68]="D",e[e.E=69]="E",e[e.F=70]="F",e[e.G=71]="G",e[e.H=72]="H",e[e.I=73]="I",e[e.J=74]="J",e[e.K=75]="K",e[e.L=76]="L",e[e.M=77]="M",e[e.N=78]="N",e[e.O=79]="O",e[e.P=80]="P",e[e.Q=81]="Q",e[e.R=82]="R",e[e.S=83]="S",e[e.T=84]="T",e[e.U=85]="U",e[e.V=86]="V",e[e.W=87]="W",e[e.X=88]="X",e[e.Y=89]="Y",e[e.Z=90]="Z",e[e.asterisk=42]="asterisk",e[e.backslash=92]="backslash",e[e.closeBrace=125]="closeBrace",e[e.closeBracket=93]="closeBracket",e[e.colon=58]="colon",e[e.comma=44]="comma",e[e.dot=46]="dot",e[e.doubleQuote=34]="doubleQuote",e[e.minus=45]="minus",e[e.openBrace=123]="openBrace",e[e.openBracket=91]="openBracket",e[e.plus=43]="plus",e[e.slash=47]="slash",e[e.formFeed=12]="formFeed",e[e.tab=9]="tab"})(Z||(Z={}));var I;(function(e){e.DEFAULT={allowTrailingComma:!1}})(I||(I={}));function Oe(e,l=[],i=I.DEFAULT){let n=null,t=[];const o=[];function s(f){Array.isArray(t)?t.push(f):n!==null&&(t[n]=f)}return de(e,{onObjectBegin:()=>{const f={};s(f),o.push(t),t=f,n=null},onObjectProperty:f=>{n=f},onObjectEnd:()=>{t=o.pop()},onArrayBegin:()=>{const f=[];s(f),o.push(t),t=f,n=null},onArrayEnd:()=>{t=o.pop()},onLiteralValue:s,onError:(f,k,m)=>{l.push({error:f,offset:k,length:m})}},i),t[0]}function de(e,l,i=I.DEFAULT){const n=we(e,!1),t=[];function o(b){return b?()=>b(n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter()):()=>!0}function s(b){return b?()=>b(n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter(),()=>t.slice()):()=>!0}function p(b){return b?d=>b(d,n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter()):()=>!0}function f(b){return b?d=>b(d,n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter(),()=>t.slice()):()=>!0}const k=s(l.onObjectBegin),m=f(l.onObjectProperty),a=o(l.onObjectEnd),A=s(l.onArrayBegin),T=o(l.onArrayEnd),w=f(l.onLiteralValue),v=p(l.onSeparator),j=o(l.onComment),E=p(l.onError),B=i&&i.disallowComments,u=i&&i.allowTrailingComma;function g(){for(;;){const b=n.scan();switch(n.getTokenError()){case 4:c(14);break;case 5:c(15);break;case 3:c(13);break;case 1:B||c(11);break;case 2:c(12);break;case 6:c(16);break}switch(b){case 12:case 13:B?c(10):j();break;case 16:c(1);break;case 15:case 14:break;default:return b}}}function c(b,d=[],X=[]){if(E(b),d.length+X.length>0){let U=n.getToken();for(;U!==17;){if(d.indexOf(U)!==-1){g();break}else if(X.indexOf(U)!==-1)break;U=g()}}}function _(b){const d=n.getTokenValue();return b?w(d):(m(d),t.push(d)),g(),!0}function O(){switch(n.getToken()){case 11:const b=n.getTokenValue();let d=Number(b);isNaN(d)&&(c(2),d=0),w(d);break;case 7:w(null);break;case 8:w(!0);break;case 9:w(!1);break;default:return!1}return g(),!0}function re(){return n.getToken()!==10?(c(3,[],[2,5]),!1):(_(!1),n.getToken()===6?(v(":"),g(),V()||c(4,[],[2,5])):c(5,[],[2,5]),t.pop(),!0)}function ce(){k(),g();let b=!1;for(;n.getToken()!==2&&n.getToken()!==17;){if(n.getToken()===5){if(b||c(4,[],[]),v(","),g(),n.getToken()===2&&u)break}else b&&c(6,[],[]);re()||c(4,[],[2,5]),b=!0}return a(),n.getToken()!==2?c(7,[2],[]):g(),!0}function pe(){A(),g();let b=!0,d=!1;for(;n.getToken()!==4&&n.getToken()!==17;){if(n.getToken()===5){if(d||c(4,[],[]),v(","),g(),n.getToken()===4&&u)break}else d&&c(6,[],[]);b?(t.push(0),b=!1):t[t.length-1]++,V()||c(4,[],[4,5]),d=!0}return T(),b||t.pop(),n.getToken()!==4?c(8,[4],[]):g(),!0}function V(){switch(n.getToken()){case 3:return pe();case 1:return ce();case 10:return _(!0);default:return O()}}return g(),n.getToken()===17?i.allowEmptyContent?!0:(c(4,[],[]),!1):V()?(n.getToken()!==17&&c(9,[],[]),!0):(c(4,[],[]),!1)}var K;(function(e){e[e.None=0]="None",e[e.UnexpectedEndOfComment=1]="UnexpectedEndOfComment",e[e.UnexpectedEndOfString=2]="UnexpectedEndOfString",e[e.UnexpectedEndOfNumber=3]="UnexpectedEndOfNumber",e[e.InvalidUnicode=4]="InvalidUnicode",e[e.InvalidEscapeCharacter=5]="InvalidEscapeCharacter",e[e.InvalidCharacter=6]="InvalidCharacter"})(K||(K={}));var C;(function(e){e[e.OpenBraceToken=1]="OpenBraceToken",e[e.CloseBraceToken=2]="CloseBraceToken",e[e.OpenBracketToken=3]="OpenBracketToken",e[e.CloseBracketToken=4]="CloseBracketToken",e[e.CommaToken=5]="CommaToken",e[e.ColonToken=6]="ColonToken",e[e.NullKeyword=7]="NullKeyword",e[e.TrueKeyword=8]="TrueKeyword",e[e.FalseKeyword=9]="FalseKeyword",e[e.StringLiteral=10]="StringLiteral",e[e.NumericLiteral=11]="NumericLiteral",e[e.LineCommentTrivia=12]="LineCommentTrivia",e[e.BlockCommentTrivia=13]="BlockCommentTrivia",e[e.LineBreakTrivia=14]="LineBreakTrivia",e[e.Trivia=15]="Trivia",e[e.Unknown=16]="Unknown",e[e.EOF=17]="EOF"})(C||(C={}));const je=Oe;var ee;(function(e){e[e.InvalidSymbol=1]="InvalidSymbol",e[e.InvalidNumberFormat=2]="InvalidNumberFormat",e[e.PropertyNameExpected=3]="PropertyNameExpected",e[e.ValueExpected=4]="ValueExpected",e[e.ColonExpected=5]="ColonExpected",e[e.CommaExpected=6]="CommaExpected",e[e.CloseBraceExpected=7]="CloseBraceExpected",e[e.CloseBracketExpected=8]="CloseBracketExpected",e[e.EndOfFileExpected=9]="EndOfFileExpected",e[e.InvalidCommentToken=10]="InvalidCommentToken",e[e.UnexpectedEndOfComment=11]="UnexpectedEndOfComment",e[e.UnexpectedEndOfString=12]="UnexpectedEndOfString",e[e.UnexpectedEndOfNumber=13]="UnexpectedEndOfNumber",e[e.InvalidUnicode=14]="InvalidUnicode",e[e.InvalidEscapeCharacter=15]="InvalidEscapeCharacter",e[e.InvalidCharacter=16]="InvalidCharacter"})(ee||(ee={}));const ne=(e,l)=>je(Te(l,e,"utf8")),Ae=()=>{const{findPnpApi:e}=be.default;return e&&e(process.cwd())},R=(e,l,i,n)=>{const t=`resolveFromPackageJsonPath:${e}:${l}:${i}`;if(n!=null&&n.has(t))return n.get(t);const o=ne(e,n);if(!o)return;let s=l||"tsconfig.json";if(!i&&o.exports)try{const[p]=ke.resolveExports(o.exports,l,["require","types"]);s=p}catch{return!1}else!l&&o.tsconfig&&(s=o.tsconfig);return s=r.default.join(e,"..",s),n==null||n.set(t,s),s},G="package.json",z="tsconfig.json",_e=(e,l,i)=>{let n=e;if(e===".."&&(n=r.default.join(n,z)),e[0]==="."&&(n=r.default.resolve(l,n)),r.default.isAbsolute(n)){if(L(i,n)){if(P(i,n).isFile())return n}else if(!n.endsWith(".json")){const T=`${n}.json`;if(L(i,T))return T}return}const[t,...o]=e.split("/"),s=t[0]==="@"?`${t}/${o.shift()}`:t,p=o.join("/"),f=Ae();if(f){const{resolveRequest:T}=f;try{if(s===e){const w=T(r.default.join(s,G),l);if(w){const v=R(w,p,!1,i);if(v&&L(i,v))return v}}else{let w;try{w=T(e,l,{extensions:[".json"]})}catch{w=T(r.default.join(e,z),l)}if(w)return w}}catch{}}const k=Y(l,r.default.join("node_modules",s),i);if(!k||!P(i,k).isDirectory())return;const m=r.default.join(k,G);if(L(i,m)){const T=R(m,p,!1,i);if(T===!1)return;if(T&&L(i,T)&&P(i,T).isFile())return T}const a=r.default.join(k,p),A=a.endsWith(".json");if(!A){const T=`${a}.json`;if(L(i,T))return T}if(L(i,a)){if(P(i,a).isDirectory()){const T=r.default.join(a,G);if(L(i,T)){const v=R(T,"",!0,i);if(v&&L(i,v))return v}const w=r.default.join(a,z);if(L(i,w))return w}else if(A)return a}},$e=(e,l,i,n)=>{const t=_e(e,l,n);if(!t)throw new Error(`File '${e}' not found.`);if(i.has(t))throw new Error(`Circularity detected while resolving configuration: ${t}`);i.add(t);const o=r.default.dirname(t),s=te(t,n,i);delete s.references;const{compilerOptions:p}=s;if(p){const{baseUrl:f=".",paths:k}=p;if(k)for(const a in k)Array.isArray(k[a])&&(k[a]=k[a].map(A=>x(r.default.relative(l,r.default.join(o,f,A)))));const m=["baseUrl","outDir"];for(const a of m){const A=p[a];A&&(p[a]=$(r.default.relative(l,r.default.join(o,A)))||"./")}}return s.files&&(s.files=s.files.map(f=>$(r.default.relative(l,r.default.join(o,f))))),s.include&&(s.include=s.include.map(f=>$(r.default.relative(l,r.default.join(o,f))))),s.exclude&&(s.exclude=s.exclude.map(f=>$(r.default.relative(l,r.default.join(o,f))))),s},te=(e,l,i=new Set)=>{let n;try{n=ve(l,e)}catch{throw new Error(`Cannot resolve tsconfig at path: ${e}`)}let t=ne(n,l)||{};if(typeof t!="object")throw new SyntaxError(`Failed to parse tsconfig at: ${e}`);const o=r.default.dirname(n);if(t.extends){const s=Array.isArray(t.extends)?t.extends:[t.extends];delete t.extends;for(const p of s.reverse()){const f=$e(p,o,i,l),k={...f,...t,compilerOptions:{...f.compilerOptions,...t.compilerOptions}};f.watchOptions&&(k.watchOptions={...f.watchOptions,...t.watchOptions}),t=k}}if(t.compilerOptions){const{compilerOptions:s}=t,p=["baseUrl","rootDir"];for(const k of p){const m=s[k];if(m){const a=r.default.resolve(o,m),A=x(r.default.relative(o,a));s[k]=A}}const{outDir:f}=s;f&&(Array.isArray(t.exclude)||(t.exclude=[]),t.exclude.includes(f)||t.exclude.push(f),s.outDir=x(f))}else t.compilerOptions={};if(t.files&&(t.files=t.files.map(x)),t.include&&(t.include=t.include.map($)),t.watchOptions){const{watchOptions:s}=t;s.excludeDirectories&&(s.excludeDirectories=s.excludeDirectories.map(p=>$(r.default.resolve(o,p))))}return t},ie=(e,l=new Map)=>te(e,l),Le=(e=process.cwd(),l="tsconfig.json",i=new Map)=>{const n=Y($(e),l,i);if(!n)return null;const t=ie(n,i);return{path:n,config:t}},Ee=/\*/g,le=(e,l)=>{const i=e.match(Ee);if(i&&i.length>1)throw new Error(l)},Be=e=>{if(e.includes("*")){const[l,i]=e.split("*");return{prefix:l,suffix:i}}return e},Fe=({prefix:e,suffix:l},i)=>i.startsWith(e)&&i.endsWith(l),Ne=(e,l,i)=>Object.entries(e).map(([n,t])=>(le(n,`Pattern '${n}' can have at most one '*' character.`),{pattern:Be(n),substitutions:t.map(o=>{if(le(o,`Substitution '${o}' in pattern '${n}' can have at most one '*' character.`),!l&&!W.test(o))throw new Error("Non-relative paths are not allowed when 'baseUrl' is not set. Did you forget a leading './'?");return r.default.resolve(i,o)})})),Ue=e=>{if(!e.config.compilerOptions)return null;const{baseUrl:l,paths:i}=e.config.compilerOptions;if(!l&&!i)return null;const n=r.default.resolve(r.default.dirname(e.path),l||"."),t=i?Ne(i,l,n):[];return o=>{if(W.test(o))return[];const s=[];for(const m of t){if(m.pattern===o)return m.substitutions.map($);typeof m.pattern!="string"&&s.push(m)}let p,f=-1;for(const m of s)Fe(m.pattern,o)&&m.pattern.prefix.length>f&&(f=m.pattern.prefix.length,p=m);if(!p)return l?[$(r.default.join(n,o))]:[];const k=o.slice(p.pattern.prefix.length,o.length-p.pattern.suffix.length);return p.substitutions.map(m=>$(m.replace("*",k)))}},se=e=>{let l="";for(let i=0;iMath.floor(Math.random()*26),Ie=e=>Array.from({length:e},()=>String.fromCodePoint(xe()+(Math.random()>.5?ye:Pe))).join(""),De=(e=S.default)=>{const l=process.execPath;if(e.existsSync(l))return!e.existsSync(se(l));const i=`/${Ie(10)}`;e.writeFileSync(i,"");const n=!e.existsSync(se(i));return e.unlinkSync(i),n},{join:D}=r.default.posix,Q={ts:[".ts",".tsx",".d.ts"],cts:[".cts",".d.cts"],mts:[".mts",".d.mts"]},he=e=>{const l=[...Q.ts],i=[...Q.cts],n=[...Q.mts];return e!=null&&e.allowJs&&(l.push(".js",".jsx"),i.push(".cjs"),n.push(".mjs")),[...l,...i,...n]},Ve=e=>{const l=[];if(!e)return l;const{outDir:i,declarationDir:n}=e;return i&&l.push(i),n&&l.push(n),l},oe=e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Me=["node_modules","bower_components","jspm_packages"],H=`(?!(${Me.join("|")})(/|$))`,Se=/(?:^|\/)[^.*?]+$/,ue="**/*",h="[^/]",q="[^./]",fe=process.platform==="win32",We=({config:e,path:l},i=De())=>{if("extends"in e)throw new Error("tsconfig#extends must be resolved. Use getTsconfig or parseTsconfig to resolve it.");if(!r.default.isAbsolute(l))throw new Error("The tsconfig path must be absolute");fe&&(l=$(l));const n=r.default.dirname(l),{files:t,include:o,exclude:s,compilerOptions:p}=e,f=t==null?void 0:t.map(v=>D(n,v)),k=he(p),m=i?"":"i",A=(s||Ve(p)).map(v=>{const j=D(n,v),E=oe(j).replace(/\\\*\\\*\//g,"(.+/)?").replace(/\\\*/g,`${h}*`).replace(/\\\?/g,h);return new RegExp(`^${E}($|/)`,m)}),T=t||o?o:[ue],w=T?T.map(v=>{let j=D(n,v);Se.test(j)&&(j=D(j,ue));const E=oe(j).replace(/\/\\\*\\\*/g,`(/${H}${q}${h}*)*?`).replace(/(\/)?\\\*/g,(B,u)=>{const g=`(${q}|(\\.(?!min\\.js$))?)*`;return u?`/${H}${q}${g}`:g}).replace(/(\/)?\\\?/g,(B,u)=>{const g=h;return u?`/${H}${g}`:g});return new RegExp(`^${E}$`,m)}):void 0;return v=>{if(!r.default.isAbsolute(v))throw new Error("filePath must be absolute");if(fe&&(v=$(v)),f!=null&&f.includes(v))return e;if(!(!k.some(j=>v.endsWith(j))||A.some(j=>j.test(v)))&&w&&w.some(j=>j.test(v)))return e}};exports.createFilesMatcher=We,exports.createPathsMatcher=Ue,exports.getTsconfig=Le,exports.parseTsconfig=ie;