get-tsconfig 4.8.1 → 4.9.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/README.md +6 -2
- package/dist/index.cjs +7 -7
- package/dist/index.d.cts +101 -6
- package/dist/index.d.mts +101 -6
- package/dist/index.mjs +7 -7
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -38,7 +38,8 @@ For TypeScript related tooling to correctly parse `tsconfig.json` file without d
|
|
|
38
38
|
## API
|
|
39
39
|
|
|
40
40
|
### getTsconfig(searchPath?, configName?, cache?)
|
|
41
|
-
|
|
41
|
+
|
|
42
|
+
Searches for a tsconfig file (defaults to `tsconfig.json`) in the `searchPath` and parses it. (If you already know the tsconfig path, use [`parseTsconfig`](#parsetsconfigtsconfigpath-cache) instead). Returns `null` if a config file cannot be found, or an object containing the path and parsed TSConfig object if found.
|
|
42
43
|
|
|
43
44
|
Returns:
|
|
44
45
|
|
|
@@ -102,7 +103,8 @@ console.log(getTsconfig('.', 'jsconfig.json'))
|
|
|
102
103
|
---
|
|
103
104
|
|
|
104
105
|
### parseTsconfig(tsconfigPath, cache?)
|
|
105
|
-
|
|
106
|
+
|
|
107
|
+
Parse the tsconfig file provided. Used internally by `getTsconfig`. Returns the parsed tsconfig as `TsConfigJsonResolved`.
|
|
106
108
|
|
|
107
109
|
#### tsconfigPath
|
|
108
110
|
Type: `string`
|
|
@@ -125,6 +127,8 @@ import { parseTsconfig } from 'get-tsconfig'
|
|
|
125
127
|
console.log(parseTsconfig('./path/to/tsconfig.custom.json'))
|
|
126
128
|
```
|
|
127
129
|
|
|
130
|
+
---
|
|
131
|
+
|
|
128
132
|
### createFileMatcher(tsconfig: TsconfigResult, caseSensitivePaths?: boolean)
|
|
129
133
|
|
|
130
134
|
Given a `tsconfig.json` file, it returns a file-matcher function that determines whether it should apply to a file path.
|
package/dist/index.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
"use strict";var
|
|
2
|
-
`;break;case 114:
|
|
3
|
-
`),
|
|
4
|
-
`+" ".repeat(t)),new Array(
|
|
5
|
-
`+" ".repeat(t)),new Array(
|
|
6
|
-
`+" ".repeat(t)),new Array(
|
|
7
|
-
`+" ".repeat(t));var I;(function(e){e.DEFAULT={allowTrailingComma:!1}})(I||(I={}));function $e(e,t=[],i=I.DEFAULT){let n=null,s=[];const o=[];function r(u){Array.isArray(s)?s.push(u):n!==null&&(s[n]=u)}return l(r,"onValue"),ye(e,{onObjectBegin:l(()=>{const u={};r(u),o.push(s),s=u,n=null},"onObjectBegin"),onObjectProperty:l(u=>{n=u},"onObjectProperty"),onObjectEnd:l(()=>{s=o.pop()},"onObjectEnd"),onArrayBegin:l(()=>{const u=[];r(u),o.push(s),s=u,n=null},"onArrayBegin"),onArrayEnd:l(()=>{s=o.pop()},"onArrayEnd"),onLiteralValue:r,onError:l((u,p,T)=>{t.push({error:u,offset:p,length:T})},"onError")},i),s[0]}l($e,"parse$1");function ye(e,t,i=I.DEFAULT){const n=_e(e,!1),s=[];function o(k){return k?()=>k(n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter()):()=>!0}l(o,"toNoArgVisit");function r(k){return k?()=>k(n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter(),()=>s.slice()):()=>!0}l(r,"toNoArgVisitWithPath");function c(k){return k?_=>k(_,n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter()):()=>!0}l(c,"toOneArgVisit");function u(k){return k?_=>k(_,n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter(),()=>s.slice()):()=>!0}l(u,"toOneArgVisitWithPath");const p=r(t.onObjectBegin),T=u(t.onObjectProperty),w=o(t.onObjectEnd),O=r(t.onArrayBegin),v=o(t.onArrayEnd),A=u(t.onLiteralValue),b=c(t.onSeparator),$=o(t.onComment),U=c(t.onError),E=i&&i.disallowComments,f=i&&i.allowTrailingComma;function m(){for(;;){const k=n.scan();switch(n.getTokenError()){case 4:g(14);break;case 5:g(15);break;case 3:g(13);break;case 1:E||g(11);break;case 2:g(12);break;case 6:g(16);break}switch(k){case 12:case 13:E?g(10):$();break;case 16:g(1);break;case 15:case 14:break;default:return k}}}l(m,"scanNext");function g(k,_=[],C=[]){if(U(k),_.length+C.length>0){let P=n.getToken();for(;P!==17;){if(_.indexOf(P)!==-1){m();break}else if(C.indexOf(P)!==-1)break;P=m()}}}l(g,"handleError");function y(k){const _=n.getTokenValue();return k?A(_):(T(_),s.push(_)),m(),!0}l(y,"parseString");function j(){switch(n.getToken()){case 11:const k=n.getTokenValue();let _=Number(k);isNaN(_)&&(g(2),_=0),A(_);break;case 7:A(null);break;case 8:A(!0);break;case 9:A(!1);break;default:return!1}return m(),!0}l(j,"parseLiteral");function ke(){return n.getToken()!==10?(g(3,[],[2,5]),!1):(y(!1),n.getToken()===6?(b(":"),m(),V()||g(4,[],[2,5])):g(5,[],[2,5]),s.pop(),!0)}l(ke,"parseProperty");function be(){p(),m();let k=!1;for(;n.getToken()!==2&&n.getToken()!==17;){if(n.getToken()===5){if(k||g(4,[],[]),b(","),m(),n.getToken()===2&&f)break}else k&&g(6,[],[]);ke()||g(4,[],[2,5]),k=!0}return w(),n.getToken()!==2?g(7,[2],[]):m(),!0}l(be,"parseObject");function we(){O(),m();let k=!0,_=!1;for(;n.getToken()!==4&&n.getToken()!==17;){if(n.getToken()===5){if(_||g(4,[],[]),b(","),m(),n.getToken()===4&&f)break}else _&&g(6,[],[]);k?(s.push(0),k=!1):s[s.length-1]++,V()||g(4,[],[4,5]),_=!0}return v(),k||s.pop(),n.getToken()!==4?g(8,[4],[]):m(),!0}l(we,"parseArray");function V(){switch(n.getToken()){case 3:return we();case 1:return be();case 10:return y(!0);default:return j()}}return l(V,"parseValue"),m(),n.getToken()===17?i.allowEmptyContent?!0:(g(4,[],[]),!1):V()?(n.getToken()!==17&&g(9,[],[]),!0):(g(4,[],[]),!1)}l(ye,"visit");var ie;(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"})(ie||(ie={}));var se;(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"})(se||(se={}));const Be=$e;var oe;(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"})(oe||(oe={}));const le=l((e,t)=>Be(je(t,e,"utf8")),"readJsonc"),z=Symbol("implicitBaseUrl"),L="${configDir}",Fe=l(()=>{const{findPnpApi:e}=Te;return e&&e(process.cwd())},"getPnpApi"),Q=l((e,t,i,n)=>{const s=`resolveFromPackageJsonPath:${e}:${t}:${i}`;if(n!=null&&n.has(s))return n.get(s);const o=le(e,n);if(!o)return;let r=t||"tsconfig.json";if(!i&&o.exports)try{const[c]=Ae.resolveExports(o.exports,t,["require","types"]);r=c}catch{return!1}else!t&&o.tsconfig&&(r=o.tsconfig);return r=a.join(e,"..",r),n==null||n.set(s,r),r},"resolveFromPackageJsonPath"),q="package.json",H="tsconfig.json",Le=l((e,t,i)=>{let n=e;if(e===".."&&(n=a.join(n,H)),e[0]==="."&&(n=a.resolve(t,n)),a.isAbsolute(n)){if(F(i,n)){if(d(i,n).isFile())return n}else if(!n.endsWith(".json")){const v=`${n}.json`;if(F(i,v))return v}return}const[s,...o]=e.split("/"),r=s[0]==="@"?`${s}/${o.shift()}`:s,c=o.join("/"),u=Fe();if(u){const{resolveRequest:v}=u;try{if(r===e){const A=v(a.join(r,q),t);if(A){const b=Q(A,c,!1,i);if(b&&F(i,b))return b}}else{let A;try{A=v(e,t,{extensions:[".json"]})}catch{A=v(a.join(e,H),t)}if(A)return A}}catch{}}const p=ne(a.resolve(t),a.join("node_modules",r),i);if(!p||!d(i,p).isDirectory())return;const T=a.join(p,q);if(F(i,T)){const v=Q(T,c,!1,i);if(v===!1)return;if(v&&F(i,v)&&d(i,v).isFile())return v}const w=a.join(p,c),O=w.endsWith(".json");if(!O){const v=`${w}.json`;if(F(i,v))return v}if(F(i,w)){if(d(i,w).isDirectory()){const v=a.join(w,q);if(F(i,v)){const b=Q(v,"",!0,i);if(b&&F(i,b))return b}const A=a.join(w,H);if(F(i,A))return A}else if(O)return w}},"resolveExtendsPath"),X=l((e,t)=>J(a.relative(e,t)),"pathRelative"),re=["files","include","exclude"],Ue=l((e,t,i,n)=>{const s=Le(e,t,n);if(!s)throw new Error(`File '${e}' not found.`);if(i.has(s))throw new Error(`Circularity detected while resolving configuration: ${s}`);i.add(s);const o=a.dirname(s),r=ue(s,n,i);delete r.references;const{compilerOptions:c}=r;if(c){const{baseUrl:u}=c;u&&!u.startsWith(L)&&(c.baseUrl=B(a.relative(t,a.join(o,u)))||"./");let{outDir:p}=c;p&&(p.startsWith(L)||(p=a.relative(t,a.join(o,p))),c.outDir=B(p)||"./")}for(const u of re){const p=r[u];p&&(r[u]=p.map(T=>T.startsWith(L)?T:B(a.relative(t,a.join(o,T)))))}return r},"resolveExtends"),Ee=["outDir","declarationDir"],ue=l((e,t,i=new Set)=>{let n;try{n=le(e,t)||{}}catch{throw new Error(`Cannot resolve tsconfig at path: ${e}`)}if(typeof n!="object")throw new SyntaxError(`Failed to parse tsconfig at: ${e}`);const s=a.dirname(e);if(n.compilerOptions){const{compilerOptions:o}=n;o.paths&&!o.baseUrl&&(o[z]=s)}if(n.extends){const o=Array.isArray(n.extends)?n.extends:[n.extends];delete n.extends;for(const r of o.reverse()){const c=Ue(r,s,new Set(i),t),u={...c,...n,compilerOptions:{...c.compilerOptions,...n.compilerOptions}};c.watchOptions&&(u.watchOptions={...c.watchOptions,...n.watchOptions}),n=u}}if(n.compilerOptions){const{compilerOptions:o}=n,r=["baseUrl","rootDir"];for(const c of r){const u=o[c];if(u&&!u.startsWith(L)){const p=a.resolve(s,u),T=X(s,p);o[c]=T}}for(const c of Ee){let u=o[c];u&&(Array.isArray(n.exclude)||(n.exclude=[]),n.exclude.includes(u)||n.exclude.push(u),u.startsWith(L)||(u=J(u)),o[c]=u)}}else n.compilerOptions={};if(n.include?(n.include=n.include.map(B),n.files&&delete n.files):n.files&&(n.files=n.files.map(o=>o.startsWith(L)?o:J(o))),n.watchOptions){const{watchOptions:o}=n;o.excludeDirectories&&(o.excludeDirectories=o.excludeDirectories.map(r=>B(a.resolve(s,r))))}return n},"_parseTsconfig"),S=l((e,t)=>{if(e.startsWith(L))return B(a.join(t,e.slice(L.length)))},"interpolateConfigDir"),Ne=["outDir","declarationDir","outFile","rootDir","baseUrl","tsBuildInfoFile"],ce=l((e,t=new Map)=>{const i=a.resolve(e),n=ue(i,t),s=a.dirname(i),{compilerOptions:o}=n;if(o){for(const c of Ne){const u=o[c];if(u){const p=S(u,s);o[c]=p?X(s,p):u}}for(const c of["rootDirs","typeRoots"]){const u=o[c];u&&(o[c]=u.map(p=>{const T=S(p,s);return T?X(s,T):p}))}const{paths:r}=o;if(r)for(const c of Object.keys(r))r[c]=r[c].map(u=>{var p;return(p=S(u,s))!=null?p:u})}for(const r of re){const c=n[r];c&&(n[r]=c.map(u=>{var p;return(p=S(u,s))!=null?p:u}))}return n},"parseTsconfig"),De=l((e=process.cwd(),t="tsconfig.json",i=new Map)=>{const n=ne(B(e),t,i);if(!n)return null;const s=ce(n,i);return{path:n,config:s}},"getTsconfig"),he=/\*/g,fe=l((e,t)=>{const i=e.match(he);if(i&&i.length>1)throw new Error(t)},"assertStarCount"),Pe=l(e=>{if(e.includes("*")){const[t,i]=e.split("*");return{prefix:t,suffix:i}}return e},"parsePattern"),de=l(({prefix:e,suffix:t},i)=>i.startsWith(e)&&i.endsWith(t),"isPatternMatch"),Ie=l((e,t,i)=>Object.entries(e).map(([n,s])=>(fe(n,`Pattern '${n}' can have at most one '*' character.`),{pattern:Pe(n),substitutions:s.map(o=>{if(fe(o,`Substitution '${o}' in pattern '${n}' can have at most one '*' character.`),!t&&!R.test(o))throw new Error("Non-relative paths are not allowed when 'baseUrl' is not set. Did you forget a leading './'?");return a.resolve(i,o)})})),"parsePaths"),Se=l(e=>{const{compilerOptions:t}=e.config;if(!t)return null;const{baseUrl:i,paths:n}=t;if(!i&&!n)return null;const s=z in t&&t[z],o=a.resolve(a.dirname(e.path),i||s||"."),r=n?Ie(n,i,o):[];return c=>{if(R.test(c))return[];const u=[];for(const O of r){if(O.pattern===c)return O.substitutions.map(B);typeof O.pattern!="string"&&u.push(O)}let p,T=-1;for(const O of u)de(O.pattern,c)&&O.pattern.prefix.length>T&&(T=O.pattern.prefix.length,p=O);if(!p)return i?[B(a.join(o,c))]:[];const w=c.slice(p.pattern.prefix.length,c.length-p.pattern.suffix.length);return p.substitutions.map(O=>B(O.replace("*",w)))}},"createPathsMatcher"),pe=l(e=>{let t="";for(let i=0;i<e.length;i+=1){const n=e[i],s=n.toUpperCase();t+=n===s?n.toLowerCase():s}return t},"s"),xe=65,We=97,Ve=l(()=>Math.floor(Math.random()*26),"m"),Me=l(e=>Array.from({length:e},()=>String.fromCodePoint(Ve()+(Math.random()>.5?xe:We))).join(""),"S"),Re=l((e=Oe)=>{const t=process.execPath;if(e.existsSync(t))return!e.existsSync(pe(t));const i=`/${Me(10)}`;e.writeFileSync(i,"");const n=!e.existsSync(pe(i));return e.unlinkSync(i),n},"l"),{join:x}=a.posix,Y={ts:[".ts",".tsx",".d.ts"],cts:[".cts",".d.cts"],mts:[".mts",".d.mts"]},Je=l(e=>{const t=[...Y.ts],i=[...Y.cts],n=[...Y.mts];return e!=null&&e.allowJs&&(t.push(".js",".jsx"),i.push(".cjs"),n.push(".mjs")),[...t,...i,...n]},"getSupportedExtensions"),Ge=l(e=>{const t=[];if(!e)return t;const{outDir:i,declarationDir:n}=e;return i&&t.push(i),n&&t.push(n),t},"getDefaultExcludeSpec"),ae=l(e=>e.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`),"escapeForRegexp"),ze=["node_modules","bower_components","jspm_packages"],Z=`(?!(${ze.join("|")})(/|$))`,Qe=/(?:^|\/)[^.*?]+$/,ge="**/*",W="[^/]",K="[^./]",me=process.platform==="win32",qe=l(({config:e,path:t},i=Re())=>{if("extends"in e)throw new Error("tsconfig#extends must be resolved. Use getTsconfig or parseTsconfig to resolve it.");if(!a.isAbsolute(t))throw new Error("The tsconfig path must be absolute");me&&(t=B(t));const n=a.dirname(t),{files:s,include:o,exclude:r,compilerOptions:c}=e,u=s==null?void 0:s.map(b=>x(n,b)),p=Je(c),T=i?"":"i",O=(r||Ge(c)).map(b=>{const $=x(n,b),U=ae($).replaceAll(String.raw`\*\*/`,"(.+/)?").replaceAll(String.raw`\*`,`${W}*`).replaceAll(String.raw`\?`,W);return new RegExp(`^${U}($|/)`,T)}),v=s||o?o:[ge],A=v?v.map(b=>{let $=x(n,b);Qe.test($)&&($=x($,ge));const U=ae($).replaceAll(String.raw`/\*\*`,`(/${Z}${K}${W}*)*?`).replaceAll(/(\/)?\\\*/g,(E,f)=>{const m=`(${K}|(\\.(?!min\\.js$))?)*`;return f?`/${Z}${K}${m}`:m}).replaceAll(/(\/)?\\\?/g,(E,f)=>{const m=W;return f?`/${Z}${m}`:m});return new RegExp(`^${U}$`,T)}):void 0;return b=>{if(!a.isAbsolute(b))throw new Error("filePath must be absolute");if(me&&(b=B(b)),u!=null&&u.includes(b))return e;if(!(!p.some($=>b.endsWith($))||O.some($=>$.test(b)))&&A&&A.some($=>$.test(b)))return e}},"createFilesMatcher");exports.createFilesMatcher=qe,exports.createPathsMatcher=Se,exports.getTsconfig=De,exports.parseTsconfig=ce;
|
|
1
|
+
"use strict";var Te=Object.defineProperty;var l=(e,t)=>Te(e,"name",{value:t,configurable:!0});var a=require("node:path"),ee=require("node:fs"),ve=require("node:module"),Ae=require("resolve-pkg-maps"),Oe=require("fs");function B(e){return e.startsWith("\\\\?\\")?e:e.replace(/\\/g,"/")}l(B,"slash");const M=l(e=>{const t=ee[e];return(i,...n)=>{const s=`${e}:${n.join(":")}`;let o=i==null?void 0:i.get(s);return o===void 0&&(o=Reflect.apply(t,ee,n),i==null||i.set(s,o)),o}},"cacheFs"),F=M("existsSync"),je=M("readFileSync"),P=M("statSync"),ne=l((e,t,i)=>{for(;;){const n=a.posix.join(e,t);if(F(i,n))return n;const s=a.dirname(e);if(s===e)return;e=s}},"findUp"),R=/^\.{1,2}(\/.*)?$/,J=l(e=>{const t=B(e);return R.test(t)?t:`./${t}`},"normalizeRelativePath");function _e(e,t=!1){const i=e.length;let n=0,s="",o=0,r=16,f=0,u=0,p=0,v=0,w=0;function O(c,m){let g=0,y=0;for(;g<c;){let j=e.charCodeAt(n);if(j>=48&&j<=57)y=y*16+j-48;else if(j>=65&&j<=70)y=y*16+j-65+10;else if(j>=97&&j<=102)y=y*16+j-97+10;else break;n++,g++}return g<c&&(y=-1),y}l(O,"scanHexDigits");function T(c){n=c,s="",o=0,r=16,w=0}l(T,"setPosition");function A(){let c=n;if(e.charCodeAt(n)===48)n++;else for(n++;n<e.length&&d(e.charCodeAt(n));)n++;if(n<e.length&&e.charCodeAt(n)===46)if(n++,n<e.length&&d(e.charCodeAt(n)))for(n++;n<e.length&&d(e.charCodeAt(n));)n++;else return w=3,e.substring(c,n);let m=n;if(n<e.length&&(e.charCodeAt(n)===69||e.charCodeAt(n)===101))if(n++,(n<e.length&&e.charCodeAt(n)===43||e.charCodeAt(n)===45)&&n++,n<e.length&&d(e.charCodeAt(n))){for(n++;n<e.length&&d(e.charCodeAt(n));)n++;m=n}else w=3;return e.substring(c,m)}l(A,"scanNumber");function b(){let c="",m=n;for(;;){if(n>=i){c+=e.substring(m,n),w=2;break}const g=e.charCodeAt(n);if(g===34){c+=e.substring(m,n),n++;break}if(g===92){if(c+=e.substring(m,n),n++,n>=i){w=2;break}switch(e.charCodeAt(n++)){case 34:c+='"';break;case 92:c+="\\";break;case 47:c+="/";break;case 98:c+="\b";break;case 102:c+="\f";break;case 110:c+=`
|
|
2
|
+
`;break;case 114:c+="\r";break;case 116:c+=" ";break;case 117:const j=O(4);j>=0?c+=String.fromCharCode(j):w=4;break;default:w=5}m=n;continue}if(g>=0&&g<=31)if(D(g)){c+=e.substring(m,n),w=2;break}else w=6;n++}return c}l(b,"scanString");function $(){if(s="",w=0,o=n,u=f,v=p,n>=i)return o=i,r=17;let c=e.charCodeAt(n);if(G(c)){do n++,s+=String.fromCharCode(c),c=e.charCodeAt(n);while(G(c));return r=15}if(D(c))return n++,s+=String.fromCharCode(c),c===13&&e.charCodeAt(n)===10&&(n++,s+=`
|
|
3
|
+
`),f++,p=n,r=14;switch(c){case 123:return n++,r=1;case 125:return n++,r=2;case 91:return n++,r=3;case 93:return n++,r=4;case 58:return n++,r=6;case 44:return n++,r=5;case 34:return n++,s=b(),r=10;case 47:const m=n-1;if(e.charCodeAt(n+1)===47){for(n+=2;n<i&&!D(e.charCodeAt(n));)n++;return s=e.substring(m,n),r=12}if(e.charCodeAt(n+1)===42){n+=2;const g=i-1;let y=!1;for(;n<g;){const j=e.charCodeAt(n);if(j===42&&e.charCodeAt(n+1)===47){n+=2,y=!0;break}n++,D(j)&&(j===13&&e.charCodeAt(n)===10&&n++,f++,p=n)}return y||(n++,w=1),s=e.substring(m,n),r=13}return s+=String.fromCharCode(c),n++,r=16;case 45:if(s+=String.fromCharCode(c),n++,n===i||!d(e.charCodeAt(n)))return r=16;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return s+=A(),r=11;default:for(;n<i&&U(c);)n++,c=e.charCodeAt(n);if(o!==n){switch(s=e.substring(o,n),s){case"true":return r=8;case"false":return r=9;case"null":return r=7}return r=16}return s+=String.fromCharCode(c),n++,r=16}}l($,"scanNext");function U(c){if(G(c)||D(c))return!1;switch(c){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}l(U,"isUnknownContentCharacter");function E(){let c;do c=$();while(c>=12&&c<=15);return c}return l(E,"scanNextNonTrivia"),{setPosition:T,getPosition:l(()=>n,"getPosition"),scan:t?E:$,getToken:l(()=>r,"getToken"),getTokenValue:l(()=>s,"getTokenValue"),getTokenOffset:l(()=>o,"getTokenOffset"),getTokenLength:l(()=>n-o,"getTokenLength"),getTokenStartLine:l(()=>u,"getTokenStartLine"),getTokenStartCharacter:l(()=>o-v,"getTokenStartCharacter"),getTokenError:l(()=>w,"getTokenError")}}l(_e,"createScanner");function G(e){return e===32||e===9}l(G,"isWhiteSpace");function D(e){return e===10||e===13}l(D,"isLineBreak");function d(e){return e>=48&&e<=57}l(d,"isDigit");var te;(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"})(te||(te={})),new Array(20).fill(0).map((e,t)=>" ".repeat(t));const N=200;new Array(N).fill(0).map((e,t)=>`
|
|
4
|
+
`+" ".repeat(t)),new Array(N).fill(0).map((e,t)=>"\r"+" ".repeat(t)),new Array(N).fill(0).map((e,t)=>`\r
|
|
5
|
+
`+" ".repeat(t)),new Array(N).fill(0).map((e,t)=>`
|
|
6
|
+
`+" ".repeat(t)),new Array(N).fill(0).map((e,t)=>"\r"+" ".repeat(t)),new Array(N).fill(0).map((e,t)=>`\r
|
|
7
|
+
`+" ".repeat(t));var x;(function(e){e.DEFAULT={allowTrailingComma:!1}})(x||(x={}));function $e(e,t=[],i=x.DEFAULT){let n=null,s=[];const o=[];function r(u){Array.isArray(s)?s.push(u):n!==null&&(s[n]=u)}return l(r,"onValue"),ye(e,{onObjectBegin:l(()=>{const u={};r(u),o.push(s),s=u,n=null},"onObjectBegin"),onObjectProperty:l(u=>{n=u},"onObjectProperty"),onObjectEnd:l(()=>{s=o.pop()},"onObjectEnd"),onArrayBegin:l(()=>{const u=[];r(u),o.push(s),s=u,n=null},"onArrayBegin"),onArrayEnd:l(()=>{s=o.pop()},"onArrayEnd"),onLiteralValue:r,onError:l((u,p,v)=>{t.push({error:u,offset:p,length:v})},"onError")},i),s[0]}l($e,"parse$1");function ye(e,t,i=x.DEFAULT){const n=_e(e,!1),s=[];function o(k){return k?()=>k(n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter()):()=>!0}l(o,"toNoArgVisit");function r(k){return k?()=>k(n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter(),()=>s.slice()):()=>!0}l(r,"toNoArgVisitWithPath");function f(k){return k?_=>k(_,n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter()):()=>!0}l(f,"toOneArgVisit");function u(k){return k?_=>k(_,n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter(),()=>s.slice()):()=>!0}l(u,"toOneArgVisitWithPath");const p=r(t.onObjectBegin),v=u(t.onObjectProperty),w=o(t.onObjectEnd),O=r(t.onArrayBegin),T=o(t.onArrayEnd),A=u(t.onLiteralValue),b=f(t.onSeparator),$=o(t.onComment),U=f(t.onError),E=i&&i.disallowComments,c=i&&i.allowTrailingComma;function m(){for(;;){const k=n.scan();switch(n.getTokenError()){case 4:g(14);break;case 5:g(15);break;case 3:g(13);break;case 1:E||g(11);break;case 2:g(12);break;case 6:g(16);break}switch(k){case 12:case 13:E?g(10):$();break;case 16:g(1);break;case 15:case 14:break;default:return k}}}l(m,"scanNext");function g(k,_=[],C=[]){if(U(k),_.length+C.length>0){let h=n.getToken();for(;h!==17;){if(_.indexOf(h)!==-1){m();break}else if(C.indexOf(h)!==-1)break;h=m()}}}l(g,"handleError");function y(k){const _=n.getTokenValue();return k?A(_):(v(_),s.push(_)),m(),!0}l(y,"parseString");function j(){switch(n.getToken()){case 11:const k=n.getTokenValue();let _=Number(k);isNaN(_)&&(g(2),_=0),A(_);break;case 7:A(null);break;case 8:A(!0);break;case 9:A(!1);break;default:return!1}return m(),!0}l(j,"parseLiteral");function ke(){return n.getToken()!==10?(g(3,[],[2,5]),!1):(y(!1),n.getToken()===6?(b(":"),m(),V()||g(4,[],[2,5])):g(5,[],[2,5]),s.pop(),!0)}l(ke,"parseProperty");function be(){p(),m();let k=!1;for(;n.getToken()!==2&&n.getToken()!==17;){if(n.getToken()===5){if(k||g(4,[],[]),b(","),m(),n.getToken()===2&&c)break}else k&&g(6,[],[]);ke()||g(4,[],[2,5]),k=!0}return w(),n.getToken()!==2?g(7,[2],[]):m(),!0}l(be,"parseObject");function we(){O(),m();let k=!0,_=!1;for(;n.getToken()!==4&&n.getToken()!==17;){if(n.getToken()===5){if(_||g(4,[],[]),b(","),m(),n.getToken()===4&&c)break}else _&&g(6,[],[]);k?(s.push(0),k=!1):s[s.length-1]++,V()||g(4,[],[4,5]),_=!0}return T(),k||s.pop(),n.getToken()!==4?g(8,[4],[]):m(),!0}l(we,"parseArray");function V(){switch(n.getToken()){case 3:return we();case 1:return be();case 10:return y(!0);default:return j()}}return l(V,"parseValue"),m(),n.getToken()===17?i.allowEmptyContent?!0:(g(4,[],[]),!1):V()?(n.getToken()!==17&&g(9,[],[]),!0):(g(4,[],[]),!1)}l(ye,"visit");var ie;(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"})(ie||(ie={}));var se;(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"})(se||(se={}));const Be=$e;var oe;(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"})(oe||(oe={}));const le=l((e,t)=>Be(je(t,e,"utf8")),"readJsonc"),z=Symbol("implicitBaseUrl"),L="${configDir}",Fe=l(()=>{const{findPnpApi:e}=ve;return e&&e(process.cwd())},"getPnpApi"),Q=l((e,t,i,n)=>{const s=`resolveFromPackageJsonPath:${e}:${t}:${i}`;if(n!=null&&n.has(s))return n.get(s);const o=le(e,n);if(!o)return;let r=t||"tsconfig.json";if(!i&&o.exports)try{const[f]=Ae.resolveExports(o.exports,t,["require","types"]);r=f}catch{return!1}else!t&&o.tsconfig&&(r=o.tsconfig);return r=a.join(e,"..",r),n==null||n.set(s,r),r},"resolveFromPackageJsonPath"),q="package.json",H="tsconfig.json",Le=l((e,t,i)=>{let n=e;if(e===".."&&(n=a.join(n,H)),e[0]==="."&&(n=a.resolve(t,n)),a.isAbsolute(n)){if(F(i,n)){if(P(i,n).isFile())return n}else if(!n.endsWith(".json")){const T=`${n}.json`;if(F(i,T))return T}return}const[s,...o]=e.split("/"),r=s[0]==="@"?`${s}/${o.shift()}`:s,f=o.join("/"),u=Fe();if(u){const{resolveRequest:T}=u;try{if(r===e){const A=T(a.join(r,q),t);if(A){const b=Q(A,f,!1,i);if(b&&F(i,b))return b}}else{let A;try{A=T(e,t,{extensions:[".json"]})}catch{A=T(a.join(e,H),t)}if(A)return A}}catch{}}const p=ne(a.resolve(t),a.join("node_modules",r),i);if(!p||!P(i,p).isDirectory())return;const v=a.join(p,q);if(F(i,v)){const T=Q(v,f,!1,i);if(T===!1)return;if(T&&F(i,T)&&P(i,T).isFile())return T}const w=a.join(p,f),O=w.endsWith(".json");if(!O){const T=`${w}.json`;if(F(i,T))return T}if(F(i,w)){if(P(i,w).isDirectory()){const T=a.join(w,q);if(F(i,T)){const b=Q(T,"",!0,i);if(b&&F(i,b))return b}const A=a.join(w,H);if(F(i,A))return A}else if(O)return w}},"resolveExtendsPath"),X=l((e,t)=>J(a.relative(e,t)),"pathRelative"),re=["files","include","exclude"],Ue=l((e,t,i,n)=>{const s=Le(e,t,n);if(!s)throw new Error(`File '${e}' not found.`);if(i.has(s))throw new Error(`Circularity detected while resolving configuration: ${s}`);i.add(s);const o=a.dirname(s),r=ue(s,n,i);delete r.references;const{compilerOptions:f}=r;if(f){const{baseUrl:u}=f;u&&!u.startsWith(L)&&(f.baseUrl=B(a.relative(t,a.join(o,u)))||"./");let{outDir:p}=f;p&&(p.startsWith(L)||(p=a.relative(t,a.join(o,p))),f.outDir=B(p)||"./")}for(const u of re){const p=r[u];p&&(r[u]=p.map(v=>v.startsWith(L)?v:B(a.relative(t,a.join(o,v)))))}return r},"resolveExtends"),Ee=["outDir","declarationDir"],ue=l((e,t,i=new Set)=>{let n;try{n=le(e,t)||{}}catch{throw new Error(`Cannot resolve tsconfig at path: ${e}`)}if(typeof n!="object")throw new SyntaxError(`Failed to parse tsconfig at: ${e}`);const s=a.dirname(e);if(n.compilerOptions){const{compilerOptions:o}=n;o.paths&&!o.baseUrl&&(o[z]=s)}if(n.extends){const o=Array.isArray(n.extends)?n.extends:[n.extends];delete n.extends;for(const r of o.reverse()){const f=Ue(r,s,new Set(i),t),u={...f,...n,compilerOptions:{...f.compilerOptions,...n.compilerOptions}};f.watchOptions&&(u.watchOptions={...f.watchOptions,...n.watchOptions}),n=u}}if(n.compilerOptions){const{compilerOptions:o}=n,r=["baseUrl","rootDir"];for(const f of r){const u=o[f];if(u&&!u.startsWith(L)){const p=a.resolve(s,u),v=X(s,p);o[f]=v}}for(const f of Ee){let u=o[f];u&&(Array.isArray(n.exclude)||(n.exclude=[]),n.exclude.includes(u)||n.exclude.push(u),u.startsWith(L)||(u=J(u)),o[f]=u)}}else n.compilerOptions={};if(n.include?(n.include=n.include.map(B),n.files&&delete n.files):n.files&&(n.files=n.files.map(o=>o.startsWith(L)?o:J(o))),n.watchOptions){const{watchOptions:o}=n;o.excludeDirectories&&(o.excludeDirectories=o.excludeDirectories.map(r=>B(a.resolve(s,r))))}return n},"_parseTsconfig"),I=l((e,t)=>{if(e.startsWith(L))return B(a.join(t,e.slice(L.length)))},"interpolateConfigDir"),de=["outDir","declarationDir","outFile","rootDir","baseUrl","tsBuildInfoFile"],fe=l((e,t=new Map)=>{const i=a.resolve(e),n=ue(i,t),s=a.dirname(i),{compilerOptions:o}=n;if(o){for(const f of de){const u=o[f];if(u){const p=I(u,s);o[f]=p?X(s,p):u}}for(const f of["rootDirs","typeRoots"]){const u=o[f];u&&(o[f]=u.map(p=>{const v=I(p,s);return v?X(s,v):p}))}const{paths:r}=o;if(r)for(const f of Object.keys(r))r[f]=r[f].map(u=>{var p;return(p=I(u,s))!=null?p:u})}for(const r of re){const f=n[r];f&&(n[r]=f.map(u=>{var p;return(p=I(u,s))!=null?p:u}))}return n},"parseTsconfig"),Ne=l((e=process.cwd(),t="tsconfig.json",i=new Map)=>{const n=ne(B(e),t,i);if(!n)return null;const s=fe(n,i);return{path:n,config:s}},"getTsconfig"),De=/\*/g,ce=l((e,t)=>{const i=e.match(De);if(i&&i.length>1)throw new Error(t)},"assertStarCount"),he=l(e=>{if(e.includes("*")){const[t,i]=e.split("*");return{prefix:t,suffix:i}}return e},"parsePattern"),Pe=l(({prefix:e,suffix:t},i)=>i.startsWith(e)&&i.endsWith(t),"isPatternMatch"),xe=l((e,t,i)=>Object.entries(e).map(([n,s])=>(ce(n,`Pattern '${n}' can have at most one '*' character.`),{pattern:he(n),substitutions:s.map(o=>{if(ce(o,`Substitution '${o}' in pattern '${n}' can have at most one '*' character.`),!t&&!R.test(o))throw new Error("Non-relative paths are not allowed when 'baseUrl' is not set. Did you forget a leading './'?");return a.resolve(i,o)})})),"parsePaths"),Ie=l(e=>{const{compilerOptions:t}=e.config;if(!t)return null;const{baseUrl:i,paths:n}=t;if(!i&&!n)return null;const s=z in t&&t[z],o=a.resolve(a.dirname(e.path),i||s||"."),r=n?xe(n,i,o):[];return f=>{if(R.test(f))return[];const u=[];for(const O of r){if(O.pattern===f)return O.substitutions.map(B);typeof O.pattern!="string"&&u.push(O)}let p,v=-1;for(const O of u)Pe(O.pattern,f)&&O.pattern.prefix.length>v&&(v=O.pattern.prefix.length,p=O);if(!p)return i?[B(a.join(o,f))]:[];const w=f.slice(p.pattern.prefix.length,f.length-p.pattern.suffix.length);return p.substitutions.map(O=>B(O.replace("*",w)))}},"createPathsMatcher"),pe=l(e=>{let t="";for(let i=0;i<e.length;i+=1){const n=e[i],s=n.toUpperCase();t+=n===s?n.toLowerCase():s}return t},"s"),Se=65,We=97,Ve=l(()=>Math.floor(Math.random()*26),"m"),Me=l(e=>Array.from({length:e},()=>String.fromCodePoint(Ve()+(Math.random()>.5?Se:We))).join(""),"S"),Re=l((e=Oe)=>{const t=process.execPath;if(e.existsSync(t))return!e.existsSync(pe(t));const i=`/${Me(10)}`;e.writeFileSync(i,"");const n=!e.existsSync(pe(i));return e.unlinkSync(i),n},"l"),{join:S}=a.posix,Y={ts:[".ts",".tsx",".d.ts"],cts:[".cts",".d.cts"],mts:[".mts",".d.mts"]},Je=l(e=>{const t=[...Y.ts],i=[...Y.cts],n=[...Y.mts];return e!=null&&e.allowJs&&(t.push(".js",".jsx"),i.push(".cjs"),n.push(".mjs")),[...t,...i,...n]},"getSupportedExtensions"),Ge=l(e=>{const t=[];if(!e)return t;const{outDir:i,declarationDir:n}=e;return i&&t.push(i),n&&t.push(n),t},"getDefaultExcludeSpec"),ae=l(e=>e.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`),"escapeForRegexp"),ze=["node_modules","bower_components","jspm_packages"],Z=`(?!(${ze.join("|")})(/|$))`,Qe=/(?:^|\/)[^.*?]+$/,ge="**/*",W="[^/]",K="[^./]",me=process.platform==="win32",qe=l(({config:e,path:t},i=Re())=>{if("extends"in e)throw new Error("tsconfig#extends must be resolved. Use getTsconfig or parseTsconfig to resolve it.");if(!a.isAbsolute(t))throw new Error("The tsconfig path must be absolute");me&&(t=B(t));const n=a.dirname(t),{files:s,include:o,exclude:r,compilerOptions:f}=e,u=s==null?void 0:s.map(b=>S(n,b)),p=Je(f),v=i?"":"i",O=(r||Ge(f)).map(b=>{const $=S(n,b),U=ae($).replaceAll(String.raw`\*\*/`,"(.+/)?").replaceAll(String.raw`\*`,`${W}*`).replaceAll(String.raw`\?`,W);return new RegExp(`^${U}($|/)`,v)}),T=s||o?o:[ge],A=T?T.map(b=>{let $=S(n,b);Qe.test($)&&($=S($,ge));const U=ae($).replaceAll(String.raw`/\*\*`,`(/${Z}${K}${W}*)*?`).replaceAll(/(\/)?\\\*/g,(E,c)=>{const m=`(${K}|(\\.(?!min\\.js$))?)*`;return c?`/${Z}${K}${m}`:m}).replaceAll(/(\/)?\\\?/g,(E,c)=>{const m=W;return c?`/${Z}${m}`:m});return new RegExp(`^${U}$`,v)}):void 0;return b=>{if(!a.isAbsolute(b))throw new Error("filePath must be absolute");if(me&&(b=B(b)),u!=null&&u.includes(b))return e;if(!(!p.some($=>b.endsWith($))||O.some($=>$.test(b)))&&A&&A.some($=>$.test(b)))return e}},"createFilesMatcher");exports.createFilesMatcher=qe,exports.createPathsMatcher=Ie,exports.getTsconfig=Ne,exports.parseTsconfig=fe;
|
package/dist/index.d.cts
CHANGED
|
@@ -32,8 +32,8 @@ type Includes<Value extends readonly any[], Item> =
|
|
|
32
32
|
@category Utilities
|
|
33
33
|
*/
|
|
34
34
|
type IsEqual<A, B> =
|
|
35
|
-
(<G>() => G extends A ? 1 : 2) extends
|
|
36
|
-
(<G>() => G extends B ? 1 : 2)
|
|
35
|
+
(<G>() => G extends A & G | G ? 1 : 2) extends
|
|
36
|
+
(<G>() => G extends B & G | G ? 1 : 2)
|
|
37
37
|
? true
|
|
38
38
|
: false;
|
|
39
39
|
|
|
@@ -173,6 +173,8 @@ declare namespace TsConfigJson {
|
|
|
173
173
|
| 'ES2020'
|
|
174
174
|
| 'ES2021'
|
|
175
175
|
| 'ES2022'
|
|
176
|
+
| 'ES2023'
|
|
177
|
+
| 'ES2024'
|
|
176
178
|
| 'ESNext'
|
|
177
179
|
// Lowercase alternatives
|
|
178
180
|
| 'es3'
|
|
@@ -186,6 +188,8 @@ declare namespace TsConfigJson {
|
|
|
186
188
|
| 'es2020'
|
|
187
189
|
| 'es2021'
|
|
188
190
|
| 'es2022'
|
|
191
|
+
| 'es2023'
|
|
192
|
+
| 'es2024'
|
|
189
193
|
| 'esnext';
|
|
190
194
|
|
|
191
195
|
// eslint-disable-next-line unicorn/prevent-abbreviations
|
|
@@ -206,6 +210,8 @@ declare namespace TsConfigJson {
|
|
|
206
210
|
| 'ES2016'
|
|
207
211
|
| 'ES2016.Array.Include'
|
|
208
212
|
| 'ES2017'
|
|
213
|
+
| 'ES2017.ArrayBuffer'
|
|
214
|
+
| 'ES2017.Date'
|
|
209
215
|
| 'ES2017.Intl'
|
|
210
216
|
| 'ES2017.Object'
|
|
211
217
|
| 'ES2017.SharedMemory'
|
|
@@ -230,6 +236,7 @@ declare namespace TsConfigJson {
|
|
|
230
236
|
| 'ES2020.SharedMemory'
|
|
231
237
|
| 'ES2020.Intl'
|
|
232
238
|
| 'ES2021'
|
|
239
|
+
| 'ES2021.Intl'
|
|
233
240
|
| 'ES2021.Promise'
|
|
234
241
|
| 'ES2021.String'
|
|
235
242
|
| 'ES2021.WeakRef'
|
|
@@ -238,14 +245,29 @@ declare namespace TsConfigJson {
|
|
|
238
245
|
| 'ES2022.Error'
|
|
239
246
|
| 'ES2022.Intl'
|
|
240
247
|
| 'ES2022.Object'
|
|
241
|
-
| 'ES2022.SharedMemory'
|
|
242
|
-
| 'ES2022.String'
|
|
243
248
|
| 'ES2022.RegExp'
|
|
249
|
+
| 'ES2022.String'
|
|
250
|
+
| 'ES2023'
|
|
251
|
+
| 'ES2023.Array'
|
|
252
|
+
| 'ES2023.Collection'
|
|
253
|
+
| 'ES2023.Intl'
|
|
254
|
+
| 'ES2024'
|
|
255
|
+
| 'ES2024.ArrayBuffer'
|
|
256
|
+
| 'ES2024.Collection'
|
|
257
|
+
| 'ES2024.Object'
|
|
258
|
+
| 'ES2024.Promise'
|
|
259
|
+
| 'ES2024.Regexp'
|
|
260
|
+
| 'ES2024.SharedMemory'
|
|
261
|
+
| 'ES2024.String'
|
|
244
262
|
| 'ESNext'
|
|
245
263
|
| 'ESNext.Array'
|
|
246
264
|
| 'ESNext.AsyncIterable'
|
|
247
265
|
| 'ESNext.BigInt'
|
|
266
|
+
| 'ESNext.Collection'
|
|
267
|
+
| 'ESNext.Decorators'
|
|
268
|
+
| 'ESNext.Disposable'
|
|
248
269
|
| 'ESNext.Intl'
|
|
270
|
+
| 'ESNext.Iterator'
|
|
249
271
|
| 'ESNext.Promise'
|
|
250
272
|
| 'ESNext.String'
|
|
251
273
|
| 'ESNext.Symbol'
|
|
@@ -254,6 +276,7 @@ declare namespace TsConfigJson {
|
|
|
254
276
|
| 'DOM.Iterable'
|
|
255
277
|
| 'ScriptHost'
|
|
256
278
|
| 'WebWorker'
|
|
279
|
+
| 'WebWorker.AsyncIterable'
|
|
257
280
|
| 'WebWorker.ImportScripts'
|
|
258
281
|
| 'WebWorker.Iterable'
|
|
259
282
|
// Lowercase alternatives
|
|
@@ -273,6 +296,8 @@ declare namespace TsConfigJson {
|
|
|
273
296
|
| 'es2016'
|
|
274
297
|
| 'es2016.array.include'
|
|
275
298
|
| 'es2017'
|
|
299
|
+
| 'es2017.arraybuffer'
|
|
300
|
+
| 'es2017.date'
|
|
276
301
|
| 'es2017.intl'
|
|
277
302
|
| 'es2017.object'
|
|
278
303
|
| 'es2017.sharedmemory'
|
|
@@ -297,6 +322,7 @@ declare namespace TsConfigJson {
|
|
|
297
322
|
| 'es2020.sharedmemory'
|
|
298
323
|
| 'es2020.intl'
|
|
299
324
|
| 'es2021'
|
|
325
|
+
| 'es2021.intl'
|
|
300
326
|
| 'es2021.promise'
|
|
301
327
|
| 'es2021.string'
|
|
302
328
|
| 'es2021.weakref'
|
|
@@ -305,14 +331,29 @@ declare namespace TsConfigJson {
|
|
|
305
331
|
| 'es2022.error'
|
|
306
332
|
| 'es2022.intl'
|
|
307
333
|
| 'es2022.object'
|
|
308
|
-
| 'es2022.sharedmemory'
|
|
309
|
-
| 'es2022.string'
|
|
310
334
|
| 'es2022.regexp'
|
|
335
|
+
| 'es2022.string'
|
|
336
|
+
| 'es2023'
|
|
337
|
+
| 'es2023.array'
|
|
338
|
+
| 'es2023.collection'
|
|
339
|
+
| 'es2023.intl'
|
|
340
|
+
| 'es2024'
|
|
341
|
+
| 'es2024.arraybuffer'
|
|
342
|
+
| 'es2024.collection'
|
|
343
|
+
| 'es2024.object'
|
|
344
|
+
| 'es2024.promise'
|
|
345
|
+
| 'es2024.regexp'
|
|
346
|
+
| 'es2024.sharedmemory'
|
|
347
|
+
| 'es2024.string'
|
|
311
348
|
| 'esnext'
|
|
312
349
|
| 'esnext.array'
|
|
313
350
|
| 'esnext.asynciterable'
|
|
314
351
|
| 'esnext.bigint'
|
|
352
|
+
| 'esnext.collection'
|
|
353
|
+
| 'esnext.decorators'
|
|
354
|
+
| 'esnext.disposable'
|
|
315
355
|
| 'esnext.intl'
|
|
356
|
+
| 'esnext.iterator'
|
|
316
357
|
| 'esnext.promise'
|
|
317
358
|
| 'esnext.string'
|
|
318
359
|
| 'esnext.symbol'
|
|
@@ -321,6 +362,7 @@ declare namespace TsConfigJson {
|
|
|
321
362
|
| 'dom.iterable'
|
|
322
363
|
| 'scripthost'
|
|
323
364
|
| 'webworker'
|
|
365
|
+
| 'webworker.asynciterable'
|
|
324
366
|
| 'webworker.importscripts'
|
|
325
367
|
| 'webworker.iterable';
|
|
326
368
|
|
|
@@ -550,6 +592,13 @@ declare namespace TsConfigJson {
|
|
|
550
592
|
*/
|
|
551
593
|
newLine?: CompilerOptions.NewLine;
|
|
552
594
|
|
|
595
|
+
/**
|
|
596
|
+
Disable full type checking (only critical parse and emit errors will be reported).
|
|
597
|
+
|
|
598
|
+
@default false
|
|
599
|
+
*/
|
|
600
|
+
noCheck?: boolean;
|
|
601
|
+
|
|
553
602
|
/**
|
|
554
603
|
Do not emit output.
|
|
555
604
|
|
|
@@ -692,6 +741,13 @@ declare namespace TsConfigJson {
|
|
|
692
741
|
*/
|
|
693
742
|
isolatedModules?: boolean;
|
|
694
743
|
|
|
744
|
+
/**
|
|
745
|
+
Require sufficient annotation on exports so other tools can trivially generate declaration files.
|
|
746
|
+
|
|
747
|
+
@default false
|
|
748
|
+
*/
|
|
749
|
+
isolatedDeclarations?: boolean;
|
|
750
|
+
|
|
695
751
|
/**
|
|
696
752
|
Generates corresponding '.map' file.
|
|
697
753
|
|
|
@@ -805,6 +861,13 @@ declare namespace TsConfigJson {
|
|
|
805
861
|
*/
|
|
806
862
|
noUncheckedIndexedAccess?: boolean;
|
|
807
863
|
|
|
864
|
+
/**
|
|
865
|
+
Report error if failed to find a source file for a side effect import.
|
|
866
|
+
|
|
867
|
+
@default false
|
|
868
|
+
*/
|
|
869
|
+
noUncheckedSideEffectImports?: boolean;
|
|
870
|
+
|
|
808
871
|
/**
|
|
809
872
|
Report errors for fallthrough cases in switch statement.
|
|
810
873
|
|
|
@@ -840,6 +903,11 @@ declare namespace TsConfigJson {
|
|
|
840
903
|
*/
|
|
841
904
|
generateCpuProfile?: string;
|
|
842
905
|
|
|
906
|
+
/**
|
|
907
|
+
Generates an event trace and a list of types.
|
|
908
|
+
*/
|
|
909
|
+
generateTrace?: boolean;
|
|
910
|
+
|
|
843
911
|
/**
|
|
844
912
|
Base directory to resolve non-relative module names.
|
|
845
913
|
*/
|
|
@@ -989,6 +1057,13 @@ declare namespace TsConfigJson {
|
|
|
989
1057
|
*/
|
|
990
1058
|
checkJs?: boolean;
|
|
991
1059
|
|
|
1060
|
+
/**
|
|
1061
|
+
Built-in iterators are instantiated with a `TReturn` type of undefined instead of `any`.
|
|
1062
|
+
|
|
1063
|
+
@default false
|
|
1064
|
+
*/
|
|
1065
|
+
strictBuiltinIteratorReturn?: boolean;
|
|
1066
|
+
|
|
992
1067
|
/**
|
|
993
1068
|
Disable bivariant parameter checking for function types.
|
|
994
1069
|
|
|
@@ -1231,6 +1306,11 @@ declare namespace TsConfigJson {
|
|
|
1231
1306
|
Specifies a list of type declarations to be excluded from auto type acquisition. For example, `['jquery', 'lodash']`.
|
|
1232
1307
|
*/
|
|
1233
1308
|
exclude?: string[];
|
|
1309
|
+
|
|
1310
|
+
/**
|
|
1311
|
+
Disable infering what types should be added based on filenames in a project.
|
|
1312
|
+
*/
|
|
1313
|
+
disableFilenameBasedTypeAcquisition?: boolean;
|
|
1234
1314
|
};
|
|
1235
1315
|
|
|
1236
1316
|
export type References = {
|
|
@@ -1328,8 +1408,23 @@ type TsConfigResult = {
|
|
|
1328
1408
|
};
|
|
1329
1409
|
type Cache<value = any> = Map<string, value>;
|
|
1330
1410
|
|
|
1411
|
+
/**
|
|
1412
|
+
* Finds a tsconfig file, defaulting to `tsconfig.json`, starting from a given path.
|
|
1413
|
+
*
|
|
1414
|
+
* @param searchPath Starting directory (default: `process.cwd()`).
|
|
1415
|
+
* @param configName Config file name (default: `tsconfig.json`).
|
|
1416
|
+
* @param cache Cache for previous results (default: new `Map()`).
|
|
1417
|
+
* @returns The tsconfig file path and parsed contents, or `null` if not found.
|
|
1418
|
+
*/
|
|
1331
1419
|
declare const getTsconfig: (searchPath?: string, configName?: string, cache?: Cache) => TsConfigResult | null;
|
|
1332
1420
|
|
|
1421
|
+
/**
|
|
1422
|
+
* Parses a tsconfig file at a given path
|
|
1423
|
+
*
|
|
1424
|
+
* @param tsconfigPath - Path to the tsconfig file.
|
|
1425
|
+
* @param cache - Cache for storing parsed tsconfig results (default: new `Map()`).
|
|
1426
|
+
* @returns The parsed and resolved tsconfig JSON.
|
|
1427
|
+
*/
|
|
1333
1428
|
declare const parseTsconfig: (tsconfigPath: string, cache?: Cache<string>) => TsConfigJsonResolved;
|
|
1334
1429
|
|
|
1335
1430
|
/**
|
package/dist/index.d.mts
CHANGED
|
@@ -32,8 +32,8 @@ type Includes<Value extends readonly any[], Item> =
|
|
|
32
32
|
@category Utilities
|
|
33
33
|
*/
|
|
34
34
|
type IsEqual<A, B> =
|
|
35
|
-
(<G>() => G extends A ? 1 : 2) extends
|
|
36
|
-
(<G>() => G extends B ? 1 : 2)
|
|
35
|
+
(<G>() => G extends A & G | G ? 1 : 2) extends
|
|
36
|
+
(<G>() => G extends B & G | G ? 1 : 2)
|
|
37
37
|
? true
|
|
38
38
|
: false;
|
|
39
39
|
|
|
@@ -173,6 +173,8 @@ declare namespace TsConfigJson {
|
|
|
173
173
|
| 'ES2020'
|
|
174
174
|
| 'ES2021'
|
|
175
175
|
| 'ES2022'
|
|
176
|
+
| 'ES2023'
|
|
177
|
+
| 'ES2024'
|
|
176
178
|
| 'ESNext'
|
|
177
179
|
// Lowercase alternatives
|
|
178
180
|
| 'es3'
|
|
@@ -186,6 +188,8 @@ declare namespace TsConfigJson {
|
|
|
186
188
|
| 'es2020'
|
|
187
189
|
| 'es2021'
|
|
188
190
|
| 'es2022'
|
|
191
|
+
| 'es2023'
|
|
192
|
+
| 'es2024'
|
|
189
193
|
| 'esnext';
|
|
190
194
|
|
|
191
195
|
// eslint-disable-next-line unicorn/prevent-abbreviations
|
|
@@ -206,6 +210,8 @@ declare namespace TsConfigJson {
|
|
|
206
210
|
| 'ES2016'
|
|
207
211
|
| 'ES2016.Array.Include'
|
|
208
212
|
| 'ES2017'
|
|
213
|
+
| 'ES2017.ArrayBuffer'
|
|
214
|
+
| 'ES2017.Date'
|
|
209
215
|
| 'ES2017.Intl'
|
|
210
216
|
| 'ES2017.Object'
|
|
211
217
|
| 'ES2017.SharedMemory'
|
|
@@ -230,6 +236,7 @@ declare namespace TsConfigJson {
|
|
|
230
236
|
| 'ES2020.SharedMemory'
|
|
231
237
|
| 'ES2020.Intl'
|
|
232
238
|
| 'ES2021'
|
|
239
|
+
| 'ES2021.Intl'
|
|
233
240
|
| 'ES2021.Promise'
|
|
234
241
|
| 'ES2021.String'
|
|
235
242
|
| 'ES2021.WeakRef'
|
|
@@ -238,14 +245,29 @@ declare namespace TsConfigJson {
|
|
|
238
245
|
| 'ES2022.Error'
|
|
239
246
|
| 'ES2022.Intl'
|
|
240
247
|
| 'ES2022.Object'
|
|
241
|
-
| 'ES2022.SharedMemory'
|
|
242
|
-
| 'ES2022.String'
|
|
243
248
|
| 'ES2022.RegExp'
|
|
249
|
+
| 'ES2022.String'
|
|
250
|
+
| 'ES2023'
|
|
251
|
+
| 'ES2023.Array'
|
|
252
|
+
| 'ES2023.Collection'
|
|
253
|
+
| 'ES2023.Intl'
|
|
254
|
+
| 'ES2024'
|
|
255
|
+
| 'ES2024.ArrayBuffer'
|
|
256
|
+
| 'ES2024.Collection'
|
|
257
|
+
| 'ES2024.Object'
|
|
258
|
+
| 'ES2024.Promise'
|
|
259
|
+
| 'ES2024.Regexp'
|
|
260
|
+
| 'ES2024.SharedMemory'
|
|
261
|
+
| 'ES2024.String'
|
|
244
262
|
| 'ESNext'
|
|
245
263
|
| 'ESNext.Array'
|
|
246
264
|
| 'ESNext.AsyncIterable'
|
|
247
265
|
| 'ESNext.BigInt'
|
|
266
|
+
| 'ESNext.Collection'
|
|
267
|
+
| 'ESNext.Decorators'
|
|
268
|
+
| 'ESNext.Disposable'
|
|
248
269
|
| 'ESNext.Intl'
|
|
270
|
+
| 'ESNext.Iterator'
|
|
249
271
|
| 'ESNext.Promise'
|
|
250
272
|
| 'ESNext.String'
|
|
251
273
|
| 'ESNext.Symbol'
|
|
@@ -254,6 +276,7 @@ declare namespace TsConfigJson {
|
|
|
254
276
|
| 'DOM.Iterable'
|
|
255
277
|
| 'ScriptHost'
|
|
256
278
|
| 'WebWorker'
|
|
279
|
+
| 'WebWorker.AsyncIterable'
|
|
257
280
|
| 'WebWorker.ImportScripts'
|
|
258
281
|
| 'WebWorker.Iterable'
|
|
259
282
|
// Lowercase alternatives
|
|
@@ -273,6 +296,8 @@ declare namespace TsConfigJson {
|
|
|
273
296
|
| 'es2016'
|
|
274
297
|
| 'es2016.array.include'
|
|
275
298
|
| 'es2017'
|
|
299
|
+
| 'es2017.arraybuffer'
|
|
300
|
+
| 'es2017.date'
|
|
276
301
|
| 'es2017.intl'
|
|
277
302
|
| 'es2017.object'
|
|
278
303
|
| 'es2017.sharedmemory'
|
|
@@ -297,6 +322,7 @@ declare namespace TsConfigJson {
|
|
|
297
322
|
| 'es2020.sharedmemory'
|
|
298
323
|
| 'es2020.intl'
|
|
299
324
|
| 'es2021'
|
|
325
|
+
| 'es2021.intl'
|
|
300
326
|
| 'es2021.promise'
|
|
301
327
|
| 'es2021.string'
|
|
302
328
|
| 'es2021.weakref'
|
|
@@ -305,14 +331,29 @@ declare namespace TsConfigJson {
|
|
|
305
331
|
| 'es2022.error'
|
|
306
332
|
| 'es2022.intl'
|
|
307
333
|
| 'es2022.object'
|
|
308
|
-
| 'es2022.sharedmemory'
|
|
309
|
-
| 'es2022.string'
|
|
310
334
|
| 'es2022.regexp'
|
|
335
|
+
| 'es2022.string'
|
|
336
|
+
| 'es2023'
|
|
337
|
+
| 'es2023.array'
|
|
338
|
+
| 'es2023.collection'
|
|
339
|
+
| 'es2023.intl'
|
|
340
|
+
| 'es2024'
|
|
341
|
+
| 'es2024.arraybuffer'
|
|
342
|
+
| 'es2024.collection'
|
|
343
|
+
| 'es2024.object'
|
|
344
|
+
| 'es2024.promise'
|
|
345
|
+
| 'es2024.regexp'
|
|
346
|
+
| 'es2024.sharedmemory'
|
|
347
|
+
| 'es2024.string'
|
|
311
348
|
| 'esnext'
|
|
312
349
|
| 'esnext.array'
|
|
313
350
|
| 'esnext.asynciterable'
|
|
314
351
|
| 'esnext.bigint'
|
|
352
|
+
| 'esnext.collection'
|
|
353
|
+
| 'esnext.decorators'
|
|
354
|
+
| 'esnext.disposable'
|
|
315
355
|
| 'esnext.intl'
|
|
356
|
+
| 'esnext.iterator'
|
|
316
357
|
| 'esnext.promise'
|
|
317
358
|
| 'esnext.string'
|
|
318
359
|
| 'esnext.symbol'
|
|
@@ -321,6 +362,7 @@ declare namespace TsConfigJson {
|
|
|
321
362
|
| 'dom.iterable'
|
|
322
363
|
| 'scripthost'
|
|
323
364
|
| 'webworker'
|
|
365
|
+
| 'webworker.asynciterable'
|
|
324
366
|
| 'webworker.importscripts'
|
|
325
367
|
| 'webworker.iterable';
|
|
326
368
|
|
|
@@ -550,6 +592,13 @@ declare namespace TsConfigJson {
|
|
|
550
592
|
*/
|
|
551
593
|
newLine?: CompilerOptions.NewLine;
|
|
552
594
|
|
|
595
|
+
/**
|
|
596
|
+
Disable full type checking (only critical parse and emit errors will be reported).
|
|
597
|
+
|
|
598
|
+
@default false
|
|
599
|
+
*/
|
|
600
|
+
noCheck?: boolean;
|
|
601
|
+
|
|
553
602
|
/**
|
|
554
603
|
Do not emit output.
|
|
555
604
|
|
|
@@ -692,6 +741,13 @@ declare namespace TsConfigJson {
|
|
|
692
741
|
*/
|
|
693
742
|
isolatedModules?: boolean;
|
|
694
743
|
|
|
744
|
+
/**
|
|
745
|
+
Require sufficient annotation on exports so other tools can trivially generate declaration files.
|
|
746
|
+
|
|
747
|
+
@default false
|
|
748
|
+
*/
|
|
749
|
+
isolatedDeclarations?: boolean;
|
|
750
|
+
|
|
695
751
|
/**
|
|
696
752
|
Generates corresponding '.map' file.
|
|
697
753
|
|
|
@@ -805,6 +861,13 @@ declare namespace TsConfigJson {
|
|
|
805
861
|
*/
|
|
806
862
|
noUncheckedIndexedAccess?: boolean;
|
|
807
863
|
|
|
864
|
+
/**
|
|
865
|
+
Report error if failed to find a source file for a side effect import.
|
|
866
|
+
|
|
867
|
+
@default false
|
|
868
|
+
*/
|
|
869
|
+
noUncheckedSideEffectImports?: boolean;
|
|
870
|
+
|
|
808
871
|
/**
|
|
809
872
|
Report errors for fallthrough cases in switch statement.
|
|
810
873
|
|
|
@@ -840,6 +903,11 @@ declare namespace TsConfigJson {
|
|
|
840
903
|
*/
|
|
841
904
|
generateCpuProfile?: string;
|
|
842
905
|
|
|
906
|
+
/**
|
|
907
|
+
Generates an event trace and a list of types.
|
|
908
|
+
*/
|
|
909
|
+
generateTrace?: boolean;
|
|
910
|
+
|
|
843
911
|
/**
|
|
844
912
|
Base directory to resolve non-relative module names.
|
|
845
913
|
*/
|
|
@@ -989,6 +1057,13 @@ declare namespace TsConfigJson {
|
|
|
989
1057
|
*/
|
|
990
1058
|
checkJs?: boolean;
|
|
991
1059
|
|
|
1060
|
+
/**
|
|
1061
|
+
Built-in iterators are instantiated with a `TReturn` type of undefined instead of `any`.
|
|
1062
|
+
|
|
1063
|
+
@default false
|
|
1064
|
+
*/
|
|
1065
|
+
strictBuiltinIteratorReturn?: boolean;
|
|
1066
|
+
|
|
992
1067
|
/**
|
|
993
1068
|
Disable bivariant parameter checking for function types.
|
|
994
1069
|
|
|
@@ -1231,6 +1306,11 @@ declare namespace TsConfigJson {
|
|
|
1231
1306
|
Specifies a list of type declarations to be excluded from auto type acquisition. For example, `['jquery', 'lodash']`.
|
|
1232
1307
|
*/
|
|
1233
1308
|
exclude?: string[];
|
|
1309
|
+
|
|
1310
|
+
/**
|
|
1311
|
+
Disable infering what types should be added based on filenames in a project.
|
|
1312
|
+
*/
|
|
1313
|
+
disableFilenameBasedTypeAcquisition?: boolean;
|
|
1234
1314
|
};
|
|
1235
1315
|
|
|
1236
1316
|
export type References = {
|
|
@@ -1328,8 +1408,23 @@ type TsConfigResult = {
|
|
|
1328
1408
|
};
|
|
1329
1409
|
type Cache<value = any> = Map<string, value>;
|
|
1330
1410
|
|
|
1411
|
+
/**
|
|
1412
|
+
* Finds a tsconfig file, defaulting to `tsconfig.json`, starting from a given path.
|
|
1413
|
+
*
|
|
1414
|
+
* @param searchPath Starting directory (default: `process.cwd()`).
|
|
1415
|
+
* @param configName Config file name (default: `tsconfig.json`).
|
|
1416
|
+
* @param cache Cache for previous results (default: new `Map()`).
|
|
1417
|
+
* @returns The tsconfig file path and parsed contents, or `null` if not found.
|
|
1418
|
+
*/
|
|
1331
1419
|
declare const getTsconfig: (searchPath?: string, configName?: string, cache?: Cache) => TsConfigResult | null;
|
|
1332
1420
|
|
|
1421
|
+
/**
|
|
1422
|
+
* Parses a tsconfig file at a given path
|
|
1423
|
+
*
|
|
1424
|
+
* @param tsconfigPath - Path to the tsconfig file.
|
|
1425
|
+
* @param cache - Cache for storing parsed tsconfig results (default: new `Map()`).
|
|
1426
|
+
* @returns The parsed and resolved tsconfig JSON.
|
|
1427
|
+
*/
|
|
1333
1428
|
declare const parseTsconfig: (tsconfigPath: string, cache?: Cache<string>) => TsConfigJsonResolved;
|
|
1334
1429
|
|
|
1335
1430
|
/**
|
package/dist/index.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
var
|
|
2
|
-
`;break;case 114:c+="\r";break;case 116:c+=" ";break;case 117:const j=O(4
|
|
3
|
-
`),f++,p=n,r=14;switch(c){case 123:return n++,r=1;case 125:return n++,r=2;case 91:return n++,r=3;case 93:return n++,r=4;case 58:return n++,r=6;case 44:return n++,r=5;case 34:return n++,
|
|
4
|
-
`+" ".repeat(t)),new Array(
|
|
5
|
-
`+" ".repeat(t)),new Array(
|
|
6
|
-
`+" ".repeat(t)),new Array(
|
|
7
|
-
`+" ".repeat(t));var x;(function(e){e.DEFAULT={allowTrailingComma:!1}})(x||(x={}));function $e(e,t=[],i=x.DEFAULT){let n=null,o=[];const s=[];function r(u){Array.isArray(o)?o.push(u):n!==null&&(o[n]=u)}return l(r,"onValue"),ye(e,{onObjectBegin:l(()=>{const u={};r(u),s.push(o),o=u,n=null},"onObjectBegin"),onObjectProperty:l(u=>{n=u},"onObjectProperty"),onObjectEnd:l(()=>{o=s.pop()},"onObjectEnd"),onArrayBegin:l(()=>{const u=[];r(u),s.push(o),o=u,n=null},"onArrayBegin"),onArrayEnd:l(()=>{o=s.pop()},"onArrayEnd"),onLiteralValue:r,onError:l((u,p,T)=>{t.push({error:u,offset:p,length:T})},"onError")},i),o[0]}l($e,"parse$1");function ye(e,t,i=x.DEFAULT){const n=_e(e,!1),o=[];function s(k){return k?()=>k(n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter()):()=>!0}l(s,"toNoArgVisit");function r(k){return k?()=>k(n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter(),()=>o.slice()):()=>!0}l(r,"toNoArgVisitWithPath");function f(k){return k?_=>k(_,n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter()):()=>!0}l(f,"toOneArgVisit");function u(k){return k?_=>k(_,n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter(),()=>o.slice()):()=>!0}l(u,"toOneArgVisitWithPath");const p=r(t.onObjectBegin),T=u(t.onObjectProperty),w=s(t.onObjectEnd),O=r(t.onArrayBegin),v=s(t.onArrayEnd),A=u(t.onLiteralValue),b=f(t.onSeparator),$=s(t.onComment),U=f(t.onError),E=i&&i.disallowComments,c=i&&i.allowTrailingComma;function m(){for(;;){const k=n.scan();switch(n.getTokenError()){case 4:g(14);break;case 5:g(15);break;case 3:g(13);break;case 1:E||g(11);break;case 2:g(12);break;case 6:g(16);break}switch(k){case 12:case 13:E?g(10):$();break;case 16:g(1);break;case 15:case 14:break;default:return k}}}l(m,"scanNext");function g(k,_=[],C=[]){if(U(k),_.length+C.length>0){let d=n.getToken();for(;d!==17;){if(_.indexOf(d)!==-1){m();break}else if(C.indexOf(d)!==-1)break;d=m()}}}l(g,"handleError");function y(k){const _=n.getTokenValue();return k?A(_):(T(_),o.push(_)),m(),!0}l(y,"parseString");function j(){switch(n.getToken()){case 11:const k=n.getTokenValue();let _=Number(k);isNaN(_)&&(g(2),_=0),A(_);break;case 7:A(null);break;case 8:A(!0);break;case 9:A(!1);break;default:return!1}return m(),!0}l(j,"parseLiteral");function ke(){return n.getToken()!==10?(g(3,[],[2,5]),!1):(y(!1),n.getToken()===6?(b(":"),m(),V()||g(4,[],[2,5])):g(5,[],[2,5]),o.pop(),!0)}l(ke,"parseProperty");function be(){p(),m();let k=!1;for(;n.getToken()!==2&&n.getToken()!==17;){if(n.getToken()===5){if(k||g(4,[],[]),b(","),m(),n.getToken()===2&&c)break}else k&&g(6,[],[]);ke()||g(4,[],[2,5]),k=!0}return w(),n.getToken()!==2?g(7,[2],[]):m(),!0}l(be,"parseObject");function we(){O(),m();let k=!0,_=!1;for(;n.getToken()!==4&&n.getToken()!==17;){if(n.getToken()===5){if(_||g(4,[],[]),b(","),m(),n.getToken()===4&&c)break}else _&&g(6,[],[]);k?(o.push(0),k=!1):o[o.length-1]++,V()||g(4,[],[4,5]),_=!0}return v(),k||o.pop(),n.getToken()!==4?g(8,[4],[]):m(),!0}l(we,"parseArray");function V(){switch(n.getToken()){case 3:return we();case 1:return be();case 10:return y(!0);default:return j()}}return l(V,"parseValue"),m(),n.getToken()===17?i.allowEmptyContent?!0:(g(4,[],[]),!1):V()?(n.getToken()!==17&&g(9,[],[]),!0):(g(4,[],[]),!1)}l(ye,"visit");var ie;(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"})(ie||(ie={}));var oe;(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"})(oe||(oe={}));const Be=$e;var se;(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"})(se||(se={}));const le=l((e,t)=>Be(je(t,e,"utf8")),"readJsonc"),z=Symbol("implicitBaseUrl"),L="${configDir}",Fe=l(()=>{const{findPnpApi:e}=Te;return e&&e(process.cwd())},"getPnpApi"),Q=l((e,t,i,n)=>{const o=`resolveFromPackageJsonPath:${e}:${t}:${i}`;if(n!=null&&n.has(o))return n.get(o);const s=le(e,n);if(!s)return;let r=t||"tsconfig.json";if(!i&&s.exports)try{const[f]=Ae(s.exports,t,["require","types"]);r=f}catch{return!1}else!t&&s.tsconfig&&(r=s.tsconfig);return r=a.join(e,"..",r),n==null||n.set(o,r),r},"resolveFromPackageJsonPath"),H="package.json",X="tsconfig.json",Le=l((e,t,i)=>{let n=e;if(e===".."&&(n=a.join(n,X)),e[0]==="."&&(n=a.resolve(t,n)),a.isAbsolute(n)){if(F(i,n)){if(P(i,n).isFile())return n}else if(!n.endsWith(".json")){const v=`${n}.json`;if(F(i,v))return v}return}const[o,...s]=e.split("/"),r=o[0]==="@"?`${o}/${s.shift()}`:o,f=s.join("/"),u=Fe();if(u){const{resolveRequest:v}=u;try{if(r===e){const A=v(a.join(r,H),t);if(A){const b=Q(A,f,!1,i);if(b&&F(i,b))return b}}else{let A;try{A=v(e,t,{extensions:[".json"]})}catch{A=v(a.join(e,X),t)}if(A)return A}}catch{}}const p=ne(a.resolve(t),a.join("node_modules",r),i);if(!p||!P(i,p).isDirectory())return;const T=a.join(p,H);if(F(i,T)){const v=Q(T,f,!1,i);if(v===!1)return;if(v&&F(i,v)&&P(i,v).isFile())return v}const w=a.join(p,f),O=w.endsWith(".json");if(!O){const v=`${w}.json`;if(F(i,v))return v}if(F(i,w)){if(P(i,w).isDirectory()){const v=a.join(w,H);if(F(i,v)){const b=Q(v,"",!0,i);if(b&&F(i,b))return b}const A=a.join(w,X);if(F(i,A))return A}else if(O)return w}},"resolveExtendsPath"),Y=l((e,t)=>M(a.relative(e,t)),"pathRelative"),re=["files","include","exclude"],Ue=l((e,t,i,n)=>{const o=Le(e,t,n);if(!o)throw new Error(`File '${e}' not found.`);if(i.has(o))throw new Error(`Circularity detected while resolving configuration: ${o}`);i.add(o);const s=a.dirname(o),r=ue(o,n,i);delete r.references;const{compilerOptions:f}=r;if(f){const{baseUrl:u}=f;u&&!u.startsWith(L)&&(f.baseUrl=B(a.relative(t,a.join(s,u)))||"./");let{outDir:p}=f;p&&(p.startsWith(L)||(p=a.relative(t,a.join(s,p))),f.outDir=B(p)||"./")}for(const u of re){const p=r[u];p&&(r[u]=p.map(T=>T.startsWith(L)?T:B(a.relative(t,a.join(s,T)))))}return r},"resolveExtends"),Ee=["outDir","declarationDir"],ue=l((e,t,i=new Set)=>{let n;try{n=le(e,t)||{}}catch{throw new Error(`Cannot resolve tsconfig at path: ${e}`)}if(typeof n!="object")throw new SyntaxError(`Failed to parse tsconfig at: ${e}`);const o=a.dirname(e);if(n.compilerOptions){const{compilerOptions:s}=n;s.paths&&!s.baseUrl&&(s[z]=o)}if(n.extends){const s=Array.isArray(n.extends)?n.extends:[n.extends];delete n.extends;for(const r of s.reverse()){const f=Ue(r,o,new Set(i),t),u={...f,...n,compilerOptions:{...f.compilerOptions,...n.compilerOptions}};f.watchOptions&&(u.watchOptions={...f.watchOptions,...n.watchOptions}),n=u}}if(n.compilerOptions){const{compilerOptions:s}=n,r=["baseUrl","rootDir"];for(const f of r){const u=s[f];if(u&&!u.startsWith(L)){const p=a.resolve(o,u),T=Y(o,p);s[f]=T}}for(const f of Ee){let u=s[f];u&&(Array.isArray(n.exclude)||(n.exclude=[]),n.exclude.includes(u)||n.exclude.push(u),u.startsWith(L)||(u=M(u)),s[f]=u)}}else n.compilerOptions={};if(n.include?(n.include=n.include.map(B),n.files&&delete n.files):n.files&&(n.files=n.files.map(s=>s.startsWith(L)?s:M(s))),n.watchOptions){const{watchOptions:s}=n;s.excludeDirectories&&(s.excludeDirectories=s.excludeDirectories.map(r=>B(a.resolve(o,r))))}return n},"_parseTsconfig"),I=l((e,t)=>{if(e.startsWith(L))return B(a.join(t,e.slice(L.length)))},"interpolateConfigDir"),Ne=["outDir","declarationDir","outFile","rootDir","baseUrl","tsBuildInfoFile"],fe=l((e,t=new Map)=>{const i=a.resolve(e),n=ue(i,t),o=a.dirname(i),{compilerOptions:s}=n;if(s){for(const f of Ne){const u=s[f];if(u){const p=I(u,o);s[f]=p?Y(o,p):u}}for(const f of["rootDirs","typeRoots"]){const u=s[f];u&&(s[f]=u.map(p=>{const T=I(p,o);return T?Y(o,T):p}))}const{paths:r}=s;if(r)for(const f of Object.keys(r))r[f]=r[f].map(u=>{var p;return(p=I(u,o))!=null?p:u})}for(const r of re){const f=n[r];f&&(n[r]=f.map(u=>{var p;return(p=I(u,o))!=null?p:u}))}return n},"parseTsconfig"),De=l((e=process.cwd(),t="tsconfig.json",i=new Map)=>{const n=ne(B(e),t,i);if(!n)return null;const o=fe(n,i);return{path:n,config:o}},"getTsconfig"),he=/\*/g,ce=l((e,t)=>{const i=e.match(he);if(i&&i.length>1)throw new Error(t)},"assertStarCount"),de=l(e=>{if(e.includes("*")){const[t,i]=e.split("*");return{prefix:t,suffix:i}}return e},"parsePattern"),Pe=l(({prefix:e,suffix:t},i)=>i.startsWith(e)&&i.endsWith(t),"isPatternMatch"),xe=l((e,t,i)=>Object.entries(e).map(([n,o])=>(ce(n,`Pattern '${n}' can have at most one '*' character.`),{pattern:de(n),substitutions:o.map(s=>{if(ce(s,`Substitution '${s}' in pattern '${n}' can have at most one '*' character.`),!t&&!J.test(s))throw new Error("Non-relative paths are not allowed when 'baseUrl' is not set. Did you forget a leading './'?");return a.resolve(i,s)})})),"parsePaths"),Ie=l(e=>{const{compilerOptions:t}=e.config;if(!t)return null;const{baseUrl:i,paths:n}=t;if(!i&&!n)return null;const o=z in t&&t[z],s=a.resolve(a.dirname(e.path),i||o||"."),r=n?xe(n,i,s):[];return f=>{if(J.test(f))return[];const u=[];for(const O of r){if(O.pattern===f)return O.substitutions.map(B);typeof O.pattern!="string"&&u.push(O)}let p,T=-1;for(const O of u)Pe(O.pattern,f)&&O.pattern.prefix.length>T&&(T=O.pattern.prefix.length,p=O);if(!p)return i?[B(a.join(s,f))]:[];const w=f.slice(p.pattern.prefix.length,f.length-p.pattern.suffix.length);return p.substitutions.map(O=>B(O.replace("*",w)))}},"createPathsMatcher"),pe=l(e=>{let t="";for(let i=0;i<e.length;i+=1){const n=e[i],o=n.toUpperCase();t+=n===o?n.toLowerCase():o}return t},"s"),Se=65,We=97,Ve=l(()=>Math.floor(Math.random()*26),"m"),Re=l(e=>Array.from({length:e},()=>String.fromCodePoint(Ve()+(Math.random()>.5?Se:We))).join(""),"S"),Je=l((e=Oe)=>{const t=process.execPath;if(e.existsSync(t))return!e.existsSync(pe(t));const i=`/${Re(10)}`;e.writeFileSync(i,"");const n=!e.existsSync(pe(i));return e.unlinkSync(i),n},"l"),{join:S}=a.posix,Z={ts:[".ts",".tsx",".d.ts"],cts:[".cts",".d.cts"],mts:[".mts",".d.mts"]},Me=l(e=>{const t=[...Z.ts],i=[...Z.cts],n=[...Z.mts];return e!=null&&e.allowJs&&(t.push(".js",".jsx"),i.push(".cjs"),n.push(".mjs")),[...t,...i,...n]},"getSupportedExtensions"),Ge=l(e=>{const t=[];if(!e)return t;const{outDir:i,declarationDir:n}=e;return i&&t.push(i),n&&t.push(n),t},"getDefaultExcludeSpec"),ae=l(e=>e.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`),"escapeForRegexp"),ze=["node_modules","bower_components","jspm_packages"],q=`(?!(${ze.join("|")})(/|$))`,Qe=/(?:^|\/)[^.*?]+$/,ge="**/*",W="[^/]",K="[^./]",me=process.platform==="win32",He=l(({config:e,path:t},i=Je())=>{if("extends"in e)throw new Error("tsconfig#extends must be resolved. Use getTsconfig or parseTsconfig to resolve it.");if(!a.isAbsolute(t))throw new Error("The tsconfig path must be absolute");me&&(t=B(t));const n=a.dirname(t),{files:o,include:s,exclude:r,compilerOptions:f}=e,u=o==null?void 0:o.map(b=>S(n,b)),p=Me(f),T=i?"":"i",O=(r||Ge(f)).map(b=>{const $=S(n,b),U=ae($).replaceAll(String.raw`\*\*/`,"(.+/)?").replaceAll(String.raw`\*`,`${W}*`).replaceAll(String.raw`\?`,W);return new RegExp(`^${U}($|/)`,T)}),v=o||s?s:[ge],A=v?v.map(b=>{let $=S(n,b);Qe.test($)&&($=S($,ge));const U=ae($).replaceAll(String.raw`/\*\*`,`(/${q}${K}${W}*)*?`).replaceAll(/(\/)?\\\*/g,(E,c)=>{const m=`(${K}|(\\.(?!min\\.js$))?)*`;return c?`/${q}${K}${m}`:m}).replaceAll(/(\/)?\\\?/g,(E,c)=>{const m=W;return c?`/${q}${m}`:m});return new RegExp(`^${U}$`,T)}):void 0;return b=>{if(!a.isAbsolute(b))throw new Error("filePath must be absolute");if(me&&(b=B(b)),u!=null&&u.includes(b))return e;if(!(!p.some($=>b.endsWith($))||O.some($=>$.test(b)))&&A&&A.some($=>$.test(b)))return e}},"createFilesMatcher");export{He as createFilesMatcher,Ie as createPathsMatcher,De as getTsconfig,fe as parseTsconfig};
|
|
1
|
+
var Te=Object.defineProperty;var l=(e,t)=>Te(e,"name",{value:t,configurable:!0});import a from"node:path";import ee from"node:fs";import ve from"node:module";import{resolveExports as Ae}from"resolve-pkg-maps";import Oe from"fs";function B(e){return e.startsWith("\\\\?\\")?e:e.replace(/\\/g,"/")}l(B,"slash");const R=l(e=>{const t=ee[e];return(i,...n)=>{const s=`${e}:${n.join(":")}`;let o=i==null?void 0:i.get(s);return o===void 0&&(o=Reflect.apply(t,ee,n),i==null||i.set(s,o)),o}},"cacheFs"),F=R("existsSync"),je=R("readFileSync"),x=R("statSync"),ne=l((e,t,i)=>{for(;;){const n=a.posix.join(e,t);if(F(i,n))return n;const s=a.dirname(e);if(s===e)return;e=s}},"findUp"),J=/^\.{1,2}(\/.*)?$/,M=l(e=>{const t=B(e);return J.test(t)?t:`./${t}`},"normalizeRelativePath");function _e(e,t=!1){const i=e.length;let n=0,s="",o=0,r=16,f=0,u=0,p=0,v=0,w=0;function O(c,m){let g=0,y=0;for(;g<c;){let j=e.charCodeAt(n);if(j>=48&&j<=57)y=y*16+j-48;else if(j>=65&&j<=70)y=y*16+j-65+10;else if(j>=97&&j<=102)y=y*16+j-97+10;else break;n++,g++}return g<c&&(y=-1),y}l(O,"scanHexDigits");function T(c){n=c,s="",o=0,r=16,w=0}l(T,"setPosition");function A(){let c=n;if(e.charCodeAt(n)===48)n++;else for(n++;n<e.length&&d(e.charCodeAt(n));)n++;if(n<e.length&&e.charCodeAt(n)===46)if(n++,n<e.length&&d(e.charCodeAt(n)))for(n++;n<e.length&&d(e.charCodeAt(n));)n++;else return w=3,e.substring(c,n);let m=n;if(n<e.length&&(e.charCodeAt(n)===69||e.charCodeAt(n)===101))if(n++,(n<e.length&&e.charCodeAt(n)===43||e.charCodeAt(n)===45)&&n++,n<e.length&&d(e.charCodeAt(n))){for(n++;n<e.length&&d(e.charCodeAt(n));)n++;m=n}else w=3;return e.substring(c,m)}l(A,"scanNumber");function b(){let c="",m=n;for(;;){if(n>=i){c+=e.substring(m,n),w=2;break}const g=e.charCodeAt(n);if(g===34){c+=e.substring(m,n),n++;break}if(g===92){if(c+=e.substring(m,n),n++,n>=i){w=2;break}switch(e.charCodeAt(n++)){case 34:c+='"';break;case 92:c+="\\";break;case 47:c+="/";break;case 98:c+="\b";break;case 102:c+="\f";break;case 110:c+=`
|
|
2
|
+
`;break;case 114:c+="\r";break;case 116:c+=" ";break;case 117:const j=O(4);j>=0?c+=String.fromCharCode(j):w=4;break;default:w=5}m=n;continue}if(g>=0&&g<=31)if(D(g)){c+=e.substring(m,n),w=2;break}else w=6;n++}return c}l(b,"scanString");function $(){if(s="",w=0,o=n,u=f,v=p,n>=i)return o=i,r=17;let c=e.charCodeAt(n);if(G(c)){do n++,s+=String.fromCharCode(c),c=e.charCodeAt(n);while(G(c));return r=15}if(D(c))return n++,s+=String.fromCharCode(c),c===13&&e.charCodeAt(n)===10&&(n++,s+=`
|
|
3
|
+
`),f++,p=n,r=14;switch(c){case 123:return n++,r=1;case 125:return n++,r=2;case 91:return n++,r=3;case 93:return n++,r=4;case 58:return n++,r=6;case 44:return n++,r=5;case 34:return n++,s=b(),r=10;case 47:const m=n-1;if(e.charCodeAt(n+1)===47){for(n+=2;n<i&&!D(e.charCodeAt(n));)n++;return s=e.substring(m,n),r=12}if(e.charCodeAt(n+1)===42){n+=2;const g=i-1;let y=!1;for(;n<g;){const j=e.charCodeAt(n);if(j===42&&e.charCodeAt(n+1)===47){n+=2,y=!0;break}n++,D(j)&&(j===13&&e.charCodeAt(n)===10&&n++,f++,p=n)}return y||(n++,w=1),s=e.substring(m,n),r=13}return s+=String.fromCharCode(c),n++,r=16;case 45:if(s+=String.fromCharCode(c),n++,n===i||!d(e.charCodeAt(n)))return r=16;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return s+=A(),r=11;default:for(;n<i&&U(c);)n++,c=e.charCodeAt(n);if(o!==n){switch(s=e.substring(o,n),s){case"true":return r=8;case"false":return r=9;case"null":return r=7}return r=16}return s+=String.fromCharCode(c),n++,r=16}}l($,"scanNext");function U(c){if(G(c)||D(c))return!1;switch(c){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}l(U,"isUnknownContentCharacter");function E(){let c;do c=$();while(c>=12&&c<=15);return c}return l(E,"scanNextNonTrivia"),{setPosition:T,getPosition:l(()=>n,"getPosition"),scan:t?E:$,getToken:l(()=>r,"getToken"),getTokenValue:l(()=>s,"getTokenValue"),getTokenOffset:l(()=>o,"getTokenOffset"),getTokenLength:l(()=>n-o,"getTokenLength"),getTokenStartLine:l(()=>u,"getTokenStartLine"),getTokenStartCharacter:l(()=>o-v,"getTokenStartCharacter"),getTokenError:l(()=>w,"getTokenError")}}l(_e,"createScanner");function G(e){return e===32||e===9}l(G,"isWhiteSpace");function D(e){return e===10||e===13}l(D,"isLineBreak");function d(e){return e>=48&&e<=57}l(d,"isDigit");var te;(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"})(te||(te={})),new Array(20).fill(0).map((e,t)=>" ".repeat(t));const N=200;new Array(N).fill(0).map((e,t)=>`
|
|
4
|
+
`+" ".repeat(t)),new Array(N).fill(0).map((e,t)=>"\r"+" ".repeat(t)),new Array(N).fill(0).map((e,t)=>`\r
|
|
5
|
+
`+" ".repeat(t)),new Array(N).fill(0).map((e,t)=>`
|
|
6
|
+
`+" ".repeat(t)),new Array(N).fill(0).map((e,t)=>"\r"+" ".repeat(t)),new Array(N).fill(0).map((e,t)=>`\r
|
|
7
|
+
`+" ".repeat(t));var P;(function(e){e.DEFAULT={allowTrailingComma:!1}})(P||(P={}));function $e(e,t=[],i=P.DEFAULT){let n=null,s=[];const o=[];function r(u){Array.isArray(s)?s.push(u):n!==null&&(s[n]=u)}return l(r,"onValue"),ye(e,{onObjectBegin:l(()=>{const u={};r(u),o.push(s),s=u,n=null},"onObjectBegin"),onObjectProperty:l(u=>{n=u},"onObjectProperty"),onObjectEnd:l(()=>{s=o.pop()},"onObjectEnd"),onArrayBegin:l(()=>{const u=[];r(u),o.push(s),s=u,n=null},"onArrayBegin"),onArrayEnd:l(()=>{s=o.pop()},"onArrayEnd"),onLiteralValue:r,onError:l((u,p,v)=>{t.push({error:u,offset:p,length:v})},"onError")},i),s[0]}l($e,"parse$1");function ye(e,t,i=P.DEFAULT){const n=_e(e,!1),s=[];function o(k){return k?()=>k(n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter()):()=>!0}l(o,"toNoArgVisit");function r(k){return k?()=>k(n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter(),()=>s.slice()):()=>!0}l(r,"toNoArgVisitWithPath");function f(k){return k?_=>k(_,n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter()):()=>!0}l(f,"toOneArgVisit");function u(k){return k?_=>k(_,n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter(),()=>s.slice()):()=>!0}l(u,"toOneArgVisitWithPath");const p=r(t.onObjectBegin),v=u(t.onObjectProperty),w=o(t.onObjectEnd),O=r(t.onArrayBegin),T=o(t.onArrayEnd),A=u(t.onLiteralValue),b=f(t.onSeparator),$=o(t.onComment),U=f(t.onError),E=i&&i.disallowComments,c=i&&i.allowTrailingComma;function m(){for(;;){const k=n.scan();switch(n.getTokenError()){case 4:g(14);break;case 5:g(15);break;case 3:g(13);break;case 1:E||g(11);break;case 2:g(12);break;case 6:g(16);break}switch(k){case 12:case 13:E?g(10):$();break;case 16:g(1);break;case 15:case 14:break;default:return k}}}l(m,"scanNext");function g(k,_=[],C=[]){if(U(k),_.length+C.length>0){let h=n.getToken();for(;h!==17;){if(_.indexOf(h)!==-1){m();break}else if(C.indexOf(h)!==-1)break;h=m()}}}l(g,"handleError");function y(k){const _=n.getTokenValue();return k?A(_):(v(_),s.push(_)),m(),!0}l(y,"parseString");function j(){switch(n.getToken()){case 11:const k=n.getTokenValue();let _=Number(k);isNaN(_)&&(g(2),_=0),A(_);break;case 7:A(null);break;case 8:A(!0);break;case 9:A(!1);break;default:return!1}return m(),!0}l(j,"parseLiteral");function ke(){return n.getToken()!==10?(g(3,[],[2,5]),!1):(y(!1),n.getToken()===6?(b(":"),m(),V()||g(4,[],[2,5])):g(5,[],[2,5]),s.pop(),!0)}l(ke,"parseProperty");function be(){p(),m();let k=!1;for(;n.getToken()!==2&&n.getToken()!==17;){if(n.getToken()===5){if(k||g(4,[],[]),b(","),m(),n.getToken()===2&&c)break}else k&&g(6,[],[]);ke()||g(4,[],[2,5]),k=!0}return w(),n.getToken()!==2?g(7,[2],[]):m(),!0}l(be,"parseObject");function we(){O(),m();let k=!0,_=!1;for(;n.getToken()!==4&&n.getToken()!==17;){if(n.getToken()===5){if(_||g(4,[],[]),b(","),m(),n.getToken()===4&&c)break}else _&&g(6,[],[]);k?(s.push(0),k=!1):s[s.length-1]++,V()||g(4,[],[4,5]),_=!0}return T(),k||s.pop(),n.getToken()!==4?g(8,[4],[]):m(),!0}l(we,"parseArray");function V(){switch(n.getToken()){case 3:return we();case 1:return be();case 10:return y(!0);default:return j()}}return l(V,"parseValue"),m(),n.getToken()===17?i.allowEmptyContent?!0:(g(4,[],[]),!1):V()?(n.getToken()!==17&&g(9,[],[]),!0):(g(4,[],[]),!1)}l(ye,"visit");var ie;(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"})(ie||(ie={}));var se;(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"})(se||(se={}));const Be=$e;var oe;(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"})(oe||(oe={}));const le=l((e,t)=>Be(je(t,e,"utf8")),"readJsonc"),z=Symbol("implicitBaseUrl"),L="${configDir}",Fe=l(()=>{const{findPnpApi:e}=ve;return e&&e(process.cwd())},"getPnpApi"),Q=l((e,t,i,n)=>{const s=`resolveFromPackageJsonPath:${e}:${t}:${i}`;if(n!=null&&n.has(s))return n.get(s);const o=le(e,n);if(!o)return;let r=t||"tsconfig.json";if(!i&&o.exports)try{const[f]=Ae(o.exports,t,["require","types"]);r=f}catch{return!1}else!t&&o.tsconfig&&(r=o.tsconfig);return r=a.join(e,"..",r),n==null||n.set(s,r),r},"resolveFromPackageJsonPath"),H="package.json",X="tsconfig.json",Le=l((e,t,i)=>{let n=e;if(e===".."&&(n=a.join(n,X)),e[0]==="."&&(n=a.resolve(t,n)),a.isAbsolute(n)){if(F(i,n)){if(x(i,n).isFile())return n}else if(!n.endsWith(".json")){const T=`${n}.json`;if(F(i,T))return T}return}const[s,...o]=e.split("/"),r=s[0]==="@"?`${s}/${o.shift()}`:s,f=o.join("/"),u=Fe();if(u){const{resolveRequest:T}=u;try{if(r===e){const A=T(a.join(r,H),t);if(A){const b=Q(A,f,!1,i);if(b&&F(i,b))return b}}else{let A;try{A=T(e,t,{extensions:[".json"]})}catch{A=T(a.join(e,X),t)}if(A)return A}}catch{}}const p=ne(a.resolve(t),a.join("node_modules",r),i);if(!p||!x(i,p).isDirectory())return;const v=a.join(p,H);if(F(i,v)){const T=Q(v,f,!1,i);if(T===!1)return;if(T&&F(i,T)&&x(i,T).isFile())return T}const w=a.join(p,f),O=w.endsWith(".json");if(!O){const T=`${w}.json`;if(F(i,T))return T}if(F(i,w)){if(x(i,w).isDirectory()){const T=a.join(w,H);if(F(i,T)){const b=Q(T,"",!0,i);if(b&&F(i,b))return b}const A=a.join(w,X);if(F(i,A))return A}else if(O)return w}},"resolveExtendsPath"),Y=l((e,t)=>M(a.relative(e,t)),"pathRelative"),re=["files","include","exclude"],Ue=l((e,t,i,n)=>{const s=Le(e,t,n);if(!s)throw new Error(`File '${e}' not found.`);if(i.has(s))throw new Error(`Circularity detected while resolving configuration: ${s}`);i.add(s);const o=a.dirname(s),r=ue(s,n,i);delete r.references;const{compilerOptions:f}=r;if(f){const{baseUrl:u}=f;u&&!u.startsWith(L)&&(f.baseUrl=B(a.relative(t,a.join(o,u)))||"./");let{outDir:p}=f;p&&(p.startsWith(L)||(p=a.relative(t,a.join(o,p))),f.outDir=B(p)||"./")}for(const u of re){const p=r[u];p&&(r[u]=p.map(v=>v.startsWith(L)?v:B(a.relative(t,a.join(o,v)))))}return r},"resolveExtends"),Ee=["outDir","declarationDir"],ue=l((e,t,i=new Set)=>{let n;try{n=le(e,t)||{}}catch{throw new Error(`Cannot resolve tsconfig at path: ${e}`)}if(typeof n!="object")throw new SyntaxError(`Failed to parse tsconfig at: ${e}`);const s=a.dirname(e);if(n.compilerOptions){const{compilerOptions:o}=n;o.paths&&!o.baseUrl&&(o[z]=s)}if(n.extends){const o=Array.isArray(n.extends)?n.extends:[n.extends];delete n.extends;for(const r of o.reverse()){const f=Ue(r,s,new Set(i),t),u={...f,...n,compilerOptions:{...f.compilerOptions,...n.compilerOptions}};f.watchOptions&&(u.watchOptions={...f.watchOptions,...n.watchOptions}),n=u}}if(n.compilerOptions){const{compilerOptions:o}=n,r=["baseUrl","rootDir"];for(const f of r){const u=o[f];if(u&&!u.startsWith(L)){const p=a.resolve(s,u),v=Y(s,p);o[f]=v}}for(const f of Ee){let u=o[f];u&&(Array.isArray(n.exclude)||(n.exclude=[]),n.exclude.includes(u)||n.exclude.push(u),u.startsWith(L)||(u=M(u)),o[f]=u)}}else n.compilerOptions={};if(n.include?(n.include=n.include.map(B),n.files&&delete n.files):n.files&&(n.files=n.files.map(o=>o.startsWith(L)?o:M(o))),n.watchOptions){const{watchOptions:o}=n;o.excludeDirectories&&(o.excludeDirectories=o.excludeDirectories.map(r=>B(a.resolve(s,r))))}return n},"_parseTsconfig"),I=l((e,t)=>{if(e.startsWith(L))return B(a.join(t,e.slice(L.length)))},"interpolateConfigDir"),de=["outDir","declarationDir","outFile","rootDir","baseUrl","tsBuildInfoFile"],fe=l((e,t=new Map)=>{const i=a.resolve(e),n=ue(i,t),s=a.dirname(i),{compilerOptions:o}=n;if(o){for(const f of de){const u=o[f];if(u){const p=I(u,s);o[f]=p?Y(s,p):u}}for(const f of["rootDirs","typeRoots"]){const u=o[f];u&&(o[f]=u.map(p=>{const v=I(p,s);return v?Y(s,v):p}))}const{paths:r}=o;if(r)for(const f of Object.keys(r))r[f]=r[f].map(u=>{var p;return(p=I(u,s))!=null?p:u})}for(const r of re){const f=n[r];f&&(n[r]=f.map(u=>{var p;return(p=I(u,s))!=null?p:u}))}return n},"parseTsconfig"),Ne=l((e=process.cwd(),t="tsconfig.json",i=new Map)=>{const n=ne(B(e),t,i);if(!n)return null;const s=fe(n,i);return{path:n,config:s}},"getTsconfig"),De=/\*/g,ce=l((e,t)=>{const i=e.match(De);if(i&&i.length>1)throw new Error(t)},"assertStarCount"),he=l(e=>{if(e.includes("*")){const[t,i]=e.split("*");return{prefix:t,suffix:i}}return e},"parsePattern"),xe=l(({prefix:e,suffix:t},i)=>i.startsWith(e)&&i.endsWith(t),"isPatternMatch"),Pe=l((e,t,i)=>Object.entries(e).map(([n,s])=>(ce(n,`Pattern '${n}' can have at most one '*' character.`),{pattern:he(n),substitutions:s.map(o=>{if(ce(o,`Substitution '${o}' in pattern '${n}' can have at most one '*' character.`),!t&&!J.test(o))throw new Error("Non-relative paths are not allowed when 'baseUrl' is not set. Did you forget a leading './'?");return a.resolve(i,o)})})),"parsePaths"),Ie=l(e=>{const{compilerOptions:t}=e.config;if(!t)return null;const{baseUrl:i,paths:n}=t;if(!i&&!n)return null;const s=z in t&&t[z],o=a.resolve(a.dirname(e.path),i||s||"."),r=n?Pe(n,i,o):[];return f=>{if(J.test(f))return[];const u=[];for(const O of r){if(O.pattern===f)return O.substitutions.map(B);typeof O.pattern!="string"&&u.push(O)}let p,v=-1;for(const O of u)xe(O.pattern,f)&&O.pattern.prefix.length>v&&(v=O.pattern.prefix.length,p=O);if(!p)return i?[B(a.join(o,f))]:[];const w=f.slice(p.pattern.prefix.length,f.length-p.pattern.suffix.length);return p.substitutions.map(O=>B(O.replace("*",w)))}},"createPathsMatcher"),pe=l(e=>{let t="";for(let i=0;i<e.length;i+=1){const n=e[i],s=n.toUpperCase();t+=n===s?n.toLowerCase():s}return t},"s"),Se=65,We=97,Ve=l(()=>Math.floor(Math.random()*26),"m"),Re=l(e=>Array.from({length:e},()=>String.fromCodePoint(Ve()+(Math.random()>.5?Se:We))).join(""),"S"),Je=l((e=Oe)=>{const t=process.execPath;if(e.existsSync(t))return!e.existsSync(pe(t));const i=`/${Re(10)}`;e.writeFileSync(i,"");const n=!e.existsSync(pe(i));return e.unlinkSync(i),n},"l"),{join:S}=a.posix,Z={ts:[".ts",".tsx",".d.ts"],cts:[".cts",".d.cts"],mts:[".mts",".d.mts"]},Me=l(e=>{const t=[...Z.ts],i=[...Z.cts],n=[...Z.mts];return e!=null&&e.allowJs&&(t.push(".js",".jsx"),i.push(".cjs"),n.push(".mjs")),[...t,...i,...n]},"getSupportedExtensions"),Ge=l(e=>{const t=[];if(!e)return t;const{outDir:i,declarationDir:n}=e;return i&&t.push(i),n&&t.push(n),t},"getDefaultExcludeSpec"),ae=l(e=>e.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`),"escapeForRegexp"),ze=["node_modules","bower_components","jspm_packages"],q=`(?!(${ze.join("|")})(/|$))`,Qe=/(?:^|\/)[^.*?]+$/,ge="**/*",W="[^/]",K="[^./]",me=process.platform==="win32",He=l(({config:e,path:t},i=Je())=>{if("extends"in e)throw new Error("tsconfig#extends must be resolved. Use getTsconfig or parseTsconfig to resolve it.");if(!a.isAbsolute(t))throw new Error("The tsconfig path must be absolute");me&&(t=B(t));const n=a.dirname(t),{files:s,include:o,exclude:r,compilerOptions:f}=e,u=s==null?void 0:s.map(b=>S(n,b)),p=Me(f),v=i?"":"i",O=(r||Ge(f)).map(b=>{const $=S(n,b),U=ae($).replaceAll(String.raw`\*\*/`,"(.+/)?").replaceAll(String.raw`\*`,`${W}*`).replaceAll(String.raw`\?`,W);return new RegExp(`^${U}($|/)`,v)}),T=s||o?o:[ge],A=T?T.map(b=>{let $=S(n,b);Qe.test($)&&($=S($,ge));const U=ae($).replaceAll(String.raw`/\*\*`,`(/${q}${K}${W}*)*?`).replaceAll(/(\/)?\\\*/g,(E,c)=>{const m=`(${K}|(\\.(?!min\\.js$))?)*`;return c?`/${q}${K}${m}`:m}).replaceAll(/(\/)?\\\?/g,(E,c)=>{const m=W;return c?`/${q}${m}`:m});return new RegExp(`^${U}$`,v)}):void 0;return b=>{if(!a.isAbsolute(b))throw new Error("filePath must be absolute");if(me&&(b=B(b)),u!=null&&u.includes(b))return e;if(!(!p.some($=>b.endsWith($))||O.some($=>$.test(b)))&&A&&A.some($=>$.test(b)))return e}},"createFilesMatcher");export{He as createFilesMatcher,Ie as createPathsMatcher,Ne as getTsconfig,fe as parseTsconfig};
|