@tochii/tsconfig-aliases
Version:
Generate path aliases designed for monorepos and structured projects
14 lines (12 loc) • 27 kB
JavaScript
import O from"node:fs";import T from"node:path";var ot=r=>r.argv.slice(3),st=(r,e=[])=>e.concat(r.split(",").map(t=>t.trim()).filter(Boolean)),ae=class{};ae.getRemainingArgs=ot,ae.parseArray=st;import at from"lodash";var it=r=>Array.isArray(r)?r:[r],ie=class{};ie.toArray=it,ie.uniqueArr=ct;function ct(r){return at.uniqBy(r,e=>e)}import Le from"javascript-time-ago";import lt from"javascript-time-ago/locale/en";import Te from"dateformat";var I=class I{};I.initialize=()=>{try{if(I.timeAgo)return;Le.addDefaultLocale(lt),I.timeAgo=new Le("en-US")}catch{}},I.recently=e=>I.timeAgo.format(new Date(e)),I.dateAndTime=(e,t=!0,n=!1)=>{let o="";return t?o=I.dateAndTimeCustom(e,", ",!0,"dddd","mmmm dS","yyyy",n?"h:MM:ss TT":"h:MM TT"):o=I.dateAndTimeCustom(e,", ",!0,"dddd","mmmm dS","yyyy"),o},I.dateAndTimeCustom=(e,t,n=!0,...o)=>Te(e,o.map(s=>n?I.ensureZero(s):s).join(t)),I.ensureZero=e=>e.length===1?`0${e}`:e,I.time=(e,t=!1,n=!0)=>{let o="";return t?o=`${I.dateAndTimeCustom(e,":",!n,"h","MM","ss")}${n?Te(e," TT"):""}`:o=`${I.dateAndTimeCustom(e,":",!n,"h","MM")}${n?Te(e," TT"):""}`,o},I.getDuration=(e,t,n="milliseconds")=>{let o=new Date(e).getTime()-new Date(t).getTime();return Me(n,o)},I.getDurationFromNow=(e,t="milliseconds")=>{let n=new Date(e).getTime()-Date.now();return Me(t,n)};var Ie=I;function Me(r,e){let t=e;switch(r){case"milliseconds":return t;case"seconds":return t/1e3;case"minutes":return t/1e3*60;case"hours":return t/1e3*60*60;case"days":return t/1e3*60*60*24;case"weeks":return t/1e3*60*60*24*7;case"months":return t/1e3*60*60*24*30;case"years":return t/1e3*60*60*24*365}}var U=class U{static isReversedMappedEnumKey(e){try{return!isNaN(Number(e))}catch{return!1}}};U.getKeys=e=>{let t=[];for(let[n]of Object.entries(e))U.isReversedMappedEnumKey(n)||t.push(n);return t},U.getKeyFromValue=(e,t)=>{for(let[n,o]of Object.entries(e))if(!U.isReversedMappedEnumKey(n)&&o===t)return n},U.getKeysFromValues=(e,t)=>{let n=[];for(let o of t)for(let[s,l]of Object.entries(e))U.isReversedMappedEnumKey(s)||l===o&&n.push(s);return n};var we=U;var Pe=(r,e)=>{if(typeof process>"u"&&typeof import.meta?.env>"u")throw new Error("Your environment doesn't support process.env or import.meta.env.");let t;if(typeof process>"u"?t=import.meta.env[r]:t=process.env[r]||import.meta?.env?.[r],e&&t===void 0)throw new Error(`Environment variable ${r} not found.`);return t},he=Pe("NODE_ENV"),ut=he==="development",mt=he==="production",ft=he==="staging",Oe=typeof window>"u",gt=!Oe,W=class{};W.MODE=he,W.DEV=ut,W.PROD=mt,W.STAGING=ft,W.SERVER_CONTEXT=Oe,W.BROWSER_CONTEXT=gt,W.get=Pe;import je from"deepmerge";var V=class V{};V.isObject=(e,t)=>!(!t&&Array.isArray(e)||typeof e!="object"),V.hasKeys=(e,t,...n)=>{if(typeof e!="object")return!1;let o=[];return[t,...n].forEach(s=>o.push(s in e)),!o.includes(!1)},V.hasKeysAny=(e,t,...n)=>{if(typeof e!="object")return!1;let o=[],s=[];return[...t].forEach(l=>o.push(l in e)),[...n].forEach(l=>s.push(l in e)),o.includes(!1)?!1:[...o,...s].some(l=>l===!0)},V.isEmpty=e=>Object.keys(e).length===0,V.isIterable=e=>e==null?!1:typeof e[Symbol.iterator]=="function",V.merge=(e,t,n)=>je(e,t,{arrayMerge:(o,s,l)=>{let i=o.slice();return s.forEach((c,a)=>{typeof i[a]>"u"?i[a]=l?.cloneUnlessOtherwiseSpecified(c,l):l?.isMergeableObject(c)?i[a]=je(o[a],c,l):o.indexOf(c)===-1&&i.push(c)}),i},customMerge:o=>(s,l)=>(console.log(o,s,l),l==null&&s!=null?s:l),...n}),V.mergeMany=(e,t,n,...o)=>{let s=V.merge(t,n,e);for(let l of o)s=V.merge(s,l,e);return s};var ce=V;import re from"node:path";import{fileURLToPath as pt}from"node:url";var D=class{};D.getDirnameFromCurrentFile=be,D.getProcessDirname=$e,D.getRelativePathFromCurrentFileDirname=dt,D.getRelativePathFromProcessDirname=ht,D.resolveFromDirname=bt,D.resolveFromProcessDirname=yt,D.getRelativePath=xt,D.resolvePath=le,D.joinPaths=Se;function be(r,...e){return Se(le(re.dirname(pt(r))),...e)}function $e(...r){return Se(le(process.cwd()),...r)}function dt(r,e){return re.relative(be(r),e)}function ht(r,e){return re.relative(be(r),e)}function bt(r,...e){return le(be(r),...e)}function yt(...r){return le($e(),...r)}function xt(r,e){return re.relative(r,e)}function le(...r){return re.resolve(...r)}function Se(...r){return re.join(...r)}var h=class h{};h.filename=/(?:[^\/\\]+?\.[a-zA-Z0-9*?[\]{}]{1,10})(?!\/)$/,h.filenameStrict=/^[^\/\\]+?\.(?:[a-zA-Z0-9]+|\{[a-zA-Z0-9,]+\})(?!\/)$/,h.email=/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/,h.uriAny=/^(?:https?:\/\/|file:\/\/\/|\/|\.\/|\.\.\/|[a-zA-Z]:\\|[a-zA-Z]+:\/\/)?(?:.*[\\/*?[\]{}])/,h.uri=/^(https?:\/\/|file:\/\/\/|\/|\.\/|\.\.\/|[a-zA-Z]:\\|[a-zA-Z]+:\/\/).*[\\/*?[\]{}]?$/,h.websiteUri=/^https?:\/\/.*[\\/*?[\]{}]?$/,h.fileUri=/^(file:\/\/\/|\/|\.\/|\.\.\/|[a-zA-Z]:\\|[a-zA-Z]+:\/\/).*?[\\/*?[\]{}]?$/,h.pathUri=/^(\/|\.\/|\.\.\/|[a-zA-Z]:\\|[a-zA-Z]+:\/\/).*?[\\/*?[\]{}]?$/,h.relativeUri=/^(\.\/|\.\.\/).*?[\\/*?[\]{}]?$/,h.absoluteUri=/^(https?:\/\/|\/|\.\/|\.\.\/|[a-zA-Z]:\\|[a-zA-Z]+:\/\/).*?[\\/*?[\]{}]?$/,h.domain=/^[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9](?:\.[a-zA-Z]{2,})+$/,h.specialChars=/[^a-zA-Z0-9]/,h.specialCharsWhitespace=/[^a-zA-Z0-9\s]/,h.numbers=/[0-9]/,h.letters=/[a-zA-Z]/,h.alphanumeric=/[a-zA-Z0-9]/,h.alphanumericUnderscore=/[a-zA-Z0-9_]/,h.alphanumericDashes=/[a-zA-Z0-9-]/,h.alphanumericPlus=/[a-zA-Z0-9+]/,h.glob=/[*?{}\[\]!]/,h.allExps=(...e)=>Object.keys(h).filter(n=>!e.includes(n)).map(n=>h[n]);var G=h,M=class M extends G{static matchLoop(e,t){let n=e.flags.includes("g"),o=[];for(let s of t.matchAll(n?e:this.ensureGlobal(e)))o.push({char:s[0],index:s.index});return o}static compare(e,...t){let n=[],o=[];return{hasMatch:t.some((l,i)=>{let c=l.source===e.source&&l.flags===e.flags;return c&&(n.push(l),o.push(i)),c}),matches:n,matchesIndex:o}}static compareExps(e,...t){let n=[],o=[];return{hasMatch:t.some((l,i)=>{let c=G[l],a=c.source===e.source&&c.flags===e.flags;return a&&(n.push(c),o.push(i)),a}),matches:n,matchesIndex:o}}static toArr(e,...t){return[e,...t]}static toArrExp(e,...t){return[e,...t].map(o=>G[o])}static test(e,t){return e.test(t)}static tests(e,t){return e.map(n=>n.test(t))}static testValues(e,t){return t.map(n=>e.test(n))}static testExp(e,t){return G[e].test(t)}static testExps(e,t){return e.map(n=>G[n].test(t))}static testExpValues(e,t){let n=G[e];return t.map(o=>n.test(o))}};M.ensureGlobal=e=>new RegExp(e.source,[...new Set(e.flags+"g")].join("")),M.containsAny=(e,t,...n)=>M.getMatchAnyRegex(t,...n).test(e),M.getMatchAnyRegex=(e,...t)=>{let n=[e,...t].map(o=>o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"));return new RegExp(n.join("|"))},M.extract=(e,t)=>M.matchLoop(e,t),M.extractExp=(e,t)=>{let n=G[e];return M.matchLoop(n,t)},M.extractAll=(e,t)=>{let n=[];return e.forEach(o=>{let s=M.matchLoop(o,t);n.push(...s)}),n},M.extractAllExps=(e,t)=>{let n=[];return e.forEach(o=>{let s=G[o],l=M.matchLoop(s,t);n.push(...l)}),n};var ye=M,X=ye;import De from"node:path";import Ct from"get-urls";import ze from"text-field-edit";import{decode as kt}from"html-entities";import Tt from"slugify";import It from"is-glob";var wt="\u2022";var St=ze.insert,Rt=ze.getSelection,b=class{};b.passwordSymbol=wt,b.isGlob=It,b.insertText=St,b.inputTextSelection=Rt,b.getFullPath=At,b.truncateString=Ne,b.extractUrls=vt,b.removeSpecialCharacters=Ze,b.removeSpecialCharactersAll=Et,b.hasSpecialCharacters=Lt,b.hasSpecialCharactersAny=Mt,b.toHtmlId=Pt,b.ensureSlashStart=Ot,b.ensureSlashEnd=jt,b.generateRandomString=$t,b.unescapeHtmlSafely=Dt,b.isValidName=zt,b.randomString=Fe,b.randomNumber=Ve,b.slugifyString=Nt,b.includes=(e,t,...n)=>[t,...n].some(o=>e.includes(o));function At(r,e){let t=De.resolve(e||process.cwd(),r||".");return r&&De.isAbsolute(r||".")?r:t}function Ne(r,e=22){return r.length>e?`${r.substring(0,e)}...`:r}function vt(r,e){return Ct(r,{exclude:e})}function Ze(r){return r.replace(/[^a-zA-Z0-9._ -]/g,"")}function Et(r){return r.replace(/[^a-zA-Z0-9 ]/g,"")}function Lt(r){return/[^a-zA-Z0-9._ -]/g.test(r)}function Mt(r){return/[^a-zA-Z0-9 ]/g.test(r)}function Pt(r){return Ze(r.replaceAll(" ","-").toLowerCase())}function Ot(r){return r.startsWith("/")?r:`/${r}`}function jt(r){return r.endsWith("/")?r:`${r}/`}function $t(r=5){let e="",t="abcdefghijklmnopqrstuvwxyz";for(t+=t.toUpperCase(),t+="0123456789";r--;)e+=t[Math.random()*t.length|0];return e}function Dt(r){return kt(r,{level:"html5"})}function zt(r){return/^[a-zA-ZàáâäãåąčćęèéêëėįìíîïłńòóôöõøùúûüųūÿýżźñçčšžæÀÁÂÄÃÅĄĆČĖĘÈÉÊËÌÍÎÏĮŁŃÒÓÔÖÕØÙÚÛÜŲŪŸÝŻŹÑßÇŒÆČŠŽ∂ð ,.'-]+$/u.test(r)}function Fe(r){return Math.random().toString(36).substring(2,r)}function Ve(r){let e=new Uint8Array(r);return crypto.getRandomValues(e),Array.from(e,t=>t%10).join("")}function Nt(r,e){let t={replacement:"-",lower:!0,strict:!0,trim:!0,randomIdType:"number",randomIdPosition:"suffix",...e};function n(s){let l="",i=()=>{s&&(l+=["-","_"].includes(t.replacement)?t.replacement:"-")};if(t.generateRandomId||!s){let c=t.randomIdType;t.randomIdPosition==="suffix"&&i(),l+=c==="number"?Ve(t.randomIdLength??15):Fe(t.randomIdLength??15),t.randomIdPosition==="prefix"&&i()}return l}let o=t.prefix??"";return r&&(o+=Tt(r,t)),t?.truncateLength&&(o=Ne(o,t.truncateLength)),t.randomIdPosition==="prefix"?o=n(o)+o:o+=n(o),o}import sr from"path";import{Table as ar}from"console-table-printer";var Be=(a=>(a[a.silent=100]="silent",a[a.trace=1]="trace",a[a.debug=2]="debug",a[a.info=3]="info",a[a.important=4]="important",a[a.success=5]="success",a[a.error=6]="error",a[a.warn=7]="warn",a[a.fatal=8]="fatal",a))(Be||{});var ee=r=>Be[r];var Zt=(r,...e)=>{if(r.mode!=null&&r.skipModes.includes(r.mode))return r;for(let t=0;t<e.length;t++){let n=Ft(r,e,t);if(n)switch(n.level){case"trace":case"info":case"error":case"warn":case"debug":console[n.level](n.message);break;case"custom":case"important":case"success":console.info(n.message);break;case"fatal":console.error(n.message);break}}return r},qe=Zt;function Ft(r,e,t){let n=e[t],[o,s]=n;switch(o){case"default":return Vt(r,s,t);case"custom":return Bt(r,s,t);case"table":return qt(r,s,t)}}function Vt(r,e,t){let[n,o,...s]=e,l=[o,...s||[]];if(n==="silent")return;if(!l.length||l.every(a=>a==null||a==="")){console.info("");return}let i=ee(n);return ee(r.level==="custom"?n:r.level)>i?void 0:{message:r.transport.format({level:n,comboIndex:t},...l),level:n,comboIndex:t}}function Bt(r,e,t){let[n,o,s,l,...i]=e,c=[l,...i||[]];if(!n)return;if(!c.length||c.every(d=>d==null||d==="")){console.info("");return}let a=ee(n);return ee(r.level==="custom"?n:r.level)>a?void 0:{message:r.transport.format({level:a,color:o,symbol:s,comboIndex:t},...c),level:"custom",comboIndex:t}}function qt(r,e,t){let[n,o,s]=e,l=(Array.isArray(o)?o:[o])||[];if(n==="silent")return;if(!l.length)throw new Error("Table must have at least one table item.");let i=l.map(u=>u.render()),c=ee(n);if(ee(r.level==="custom"?n:r.level)>c)return;let a="";return s?.suffix&&`${s?.prefix}`,a+=`
${i.join(`
`)}
`,s?.suffix&&`${s?.suffix}`,{message:a,level:n,comboIndex:t}}import p from"chalk";import er from"fast-safe-stringify";import{colorize as tr}from"json-colorizer";import{DateTime as Je}from"luxon";import rr from"is-unicode-supported";import fe from"chalk";import Ut from"error-stack-parser";import Y from"chalk";import A from"chalk";var Re=A.rgb(202,10,51),Wt=A.bgRgb(202,10,51),We={silent:A.gray,custom:A.white,trace:A.gray,debug:A.rgb(175,175,175),info:A.white,important:A.rgb(194,40,155),success:A.green,warn:A.rgb(221,181,4),error:Re,fatal:Re},Gt={...We,warn:A.yellow},E={any:[175,175,175],anyDimmed:[130,130,130],anyDimmed2:[160,160,160],anyDimmed3:[145,145,145],glob:[134,86,128],word:[97,165,147]},Jt=A.rgb(E.any[0],E.any[1],E.any[2]),Kt=A.rgb(E.anyDimmed[0],E.anyDimmed[1],E.anyDimmed[2]),Ht=A.rgb(E.anyDimmed2[0],E.anyDimmed2[1],E.anyDimmed2[2]),Xt=A.rgb(E.glob[0],E.glob[1],E.glob[2]),Yt=A.rgb(E.word[0],E.word[1],E.word[2]),z=class{};z.errorColor=Re,z.errorColorBg=Wt,z.levelColors=We,z.levelSymbolColors=Gt,z.regexColor=Jt,z.regexColorAny=Kt,z.regexColorAny2=Ht,z.regexColorGlob=Xt,z.regexColorWord=Yt;var m=z;function ue(r,e,t){let n="",o=X.testExp("uriAny",r);for(let s of r)switch(s){case"*":n+=m.regexColorGlob(s);break;case" ":case".":case"/":case"\\":n+=(t??m.regexColorAny2)(s);break;default:n+=o?(e??m.regexColorAny)(s):(e??Y.white)(s);break}return n}function me(r,e,t){let n="",o="",s=X.extractExp("specialCharsWhitespace",r),l=X.extractExp("alphanumeric",r),i=!1,c=l[0].index-1;for(let u of l)c===u.index-1&&(o+=u.char),c=u.index;o.length===l.length&&(i=!0);let a;if(i){let u=o;try{u=JSON.parse(o)}catch{}switch(typeof u){case"string":a=e??Y.white;break;case"number":case"bigint":a=Y.yellow;break;case"boolean":a=m.regexColorAny2;break;case"undefined":a=m.regexColorAny;break;case"symbol":case"function":a=Y.yellowBright;break;default:a=e??Y.white;break}}for(let u=0;u<r.length;u++){let d=r[u],y=d;try{y=JSON.parse(d)}catch{}let x=s.find(f=>f.index===u);if(!x&&a){n+=a(d);continue}switch(typeof y){case"string":if(x){n+=(t??m.regexColorAny)(d);break}if(typeof y=="number"){n+=Y.yellow(d);break}n+=(e??Y.white)(d);break;case"number":n+=Y.yellow(d);break;default:n+=(e??Y.white)(d);break}}return n}var J=class J{static isAnsi(e){return this.regexStandard.test(e||"")||this.regexRgb.test(e||"")}static isAnsiStandard(e){return this.regexStandard.test(e||"")}static isAnsiRgb(e){return this.regexRgb.test(e||"")}static ansiStandardToHex(e){try{if(!e.match(this.regexStandard))return null;let[,n]=JSON.stringify(e).replace(/\"/g,"").replace(/\m/g,"").split("[");if(!n)return null;let o=parseInt(n,10);return this.ansiStandardHexMap[o]||null}catch{return null}}static ansiStandardToRgb(e){try{let t=this.ansiStandardToHex(e);return t?this.dullerRgb(Qt(t)):null}catch{return null}}static ansiRgbToHexOrRgb(e,t=!0){try{if(!e.match(this.regexRgb))return null;let[,,o,s,l]=JSON.stringify(e).replace(/\"/g,"").replace(/\m/g,"").split(";");if(!o||!s||!l)return null;let i=parseInt(o,10),c=parseInt(s,10),a=parseInt(l,10);return t?`#${i.toString(16).padStart(2,"0")}${c.toString(16).padStart(2,"0")}${a.toString(16).padStart(2,"0")}`:{r:i,g:c,b:a}}catch{return null}}static ansiRgbToRgb(e){try{let t=this.ansiRgbToHexOrRgb(e,!1);return t?this.dullerRgb(t):null}catch{return null}}static ansiToRgb(e){return this.isAnsiStandard(e)?this.ansiStandardToRgb(e):this.isAnsiRgb(e)?this.ansiRgbToRgb(e):null}};J.regexStandard=/\u001b\[[0-9;]*m/g,J.regexRgb=/\x1b\[38;2;(\d{1,3});(\d{1,3});(\d{1,3})m/g,J.duller=e=>165/255*e,J.dullerRgb=e=>({r:J.duller(e.r),g:J.duller(e.g),b:J.duller(e.b)}),J.ansiStandardHexMap={30:"#000000",31:"#ff0000",32:"#00ff00",33:"#ffff00",34:"#0000ff",35:"#ff00ff",36:"#00ffff",37:"#ffffff",90:"#808080",91:"#ff5555",92:"#55ff55",93:"#ffff55",94:"#5555ff",95:"#ff55ff",96:"#55ffff",97:"#ffffff"};var xe=J;function Qt(r){r=r.replace("#",""),r.length===3&&(r=r.split("").map(t=>t+t).join(""));let e=parseInt(r,16);return{r:e>>16&255,g:e>>8&255,b:e&255}}var Ae=class{formatError(e){let t=e.fileName?.replace(/\\/g,"/")||"anonymous",n=t.split("/"),o=t.startsWith("node")?n.splice(0,1):void 0,s=n.pop();t=[...o?[fe.rgb(68,107,61)(o)]:[],...n?.length?[ue(n.join("/"),fe.red,fe.red)]:[],...s?[m.regexColorAny2(s)]:[]].join(m.errorColor("/"));let l=e.functionName||"(anonymous)";return[fe.gray(` ${l}`),[t,m.regexColorAny(`:${e.lineNumber}:${e.columnNumber}`)].join("")].join(" ")}render(e){if(!e.stack)return"";e?.message||(e.message="Unspecified error");let t=[],o=Ut.parse(e).map(s=>this.formatError(s)).join(`
`);return o?t.push(o):t.push(fe.gray("No stack trace available")),t.join(`
`)}},Ge=Ae;import _t from"is-unicode-supported";var _=_t(),B=class{};B.standard=_?"\xB7":"-",B.debug=_?"\xB7":"",B.info=_?"\xB7":"",B.important=_?"\u2726":"!!",B.success=_?"\u2714":"++",B.warn=_?"\u26A0":"(warn)",B.error=_?"\u2716":"(error)",B.fatal=_?"\u2716":"(fatal)";var ge=B;var ve=rr();var Xe=r=>{let e=new Ge,t=r?.timestampFormat||"HH:mm:ss.SSS",n=r?.showTimestamp??!1,o=i=>p.rgb(i[0],i[1],i[2]),s=(i,...c)=>{let a=i.level,u=r?.tag?`(${r.tag})`:"",d=p[r?.tagColor||"gray"],y=i.comboIndex>0,x=r?.prefix||r.parentDirname,f=p[r?.prefixColor||"cyan"],k=n?[p.gray(`[${Je.now().toFormat(t)}]`)]:[],v=i.color?o(i.color):void 0,R=ve?i?.symbol?.symbol:i?.symbol?.fallback,C=i.symbol?.symbol!=null?R:ge[a],j=v||m.levelSymbolColors[a],L=C||"",N=["important","success","warn","error","fatal"].includes(a),w=Ke(a,v,f,...c);return{level:a,tag:u,tagColor:d,noPrefix:y,prefix:x,prefixColor:f,prefixes:k,customColor:v,symbolColor:j,symbol:L,critical:N,messages:w}},l=(i,...c)=>{let a=i.level,u=r?.tag?`(${r.tag})`:"",d=p[r?.tagColor||"gray"],y=i.comboIndex>0,x=r?.prefix||r.parentDirname,f=p[r?.prefixColor||"cyan"],k=n?[p.gray(`[${Je.now().toFormat(t)}]`)]:[],v=i.color?o(i.color):void 0,R=ve?i?.symbol?.symbol:i?.symbol?.fallback,C=i.symbol?.symbol!=null?R:ge.standard,j=v||m.levelSymbolColors.custom,L=C||"",N=!1,w=Ke("custom",v,f,...c);return{level:"custom",tag:u,tagColor:d,noPrefix:y,prefix:x,prefixColor:f,prefixes:k,customColor:v,symbolColor:j,symbol:L,critical:N,messages:w}};return{format:(i,...c)=>{let{level:a,tag:u,tagColor:d,noPrefix:y,prefix:x,prefixColor:f,prefixes:k,customColor:v,symbolColor:R,symbol:C,critical:j,messages:L}=typeof i.level=="string"?s(i,...c):l(i,...c);!y&&x&&k.push(f(x)),!y&&u&&k.push(d(u)),j&&k.push(p.gray(ge.standard)),(!y&&C||i?.symbol?.symbol||i?.symbol?.fallback)&&(k.push(R(C)),ve&&j&&k.push(""));let w=L==null?p.gray(JSON.stringify(L)):[...L.map(({msg:Z,error:ne})=>{let te=ne?e.render(ne):"";return`${Z}${te?`
${te}`:""}`})].join(" ");return!j&&w&&!w.startsWith(`
`)&&!C&&(x||u)&&k.push(p.gray(ge.standard)),`${k.join(" ")}${k.length?" ":""}${w}`}}};function Ke(r,e,t,...n){if(!n.length)return;let o=r==="error"||r==="fatal",s=[],l=n.sort((i,c)=>{let a=typeof i=="object"&&i!==null;return a===(typeof c=="object"&&c!==null)?0:a?1:-1});for(let i of l)if(typeof i=="string")s.push({msg:o?m.errorColorBg(i):Ye(r,e,t,i,0),error:void 0});else if(Qe(i))s.push({msg:m.errorColorBg(i.message),error:i});else if(o)s.push({msg:m.errorColorBg(i),error:void 0});else if(typeof i=="object"){let c=i;try{c=JSON.parse(er(c))}catch{}s.push({msg:_e(r,e,t,o,c,0),error:void 0})}else{let c=Ue(r,e,t,o,i,i,0);s.push({msg:m.regexColorAny(c),error:void 0})}return s}function nr(r,e,t,n,o,s){return typeof n=="number"?s?p.yellow(n):m.regexColorAny(n):Ye(r,e,t,n,o,s)}function Ye(r,e,t,n,o,s){let l=n.split(" ");return l.map((i,c)=>{try{let a=i;try{a=JSON.parse(i)}catch{}let u=Ue(r,e,t,Qe(a),n,a,o,!0,s),d=c===0,y=c===l.length-1,x=l.length===1;return typeof a=="object"?x?u:`${d?"":`
`}${u}${y?"":`
`}`:u}catch{return m.regexColorWord(i)}}).join(" ")}function Qe(r){return!r||typeof r!="object"?!1:!!(r?.stack&&r?.message||r instanceof Error)}function Ue(r,e,t,n,o,s,l,i,c){return or(r,e,t,n,o,s,l,c,{...i?{string:e??m.levelColors[r],boolean:m.regexColorAny2}:{},regex:[{color:m.regexColor,test:X.toArrExp("uri","fileUri","websiteUri","relativeUri","absoluteUri","email","filename")}]})}function or(r,e,t,n,o,s,l,i,c){let a=typeof s;if(a==="string"&&c?.regex?.length)for(let k of c.regex)for(let v of k.test){let R=He(s),C=R.clean;if(i&&s===C&&(R.quoteFirst='"',R.quoteLast='"'),new RegExp(v).test(C)){if(X.testExp("filenameStrict",C))return m.regexColorWord(s);let j=R.quoteFirst?m.regexColorAny(R.quoteFirst):"",L=R.quoteLast?m.regexColorAny(R.quoteLast):"";if(X.testExp("filename",C)){let N=C.includes("/")?"/":"\\",w=C.split(N),Z=w.pop();return j+[ue(w.join(N)),m.regexColorAny2(Z)].join(m.regexColorAny(N))+L}return j+ue(C)+L}}let u=He(s),d=u.clean,y="",x="",f=p.white(s);switch(a){case"string":if(i&&o!=null&&!o?.includes(" ")&&!s.includes('"')&&(u.quoteFirst='"',u.quoteLast='"'),y=u.quoteFirst?m.regexColorAny2(u.quoteFirst):"",x=u.quoteLast?m.regexColorAny2(u.quoteLast):"",c?.string)return[y,me(d,c.string),x].join("");f=n?m.errorColor([u.quoteFirst,s,u.quoteLast].join("")):[y,me(d,e),x].join("");break;case"boolean":if(!i){if(c?.boolean)return[y,me(JSON.stringify(s),c.boolean),x].join("");f=me(JSON.stringify(s),m.regexColorAny2);break}f=s?p.rgb(66,177,66)(s):p.rgb(148,37,37)(s);break;case"undefined":if(c?.undefined)return c.undefined(s);f=c?.undefined?.(s)??p.gray(s);break;case"object":f=_e(r,e,t,n,f,l+1);break;case"number":case"bigint":if(c?.number)return c.number(s);f=p.yellow(s);break;case"symbol":case"function":if(c?.function)return c.function(s);f=p.yellowBright(s);break}return f}function _e(r,e,t,n,o,s){if(s>100)return"[Circular Object]";let l=t,i=t("`").split("`")[0],c=xe.ansiToRgb(i);if(c){let a={r:Math.floor(c.r),g:Math.floor(c.g),b:Math.floor(c.b)};l=p.rgb(a.r,a.g,a.b)}return tr(o,{indent:4,colors:{Brace:p.gray,Bracket:p.gray,Colon:p.gray,Comma:p.gray,StringKey:n?m.errorColor:a=>l(`${a}`),StringLiteral:a=>nr(r,e,t,a,s,!0),NumberLiteral:p.yellow,BooleanLiteral:a=>a==="true"?p.rgb(66,177,66)(a):p.rgb(148,37,37)(a),NullLiteral:p.gray,Whitespace:p.gray}})}function He(r){let e={value:"",clean:"",quoteFirst:"",quoteLast:""};if(!r||typeof r!="string")return e;let t=`${r}`,n="",o="";return r.startsWith('"')?n='"':r.startsWith("'")?n="'":r.startsWith("`")&&(n="`"),r.endsWith('"')?o='"':r.endsWith("'")?o="'":r.endsWith("`")&&(o="`"),n&&(t=t.slice(1)),o&&(t=t.slice(0,-1)),{value:r,clean:t,quoteFirst:n,quoteLast:o}}var g=class g{constructor(e){this.level="trace";this._getComboItem=(e,t)=>[t,e];this.custom=(e,t,n,o,...s)=>this.combo(this.getComboItemCustom(e,t,n,o,...s));this.table=(e,t)=>this.combo(this.getComboItemTable("info",e,t));this.debug=(e,...t)=>this.combo(this.getComboItem("debug",e,...t));this.info=(e,...t)=>this.combo(this.getComboItem("info",e,...t));this.important=(e,...t)=>this.combo(this.getComboItem("important",e,...t));this.success=(e,...t)=>this.combo(this.getComboItem("success",e,...t));this.warn=(e,...t)=>this.combo(this.getComboItem("warn",e,...t));this.error=(e,...t)=>this.combo(this.getComboItem("error",e,...t));this.fatal=(e,...t)=>this.combo(this.getComboItem("fatal",e,...t));this.combo=(e,...t)=>{let n=[e,...t];return qe(this,...n),this};this.getComboItem=(e,t,...n)=>this._getComboItem([e,t,...n],"default");this.getComboItemCustom=(e,t,n,o,...s)=>this._getComboItem([e,t,n,o,...s],"custom");this.getComboItemTable=(e,t,n)=>{let o=[],s=Array.isArray(t)?t:[t],l=ce.isObject(s[0]);if(s.forEach(i=>{if(l){o.push(i);return}let c=new ar(n),a=i(c);o.push(a)}),!o.length)throw new Error("No tables found");return this._getComboItem([e,o,n],"table")};this.mode=e?.mode,this.skipModes=e?.skipModes??[],this.dirname=sr.resolve(process.cwd(),"./").replace(/\\/g,"/"),this.parentDirname=this.dirname.split("/").pop(),this.level=e?.level??"trace",e?.mode&&delete e.mode,e?.skipModes&&delete e.skipModes,e?.level&&delete e.level;let t=e?.transport??Xe;this.transport=t({...e,dirname:this.dirname,parentDirname:this.parentDirname})}static get logger(){return new g}};g.custom=(e,t,n,o,...s)=>g.logger.custom(e,t,n,o,...s),g.table=(e,t)=>g.logger.table(e,t),g.debug=(e,...t)=>g.logger.debug(e,...t),g.info=(e,...t)=>g.logger.info(e,...t),g.important=(e,...t)=>g.logger.important(e,...t),g.success=(e,...t)=>g.logger.success(e,...t),g.warn=(e,...t)=>g.logger.warn(e,...t),g.error=(e,...t)=>g.logger.error(e,...t),g.fatal=(e,...t)=>g.logger.fatal(e,...t),g.combo=(e,...t)=>g.logger.combo(e,...t),g.getComboItem=(e,t,...n)=>g.logger.getComboItem(e,t,...n),g.getComboItemCustom=(e,t,n,o,...s)=>g.logger.getComboItemCustom(e,t,n,o,...s),g.getComboItemTable=(e,t,n)=>g.logger.getComboItemTable(e,t,n);var Ee=g,et=Ee;import ir from"fast-glob";import tt from"lodash";var P={prefix:"@/",suffix:"/*",match:["package.json","tsconfig.*.json"],loose:!0,root:process.cwd(),dir:["."],skip:["node_modules"],out:"tsconfig.aliases.json",maxBackups:5,backupDir:"/.tsconfig.aliases.backup",packages:["packages"],verbose:"trace"},Un=cr;function cr(r,e){let t=r?.root??P.root,n=r?.root?T.relative(P.root,t).replace(/\\/g,"/")+"/":"./",o=T.resolve(t,"."),s=r?.dir?.length?r.dir:P.dir,l=r?.loose??P.loose,i=r?.packages??P.packages,c=r?.verbose??P.verbose,a=r?.prefix??P.prefix,u=r?.suffix??P.suffix,d=r?.match?.length?r.match:P.match,y=r?.skip?.length?r.skip:P.skip,x=r?.out??P.out,f=T.resolve(t,x),k=T.dirname(f),v=r?.backupDir??P.backupDir,R=r?.maxBackups??P.maxBackups,C=new et({prefix:"tsconfig-aliases",...e,level:c==="off"?"silent":c});C.debug("running with options:",{root:t,rootRelative:n,rootDir:o,dirs:s,loose:l,packages:i,verbose:c,prefix:a,suffix:u,matches:d,skip:y,outFile:x,outPath:f,outDir:k,backupDir:v,maxBackups:R});let j=$=>{if(/[\/\\]([^\/\\]+)[\/\\]\1$/.test($)){let S=$.replace(/\\/g,"/").split("/"),K=S.pop(),H=S.pop();return!K&&!H?$:T.join(S.join("/"),...H?[H]:[])}return $},L=$=>{let S=$.replace(/\\/g,"/");return i.forEach(K=>{if(S.includes(K)){let H=K.replace(/\\/g,"/"),F=H.endsWith("/")?H:`${H}/`;S=S.replaceAll(F,"")}}),S},N=($,S,K=0)=>{O.readdirSync(S,{withFileTypes:!0}).forEach(F=>{if(!F.isDirectory()||y.some(se=>F.name.includes(se)))return;let pe=!1,q=T.join(S,F.name),Q=L(q);new Set(d).forEach(se=>{let ke=T.join(q,se);S!==o&&ir.sync(ke.replace(/\\/g,"/")).length&&($.push({value:q,sanitizedValue:Q}),pe=!0)}),pe&&$.push({value:S,sanitizedValue:L(S)}),N($,q,K+1)})},w={};O.existsSync(f)&&(w=JSON.parse(O.readFileSync(f,"utf-8"))),w.compilerOptions??={},w.compilerOptions.paths??={};let Z=w.compilerOptions.paths,ne={},te={...w},rt=[];s.forEach($=>{let S=T.resolve(t,$);if(!O.existsSync(S))return;let K=[];N(K,S),tt.sortBy(tt.uniqBy(K.map(F=>({...F,sanitizedValue:L(F.sanitizedValue)})),"value"),"sanitizedValue").forEach(F=>{let pe=T.relative(t,F.sanitizedValue).replace(/\\/g,"/"),q=j(pe).replace(/\\/g,"/");if(!q)return;let Q=`${a}${q}`,se=T.relative(t,F.value);Z[Q]||(Z[Q]=[]),l&&Z[q]&&Q!==q&&delete Z[q];let ke=se.replace(/\\/g,"/"),de=`${n}${ke}${u}`;Z[Q].includes(de)||(ne[Q]=Z[de],Z[Q].push(de),rt.push(de))})}),O.existsSync(k)||O.mkdirSync(k,{recursive:!0}),O.writeFileSync(f,JSON.stringify(w,null,4)+`
`);let nt=v.startsWith("/")||!T.isAbsolute(v)?T.join(k,"tsconfig.aliases.backup"):v,Ce=lr(f,nt,R);te&&O.writeFileSync(Ce.filePath,JSON.stringify(te||{},null,4)+`
`);let oe={outFile:x.replace(/\\/g,"/"),outDir:k.replace(/\\/g,"/"),fullPath:f.replace(/\\/g,"/"),backupDir:Ce.folderPath,newPaths:Object.keys(ne),oldPaths:te?.compilerOptions?.paths};return C.debug(oe),C.success("generated",oe.newPaths.length,"new path(s) in",oe.outFile),C.success("find it here:",oe.fullPath),C.success("backup folder: ",Ce.folderPath),oe}function lr(r,e,t=5){let n=T.dirname(r),o=T.basename(r),s=e&&(e.startsWith("/")||!T.isAbsolute(e))?T.join(n,e):e||T.join(n,"tsconfig.aliases.backup");O.existsSync(s)||O.mkdirSync(s,{recursive:!0});let l=O.readdirSync(s).filter(c=>c.endsWith(".old.json")).sort().reverse();if(l.length>=t){let c=l.slice(t-1);for(let a of c){let u=T.join(s,a);O.existsSync(u)&&O.unlinkSync(u)}}return{filePath:T.join(s,o.replace(".json",`.${Date.now()}.old.json`)).replace(/\\/g,"/"),folderPath:s.replace(/\\/g,"/")}}export{Un as default,P as defaultTsConfigAliasesOptions,cr as tsconfigAliases};