Files
codeql-action/node_modules/get-tsconfig/dist/index.cjs
2023-01-18 21:00:07 +00:00

4 lines
13 KiB
JavaScript
Executable File

"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var K=require("path"),C=require("fs"),nn=require("module");function $(n){return n&&typeof n=="object"&&"default"in n?n:{default:n}}var a=$(K),j=$(C),en=$(nn);function A(n){return/^\\\\\?\\/.test(n)?n:n.replace(/\\/g,"/")}function M(n,o){for(;;){const l=a.default.join(n,o);if(j.default.existsSync(l))return A(l);const e=a.default.dirname(n);if(e===n)return;n=e}}const R=/^\.{1,2}(\/.*)?$/,J=n=>A(R.test(n)?n:`./${n}`);function tn(n,o=!1){const l=n.length;let e=0,t="",f=0,i=16,b=0,c=0,w=0,T=0,p=0;function V(u,r){let s=0,O=0;for(;s<u||!r;){let k=n.charCodeAt(e);if(k>=48&&k<=57)O=O*16+k-48;else if(k>=65&&k<=70)O=O*16+k-65+10;else if(k>=97&&k<=102)O=O*16+k-97+10;else break;e++,s++}return s<u&&(O=-1),O}function D(u){e=u,t="",f=0,i=16,p=0}function v(){let u=e;if(n.charCodeAt(e)===48)e++;else for(e++;e<n.length&&L(n.charCodeAt(e));)e++;if(e<n.length&&n.charCodeAt(e)===46)if(e++,e<n.length&&L(n.charCodeAt(e)))for(e++;e<n.length&&L(n.charCodeAt(e));)e++;else return p=3,n.substring(u,e);let r=e;if(e<n.length&&(n.charCodeAt(e)===69||n.charCodeAt(e)===101))if(e++,(e<n.length&&n.charCodeAt(e)===43||n.charCodeAt(e)===45)&&e++,e<n.length&&L(n.charCodeAt(e))){for(e++;e<n.length&&L(n.charCodeAt(e));)e++;r=e}else p=3;return n.substring(u,r)}function B(){let u="",r=e;for(;;){if(e>=l){u+=n.substring(r,e),p=2;break}const s=n.charCodeAt(e);if(s===34){u+=n.substring(r,e),e++;break}if(s===92){if(u+=n.substring(r,e),e++,e>=l){p=2;break}switch(n.charCodeAt(e++)){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 k=V(4,!0);k>=0?u+=String.fromCharCode(k):p=4;break;default:p=5}r=e;continue}if(s>=0&&s<=31)if(_(s)){u+=n.substring(r,e),p=2;break}else p=6;e++}return u}function N(){if(t="",p=0,f=e,c=b,T=w,e>=l)return f=l,i=17;let u=n.charCodeAt(e);if(h(u)){do e++,t+=String.fromCharCode(u),u=n.charCodeAt(e);while(h(u));return i=15}if(_(u))return e++,t+=String.fromCharCode(u),u===13&&n.charCodeAt(e)===10&&(e++,t+=`
`),b++,w=e,i=14;switch(u){case 123:return e++,i=1;case 125:return e++,i=2;case 91:return e++,i=3;case 93:return e++,i=4;case 58:return e++,i=6;case 44:return e++,i=5;case 34:return e++,t=B(),i=10;case 47:const r=e-1;if(n.charCodeAt(e+1)===47){for(e+=2;e<l&&!_(n.charCodeAt(e));)e++;return t=n.substring(r,e),i=12}if(n.charCodeAt(e+1)===42){e+=2;const s=l-1;let O=!1;for(;e<s;){const k=n.charCodeAt(e);if(k===42&&n.charCodeAt(e+1)===47){e+=2,O=!0;break}e++,_(k)&&(k===13&&n.charCodeAt(e)===10&&e++,b++,w=e)}return O||(e++,p=1),t=n.substring(r,e),i=13}return t+=String.fromCharCode(u),e++,i=16;case 45:if(t+=String.fromCharCode(u),e++,e===l||!L(n.charCodeAt(e)))return i=16;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return t+=v(),i=11;default:for(;e<l&&y(u);)e++,u=n.charCodeAt(e);if(f!==e){switch(t=n.substring(f,e),t){case"true":return i=8;case"false":return i=9;case"null":return i=7}return i=16}return t+=String.fromCharCode(u),e++,i=16}}function y(u){if(h(u)||_(u))return!1;switch(u){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}function E(){let u;do u=N();while(u>=12&&u<=15);return u}return{setPosition:D,getPosition:()=>e,scan:o?E:N,getToken:()=>i,getTokenValue:()=>t,getTokenOffset:()=>f,getTokenLength:()=>e-f,getTokenStartLine:()=>c,getTokenStartCharacter:()=>f-T,getTokenError:()=>p}}function h(n){return n===32||n===9}function _(n){return n===10||n===13}function L(n){return n>=48&&n<=57}var H;(function(n){n[n.lineFeed=10]="lineFeed",n[n.carriageReturn=13]="carriageReturn",n[n.space=32]="space",n[n._0=48]="_0",n[n._1=49]="_1",n[n._2=50]="_2",n[n._3=51]="_3",n[n._4=52]="_4",n[n._5=53]="_5",n[n._6=54]="_6",n[n._7=55]="_7",n[n._8=56]="_8",n[n._9=57]="_9",n[n.a=97]="a",n[n.b=98]="b",n[n.c=99]="c",n[n.d=100]="d",n[n.e=101]="e",n[n.f=102]="f",n[n.g=103]="g",n[n.h=104]="h",n[n.i=105]="i",n[n.j=106]="j",n[n.k=107]="k",n[n.l=108]="l",n[n.m=109]="m",n[n.n=110]="n",n[n.o=111]="o",n[n.p=112]="p",n[n.q=113]="q",n[n.r=114]="r",n[n.s=115]="s",n[n.t=116]="t",n[n.u=117]="u",n[n.v=118]="v",n[n.w=119]="w",n[n.x=120]="x",n[n.y=121]="y",n[n.z=122]="z",n[n.A=65]="A",n[n.B=66]="B",n[n.C=67]="C",n[n.D=68]="D",n[n.E=69]="E",n[n.F=70]="F",n[n.G=71]="G",n[n.H=72]="H",n[n.I=73]="I",n[n.J=74]="J",n[n.K=75]="K",n[n.L=76]="L",n[n.M=77]="M",n[n.N=78]="N",n[n.O=79]="O",n[n.P=80]="P",n[n.Q=81]="Q",n[n.R=82]="R",n[n.S=83]="S",n[n.T=84]="T",n[n.U=85]="U",n[n.V=86]="V",n[n.W=87]="W",n[n.X=88]="X",n[n.Y=89]="Y",n[n.Z=90]="Z",n[n.asterisk=42]="asterisk",n[n.backslash=92]="backslash",n[n.closeBrace=125]="closeBrace",n[n.closeBracket=93]="closeBracket",n[n.colon=58]="colon",n[n.comma=44]="comma",n[n.dot=46]="dot",n[n.doubleQuote=34]="doubleQuote",n[n.minus=45]="minus",n[n.openBrace=123]="openBrace",n[n.openBracket=91]="openBracket",n[n.plus=43]="plus",n[n.slash=47]="slash",n[n.formFeed=12]="formFeed",n[n.tab=9]="tab"})(H||(H={}));var I;(function(n){n.DEFAULT={allowTrailingComma:!1}})(I||(I={}));function ln(n,o=[],l=I.DEFAULT){let e=null,t=[];const f=[];function i(c){Array.isArray(t)?t.push(c):e!==null&&(t[e]=c)}return fn(n,{onObjectBegin:()=>{const c={};i(c),f.push(t),t=c,e=null},onObjectProperty:c=>{e=c},onObjectEnd:()=>{t=f.pop()},onArrayBegin:()=>{const c=[];i(c),f.push(t),t=c,e=null},onArrayEnd:()=>{t=f.pop()},onLiteralValue:i,onError:(c,w,T)=>{o.push({error:c,offset:w,length:T})}},l),t[0]}function fn(n,o,l=I.DEFAULT){const e=tn(n,!1),t=[];function f(g){return g?()=>g(e.getTokenOffset(),e.getTokenLength(),e.getTokenStartLine(),e.getTokenStartCharacter()):()=>!0}function i(g){return g?()=>g(e.getTokenOffset(),e.getTokenLength(),e.getTokenStartLine(),e.getTokenStartCharacter(),()=>t.slice()):()=>!0}function b(g){return g?m=>g(m,e.getTokenOffset(),e.getTokenLength(),e.getTokenStartLine(),e.getTokenStartCharacter()):()=>!0}function c(g){return g?m=>g(m,e.getTokenOffset(),e.getTokenLength(),e.getTokenStartLine(),e.getTokenStartCharacter(),()=>t.slice()):()=>!0}const w=i(o.onObjectBegin),T=c(o.onObjectProperty),p=f(o.onObjectEnd),V=i(o.onArrayBegin),D=f(o.onArrayEnd),v=c(o.onLiteralValue),B=b(o.onSeparator),N=f(o.onComment),y=b(o.onError),E=l&&l.disallowComments,u=l&&l.allowTrailingComma;function r(){for(;;){const g=e.scan();switch(e.getTokenError()){case 4:s(14);break;case 5:s(15);break;case 3:s(13);break;case 1:E||s(11);break;case 2:s(12);break;case 6:s(16);break}switch(g){case 12:case 13:E?s(10):N();break;case 16:s(1);break;case 15:case 14:break;default:return g}}}function s(g,m=[],z=[]){if(y(g),m.length+z.length>0){let F=e.getToken();for(;F!==17;){if(m.indexOf(F)!==-1){r();break}else if(z.indexOf(F)!==-1)break;F=r()}}}function O(g){const m=e.getTokenValue();return g?v(m):(T(m),t.push(m)),r(),!0}function k(){switch(e.getToken()){case 11:const g=e.getTokenValue();let m=Number(g);isNaN(m)&&(s(2),m=0),v(m);break;case 7:v(null);break;case 8:v(!0);break;case 9:v(!1);break;default:return!1}return r(),!0}function q(){return e.getToken()!==10?(s(3,[],[2,5]),!1):(O(!1),e.getToken()===6?(B(":"),r(),W()||s(4,[],[2,5])):s(5,[],[2,5]),t.pop(),!0)}function P(){w(),r();let g=!1;for(;e.getToken()!==2&&e.getToken()!==17;){if(e.getToken()===5){if(g||s(4,[],[]),B(","),r(),e.getToken()===2&&u)break}else g&&s(6,[],[]);q()||s(4,[],[2,5]),g=!0}return p(),e.getToken()!==2?s(7,[2],[]):r(),!0}function x(){V(),r();let g=!0,m=!1;for(;e.getToken()!==4&&e.getToken()!==17;){if(e.getToken()===5){if(m||s(4,[],[]),B(","),r(),e.getToken()===4&&u)break}else m&&s(6,[],[]);g?(t.push(0),g=!1):t[t.length-1]++,W()||s(4,[],[4,5]),m=!0}return D(),g||t.pop(),e.getToken()!==4?s(8,[4],[]):r(),!0}function W(){switch(e.getToken()){case 3:return x();case 1:return P();case 10:return O(!0);default:return k()}}return r(),e.getToken()===17?l.allowEmptyContent?!0:(s(4,[],[]),!1):W()?(e.getToken()!==17&&s(9,[],[]),!0):(s(4,[],[]),!1)}var G;(function(n){n[n.None=0]="None",n[n.UnexpectedEndOfComment=1]="UnexpectedEndOfComment",n[n.UnexpectedEndOfString=2]="UnexpectedEndOfString",n[n.UnexpectedEndOfNumber=3]="UnexpectedEndOfNumber",n[n.InvalidUnicode=4]="InvalidUnicode",n[n.InvalidEscapeCharacter=5]="InvalidEscapeCharacter",n[n.InvalidCharacter=6]="InvalidCharacter"})(G||(G={}));var X;(function(n){n[n.OpenBraceToken=1]="OpenBraceToken",n[n.CloseBraceToken=2]="CloseBraceToken",n[n.OpenBracketToken=3]="OpenBracketToken",n[n.CloseBracketToken=4]="CloseBracketToken",n[n.CommaToken=5]="CommaToken",n[n.ColonToken=6]="ColonToken",n[n.NullKeyword=7]="NullKeyword",n[n.TrueKeyword=8]="TrueKeyword",n[n.FalseKeyword=9]="FalseKeyword",n[n.StringLiteral=10]="StringLiteral",n[n.NumericLiteral=11]="NumericLiteral",n[n.LineCommentTrivia=12]="LineCommentTrivia",n[n.BlockCommentTrivia=13]="BlockCommentTrivia",n[n.LineBreakTrivia=14]="LineBreakTrivia",n[n.Trivia=15]="Trivia",n[n.Unknown=16]="Unknown",n[n.EOF=17]="EOF"})(X||(X={}));const un=ln;var Y;(function(n){n[n.InvalidSymbol=1]="InvalidSymbol",n[n.InvalidNumberFormat=2]="InvalidNumberFormat",n[n.PropertyNameExpected=3]="PropertyNameExpected",n[n.ValueExpected=4]="ValueExpected",n[n.ColonExpected=5]="ColonExpected",n[n.CommaExpected=6]="CommaExpected",n[n.CloseBraceExpected=7]="CloseBraceExpected",n[n.CloseBracketExpected=8]="CloseBracketExpected",n[n.EndOfFileExpected=9]="EndOfFileExpected",n[n.InvalidCommentToken=10]="InvalidCommentToken",n[n.UnexpectedEndOfComment=11]="UnexpectedEndOfComment",n[n.UnexpectedEndOfString=12]="UnexpectedEndOfString",n[n.UnexpectedEndOfNumber=13]="UnexpectedEndOfNumber",n[n.InvalidUnicode=14]="InvalidUnicode",n[n.InvalidEscapeCharacter=15]="InvalidEscapeCharacter",n[n.InvalidCharacter=16]="InvalidCharacter"})(Y||(Y={}));const Z=n=>un(j.default.readFileSync(n,"utf8")),{existsSync:U}=j.default,on=()=>{const{findPnpApi:n}=en.default;return n&&n(process.cwd())};function S(n){const o=Z(n);return a.default.join(n,"..",o&&"tsconfig"in o?o.tsconfig:"tsconfig.json")}function sn(n,o){let l=n;const e=n[0]===".";if(e||a.default.isAbsolute(n)){if(e&&(l===".."&&(l+="/tsconfig.json"),l=a.default.resolve(o,l)),U(l)&&j.default.statSync(l).isFile()||!l.endsWith(".json")&&(l+=".json",U(l)))return l;throw new Error(`File '${n}' not found.`)}const t=on();if(t){const{resolveRequest:i}=t,[b,c]=n.split("/"),w=b.startsWith("@")?`${b}/${c}`:b;try{if(w===n){const T=i(a.default.join(w,"package.json"),o);if(T){const p=S(T);if(U(p))return p}}else{let T;try{T=i(n,o,{extensions:[".json"]})}catch{T=i(a.default.join(n,"tsconfig.json"),o)}if(T)return T}}catch{}}let f=M(o,a.default.join("node_modules",l));if(f){if(j.default.statSync(f).isDirectory()){const i=a.default.join(f,"package.json");if(U(i)?f=S(i):f=a.default.join(f,"tsconfig.json"),U(f))return f}else if(f.endsWith(".json"))return f}if(!l.endsWith(".json")&&(l+=".json",f=M(o,a.default.join("node_modules",l)),f))return f;throw new Error(`File '${n}' not found.`)}function Q(n){var o;let l;try{l=j.default.realpathSync(n)}catch{throw new Error(`Cannot resolve tsconfig at path: ${n}`)}const e=a.default.dirname(l);let t=Z(l)||{};if(typeof t!="object")throw new SyntaxError(`Failed to parse tsconfig at: ${n}`);if(t.extends){const f=sn(t.extends,e),i=Q(f);if(delete i.references,(o=i.compilerOptions)!=null&&o.baseUrl){const{compilerOptions:c}=i;c.baseUrl=a.default.relative(e,a.default.join(a.default.dirname(f),c.baseUrl))||"./"}i.files&&(i.files=i.files.map(c=>a.default.relative(e,a.default.join(a.default.dirname(f),c)))),i.include&&(i.include=i.include.map(c=>a.default.relative(e,a.default.join(a.default.dirname(f),c)))),delete t.extends;const b={...i,...t,compilerOptions:{...i.compilerOptions,...t.compilerOptions}};i.watchOptions&&(b.watchOptions={...i.watchOptions,...t.watchOptions}),t=b}if(t.compilerOptions){const{compilerOptions:f}=t;f.baseUrl&&(f.baseUrl=J(f.baseUrl)),f.outDir&&(Array.isArray(t.exclude)||(t.exclude=[]),t.exclude.push(f.outDir),f.outDir=J(f.outDir))}else t.compilerOptions={};if(t.files&&(t.files=t.files.map(J)),t.include&&(t.include=t.include.map(A)),t.watchOptions){const{watchOptions:f}=t;f.excludeDirectories&&(f.excludeDirectories=f.excludeDirectories.map(i=>A(a.default.resolve(e,i))))}return t}function cn(n=process.cwd(),o="tsconfig.json"){const l=M(n,o);if(!l)return null;const e=Q(l);return{path:l,config:e}}const pn=/\*/g,d=(n,o)=>{const l=n.match(pn);if(l&&l.length>1)throw new Error(o)};function gn(n){if(n.includes("*")){const[o,l]=n.split("*");return{prefix:o,suffix:l}}return n}const rn=({prefix:n,suffix:o},l)=>l.startsWith(n)&&l.endsWith(o);function an(n,o,l){return Object.entries(n).map(([e,t])=>(d(e,`Pattern '${e}' can have at most one '*' character.`),{pattern:gn(e),substitutions:t.map(f=>{if(d(f,`Substitution '${f}' in pattern '${e}' can have at most one '*' character.`),!o&&!R.test(f))throw new Error("Non-relative paths are not allowed when 'baseUrl' is not set. Did you forget a leading './'?");return a.default.join(l,f)})}))}function kn(n){if(!n.config.compilerOptions)return null;const{baseUrl:o,paths:l}=n.config.compilerOptions;if(!o&&!l)return null;const e=a.default.resolve(a.default.dirname(n.path),o||"."),t=l?an(l,o,e):[];return function(i){if(R.test(i))return[];const b=[];for(const p of t){if(p.pattern===i)return p.substitutions.map(A);typeof p.pattern!="string"&&b.push(p)}let c,w=-1;for(const p of b)rn(p.pattern,i)&&p.pattern.prefix.length>w&&(w=p.pattern.prefix.length,c=p);if(!c)return o?[A(a.default.join(e,i))]:[];const T=i.slice(c.pattern.prefix.length,i.length-c.pattern.suffix.length);return c.substitutions.map(p=>A(p.replace("*",T)))}}exports.createPathsMatcher=kn,exports.getTsconfig=cn,exports.parseTsconfig=Q;