@visulima/api-platform 3.0.16 → 3.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +27 -0
- package/dist/chunk-6DAPD6MO.mjs +18 -0
- package/dist/chunk-6DAPD6MO.mjs.map +1 -0
- package/dist/chunk-RQONMOEW.js +25 -0
- package/dist/chunk-RQONMOEW.js.map +1 -0
- package/dist/framework/cli/commander/index.js +2 -2
- package/dist/framework/cli/commander/index.mjs +1 -1
- package/dist/framework/cli/index.js +2 -2
- package/dist/framework/cli/index.mjs +1 -1
- package/package.json +19 -19
- package/dist/chunk-F764D2EW.js +0 -43
- package/dist/chunk-F764D2EW.js.map +0 -1
- package/dist/chunk-ORSZUU7P.mjs +0 -36
- package/dist/chunk-ORSZUU7P.mjs.map +0 -1
package/dist/chunk-F764D2EW.js
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var child_process = require('child_process');
|
|
4
|
-
var fs = require('fs');
|
|
5
|
-
var Lt = require('process');
|
|
6
|
-
var path = require('@visulima/path');
|
|
7
|
-
var b = require('chalk');
|
|
8
|
-
var jsdocOpenApi = require('@visulima/jsdoc-open-api');
|
|
9
|
-
var promises = require('fs/promises');
|
|
10
|
-
var utils = require('@visulima/path/utils');
|
|
11
|
-
var zlib = require('zlib');
|
|
12
|
-
var yaml = require('yaml');
|
|
13
|
-
|
|
14
|
-
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
|
-
|
|
16
|
-
var Lt__default = /*#__PURE__*/_interopDefault(Lt);
|
|
17
|
-
var b__default = /*#__PURE__*/_interopDefault(b);
|
|
18
|
-
|
|
19
|
-
var Wt=(e,t)=>{if(t.length===0)throw new Error("must include at least one key to map");let r=e.toString();return t.forEach(n=>{r=n.optional?r.replace("(?:\\/([^\\/]+?))?\\",`/:${n.name}?`):r.replace("(?:([^\\/]+?))",`:${n.name}`);}),r.replace("/?(?=\\/|$)/i","").replace("/^","").replaceAll("\\","").replaceAll(/\/{2,}/gu,"/")},he=Wt;var Kt=(e,t)=>{if(typeof e=="string")return e;if(e.fast_slash)return "";if(e.fast_star)return "*";let r="";t.length>0&&(r=he(e,t));let n=/^\/\^((?:\\[$()*+./?[\\\]^{|}]|[^$()*+./?[\\\]^{|}])*)\$\//u.exec(e.toString().replace("\\/?","").replace("(?=\\/|$)","$"));return Array.isArray(n)&&n.length>1?n[1].replaceAll(/\\(.)/gu,"$1").slice(1):r?r.slice(1):e.toString()},we=Kt;var _t=(e,t,r)=>{let n=e.route.stack.at(-1),o=t.map(c=>({in:"path",name:c.name,required:!c.optional})),i=e.route.stack.filter(c=>c.handle.metadata);if(i.length>1)throw new Error("Only one metadata middleware is allowed per route");let a=(r+e.route.path).replaceAll(/\/{2,}/gu,"/");return i.length===0?{method:n.method,path:a,pathParams:o}:{metadata:i[0].handle.metadata,method:n.method,path:a,pathParams:o}},be=(e,t,r,n)=>{n=[...n,...r.keys],r.name==="router"&&r.handle&&r.handle.stack.forEach(o=>{t=t||"",be(e,`${t}/${we(r.regexp,r.keys)}`,o,n);}),!(!r.route||r.route.stack.length===0)&&e.push(_t(r,n,t));},Bt=e=>{let t=e._router||e.router,r=[];return t.stack.forEach(n=>{be(r,"",n,[]);}),r},ve=Bt;var Gt=e=>{let t=[];return ve(e).forEach(r=>{t.push({file:"unknown",method:r.method.toUpperCase(),path:r.path,tags:[]});}),t},Ee=Gt;var Se=e=>e.replaceAll(/ \(.*\)/gu,"").trim(),xe=e=>e.trim().split(" ")[1].slice(1,-1),Ht=e=>{let r=e.printRoutes().replaceAll(/[─│└├]/gu," ").trimEnd().split(`
|
|
20
|
-
`),n=r.reduce((i,a,c)=>{let l=Se(a);if(Se(r[c-1]??"")===l){let y=i.filter(x=>x.index<c&&x.segment===l),{methods:E}=y.at(-1);return E!==null&&E.push(xe(a)),i}let u=a.replaceAll(/ \(.*\)/gu,"").match(/ /gu);if(u===null)throw new Error("Invalid spaces");let s=u.length/4,m=a.includes("("),h=m?[xe(a)]:null;return i.push({depth:s,index:c,isRoute:m,methods:h,segment:l}),i},[]),o=[];return n.filter(i=>i.isRoute).forEach(i=>{let c=[...n.filter(l=>l.index<i.index&&l.depth<i.depth).filter((l,f,u)=>!u.find(s=>s.depth===l.depth&&s.index>l.index)).map(l=>l.segment),i.segment].join("");if(i.methods===null)throw new Error("Invalid methods");i.methods.forEach(l=>{o.push({file:"unknown",method:l.toUpperCase(),path:c,tags:[]});});}),o},Pe=Ht;var Yt=e=>{let r=e._core.router.routes,n=[];return [...r.keys()].forEach(o=>{r.get(o).routes.forEach(i=>{n.push({file:"unknown",method:i.route.method.toUpperCase(),path:i.path,tags:[]});});}),n},ke=Yt;var Xt=e=>{let t=[];return e.middleware.filter(r=>r.router).flatMap(r=>r.router.stack).forEach(r=>{t.push({file:"unknown",method:r.methods.join("|").toUpperCase(),path:r.path,tags:[]});}),t},$e=Xt;var Ae=/\.(js|ts|mjs|cjs)$/u,Zt=(e,t,r=!1)=>{e=path.toNamespacedPath(e);let n=path.toNamespacedPath(Lt.cwd()),o=[],i=jsdocOpenApi.parseFile(e,jsdocOpenApi.jsDocumentCommentsToOpenApi,r);o=[...o,...i.map(l=>l.spec)];let a=jsdocOpenApi.parseFile(e,jsdocOpenApi.swaggerJsDocumentCommentsToOpenApi,r);o=[...o,...a.map(l=>l.spec)];let c=[];return o.length===0?(fs.readFileSync(e,"utf8").split(/\r?\n/u).forEach(f=>{let u=/[=aces|]+\s["'|](GET|POST|PUT|PATCH|HEAD|DELETE|OPTIONS)["'|]/u.exec(f);if(u){let[,s]=u;s==="GET"&&(s="GET|HEAD"),c.push({file:e.replace(`${n}/`,""),method:s,path:path.toNamespacedPath(e.replace(t,"").replace(Ae,"")),tags:[]});}}),c.length===0&&c.push({file:e.replace(`${n}/`,""),method:"GET|POST|PUT|PATCH|DELETE|HEAD|OPTIONS",path:path.toNamespacedPath(e.replace(t,"").replace(Ae,"")),tags:[]}),c):(o.forEach(l=>{Object.entries(l?.paths??{}).forEach(([u,s])=>{Object.entries(s).forEach(([h,y])=>{c.push({file:e.replace(`${n}/`,""),method:h.toUpperCase(),path:path.toNamespacedPath(u),tags:y.tags});});});}),c)},je=Zt;var er=Object.defineProperty,Fe=(e,t)=>er(e,"name",{value:t,configurable:!0}),tr=Object.defineProperty,rr=Fe((e,t)=>tr(e,"name",{value:t,configurable:!0}),"i"),oe=class e extends Error{static{Fe(this,"r");}static{rr(this,"JSONError");}fileName;codeFrame;name="JSONError";#e;constructor(t){super(),this.#e=t,Error.captureStackTrace(this,e);}get message(){return `${this.#e}${this.fileName?` in ${this.fileName}`:""}${this.codeFrame?`
|
|
21
|
-
|
|
22
|
-
${this.codeFrame}
|
|
23
|
-
`:""}`}set message(t){this.#e=t;}},Te=oe;var nr=Object.defineProperty,L=(e,t)=>nr(e,"name",{value:t,configurable:!0}),or=Object.defineProperty,ir=L((e,t)=>or(e,"name",{value:t,configurable:!0}),"n"),g=ir(e=>{if(!e||!(e instanceof URL)&&typeof e!="string")throw new TypeError("Path must be a non-empty string or URL.")},"assertValidFileOrDirectoryPath"),sr=Object.defineProperty,ie=L((e,t)=>sr(e,"name",{value:t,configurable:!0}),"v$1"),ar=Object.defineProperty,cr=ie((e,t)=>ar(e,"name",{value:t,configurable:!0}),"r$1"),lr=cr(e=>e.replaceAll(/\r\n|\r(?!\n)|\n/gu,`
|
|
24
|
-
`),"normalizeLF"),fr=globalThis.process||Object.create(null),De={versions:{}},Re=new Proxy(fr,{get(e,t){if(t in e)return e[t];if(t in De)return De[t]}}),ur=Object.defineProperty,pr=ie((e,t)=>ur(e,"name",{value:t,configurable:!0}),"b"),mr=pr((e,t,r,n)=>{let o={column:0,line:-1,...e.start},i={...o,...e.end},a=o.line,c=o.column,l=i.line,f=i.column,u=Math.max(a-(r+1),0),s=Math.min(t.length,l+n);a===-1&&(u=0),l===-1&&(s=t.length);let m=l-a,h={};if(m)for(let y=0;y<=m;y++){let E=y+a;if(!c)h[E]=!0;else if(y===0){let x=t[E-1]?.length;h[E]=[c,(x??0)-c+1];}else if(y===m)h[E]=[0,f];else {let x=t[E-y]?.length;h[E]=[0,x];}}else c===f?h[a]=c?[c,0]:!0:h[a]=[c,(f??0)-(c??0)];return {end:s,markerLines:h,start:u}},"getMarkerLines"),yr=Object.defineProperty,G=ie((e,t)=>yr(e,"name",{value:t,configurable:!0}),"o"),dr=Re.platform==="win32"&&!Re.env?.WT_SESSION?">":"\u276F",gr=G((e,t,r)=>{let n={linesAbove:2,linesBelow:3,prefix:"",showGutter:!0,showLineNumbers:!0,tabWidth:4,...r,color:{gutter:G(y=>y,"gutter"),marker:G(y=>y,"marker"),message:G(y=>y,"message"),...r?.color}},o=t.start&&typeof t.start.column=="number",i=lr(e).split(`
|
|
25
|
-
`);typeof n?.tabWidth=="number"&&(i=i.map(y=>y.replaceAll(" "," ".repeat(n.tabWidth))));let{end:a,markerLines:c,start:l}=mr(t,i,n.linesAbove,n.linesBelow),f=String(a).length,{gutter:u,marker:s,message:m}=n.color,h=i.slice(l,a).map((y,E)=>{let x=l+1+E,B=c[x],Ct=(" "+x).slice(-f),Mt=!c[x+1],re=" "+Ct+(n.showGutter?" |":"");if(B){let ne="";if(Array.isArray(B)){let Ut=y.replaceAll(/[^\t]/g," ").slice(0,Math.max(B[0]-1,0)),Jt=B[1]||1;ne=[`
|
|
26
|
-
`,n.prefix+u(re.replaceAll(/\d/g," "))," ",Ut,s("^").repeat(Jt)].join(""),Mt&&n.message&&(ne+=` ${m(n.message)}`);}return [n.prefix+s(dr),u(re),y.length>0?" "+y:"",ne].join("")}return n.prefix+" "+u(re)+(y.length>0?" "+y:"")}).join(`
|
|
27
|
-
`);return n.message&&!o&&(h=n.prefix+" ".repeat(f+1)+n.message+`
|
|
28
|
-
`+h),h},"codeFrame"),hr=Object.defineProperty,wr=L((e,t)=>hr(e,"name",{value:t,configurable:!0}),"l$1"),br=Object.defineProperty,se=wr((e,t)=>br(e,"name",{value:t,configurable:!0}),"l"),Le=se((e,t)=>{let r=0,n=t.length-2;for(;r<n;){let o=r+(n-r>>1);if(e<t[o])n=o-1;else if(e>=t[o+1])r=o+1;else {r=o;break}}return r},"binarySearch"),vr=se(e=>e.split(/\n|\r(?!\n)/).reduce((t,r)=>(t.push(t.at(-1)+r.length+1),t),[0]),"getLineStartIndexes"),Er=se((e,t,r)=>{let n=r?.skipChecks??!1;if(!n&&(!Array.isArray(e)&&typeof e!="string"||(typeof e=="string"||Array.isArray(e))&&e.length===0))return {column:0,line:0};if(!n&&(typeof t!="number"||typeof e=="string"&&t>=e.length||Array.isArray(e)&&t+1>=e.at(-1)))return {column:0,line:0};if(typeof e=="string"){let i=vr(e),a=Le(t,i);return {column:t-i[a]+1,line:a+1}}let o=Le(t,e);return {column:t-e[o]+1,line:o+1}},"indexToLineColumn"),Sr=Er,xr=Object.defineProperty,U=L((e,t)=>xr(e,"name",{value:t,configurable:!0}),"s"),Pr=U(e=>`\\u{${e.codePointAt(0).toString(16)}}`,"getCodePoint"),kr=U((e,t,r)=>gr(e,{start:t},{tabWidth:!1,...r}),"generateCodeFrame"),$r=U((e,t)=>{let r=/in JSON at position (?<index>\d+)(?: \(line (?<line>\d+) column (?<column>\d+)\))?$/.exec(t);if(!r)return;let{column:n,index:o,line:i}=r.groups;return i&&n?{column:Number(n),line:Number(i)}:(o=Number(o),o===e.length&&(o=e.length-1),Sr(e,o))},"getErrorLocation"),Or=U(e=>e.replace(/(?<=^Unexpected token )(?<quote>')?(.)\k<quote>/,(t,r,n)=>`"${n}"(${Pr(n)})`),"addCodePointToUnexpectedToken");function J(e,t,r,n){typeof t=="string"&&(typeof r=="object"&&(n=r),r=t,t=void 0);let o;try{return JSON.parse(e,t)}catch(c){o=c.message;}let i;e?(i=$r(e,o),o=Or(o)):o+=" while parsing empty string";let a=new Te(o);throw a.fileName=r,i&&(a.codeFrame=kr(e,i,n)),a}L(J,"F");U(J,"parseJson");var Ar=Object.defineProperty,jr=L((e,t)=>Ar(e,"name",{value:t,configurable:!0}),"e"),Fr=jr(e=>{if(typeof e!="string"&&!(e instanceof ArrayBuffer)&&!ArrayBuffer.isView(e))throw new TypeError("File contents must be a string, ArrayBuffer, or ArrayBuffer view.")},"assertValidFileContents"),ae=Fr;var Tr=Object.defineProperty,N=(e,t)=>Tr(e,"name",{value:t,configurable:!0}),Dr=Object.defineProperty,Rr=N((e,t)=>Dr(e,"name",{value:t,configurable:!0}),"t$2"),Lr=class extends Error{static{N(this,"n");}static{Rr(this,"AlreadyExistsError");}constructor(e){super(`EEXIST: ${e}`);}get code(){return "EEXIST"}set code(e){throw new Error("Cannot overwrite code EEXIST")}get name(){return "AlreadyExistsError"}set name(e){throw new Error("Cannot overwrite name of AlreadyExistsError")}},W=Lr,Nr=Object.defineProperty,Ir=N((e,t)=>Nr(e,"name",{value:t,configurable:!0}),"o"),Cr=class extends Error{static{N(this,"n");}static{Ir(this,"PermissionError");}constructor(e){super(`EPERM: Operation not permitted, ${e}`);}get code(){return "EPERM"}set code(e){throw new Error("Cannot overwrite code EPERM")}get name(){return "PermissionError"}set name(e){throw new Error("Cannot overwrite name of PermissionError")}},H=Cr,Mr=Object.defineProperty,Ur=N((e,t)=>Mr(e,"name",{value:t,configurable:!0}),"t"),T=class extends Error{static{N(this,"i");}static{Ur(this,"WalkError");}root;constructor(t,r){super(`${t instanceof Error?t.message:t} for path "${r}"`),this.cause=t,this.root=r;}get name(){return "WalkError"}set name(t){throw new Error("Cannot overwrite name of WalkError")}};var Jr=Object.defineProperty,p=(e,t)=>Jr(e,"name",{value:t,configurable:!0}),I=0,Q=4;var et=Symbol("findUpStop"),sn=Object.defineProperty,an=p((e,t)=>sn(e,"name",{value:t,configurable:!0}),"i$b"),k=an(e=>{if(e.isFile())return "file";if(e.isDirectory())return "dir";if(e.isSymbolicLink())return "symlink"},"getFileInfoType"),cn=Object.defineProperty,ln=p((e,t)=>cn(e,"name",{value:t,configurable:!0}),"i$a"),fn=ln(async e=>{g(e);try{let t=await promises.lstat(e);if(!t.isDirectory())throw new Error(`Ensure path exists, expected 'dir', got '${k(t)}'`);return}catch(t){if(t.code!=="ENOENT")throw t}try{await promises.mkdir(e,{recursive:!0});}catch(t){if(t.code!=="EEXIST")throw t;let r=await promises.lstat(e);if(!r.isDirectory())throw new Error(`Ensure path exists, expected 'dir', got '${k(r)}'`)}},"ensureDir"),ue=fn,un=Object.defineProperty,pn=p((e,t)=>un(e,"name",{value:t,configurable:!0}),"o$9"),mn=pn(e=>{g(e);try{let t=fs.lstatSync(e);if(!t.isDirectory())throw new Error(`Ensure path exists, expected 'dir', got '${k(t)}'`);return}catch(t){if(t.code!=="ENOENT")throw t}try{fs.mkdirSync(e,{recursive:!0});}catch(t){if(t.code!=="EEXIST")throw t;let r=fs.lstatSync(e);if(!r.isDirectory())throw new Error(`Ensure path exists, expected 'dir', got '${k(r)}'`)}},"ensureDirSync"),pe=mn,yn=Object.defineProperty,dn=p((e,t)=>yn(e,"name",{value:t,configurable:!0}),"e$5");dn(async e=>{g(e);try{let t=await promises.lstat(e);if(!t.isFile())throw new Error(`Ensure path exists, expected 'file', got '${k(t)}'`)}catch(t){if(t.code==="ENOENT"){await ue(path.dirname(utils.toPath(e))),await promises.writeFile(e,new Uint8Array);return}throw t}},"ensureFile");var gn=Object.defineProperty,hn=p((e,t)=>gn(e,"name",{value:t,configurable:!0}),"e$4");hn(e=>{g(e);try{let t=fs.lstatSync(e);if(!t.isFile())throw new Error(`Ensure path exists, expected 'file', got '${k(t)}'`)}catch(t){if(t.code==="ENOENT"){pe(path.dirname(utils.toPath(e))),fs.writeFileSync(e,new Uint8Array);return}throw t}},"ensureFileSync");var wn=Object.defineProperty,bn=p((e,t)=>wn(e,"name",{value:t,configurable:!0}),"d$6"),C=bn((e,t)=>!!t.ino&&!!t.dev&&t.ino===e.ino&&t.dev===e.dev,"isStatsIdentical"),vn=Object.defineProperty,En=p((e,t)=>vn(e,"name",{value:t,configurable:!0}),"m$8");En(async(e,t)=>{g(e),g(t),e=path.toNamespacedPath(utils.toPath(e)),t=path.toNamespacedPath(utils.toPath(t));let r;try{r=await promises.lstat(t);}catch{}let n;try{n=await promises.lstat(e);}catch(o){throw o.message=o.message.replace("lstat","ensureLink"),o}r&&C(n,r)||(await ue(path.dirname(t)),await promises.link(e,t));},"ensureLink");var Sn=Object.defineProperty,xn=p((e,t)=>Sn(e,"name",{value:t,configurable:!0}),"o$6");xn((e,t)=>{g(e),g(t),e=path.toNamespacedPath(utils.toPath(e)),t=path.toNamespacedPath(utils.toPath(t));let r;try{r=fs.lstatSync(t);}catch{}let n;try{n=fs.lstatSync(e);}catch(o){throw o.message=o.message.replace("lstat","ensureLink"),o}r&&C(n,r)||(pe(path.dirname(t)),fs.linkSync(e,t));},"ensureLinkSync");var Pn=Object.defineProperty,kn=p((e,t)=>Pn(e,"name",{value:t,configurable:!0}),"i$9"),tt=kn((e,t)=>typeof e!="string"?e:e.startsWith("./")?path.resolve(e):typeof t=="string"?path.resolve(path.dirname(t),e):new URL(e,t),"resolveSymlinkTarget"),$n=Object.defineProperty,On=p((e,t)=>$n(e,"name",{value:t,configurable:!0}),"f$4"),An=process.platform==="win32"||/^(?:msys|cygwin)$/.test(process.env.OSTYPE);On(async(e,t,r)=>{g(e),g(t);let n=tt(e,t);t=path.toNamespacedPath(utils.toPath(t));try{if((await promises.lstat(t)).isSymbolicLink()&&C(await promises.stat(n),await promises.stat(t))){let[c,l]=await Promise.all([promises.stat(n),promises.stat(t)]);if(C(c,l))return}}catch{}let o=await promises.lstat(n),i=k(o);await ue(path.dirname(t));let a=r??(An?"junction":i==="dir"?"dir":"file");try{await promises.symlink(path.toNamespacedPath(utils.toPath(n)),t,a);}catch(c){if(c.code!=="EEXIST")throw c;let l=await promises.lstat(t);if(!l.isSymbolicLink())throw new W("A "+k(l)+" already exists at the path: "+t);let f=await promises.readlink(t),u=path.toNamespacedPath(path.resolve(f));if(u!==n)throw new W("A symlink targeting to an undesired path already exists: "+t+" -> "+u)}},"ensureSymlink");var jn=Object.defineProperty,Fn=p((e,t)=>jn(e,"name",{value:t,configurable:!0}),"f$3"),Tn=process.platform==="win32"||/^(?:msys|cygwin)$/.test(process.env.OSTYPE);Fn((e,t,r)=>{g(e),g(t);let n=tt(e,t);t=path.toNamespacedPath(utils.toPath(t));try{if(fs.lstatSync(t).isSymbolicLink()&&C(fs.statSync(n),fs.statSync(t))){let c=fs.statSync(n),l=fs.statSync(t);if(C(c,l))return}}catch{}let o=fs.lstatSync(n),i=k(o);pe(path.dirname(t));let a=r??(Tn?"junction":i==="dir"?"dir":"file");try{fs.symlinkSync(path.toNamespacedPath(utils.toPath(n)),t,a);}catch(c){if(c.code!=="EEXIST")throw c;let l=fs.lstatSync(t);if(!l.isSymbolicLink())throw new W("A "+k(l)+" already exists at the path: "+t);let f=fs.readlinkSync(t),u=path.toNamespacedPath(path.resolve(f));if(u!==n)throw new W("A symlink targeting to an undesired path already exists: "+t+" -> "+u)}},"ensureSymlinkSync");var Dn=Object.defineProperty,rt=p((e,t)=>Dn(e,"name",{value:t,configurable:!0}),"r$4"),nt=/\r?\n/g,Rn=`
|
|
29
|
-
`,Ce=`\r
|
|
30
|
-
`;rt(e=>{let t=e.match(nt);if(!t||t.length===0)return null;let r=t.filter(o=>o===Ce).length,n=t.length-r;return r>n?Ce:Rn},"detect");rt((e,t)=>e.replaceAll(nt,t),"format");var Ln=Object.defineProperty,Nn=p((e,t)=>Ln(e,"name",{value:t,configurable:!0}),"r$3"),q=Nn(e=>{let t=e.replace(/\.\*/g,".([^/]*)").replace(/\*\*/g,"(.*)").replace(/(?<!\.)\*(?!\*)/g,"([^/]*)").replace(/\?/g,"[^/]").replace(/\.(?!\*)/g,"\\.").replace(/\{/g,"(").replace(/\}/g,")").replace(/,/g,"|").replace(/\[!(.*?)\]/g,"[^$1]");return new RegExp(`^${t}$`)},"globToRegExp"),In=Object.defineProperty,Cn=p((e,t)=>In(e,"name",{value:t,configurable:!0}),"n$6"),$=Cn((e,t,r,n)=>Array.isArray(t)&&t.length>0&&!t.some(o=>e.endsWith(o))||r&&!r.some(o=>o.test(e))?!1:!n?.some(o=>o.test(e)),"walkInclude"),Mn=Object.defineProperty,ot=p((e,t)=>Mn(e,"name",{value:t,configurable:!0}),"f$2"),Un=ot(async e=>{let t=path.normalize(e),r=path.basename(t),n=await promises.stat(t);return {isDirectory:n.isDirectory,isFile:n.isFile,isSymbolicLink:n.isSymbolicLink,name:r,path:t}},"_createWalkEntry");async function*Z(e,{extensions:t,followSymlinks:r=!1,includeDirs:n=!0,includeFiles:o=!0,includeSymlinks:i=!0,match:a,maxDepth:c=Number.POSITIVE_INFINITY,skip:l}={}){if(g(e),c<0)return;let f=a?a.map(s=>typeof s=="string"?q(s):s):void 0,u=l?l.map(s=>typeof s=="string"?q(s):s):void 0;if(e=path.resolve(utils.toPath(e)),n&&$(e,t,f,u)&&(yield await Un(e)),!(c<1||!$(e,void 0,void 0,u)))try{for await(let s of await promises.readdir(e,{withFileTypes:!0})){let m=path.join(e,s.name);if(s.isSymbolicLink())if(r)m=await promises.realpath(m);else if(i&&$(m,t,f,u))yield {isDirectory:s.isDirectory,isFile:s.isFile,isSymbolicLink:s.isSymbolicLink,name:s.name,path:m};else continue;s.isSymbolicLink()||s.isDirectory()?yield*Z(m,{extensions:t,followSymlinks:r,includeDirs:n,includeFiles:o,includeSymlinks:i,match:f,maxDepth:c-1,skip:u}):s.isFile()&&o&&$(m,t,f,u)&&(yield {isDirectory:s.isDirectory,isFile:s.isFile,isSymbolicLink:s.isSymbolicLink,name:s.name,path:m});}}catch(s){throw s instanceof T?s:new T(s,e)}}p(Z,"d$5");ot(Z,"walk");var Jn=Object.defineProperty,Wn=p((e,t)=>Jn(e,"name",{value:t,configurable:!0}),"e$2"),Kn=Wn(async(e,t={})=>{Array.isArray(t.extensions)||(t.extensions=["js","mjs","cjs","ts"]);let r=[];for await(let n of Z(e,t))r.push(n.path);return r},"collect"),it=Kn,_n=Object.defineProperty,st=p((e,t)=>_n(e,"name",{value:t,configurable:!0}),"m$7"),Bn=st(e=>{let t=path.normalize(e),r=fs.statSync(t);return {isDirectory:r.isDirectory,isFile:r.isFile,isSymbolicLink:r.isSymbolicLink,name:path.basename(t),path:t}},"_createWalkEntry");function*ee(e,{extensions:t,followSymlinks:r=!1,includeDirs:n=!0,includeFiles:o=!0,includeSymlinks:i=!0,match:a,maxDepth:c=Number.POSITIVE_INFINITY,skip:l}={}){if(g(e),c<0)return;let f=a?a.map(s=>typeof s=="string"?q(s):s):void 0,u=l?l.map(s=>typeof s=="string"?q(s):s):void 0;if(e=path.resolve(utils.toPath(e)),n&&$(e,t,f,u)&&(yield Bn(e)),!(c<1||!$(e,void 0,void 0,u)))try{for(let s of fs.readdirSync(e,{withFileTypes:!0})){let m=path.join(e,s.name);if(s.isSymbolicLink())if(r)m=fs.realpathSync(m);else if(i&&$(m,t,f,u))yield {isDirectory:s.isDirectory,isFile:s.isFile,isSymbolicLink:s.isSymbolicLink,name:s.name,path:path.normalize(m)};else continue;s.isSymbolicLink()||s.isDirectory()?yield*ee(m,{extensions:t,followSymlinks:r,includeDirs:n,includeFiles:o,includeSymlinks:i,match:f,maxDepth:c-1,skip:u}):s.isFile()&&o&&$(m,t,f,u)&&(yield {isDirectory:s.isDirectory,isFile:s.isFile,isSymbolicLink:s.isSymbolicLink,name:s.name,path:path.normalize(m)});}}catch(s){throw s instanceof T?s:new T(s,e)}}p(ee,"h$2");st(ee,"walkSync");var Gn=Object.defineProperty,Hn=p((e,t)=>Gn(e,"name",{value:t,configurable:!0}),"n$5");Hn((e,t={})=>{Array.isArray(t.extensions)||(t.extensions=["js","mjs","cjs","ts"]);let r=[];for(let n of ee(e,t))r.push(n.path);return r},"collectSync");var Yn=Object.defineProperty,Me=p((e,t)=>Yn(e,"name",{value:t,configurable:!0}),"n$4");Me(async(e,t={})=>{if(typeof e!="string"&&!Array.isArray(e)&&typeof e!="function")throw new TypeError("The `name` argument must be of type `string` or `string[]`");let r=t.cwd?utils.toPath(t.cwd):process.cwd(),n=path.resolve(r),{root:o}=path.parse(n),i=utils.toPath(t.stopAt??o),a=path.resolve(n,i),c=t.type??"file",l=Me(async function(f){return typeof e=="function"?[await e(f)]:typeof e=="string"?[e]:Array.isArray(e)?e:[e]},"getMatchers");for(;n&&n!==a&&n!==o;){for await(let f of await l(n)){if(f===et)return;if(f===void 0)continue;let u=path.isAbsolute(f)?f:path.resolve(n,f);try{let s=await promises.stat(u);if(c==="file"&&s.isFile()||c==="directory"&&s.isDirectory())return u}catch{}}n=path.dirname(n);}},"findUp");var Xn=Object.defineProperty,Ue=p((e,t)=>Xn(e,"name",{value:t,configurable:!0}),"o$3");Ue((e,t={})=>{if(typeof e!="string"&&!Array.isArray(e)&&typeof e!="function")throw new TypeError("The `name` argument must be of type `string` or `string[]`");let r=t.cwd?utils.toPath(t.cwd):process.cwd(),n=path.resolve(r),{root:o}=path.parse(n),i=utils.toPath(t.stopAt??o),a=path.resolve(n,i),c=t.type??"file",l=Ue(function(f){return typeof e=="function"?[e(f)]:typeof e=="string"?[e]:Array.isArray(e)?e:[e]},"getMatchers");for(;n&&n!==a&&n!==o;){for(let f of l(n)){if(f===et)return;if(f===void 0)continue;let u=path.isAbsolute(f)?f:path.resolve(n,f);try{let s=fs.statSync(u);if(c==="file"&&s.isFile()||c==="directory"&&s.isDirectory())return u}catch{}}n=path.dirname(n);}},"findUpSync");var zn=Object.defineProperty,qn=p((e,t)=>zn(e,"name",{value:t,configurable:!0}),"o$2");async function j(e,t=I){g(e),e=utils.toPath(e);try{return await promises.access(e,t),!0}catch{return !1}}p(j,"m$6");qn(j,"isAccessible");var Vn=Object.defineProperty,Qn=p((e,t)=>Vn(e,"name",{value:t,configurable:!0}),"o$1");function F(e,t=I){g(e),e=utils.toPath(e);try{return fs.accessSync(e,t),!0}catch{return !1}}p(F,"m$5");Qn(F,"isAccessibleSync");var Zn=Object.defineProperty,at=p((e,t)=>Zn(e,"name",{value:t,configurable:!0}),"n$3"),eo={brotli:zlib.brotliDecompress,gzip:zlib.unzip,none:at((e,t)=>{t(null,e);},"none")},to=at(async(e,t)=>{if(g(e),e=utils.toPath(e),!await j(e))throw new H(`unable to read the non-accessible file: ${e}`);if(!await j(e,Q))throw new Error(`Unable to read the non-readable file: ${e}`);let{buffer:r,compression:n,encoding:o,flag:i}=t??{};return await promises.readFile(e,i?{encoding:o,flag:i}:{encoding:o}).then(async a=>await new Promise((c,l)=>{eo[n??"none"](a,(f,u)=>{f?l(f):c(r?u:u.toString());});})).catch(a=>{throw a})},"readFile"),ct=to,ro=Object.defineProperty,lt=p((e,t)=>ro(e,"name",{value:t,configurable:!0}),"n$2"),no={brotli:zlib.brotliDecompressSync,gzip:zlib.unzipSync,none:lt(e=>e,"none")},oo=lt((e,t)=>{if(g(e),e=utils.toPath(e),!F(e))throw new H(`unable to read the non-accessible file: ${e}`);if(!F(e,Q))throw new H(`invalid access to read file at: ${e}`);let{buffer:r,compression:n,encoding:o,flag:i}=t??{},a=fs.readFileSync(e,i?{encoding:o,flag:i}:{encoding:o}),c=no[n??"none"](a);return r?c:c.toString()},"readFileSync"),ft=oo,io=Object.defineProperty,so=p((e,t)=>io(e,"name",{value:t,configurable:!0}),"i$7");async function ut(e,t,r){typeof t=="object"&&(r=t,t=void 0);let n=await ct(e,{buffer:!0,encoding:void 0}),o=new TextDecoder().decode(n),{beforeParse:i,color:a}=r??{};return typeof i=="function"&&(o=i(o)),J(o,t,utils.toPath(e),{color:a})}p(ut,"c");so(ut,"readJson");var ao=Object.defineProperty,co=p((e,t)=>ao(e,"name",{value:t,configurable:!0}),"r$2");function pt(e,t,r){typeof t=="object"&&(r=t,t=void 0);let n=ft(e,{buffer:!0,encoding:void 0}),o=new TextDecoder().decode(n),{beforeParse:i,color:a}=r??{};return typeof i=="function"&&(o=i(o)),J(o,t,utils.toPath(e),{color:a})}p(pt,"J");co(pt,"readJsonSync");var lo=Object.defineProperty,fo=p((e,t)=>lo(e,"name",{value:t,configurable:!0}),"e$1");async function mt(e,t,r){let{buffer:n,compression:o,encoding:i="utf8",flag:a,...c}=r??{},l=await ct(e,{buffer:n,compression:o,encoding:i,flag:a});return typeof t=="function"?yaml.parse(l,t,c):yaml.parse(l,c)}p(mt,"d$2");fo(mt,"readYaml");var uo=Object.defineProperty,po=p((e,t)=>uo(e,"name",{value:t,configurable:!0}),"i$6");function yt(e,t,r){let{buffer:n,compression:o,encoding:i="utf8",flag:a,...c}=r??{},l=ft(e,{buffer:n,compression:o,encoding:i,flag:a});return typeof t=="function"?yaml.parse(l,t,c):yaml.parse(l,c)}p(yt,"d$1");po(yt,"readYamlSync");var mo=Object.defineProperty,yo=p((e,t)=>mo(e,"name",{value:t,configurable:!0}),"i$5");yo(async(e,t)=>{if(g(e),!fs.existsSync(e)){await promises.mkdir(e,{recursive:!0});return}for await(let r of await promises.readdir(e))await promises.rm(path.join(utils.toPath(e),r),{...t,force:!0,recursive:!0});},"emptyDir");var go=Object.defineProperty,ho=p((e,t)=>go(e,"name",{value:t,configurable:!0}),"o");ho((e,t)=>{if(g(e),!fs.existsSync(e)){fs.mkdirSync(e,{recursive:!0});return}for(let r of fs.readdirSync(e))fs.rmSync(path.join(utils.toPath(e),r),{...t,force:!0,recursive:!0});},"emptyDir");var wo=Object.defineProperty,bo=p((e,t)=>wo(e,"name",{value:t,configurable:!0}),"t$1");bo(async(e,t={})=>{g(e);try{await promises.unlink(e);}catch{}try{await promises.rm(e,{force:!0,maxRetries:t?.maxRetries,recursive:!0,retryDelay:t?.retryDelay});}catch{}},"remove");var vo=Object.defineProperty,Eo=p((e,t)=>vo(e,"name",{value:t,configurable:!0}),"t");Eo((e,t={})=>{g(e);try{fs.unlinkSync(e);}catch{}try{fs.rmSync(e,{force:!0,maxRetries:t?.maxRetries,recursive:!0,retryDelay:t?.retryDelay});}catch{}},"removeSync");var So=Object.defineProperty,xo=p((e,t)=>So(e,"name",{value:t,configurable:!0}),"f$1"),Po=new TextEncoder,dt=xo(e=>{if(e instanceof Uint8Array)return e;if(typeof e=="string")return Po.encode(e);if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e)){let t=e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);return new Uint8Array(t)}throw new TypeError("Invalid contents type. Expected string or ArrayBuffer.")},"toUint8Array"),ko=Object.defineProperty,$o=p((e,t)=>ko(e,"name",{value:t,configurable:!0}),"d"),Oo=$o(async(e,t,r)=>{r={encoding:"utf8",flag:"w",overwrite:!0,recursive:!0,...r},g(e),ae(t),e=utils.toPath(e);try{let n=await j(e,I);if(!n&&r.recursive){let a=path.dirname(e);await j(a,I)||await promises.mkdir(a,{recursive:!0});}let o;await promises.writeFile(`${e}.tmp`,dt(t),{encoding:r.encoding,flag:r.flag}),n&&!r.overwrite&&(o=await promises.stat(e),r.chown===void 0&&(r.chown={gid:o.gid,uid:o.uid}),await promises.rename(e,`${e}.bak`));let i=`${e}.tmp`;if(r.chown)try{await promises.chown(i,r.chown.uid,r.chown.gid);}catch{}await promises.chmod(i,o&&!r.mode?o.mode:r.mode??438),await promises.rename(i,e);}catch(n){throw new Error(`Failed to write file at: ${e} - ${n.message}`,{cause:n})}finally{await j(`${e}.tmp`)&&await promises.unlink(`${e}.tmp`);}},"writeFile"),gt=Oo,Ao=Object.defineProperty,jo=p((e,t)=>Ao(e,"name",{value:t,configurable:!0}),"f"),Fo=jo((e,t,r)=>{r={encoding:"utf8",flag:"w",overwrite:!0,recursive:!0,...r},g(e),ae(t),e=utils.toPath(e);try{let n=F(e,I);if(!n&&r.recursive){let a=path.dirname(e);F(a,I)||fs.mkdirSync(a,{recursive:!0});}let o;fs.writeFileSync(`${e}.tmp`,dt(t),{encoding:r.encoding,flag:r.flag}),n&&!r.overwrite&&(o=fs.statSync(e),r.chown===void 0&&(r.chown={gid:o.gid,uid:o.uid}),fs.renameSync(e,`${e}.bak`));let i=`${e}.tmp`;if(r.chown)try{fs.chownSync(i,r.chown.uid,r.chown.gid);}catch{}fs.chmodSync(i,o&&!r.mode?o.mode:r.mode??438),fs.renameSync(i,e);}catch(n){throw new Error(`Failed to write file at: ${e} - ${n.message}`,{cause:n})}finally{F(`${e}.tmp`)&&fs.unlinkSync(`${e}.tmp`);}},"writeFileSync"),ht=Fo,To=/^(?:( )+|\t+)/,K="space",wt="tab";function ce(e,t){let r=new Map,n=0,o,i;for(let a of e.split(/\n/g)){if(!a)continue;let c,l,f,u,s,m=a.match(To);if(m===null)n=0,o="";else {if(c=m[0].length,l=m[1]?K:wt,t&&l===K&&c===1)continue;l!==o&&(n=0),o=l,f=1,u=0;let h=c-n;if(n=c,h===0)f=0,u=1;else {let y=h>0?h:-h;i=bt(l,y);}s=r.get(i),s=s===void 0?[1,0]:[s[0]+f,s[1]+u],r.set(i,s);}}return r}p(ce,"makeIndentsMap");function bt(e,t){return (e===K?"s":"t")+String(t)}p(bt,"encodeIndentsKey");function vt(e){let t=e[0]==="s"?K:wt,r=Number(e.slice(1));return {type:t,amount:r}}p(vt,"decodeIndentsKey");function Et(e){let t,r=0,n=0;for(let[o,[i,a]]of e)(i>r||i===r&&a>n)&&(r=i,n=a,t=o);return t}p(Et,"getMostUsedKey");function St(e,t){return (e===K?" ":" ").repeat(t)}p(St,"makeIndentString");function me(e){if(typeof e!="string")throw new TypeError("Expected a string");let t=ce(e,!0);t.size===0&&(t=ce(e,!1));let r=Et(t),n,o=0,i="";return r!==void 0&&({type:n,amount:o}=vt(r),i=St(n,o)),{amount:o,type:n,indent:i}}p(me,"detectIndent");var Do=Object.defineProperty,Ro=p((e,t)=>Do(e,"name",{value:t,configurable:!0}),"r$1");Ro(async(e,t,r={})=>{let{detectIndent:n,indent:o,replacer:i,stringify:a=JSON.stringify,...c}={indent:" ",...r},l=o,f=`
|
|
31
|
-
`;if(await j(e,Q))try{let s=await promises.readFile(e,"utf8");if(n){let{indent:m}=me(s);l=m;}f=s.endsWith(`
|
|
32
|
-
`)?`
|
|
33
|
-
`:"";}catch(s){if(s.code!=="ENOENT")throw s}let u=a(t,i,l);await gt(e,`${u}${f}`,c);},"writeJson");var Lo=Object.defineProperty,No=p((e,t)=>Lo(e,"name",{value:t,configurable:!0}),"r");No((e,t,r={})=>{let{detectIndent:n,indent:o,replacer:i,stringify:a=JSON.stringify,...c}={indent:" ",...r},l=o,f=`
|
|
34
|
-
`;if(F(e,Q))try{let s=fs.readFileSync(e,"utf8");if(n){let{indent:m}=me(s);l=m;}f=s.endsWith(`
|
|
35
|
-
`)?`
|
|
36
|
-
`:"";}catch(s){if(s.code!=="ENOENT")throw s}let u=a(t,i,l);ht(e,`${u}${f}`,c);},"writeJsonSync");var Io=Object.defineProperty,Co=p((e,t)=>Io(e,"name",{value:t,configurable:!0}),"n");async function xt(e,t,r,n){let o=typeof r=="function"||Array.isArray(r)?yaml.stringify(t,r,n):yaml.stringify(t,r);await gt(e,o);}p(xt,"m$1");Co(xt,"writeYaml");var Mo=Object.defineProperty,Uo=p((e,t)=>Mo(e,"name",{value:t,configurable:!0}),"i");function Pt(e,t,r,n){let o=typeof r=="function"||Array.isArray(r)?yaml.stringify(t,r,n):yaml.stringify(t,r);ht(e,o);}p(Pt,"m");Uo(Pt,"writeYamlSync");var te=[".js",".ts",".mjs",".cjs"],$t=e=>{let t=path.parse(e);for(;t.base&&t.root!==t.dir;){if(fs.readdirSync(t.dir).find(o=>o==="package.json"))return t.dir;t=path.parse(t.dir);}return null},Ot=e=>{let t=`${e}/package.json`,{dependencies:r}=JSON.parse(fs.readFileSync(t).toString());return r?.express?"express":r?.koa&&(r["@koa/router"]||r["koa-router"])?"koa":r?.next?"next":r?.["@hapi/hapi"]?"hapi":r?.fastify?"fastify":null},At=(e,t)=>Object.keys(e).length===0?null:t==="hapi"?typeof e.app.app=="string"?e.app:e:e.app??e;var Ft=e=>{try{return fs.statSync(e).isDirectory()}catch{return !1}},_o=async(e="")=>{let t=path.join(e,"pages/api");return !Ft(t)&&(t=path.join(e,"src/pages/api"),!Ft(t))?[]:it(t,{extensions:te,includeDirs:!1})},Tt=_o;var ye=async(e,t,r)=>{if(t==="express")return Ee(e);if(t==="koa")return $e(e);if(t==="hapi")return ke(e);if(t==="fastify")return Pe(e);if(t==="next"){let n=await Tt(e);if(n.length===0)throw new Error(`No API routes found, in "${e}".`);return n.flatMap(o=>je(o,e,r))}return null};var Bo=(e,t)=>{let r=new Map;return e.forEach(n=>{let o=t(n),i=r.get(o);i?i.push(n):r.set(o,[n]);}),r},Dt=Bo;var Go=(e,t)=>{let r={ANY:b__default.default.redBright,DELETE:b__default.default.redBright,GET:b__default.default.blue,HEAD:b__default.default.hex("#6C7280"),OPTIONS:b__default.default.hex("#6C7280"),PATCH:b__default.default.yellow,POST:b__default.default.yellow,PUT:b__default.default.yellow},n;if(e==="GET|HEAD")n=`${b__default.default.blue("GET")}${b__default.default.grey("|HEAD")}`;else {let f=r[e](e);n=e==="GET"?`${f}${b__default.default.grey("|HEAD")}`:f;}let o=e==="GET"?6:14-e.length,i=Array.from({length:o}).fill(" ").join(""),a=process.stdout.columns-16-t.length-4,c=a>0?Array.from({length:a}).fill(".").join(""):"",l=t.split("/").map(f=>[":","["].includes(f[0]??"")?b__default.default.yellowBright(f):f).join("/");return ` ${n}${i}${l}${b__default.default.grey(c)}`},Ho=(e,t={})=>e.map(r=>{if(!(Array.isArray(t.methods)&&t.methods.includes(r.method)))return r.method==="GET|POST|PUT|PATCH|DELETE|HEAD|OPTIONS"&&(r.method="ANY"),Go(r.method,r.path.replace("/pages",""))}).filter(Boolean),de=Ho;var zo=async(e,t,r={})=>{let n=path.join(Lt__default.default.cwd(),t);if(!fs.existsSync(n))throw new Error("No such file, invalid path provided.");let o=$t(n);if(!o)throw new Error("Please initialize local package.json.");if(e===void 0){let a=Ot(o);if(!a)throw new Error("Couldn't detect supported back-end framework.");e=a;}let i=null;if(e==="next")i=await ye(n,"next",r.verbose??!1);else {if(!fs.statSync(n).isFile())throw new Error(`${n} is directory, but file expected.`);if(!te.includes(path.extname(n)))throw new Error("Please specify application .ts/.js/.mjs/.cjs file.");let a=`${o}/.env`;fs.existsSync(a)&&(await import(`${o}/node_modules/dotenv/lib/main.js`)).config({path:a});let c=path.extname(n)===".ts",l=path.join(o,"node_modules/.bin/tsc");if(c&&!fs.existsSync(l))throw new Error(`Please install typescript in ${o}`);try{if(c)try{child_process.execSync(`${l} --outDir framework-list >&2`,{cwd:o});}catch(s){console.log(`TSC compilation failed. Please resolve issues in your project.
|
|
37
|
-
`),console.log(s),fs.rmSync(path.join(o,"framework-list"),{recursive:!0});}let f=c?path.join(o,"framework-list",n.replace(o,"").replace(".ts",".js")):n,{default:u}=await import(f);i=await ye(["AsyncFunction","Function"].includes(u.constructor.name)?await u():At(u,e),e,r.verbose??!1);}finally{c&&fs.rmSync(path.join(o,"framework-list"),{recursive:!0});}}if(i===null)throw new Error(`Framework "${e}" is not supported.`);if(Array.isArray(r.includePaths)&&r.includePaths.length>0&&(i=r.includePaths.flatMap(a=>i.filter(c=>c.path.startsWith(a)))),Array.isArray(r.excludePaths)&&r.excludePaths.length>0&&(i=r.excludePaths.flatMap(a=>i.filter(c=>!c.path.startsWith(a)))),typeof r.group=="string"&&r.group!==""){console.log();let a=Dt(i,l=>r.group==="path"?l.path.replace("/pages","").split("/")[1]:l.tags[0]??"unsorted"),c=0;a.forEach((l,f)=>{c>0&&console.log();let u=(Lt__default.default.stdout.columns-16-f.length)/2,s=u>0?Array.from({length:u}).fill(" ").join(""):"";console.log(s+b__default.default.bold.underline(f)),de(l,r).forEach(m=>{console.log(m);}),c+=1;});}else console.log(),de(i,r).forEach(a=>{console.log(a);});console.log(`
|
|
38
|
-
Listed ${b__default.default.greenBright(String(i.length))} HTTP ${i.length===1?"route":"routes"}.
|
|
39
|
-
`);},Ns=zo;
|
|
40
|
-
|
|
41
|
-
exports.a = Ns;
|
|
42
|
-
//# sourceMappingURL=chunk-F764D2EW.js.map
|
|
43
|
-
//# sourceMappingURL=chunk-F764D2EW.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/framework/cli/command/list/routes/express/map-keys-to-path.ts","../src/framework/cli/command/list/routes/express/path-regex-parser.ts","../src/framework/cli/command/list/routes/express/express-path-parser.ts","../src/framework/cli/command/list/routes/express-routes.ts","../src/framework/cli/command/list/routes/fastify-routes.ts","../src/framework/cli/command/list/routes/hapi-routes.ts","../src/framework/cli/command/list/routes/koa-routes.ts","../src/framework/cli/command/list/routes/next/api-route-file-parser.ts","../src/framework/cli/command/list/routes/next/collect-api-route-files.ts","../../../node_modules/.pnpm/@visulima+fs@2.1.12_yaml@2.5.0/node_modules/@visulima/fs/dist/shared/fs.BXbumRuI.mjs","../../../node_modules/.pnpm/@visulima+fs@2.1.12_yaml@2.5.0/node_modules/@visulima/fs/dist/shared/fs.CRRGdXGG.mjs","../../../node_modules/.pnpm/@visulima+fs@2.1.12_yaml@2.5.0/node_modules/@visulima/fs/dist/shared/fs.BMHe7vX1.mjs","../../../node_modules/.pnpm/@visulima+fs@2.1.12_yaml@2.5.0/node_modules/@visulima/fs/dist/index.mjs","../src/framework/cli/command/list/utils.ts","../src/framework/cli/command/list/get-routes.ts","../src/framework/cli/command/list/routes/routes-group-by.ts","../src/framework/cli/command/list/routes/routes-render.ts","../src/framework/cli/command/list/list-command.ts"],"names":["mapKeysToPath","layerRegexPath","keys","convertedSubPath","key","map_keys_to_path_default","pathRegexParser","mappedPath","match","path_regex_parser_default","parseRouteLayer","layer","basePath","lastRequestHandler","pathParameters","filtered","element","path","traverse","routes","l","expressPathParser","app","router","express_path_parser_default","expressRoutes","route","express_routes_default","getSegment","line","getMethod","fastifyRoutes","lines","segments","allSegments","index","segment","entries","item","methods","spaces","depth","isRoute","seg","_index","previousArray","r","method","fastify_routes_default","hapiRoutes","coreRoutes","hapi_routes_default","koaRoutes","middlewareFunction","koa_routes_default","extensionRegex","apiRouteFileParser","apiRouteFile","cwd","verbose","toNamespacedPath","cwdPath","nodeCwd","specs","parsedJsDocumentFile","parseFile","jsDocumentCommentsToOpenApi","parsedSwaggerJsDocumentFile","swaggerJsDocumentCommentsToOpenApi","readFileSync","spec","pathSpec","methodSpec","api_route_file_parser_default","a","t","e","i","c","s","_s","m","C","B","W","ue","E","$","M","U","I","J","j","O","V","q","G","o","g","p","b","y","d","u","f","R","A","_","z","v","L","S","w","x","F","N","D","H","K","P","k","Q","X","Y","Z","h","ee","te","ne","re","oe","ae","ie","le","fe","n","Te","me","qe","Qe","Ze","en","nn","tn","rn","an","on","cn","ln","fn","yn","un","dn","mn","pn","Ae","vn","gn","$n","Ye","hn","bn","pe","Sn","kn","On","Le","Ie","Fn","Pn","Dn","Je","We","xn","we","ve","ge","bi","Tn","An","Ln","In","Nn","$e","Rn","T","ye","Ne","Un","_n","Yn","Si","Jn","he","Wn","ze","zn","Cn","Kn","Mn","de","Bn","Hn","Gn","Re","qn","Ce","be","et","Be","Ve","nt","Se","tt","ke","it","He","Ge","rt","ce","Oe","at","ot","ct","st","lt","ft","yt","ut","dt","mt","pt","wt","vt","gt","se","ht","bt","kt","Ot","Et","Ft","Pt","jt","xt","Tt","Ee","At","Lt","It","Ue","_e","Fe","Nt","Rt","Ut","Ke","Me","Pe","_t","De","xe","Yt","Jt","Wt","zt","je","Ct","Kt","Xt","Bt","Vt","Ht","Gt","qt","Qt","Zt","ei","ALLOWED_EXTENSIONS","getAppWorkingDirectoryPath","appFilePath","lastParsedPath","parse","readdirSync","getFrameworkName","directory","packageJSONFilePath","dependencies","getApp","appExport","frameworkName","isDirectory","statSync","collectApiRouteFiles","apiFolderPath","join","collect_api_route_files_default","getRoutes","appOrPath","apiRouteFiles","routesGroupBy","list","keyGetter","map","collection","routes_group_by_default","renderRoute","routePath","colorMap","chalk","methodText","coloredMethod","spacesCount","dotsCount","dots","routeText","routesRender","routesMap","options","routes_render_default","listCommand","framework","frameworkPath","process","existsSync","appWorkingDirectoryPath","extname","environmentFilePath","isTypeScriptApp","tscPath","execSync","error","rmSync","appJsFilePath","defaultExport","ipath","epath","groupedMap","counter","groupedRoutes","renderedRoute","list_command_default"],"mappings":"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","file":"chunk-F764D2EW.js","sourcesContent":["import type { ExpressRegex, Key } from \"./types\";\n\n/**\n * Map's the keys/path variables to the regex inside a given path\n *\n * @param layerRegexPath The regex for a router with path parameters\n * @param keys The keys that represent the path parameters\n *\n * @returns The regex for a path variable converted to original string on the express route\n */\nconst mapKeysToPath = (layerRegexPath: ExpressRegex, keys: Key[]): string => {\n if (keys.length === 0) {\n throw new Error(\"must include at least one key to map\");\n }\n\n let convertedSubPath = layerRegexPath.toString();\n\n keys.forEach((key) => {\n convertedSubPath = key.optional\n ? convertedSubPath.replace(\"(?:\\\\/([^\\\\/]+?))?\\\\\", `/:${key.name}?`)\n : convertedSubPath.replace(\"(?:([^\\\\/]+?))\", `:${key.name}`);\n });\n\n return convertedSubPath\n .replace(\"/?(?=\\\\/|$)/i\", \"\")\n .replace(\"/^\", \"\")\n .replaceAll(\"\\\\\", \"\")\n .replaceAll(/\\/{2,}/gu, \"/\");\n};\n\nexport default mapKeysToPath;\n","import mapKeysToPath from \"./map-keys-to-path\";\nimport type { ExpressRegex, Key } from \"./types\";\n\n/** Parses an express layer's regex and converts it to the original format seen in code.\n *\n * @param layerRegexPath The layer's regex pattern\n * @param keys The keys that represent the layer's path parameters\n * @returns The path string for that layer\n * Code inspired and modify from:\n * https://github.com/expressjs/express/issues/3308#issuecomment-300957572\n */\nconst pathRegexParser = (layerRegexPath: ExpressRegex | string, keys: Key[]): string => {\n if (typeof layerRegexPath === \"string\") {\n return layerRegexPath;\n }\n\n if (layerRegexPath.fast_slash) {\n return \"\";\n }\n\n if (layerRegexPath.fast_star) {\n return \"*\";\n }\n\n let mappedPath = \"\";\n\n if (keys.length > 0) {\n mappedPath = mapKeysToPath(layerRegexPath, keys);\n }\n\n const match = /^\\/\\^((?:\\\\[$()*+./?[\\\\\\]^{|}]|[^$()*+./?[\\\\\\]^{|}])*)\\$\\//u.exec(\n layerRegexPath.toString().replace(\"\\\\/?\", \"\").replace(\"(?=\\\\/|$)\", \"$\"),\n ) as string[];\n\n if (Array.isArray(match) && match.length > 1) {\n return (match[1] as string).replaceAll(/\\\\(.)/gu, \"$1\").slice(1);\n }\n\n if (mappedPath) {\n return mappedPath.slice(1);\n }\n\n return layerRegexPath.toString();\n};\n\nexport default pathRegexParser;\n","import type { Express, Router } from \"express\";\n\nimport pathRegexParser from \"./path-regex-parser\";\nimport type { Key, Layer, Parameter, Route, RouteMetaData } from \"./types\";\n\n/**\n * Parses a route object. Route objects are the leafs of an express router tree\n *\n * @param layer The layer of this route object - represents the stack of middleware and other metadata\n * @param keys The full set of keys for this particular route\n * @param basePath The base path as it was initial declared for this route\n * @returns A ExpressPath object holding the metadata for a given route\n */\nconst parseRouteLayer = (layer: Required<Layer>, keys: Key[], basePath: string): RouteMetaData => {\n const lastRequestHandler = layer.route.stack.at(-1) as Layer;\n const pathParameters: Parameter[] = keys.map((key) => {\n return { in: \"path\", name: key.name, required: !key.optional };\n });\n\n const filtered = layer.route.stack.filter((element) => (element.handle as Route).metadata);\n\n if (filtered.length > 1) {\n throw new Error(\"Only one metadata middleware is allowed per route\");\n }\n\n const path = (basePath + layer.route.path).replaceAll(/\\/{2,}/gu, \"/\");\n\n if (filtered.length === 0) {\n return { method: lastRequestHandler.method, path, pathParams: pathParameters };\n }\n\n return {\n metadata: ((filtered[0] as Layer).handle as Route).metadata,\n method: lastRequestHandler.method,\n path,\n pathParams: pathParameters,\n };\n};\n\n/**\n * Recursive traversal method for the express router and middleware tree.\n *\n * @param routes The array of routes to add to\n * @param path The current path segment that we have traversed so far\n * @param layer The current 'layer' of the router tree\n * @param keys The keys for the parameter's in the current path branch of the traversal\n * @returns void - base case saves result to internal object\n */\nconst traverse = (routes: RouteMetaData[], path: string, layer: Layer, keys: Key[]): void => {\n // eslint-disable-next-line no-param-reassign\n keys = [...keys, ...layer.keys];\n\n if (layer.name === \"router\" && layer.handle) {\n layer.handle.stack.forEach((l: Layer) => {\n // eslint-disable-next-line no-param-reassign\n path = path || \"\";\n\n traverse(routes, `${path}/${pathRegexParser(layer.regexp, layer.keys)}`, l, keys);\n });\n }\n\n if (!layer.route || layer.route.stack.length === 0) {\n return;\n }\n\n routes.push(parseRouteLayer(layer as Required<Layer>, keys, path));\n};\n\n// @TODO use this to parse the express swagger\n\n/**\n * Parses an Express app and generates list of routes with metadata.\n *\n * Can Parse:\n * - Nested Routers and Complex Express Projects\n * - Optional parameters e.g. /:name?\n * - Complex Matching routes e.g. /ma*tch, /ex(ab)?mple\n * - Regex routes e.g. /\\/abc|\\/xyz/\n * - Array of paths e.g. app.get(['/abc', '/xyz']) -> /abc,xyz/\n *\n * @param app The Express app reference. Must be used after all routes have been attached\n *\n * @returns List of routes for this express app with meta-data that has been picked up\n */\nconst expressPathParser = (app: Express): RouteMetaData[] => {\n // eslint-disable-next-line no-underscore-dangle\n const router: Router = app._router || app.router;\n const routes: RouteMetaData[] = [];\n\n router.stack.forEach((layer: Layer) => {\n traverse(routes, \"\", layer, []);\n });\n\n return routes;\n};\n\nexport default expressPathParser;\n","import type { Express } from \"express\";\n\nimport expressPathParser from \"./express/express-path-parser\";\nimport type { RouteMetaData } from \"./express/types\";\nimport type { Route } from \"./types\";\n\nconst expressRoutes = (app: Express): Route[] => {\n const routes: Route[] = [];\n\n expressPathParser(app).forEach((route: RouteMetaData) => {\n routes.push({\n file: \"unknown\",\n method: route.method.toUpperCase(),\n path: route.path,\n tags: [],\n });\n });\n\n return routes;\n};\n\nexport default expressRoutes;\n","import type { FastifyInstance } from \"fastify\";\n\nimport type { Route } from \"./types\";\n\n// \"<spaces> activity (GET)\" -> \"activity\"\nconst getSegment = (line: string) => line.replaceAll(/ \\(.*\\)/gu, \"\").trim();\n\n// \"<spaces> activity (GET)\" -> \"GET\"\nconst getMethod = (line: string) => (line.trim().split(\" \")[1] as string).slice(1, -1);\n\ninterface Segment {\n depth: number;\n index: number;\n isRoute: boolean;\n methods: string[] | null;\n segment: string;\n}\n\nconst fastifyRoutes = (app: FastifyInstance): Route[] => {\n const printedRoutes = app\n .printRoutes()\n .replaceAll(/[─│└├]/gu, \" \")\n .trimEnd();\n\n const lines = printedRoutes.split(\"\\n\");\n\n // eslint-disable-next-line unicorn/no-array-reduce\n const segments = lines.reduce((allSegments: Segment[], line, index) => {\n const segment = getSegment(line);\n const previousSegment = getSegment(lines[index - 1] ?? \"\");\n\n if (previousSegment === segment) {\n const entries: Segment[] = allSegments.filter((item) => item.index < index && item.segment === segment);\n\n const { methods } = entries.at(-1) as Segment;\n\n if (methods !== null) {\n methods.push(getMethod(line));\n }\n\n return allSegments;\n }\n\n // spaces preceding segment / not counting single space between segment and (METHOD)\n const spaces = line.replaceAll(/ \\(.*\\)/gu, \"\").match(/ /gu);\n\n if (spaces === null) {\n throw new Error(\"Invalid spaces\");\n }\n\n const depth = spaces.length / 4;\n const isRoute = line.includes(\"(\");\n const methods = isRoute ? [getMethod(line)] : null;\n\n allSegments.push({\n depth,\n index,\n isRoute,\n methods,\n segment,\n });\n\n return allSegments;\n }, []);\n\n const routes: Route[] = [];\n\n segments\n .filter((item) => item.isRoute)\n .forEach((item) => {\n const ancestorSegments = segments\n .filter((seg) => seg.index < item.index && seg.depth < item.depth)\n // eslint-disable-next-line unicorn/prefer-array-some\n .filter((seg, _index, previousArray) => !previousArray.find((segment) => segment.depth === seg.depth && segment.index > seg.index));\n\n const route = [...ancestorSegments.map((r) => r.segment), item.segment].join(\"\");\n\n if (item.methods === null) {\n throw new Error(\"Invalid methods\");\n }\n\n item.methods.forEach((method: string) => {\n routes.push({\n file: \"unknown\",\n method: method.toUpperCase(),\n path: route,\n tags: [],\n });\n });\n });\n\n return routes;\n};\n\nexport default fastifyRoutes;\n","import type { Server } from \"@hapi/hapi\";\n\nimport type { Route } from \"./types\";\n\nconst hapiRoutes = (app: Server): Route[] => {\n // @ts-expect-error TS2339: Property '_core' does not exist on type 'Server'. Internal API.\n // eslint-disable-next-line no-underscore-dangle\n const core = app._core as any;\n const coreRoutes = core.router.routes;\n const routes: Route[] = [];\n\n [...coreRoutes.keys()].forEach((method: string) => {\n coreRoutes.get(method).routes.forEach((route: any) => {\n routes.push({\n file: \"unknown\",\n method: route.route.method.toUpperCase(),\n path: route.path,\n tags: [],\n });\n });\n });\n\n return routes;\n};\n\nexport default hapiRoutes;\n","import type Koa from \"koa\";\n\nimport type { Route } from \"./types\";\n\nconst koaRoutes = (app: Koa): Route[] => {\n const routes: Route[] = [];\n\n app.middleware\n .filter((middlewareFunction) => (middlewareFunction as any).router)\n\n .flatMap((middlewareFunction) => (middlewareFunction as any).router.stack)\n .forEach((route) => {\n routes.push({\n file: \"unknown\",\n method: route.methods.join(\"|\").toUpperCase(),\n path: route.path,\n tags: [],\n });\n });\n\n return routes;\n};\n\nexport default koaRoutes;\n","import { readFileSync } from \"node:fs\";\nimport { cwd as nodeCwd } from \"node:process\";\n\nimport type { OpenApiObject } from \"@visulima/jsdoc-open-api\";\nimport { jsDocumentCommentsToOpenApi, parseFile, swaggerJsDocumentCommentsToOpenApi } from \"@visulima/jsdoc-open-api\";\nimport { toNamespacedPath } from \"@visulima/path\";\n\nimport type { Route } from \"../types\";\n\n// eslint-disable-next-line regexp/no-unused-capturing-group\nconst extensionRegex = /\\.(js|ts|mjs|cjs)$/u;\n\nconst apiRouteFileParser = (apiRouteFile: string, cwd: string, verbose = false): Route[] => {\n // eslint-disable-next-line no-param-reassign\n apiRouteFile = toNamespacedPath(apiRouteFile);\n\n const cwdPath = toNamespacedPath(nodeCwd());\n\n let specs: OpenApiObject[] = [];\n\n const parsedJsDocumentFile = parseFile(apiRouteFile, jsDocumentCommentsToOpenApi, verbose);\n\n specs = [...specs, ...parsedJsDocumentFile.map((item) => item.spec)];\n\n const parsedSwaggerJsDocumentFile = parseFile(apiRouteFile, swaggerJsDocumentCommentsToOpenApi, verbose);\n\n specs = [...specs, ...parsedSwaggerJsDocumentFile.map((item) => item.spec)];\n\n const routes: Route[] = [];\n\n if (specs.length === 0) {\n const apiRouteFileContent = readFileSync(apiRouteFile, \"utf8\");\n\n apiRouteFileContent.split(/\\r?\\n/u).forEach((line) => {\n const match = /[=aces|]+\\s[\"'|](GET|POST|PUT|PATCH|HEAD|DELETE|OPTIONS)[\"'|]/u.exec(line);\n\n if (match) {\n let [, method] = match;\n\n if (method === \"GET\") {\n method = \"GET|HEAD\";\n }\n\n routes.push({\n file: apiRouteFile.replace(`${cwdPath}/`, \"\"),\n method: method as string,\n path: toNamespacedPath(apiRouteFile.replace(cwd, \"\").replace(extensionRegex, \"\")),\n tags: [],\n });\n }\n });\n\n if (routes.length === 0) {\n routes.push({\n file: apiRouteFile.replace(`${cwdPath}/`, \"\"),\n method: \"GET|POST|PUT|PATCH|DELETE|HEAD|OPTIONS\",\n path: toNamespacedPath(apiRouteFile.replace(cwd, \"\").replace(extensionRegex, \"\")),\n tags: [],\n });\n }\n\n return routes;\n }\n\n specs.forEach((spec) => {\n const paths = Object.entries(spec?.paths ?? {});\n\n paths.forEach(([path, pathSpec]) => {\n const methods = Object.entries(pathSpec);\n\n methods.forEach(([method, methodSpec]) => {\n routes.push({\n file: apiRouteFile.replace(`${cwdPath}/`, \"\"),\n method: method.toUpperCase(),\n path: toNamespacedPath(path),\n tags: methodSpec.tags,\n });\n });\n });\n });\n\n return routes;\n};\n\nexport default apiRouteFileParser;\n","import { statSync } from \"node:fs\";\n\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport { collect } from \"@visulima/fs\";\nimport { join } from \"@visulima/path\";\n\nimport { ALLOWED_EXTENSIONS } from \"../../utils\";\n\nconst isDirectory = (path: string): boolean => {\n try {\n return statSync(path).isDirectory();\n } catch {\n return false;\n }\n};\n\nconst collectApiRouteFiles = async (path = \"\"): Promise<string[]> => {\n let apiFolderPath = join(path, \"pages/api\");\n\n // src/pages will be ignored if pages is present in the root directory\n if (!isDirectory(apiFolderPath)) {\n apiFolderPath = join(path, \"src/pages/api\");\n\n if (!isDirectory(apiFolderPath)) {\n return [];\n }\n }\n\n return collect(apiFolderPath, {\n extensions: ALLOWED_EXTENSIONS,\n includeDirs: false,\n });\n};\n\nexport default collectApiRouteFiles;\n","var a=Object.defineProperty;var t=(r,e)=>a(r,\"name\",{value:e,configurable:!0});var i=Object.defineProperty,c=t((r,e)=>i(r,\"name\",{value:e,configurable:!0}),\"i\");class s extends Error{static{t(this,\"r\")}static{c(this,\"JSONError\")}fileName;codeFrame;name=\"JSONError\";#e;constructor(e){super(),this.#e=e,Error.captureStackTrace(this,s)}get message(){return`${this.#e}${this.fileName?` in ${this.fileName}`:\"\"}${this.codeFrame?`\n\n${this.codeFrame}\n`:\"\"}`}set message(e){this.#e=e}}const m=s;export{m as c};\n","var C=Object.defineProperty;var m=(e,t)=>C(e,\"name\",{value:t,configurable:!0});import{c as T}from\"./fs.BXbumRuI.mjs\";var B=Object.defineProperty,W=m((e,t)=>B(e,\"name\",{value:t,configurable:!0}),\"n\");const ue=W(e=>{if(!e||!(e instanceof URL)&&typeof e!=\"string\")throw new TypeError(\"Path must be a non-empty string or URL.\")},\"assertValidFileOrDirectoryPath\");var E=Object.defineProperty,$=m((e,t)=>E(e,\"name\",{value:t,configurable:!0}),\"v$1\"),M=Object.defineProperty,U=$((e,t)=>M(e,\"name\",{value:t,configurable:!0}),\"r$1\");const I=U(e=>e.replaceAll(/\\r\\n|\\r(?!\\n)|\\n/gu,`\n`),\"normalizeLF\"),J=globalThis.process||Object.create(null),j={versions:{}},O=new Proxy(J,{get(e,t){if(t in e)return e[t];if(t in j)return j[t]}});var V=Object.defineProperty,q=$((e,t)=>V(e,\"name\",{value:t,configurable:!0}),\"b\");const G=q((e,t,o,n)=>{const r={column:0,line:-1,...e.start},i={...r,...e.end},l=r.line,s=r.column,g=i.line,p=i.column;let b=Math.max(l-(o+1),0),y=Math.min(t.length,g+n);l===-1&&(b=0),g===-1&&(y=t.length);const d=g-l,c={};if(d)for(let a=0;a<=d;a++){const u=a+l;if(!s)c[u]=!0;else if(a===0){const f=t[u-1]?.length;c[u]=[s,(f??0)-s+1]}else if(a===d)c[u]=[0,p];else{const f=t[u-a]?.length;c[u]=[0,f]}}else s===p?c[l]=s?[s,0]:!0:c[l]=[s,(p??0)-(s??0)];return{end:y,markerLines:c,start:b}},\"getMarkerLines\");var R=Object.defineProperty,A=$((e,t)=>R(e,\"name\",{value:t,configurable:!0}),\"o\");const _=O.platform===\"win32\"&&!O.env?.WT_SESSION?\">\":\"❯\",z=A((e,t,o)=>{const n={linesAbove:2,linesBelow:3,prefix:\"\",showGutter:!0,showLineNumbers:!0,tabWidth:4,...o,color:{gutter:A(a=>a,\"gutter\"),marker:A(a=>a,\"marker\"),message:A(a=>a,\"message\"),...o?.color}},r=t.start&&typeof t.start.column==\"number\";let i=I(e).split(`\n`);typeof n?.tabWidth==\"number\"&&(i=i.map(a=>a.replaceAll(\"\t\",\" \".repeat(n.tabWidth))));const{end:l,markerLines:s,start:g}=G(t,i,n.linesAbove,n.linesBelow),p=String(l).length,{gutter:b,marker:y,message:d}=n.color;let c=i.slice(g,l).map((a,u)=>{const f=g+1+u,v=s[f],L=(\" \"+f).slice(-p),S=!s[f+1],w=\" \"+L+(n.showGutter?\" |\":\"\");if(v){let x=\"\";if(Array.isArray(v)){const F=a.replaceAll(/[^\\t]/g,\" \").slice(0,Math.max(v[0]-1,0)),N=v[1]||1;x=[`\n `,n.prefix+b(w.replaceAll(/\\d/g,\" \")),\" \",F,y(\"^\").repeat(N)].join(\"\"),S&&n.message&&(x+=` ${d(n.message)}`)}return[n.prefix+y(_),b(w),a.length>0?\" \"+a:\"\",x].join(\"\")}return n.prefix+\" \"+b(w)+(a.length>0?\" \"+a:\"\")}).join(`\n`);return n.message&&!r&&(c=n.prefix+\" \".repeat(p+1)+n.message+`\n`+c),c},\"codeFrame\");var D=Object.defineProperty,H=m((e,t)=>D(e,\"name\",{value:t,configurable:!0}),\"l$1\"),K=Object.defineProperty,P=H((e,t)=>K(e,\"name\",{value:t,configurable:!0}),\"l\");const k=P((e,t)=>{let o=0,n=t.length-2;for(;o<n;){const r=o+(n-o>>1);if(e<t[r])n=r-1;else if(e>=t[r+1])o=r+1;else{o=r;break}}return o},\"binarySearch\"),Q=P(e=>e.split(/\\n|\\r(?!\\n)/).reduce((t,o)=>(t.push(t.at(-1)+o.length+1),t),[0]),\"getLineStartIndexes\"),X=P((e,t,o)=>{const n=o?.skipChecks??!1;if(!n&&(!Array.isArray(e)&&typeof e!=\"string\"||(typeof e==\"string\"||Array.isArray(e))&&e.length===0))return{column:0,line:0};if(!n&&(typeof t!=\"number\"||typeof e==\"string\"&&t>=e.length||Array.isArray(e)&&t+1>=e.at(-1)))return{column:0,line:0};if(typeof e==\"string\"){const i=Q(e),l=k(t,i);return{column:t-i[l]+1,line:l+1}}const r=k(t,e);return{column:t-e[r]+1,line:r+1}},\"indexToLineColumn\"),Y=X;var Z=Object.defineProperty,h=m((e,t)=>Z(e,\"name\",{value:t,configurable:!0}),\"s\");const ee=h(e=>`\\\\u{${e.codePointAt(0).toString(16)}}`,\"getCodePoint\"),te=h((e,t,o)=>z(e,{start:t},{tabWidth:!1,...o}),\"generateCodeFrame\"),ne=h((e,t)=>{const o=/in JSON at position (?<index>\\d+)(?: \\(line (?<line>\\d+) column (?<column>\\d+)\\))?$/.exec(t);if(!o)return;let{column:n,index:r,line:i}=o.groups;return i&&n?{column:Number(n),line:Number(i)}:(r=Number(r),r===e.length&&(r=e.length-1),Y(e,r))},\"getErrorLocation\"),re=h(e=>e.replace(/(?<=^Unexpected token )(?<quote>')?(.)\\k<quote>/,(t,o,n)=>`\"${n}\"(${ee(n)})`),\"addCodePointToUnexpectedToken\");function oe(e,t,o,n){typeof t==\"string\"&&(typeof o==\"object\"&&(n=o),o=t,t=void 0);let r;try{return JSON.parse(e,t)}catch(s){r=s.message}let i;e?(i=ne(e,r),r=re(r)):r+=\" while parsing empty string\";const l=new T(r);throw l.fileName=o,i&&(l.codeFrame=te(e,i,n)),l}m(oe,\"F\");h(oe,\"parseJson\");var ae=Object.defineProperty,ie=m((e,t)=>ae(e,\"name\",{value:t,configurable:!0}),\"e\");const le=ie(e=>{if(typeof e!=\"string\"&&!(e instanceof ArrayBuffer)&&!ArrayBuffer.isView(e))throw new TypeError(\"File contents must be a string, ArrayBuffer, or ArrayBuffer view.\")},\"assertValidFileContents\"),fe=le;export{oe as F,ue as s,fe as v};\n","var n=Object.defineProperty;var t=(e,r)=>n(e,\"name\",{value:r,configurable:!0});var s=Object.defineProperty,a=t((e,r)=>s(e,\"name\",{value:r,configurable:!0}),\"t$2\");let E=class extends Error{static{t(this,\"n\")}static{a(this,\"AlreadyExistsError\")}constructor(r){super(`EEXIST: ${r}`)}get code(){return\"EEXIST\"}set code(r){throw new Error(\"Cannot overwrite code EEXIST\")}get name(){return\"AlreadyExistsError\"}set name(r){throw new Error(\"Cannot overwrite name of AlreadyExistsError\")}};const v=E;var i=Object.defineProperty,c=t((e,r)=>i(e,\"name\",{value:r,configurable:!0}),\"o\");let l=class extends Error{static{t(this,\"n\")}static{c(this,\"PermissionError\")}constructor(r){super(`EPERM: Operation not permitted, ${r}`)}get code(){return\"EPERM\"}set code(r){throw new Error(\"Cannot overwrite code EPERM\")}get name(){return\"PermissionError\"}set name(r){throw new Error(\"Cannot overwrite name of PermissionError\")}};const h=l;var u=Object.defineProperty,m=t((e,r)=>u(e,\"name\",{value:r,configurable:!0}),\"t\");class p extends Error{static{t(this,\"i\")}static{m(this,\"WalkError\")}root;constructor(r,o){super(`${r instanceof Error?r.message:r} for path \"${o}\"`),this.cause=r,this.root=o}get name(){return\"WalkError\"}set name(r){throw new Error(\"Cannot overwrite name of WalkError\")}}export{p as i,v as l,h as s};\n","var Te=Object.defineProperty;var o=(e,n)=>Te(e,\"name\",{value:n,configurable:!0});import{lstat as b,mkdir as W,writeFile as Q,link as Ae,stat as k,symlink as Le,readlink as Ie,readdir as Z,realpath as Ne,access as Re,readFile as ee,rm as ne,unlink as te,rename as B,chown as Ue,chmod as _e}from\"node:fs/promises\";import{s as m,F as ie,v as re}from\"./shared/fs.CRRGdXGG.mjs\";import{lstatSync as S,mkdirSync as z,writeFileSync as ae,linkSync as Ye,statSync as O,symlinkSync as Je,readlinkSync as We,readdirSync as oe,realpathSync as ze,accessSync as Ce,readFileSync as ce,existsSync as se,rmSync as le,unlinkSync as fe,renameSync as V,chownSync as Ke,chmodSync as Me}from\"node:fs\";import{dirname as v,toNamespacedPath as g,resolve as w,join as U,normalize as T,basename as ye,parse as ue,isAbsolute as de}from\"@visulima/path\";import{toPath as d}from\"@visulima/path/utils\";import{l as A,i as L,s as Y}from\"./shared/fs.BMHe7vX1.mjs\";import{platform as Xe}from\"node:process\";import{brotliDecompress as Be,unzip as Ve,brotliDecompressSync as He,unzipSync as Ge}from\"node:zlib\";import{parse as I,stringify as N}from\"yaml\";const P=0,_=4,yi=2,ui=1,me=Symbol(\"findUpStop\");var qe=Object.defineProperty,Qe=o((e,n)=>qe(e,\"name\",{value:n,configurable:!0}),\"i$b\");const $=Qe(e=>{if(e.isFile())return\"file\";if(e.isDirectory())return\"dir\";if(e.isSymbolicLink())return\"symlink\"},\"getFileInfoType\");var Ze=Object.defineProperty,en=o((e,n)=>Ze(e,\"name\",{value:n,configurable:!0}),\"i$a\");const nn=en(async e=>{m(e);try{const n=await b(e);if(!n.isDirectory())throw new Error(`Ensure path exists, expected 'dir', got '${$(n)}'`);return}catch(n){if(n.code!==\"ENOENT\")throw n}try{await W(e,{recursive:!0})}catch(n){if(n.code!==\"EEXIST\")throw n;const t=await b(e);if(!t.isDirectory())throw new Error(`Ensure path exists, expected 'dir', got '${$(t)}'`)}},\"ensureDir\"),C=nn;var tn=Object.defineProperty,rn=o((e,n)=>tn(e,\"name\",{value:n,configurable:!0}),\"o$9\");const an=rn(e=>{m(e);try{const n=S(e);if(!n.isDirectory())throw new Error(`Ensure path exists, expected 'dir', got '${$(n)}'`);return}catch(n){if(n.code!==\"ENOENT\")throw n}try{z(e,{recursive:!0})}catch(n){if(n.code!==\"EEXIST\")throw n;const t=S(e);if(!t.isDirectory())throw new Error(`Ensure path exists, expected 'dir', got '${$(t)}'`)}},\"ensureDirSync\"),K=an;var on=Object.defineProperty,cn=o((e,n)=>on(e,\"name\",{value:n,configurable:!0}),\"e$5\");const sn=cn(async e=>{m(e);try{const n=await b(e);if(!n.isFile())throw new Error(`Ensure path exists, expected 'file', got '${$(n)}'`)}catch(n){if(n.code===\"ENOENT\"){await C(v(d(e))),await Q(e,new Uint8Array);return}throw n}},\"ensureFile\"),di=sn;var ln=Object.defineProperty,fn=o((e,n)=>ln(e,\"name\",{value:n,configurable:!0}),\"e$4\");const yn=fn(e=>{m(e);try{const n=S(e);if(!n.isFile())throw new Error(`Ensure path exists, expected 'file', got '${$(n)}'`)}catch(n){if(n.code===\"ENOENT\"){K(v(d(e))),ae(e,new Uint8Array);return}throw n}},\"ensureFileSync\"),mi=yn;var un=Object.defineProperty,dn=o((e,n)=>un(e,\"name\",{value:n,configurable:!0}),\"d$6\");const D=dn((e,n)=>!!n.ino&&!!n.dev&&n.ino===e.ino&&n.dev===e.dev,\"isStatsIdentical\");var mn=Object.defineProperty,pn=o((e,n)=>mn(e,\"name\",{value:n,configurable:!0}),\"m$8\");const wn=pn(async(e,n)=>{m(e),m(n),e=g(d(e)),n=g(d(n));let t;try{t=await b(n)}catch{}let i;try{i=await b(e)}catch(r){throw r.message=r.message.replace(\"lstat\",\"ensureLink\"),r}t&&D(i,t)||(await C(v(n)),await Ae(e,n))},\"ensureLink\"),pi=wn;var vn=Object.defineProperty,gn=o((e,n)=>vn(e,\"name\",{value:n,configurable:!0}),\"o$6\");const $n=gn((e,n)=>{m(e),m(n),e=g(d(e)),n=g(d(n));let t;try{t=S(n)}catch{}let i;try{i=S(e)}catch(r){throw r.message=r.message.replace(\"lstat\",\"ensureLink\"),r}t&&D(i,t)||(K(v(n)),Ye(e,n))},\"ensureLinkSync\"),wi=$n;var hn=Object.defineProperty,bn=o((e,n)=>hn(e,\"name\",{value:n,configurable:!0}),\"i$9\");const pe=bn((e,n)=>typeof e!=\"string\"?e:e.startsWith(\"./\")?w(e):typeof n==\"string\"?w(v(n),e):new URL(e,n),\"resolveSymlinkTarget\");var Sn=Object.defineProperty,kn=o((e,n)=>Sn(e,\"name\",{value:n,configurable:!0}),\"f$4\");const On=process.platform===\"win32\"||/^(?:msys|cygwin)$/.test(process.env.OSTYPE),En=kn(async(e,n,t)=>{m(e),m(n);const i=pe(e,n);n=g(d(n));try{if((await b(n)).isSymbolicLink()&&D(await k(i),await k(n))){const[l,y]=await Promise.all([k(i),k(n)]);if(D(l,y))return}}catch{}const r=await b(i),c=$(r);await C(v(n));const s=t??(On?\"junction\":c===\"dir\"?\"dir\":\"file\");try{await Le(g(d(i)),n,s)}catch(l){if(l.code!==\"EEXIST\")throw l;const y=await b(n);if(!y.isSymbolicLink())throw new A(\"A \"+$(y)+\" already exists at the path: \"+n);const f=await Ie(n),u=g(w(f));if(u!==i)throw new A(\"A symlink targeting to an undesired path already exists: \"+n+\" -> \"+u)}},\"ensureSymlink\"),vi=En;var Fn=Object.defineProperty,Pn=o((e,n)=>Fn(e,\"name\",{value:n,configurable:!0}),\"f$3\");const Dn=process.platform===\"win32\"||/^(?:msys|cygwin)$/.test(process.env.OSTYPE),jn=Pn((e,n,t)=>{m(e),m(n);const i=pe(e,n);n=g(d(n));try{if(S(n).isSymbolicLink()&&D(O(i),O(n))){const l=O(i),y=O(n);if(D(l,y))return}}catch{}const r=S(i),c=$(r);K(v(n));const s=t??(Dn?\"junction\":c===\"dir\"?\"dir\":\"file\");try{Je(g(d(i)),n,s)}catch(l){if(l.code!==\"EEXIST\")throw l;const y=S(n);if(!y.isSymbolicLink())throw new A(\"A \"+$(y)+\" already exists at the path: \"+n);const f=We(n),u=g(w(f));if(u!==i)throw new A(\"A symlink targeting to an undesired path already exists: \"+n+\" -> \"+u)}},\"ensureSymlinkSync\"),gi=jn;var xn=Object.defineProperty,we=o((e,n)=>xn(e,\"name\",{value:n,configurable:!0}),\"r$4\");const ve=/\\r?\\n/g,ge=`\n`,J=`\\r\n`,$i=Xe===\"win32\"?J:ge,hi=we(e=>{const n=e.match(ve);if(!n||n.length===0)return null;const t=n.filter(r=>r===J).length,i=n.length-t;return t>i?J:ge},\"detect\"),bi=we((e,n)=>e.replaceAll(ve,n),\"format\");var Tn=Object.defineProperty,An=o((e,n)=>Tn(e,\"name\",{value:n,configurable:!0}),\"r$3\");const R=An(e=>{const n=e.replace(/\\.\\*/g,\".([^/]*)\").replace(/\\*\\*/g,\"(.*)\").replace(/(?<!\\.)\\*(?!\\*)/g,\"([^/]*)\").replace(/\\?/g,\"[^/]\").replace(/\\.(?!\\*)/g,\"\\\\.\").replace(/\\{/g,\"(\").replace(/\\}/g,\")\").replace(/,/g,\"|\").replace(/\\[!(.*?)\\]/g,\"[^$1]\");return new RegExp(`^${n}$`)},\"globToRegExp\");var Ln=Object.defineProperty,In=o((e,n)=>Ln(e,\"name\",{value:n,configurable:!0}),\"n$6\");const h=In((e,n,t,i)=>Array.isArray(n)&&n.length>0&&!n.some(r=>e.endsWith(r))||t&&!t.some(r=>r.test(e))?!1:!i?.some(r=>r.test(e)),\"walkInclude\");var Nn=Object.defineProperty,$e=o((e,n)=>Nn(e,\"name\",{value:n,configurable:!0}),\"f$2\");const Rn=$e(async e=>{const n=T(e),t=ye(n),i=await k(n);return{isDirectory:i.isDirectory,isFile:i.isFile,isSymbolicLink:i.isSymbolicLink,name:t,path:n}},\"_createWalkEntry\");async function*M(e,{extensions:n,followSymlinks:t=!1,includeDirs:i=!0,includeFiles:r=!0,includeSymlinks:c=!0,match:s,maxDepth:l=Number.POSITIVE_INFINITY,skip:y}={}){if(m(e),l<0)return;const f=s?s.map(a=>typeof a==\"string\"?R(a):a):void 0,u=y?y.map(a=>typeof a==\"string\"?R(a):a):void 0;if(e=w(d(e)),i&&h(e,n,f,u)&&(yield await Rn(e)),!(l<1||!h(e,void 0,void 0,u)))try{for await(const a of await Z(e,{withFileTypes:!0})){let p=U(e,a.name);if(a.isSymbolicLink())if(t)p=await Ne(p);else if(c&&h(p,n,f,u))yield{isDirectory:a.isDirectory,isFile:a.isFile,isSymbolicLink:a.isSymbolicLink,name:a.name,path:p};else continue;a.isSymbolicLink()||a.isDirectory()?yield*M(p,{extensions:n,followSymlinks:t,includeDirs:i,includeFiles:r,includeSymlinks:c,match:f,maxDepth:l-1,skip:u}):a.isFile()&&r&&h(p,n,f,u)&&(yield{isDirectory:a.isDirectory,isFile:a.isFile,isSymbolicLink:a.isSymbolicLink,name:a.name,path:p})}}catch(a){throw a instanceof L?a:new L(a,e)}}o(M,\"d$5\");$e(M,\"walk\");var Un=Object.defineProperty,_n=o((e,n)=>Un(e,\"name\",{value:n,configurable:!0}),\"e$2\");const Yn=_n(async(e,n={})=>{Array.isArray(n.extensions)||(n.extensions=[\"js\",\"mjs\",\"cjs\",\"ts\"]);const t=[];for await(const i of M(e,n))t.push(i.path);return t},\"collect\"),Si=Yn;var Jn=Object.defineProperty,he=o((e,n)=>Jn(e,\"name\",{value:n,configurable:!0}),\"m$7\");const Wn=he(e=>{const n=T(e),t=O(n);return{isDirectory:t.isDirectory,isFile:t.isFile,isSymbolicLink:t.isSymbolicLink,name:ye(n),path:n}},\"_createWalkEntry\");function*X(e,{extensions:n,followSymlinks:t=!1,includeDirs:i=!0,includeFiles:r=!0,includeSymlinks:c=!0,match:s,maxDepth:l=Number.POSITIVE_INFINITY,skip:y}={}){if(m(e),l<0)return;const f=s?s.map(a=>typeof a==\"string\"?R(a):a):void 0,u=y?y.map(a=>typeof a==\"string\"?R(a):a):void 0;if(e=w(d(e)),i&&h(e,n,f,u)&&(yield Wn(e)),!(l<1||!h(e,void 0,void 0,u)))try{for(const a of oe(e,{withFileTypes:!0})){let p=U(e,a.name);if(a.isSymbolicLink())if(t)p=ze(p);else if(c&&h(p,n,f,u))yield{isDirectory:a.isDirectory,isFile:a.isFile,isSymbolicLink:a.isSymbolicLink,name:a.name,path:T(p)};else continue;a.isSymbolicLink()||a.isDirectory()?yield*X(p,{extensions:n,followSymlinks:t,includeDirs:i,includeFiles:r,includeSymlinks:c,match:f,maxDepth:l-1,skip:u}):a.isFile()&&r&&h(p,n,f,u)&&(yield{isDirectory:a.isDirectory,isFile:a.isFile,isSymbolicLink:a.isSymbolicLink,name:a.name,path:T(p)})}}catch(a){throw a instanceof L?a:new L(a,e)}}o(X,\"h$2\");he(X,\"walkSync\");var zn=Object.defineProperty,Cn=o((e,n)=>zn(e,\"name\",{value:n,configurable:!0}),\"n$5\");const Kn=Cn((e,n={})=>{Array.isArray(n.extensions)||(n.extensions=[\"js\",\"mjs\",\"cjs\",\"ts\"]);const t=[];for(const i of X(e,n))t.push(i.path);return t},\"collectSync\"),ki=Kn;var Mn=Object.defineProperty,H=o((e,n)=>Mn(e,\"name\",{value:n,configurable:!0}),\"n$4\");const Xn=H(async(e,n={})=>{if(typeof e!=\"string\"&&!Array.isArray(e)&&typeof e!=\"function\")throw new TypeError(\"The `name` argument must be of type `string` or `string[]`\");const t=n.cwd?d(n.cwd):process.cwd();let i=w(t);const{root:r}=ue(i),c=d(n.stopAt??r),s=w(i,c),l=n.type??\"file\",y=H(async function(f){return typeof e==\"function\"?[await e(f)]:typeof e==\"string\"?[e]:Array.isArray(e)?e:[e]},\"getMatchers\");for(;i&&i!==s&&i!==r;){for await(const f of await y(i)){if(f===me)return;if(f===void 0)continue;const u=de(f)?f:w(i,f);try{const a=await k(u);if(l===\"file\"&&a.isFile()||l===\"directory\"&&a.isDirectory())return u}catch{}}i=v(i)}},\"findUp\"),Oi=Xn;var Bn=Object.defineProperty,G=o((e,n)=>Bn(e,\"name\",{value:n,configurable:!0}),\"o$3\");const Vn=G((e,n={})=>{if(typeof e!=\"string\"&&!Array.isArray(e)&&typeof e!=\"function\")throw new TypeError(\"The `name` argument must be of type `string` or `string[]`\");const t=n.cwd?d(n.cwd):process.cwd();let i=w(t);const{root:r}=ue(i),c=d(n.stopAt??r),s=w(i,c),l=n.type??\"file\",y=G(function(f){return typeof e==\"function\"?[e(f)]:typeof e==\"string\"?[e]:Array.isArray(e)?e:[e]},\"getMatchers\");for(;i&&i!==s&&i!==r;){for(const f of y(i)){if(f===me)return;if(f===void 0)continue;const u=de(f)?f:w(i,f);try{const a=O(u);if(l===\"file\"&&a.isFile()||l===\"directory\"&&a.isDirectory())return u}catch{}}i=v(i)}},\"findUpSync\"),Ei=Vn;var Hn=Object.defineProperty,Gn=o((e,n)=>Hn(e,\"name\",{value:n,configurable:!0}),\"o$2\");async function E(e,n=P){m(e),e=d(e);try{return await Re(e,n),!0}catch{return!1}}o(E,\"m$6\");Gn(E,\"isAccessible\");var qn=Object.defineProperty,Qn=o((e,n)=>qn(e,\"name\",{value:n,configurable:!0}),\"o$1\");function F(e,n=P){m(e),e=d(e);try{return Ce(e,n),!0}catch{return!1}}o(F,\"m$5\");Qn(F,\"isAccessibleSync\");var Zn=Object.defineProperty,be=o((e,n)=>Zn(e,\"name\",{value:n,configurable:!0}),\"n$3\");const et={brotli:Be,gzip:Ve,none:be((e,n)=>{n(null,e)},\"none\")},nt=be(async(e,n)=>{if(m(e),e=d(e),!await E(e))throw new Y(`unable to read the non-accessible file: ${e}`);if(!await E(e,_))throw new Error(`Unable to read the non-readable file: ${e}`);const{buffer:t,compression:i,encoding:r,flag:c}=n??{};return await ee(e,c?{encoding:r,flag:c}:{encoding:r}).then(async s=>await new Promise((l,y)=>{et[i??\"none\"](s,(f,u)=>{f?y(f):l(t?u:u.toString())})})).catch(s=>{throw s})},\"readFile\"),Se=nt;var tt=Object.defineProperty,ke=o((e,n)=>tt(e,\"name\",{value:n,configurable:!0}),\"n$2\");const it={brotli:He,gzip:Ge,none:ke(e=>e,\"none\")},rt=ke((e,n)=>{if(m(e),e=d(e),!F(e))throw new Y(`unable to read the non-accessible file: ${e}`);if(!F(e,_))throw new Y(`invalid access to read file at: ${e}`);const{buffer:t,compression:i,encoding:r,flag:c}=n??{},s=ce(e,c?{encoding:r,flag:c}:{encoding:r}),l=it[i??\"none\"](s);return t?l:l.toString()},\"readFileSync\"),Oe=rt;var at=Object.defineProperty,ot=o((e,n)=>at(e,\"name\",{value:n,configurable:!0}),\"i$7\");async function ct(e,n,t){typeof n==\"object\"&&(t=n,n=void 0);const i=await Se(e,{buffer:!0,encoding:void 0});let r=new TextDecoder().decode(i);const{beforeParse:c,color:s}=t??{};return typeof c==\"function\"&&(r=c(r)),ie(r,n,d(e),{color:s})}o(ct,\"c\");ot(ct,\"readJson\");var st=Object.defineProperty,lt=o((e,n)=>st(e,\"name\",{value:n,configurable:!0}),\"r$2\");function ft(e,n,t){typeof n==\"object\"&&(t=n,n=void 0);const i=Oe(e,{buffer:!0,encoding:void 0});let r=new TextDecoder().decode(i);const{beforeParse:c,color:s}=t??{};return typeof c==\"function\"&&(r=c(r)),ie(r,n,d(e),{color:s})}o(ft,\"J\");lt(ft,\"readJsonSync\");var yt=Object.defineProperty,ut=o((e,n)=>yt(e,\"name\",{value:n,configurable:!0}),\"e$1\");async function dt(e,n,t){const{buffer:i,compression:r,encoding:c=\"utf8\",flag:s,...l}=t??{},y=await Se(e,{buffer:i,compression:r,encoding:c,flag:s});return typeof n==\"function\"?I(y,n,l):I(y,l)}o(dt,\"d$2\");ut(dt,\"readYaml\");var mt=Object.defineProperty,pt=o((e,n)=>mt(e,\"name\",{value:n,configurable:!0}),\"i$6\");function wt(e,n,t){const{buffer:i,compression:r,encoding:c=\"utf8\",flag:s,...l}=t??{},y=Oe(e,{buffer:i,compression:r,encoding:c,flag:s});return typeof n==\"function\"?I(y,n,l):I(y,l)}o(wt,\"d$1\");pt(wt,\"readYamlSync\");var vt=Object.defineProperty,gt=o((e,n)=>vt(e,\"name\",{value:n,configurable:!0}),\"i$5\");const $t=gt(async(e,n)=>{if(m(e),!se(e)){await W(e,{recursive:!0});return}for await(const t of await Z(e))await ne(U(d(e),t),{...n,force:!0,recursive:!0})},\"emptyDir\"),Fi=$t;var ht=Object.defineProperty,bt=o((e,n)=>ht(e,\"name\",{value:n,configurable:!0}),\"o\");const St=bt((e,n)=>{if(m(e),!se(e)){z(e,{recursive:!0});return}for(const t of oe(e))le(U(d(e),t),{...n,force:!0,recursive:!0})},\"emptyDir\"),Pi=St;var kt=Object.defineProperty,Ot=o((e,n)=>kt(e,\"name\",{value:n,configurable:!0}),\"t$1\");const Et=Ot(async(e,n={})=>{m(e);try{await te(e)}catch{}try{await ne(e,{force:!0,maxRetries:n?.maxRetries,recursive:!0,retryDelay:n?.retryDelay})}catch{}},\"remove\"),Di=Et;var Ft=Object.defineProperty,Pt=o((e,n)=>Ft(e,\"name\",{value:n,configurable:!0}),\"t\");const Dt=Pt((e,n={})=>{m(e);try{fe(e)}catch{}try{le(e,{force:!0,maxRetries:n?.maxRetries,recursive:!0,retryDelay:n?.retryDelay})}catch{}},\"removeSync\"),ji=Dt;var jt=Object.defineProperty,xt=o((e,n)=>jt(e,\"name\",{value:n,configurable:!0}),\"f$1\");const Tt=new TextEncoder,Ee=xt(e=>{if(e instanceof Uint8Array)return e;if(typeof e==\"string\")return Tt.encode(e);if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e)){const n=e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);return new Uint8Array(n)}throw new TypeError(\"Invalid contents type. Expected string or ArrayBuffer.\")},\"toUint8Array\");var At=Object.defineProperty,Lt=o((e,n)=>At(e,\"name\",{value:n,configurable:!0}),\"d\");const It=Lt(async(e,n,t)=>{t={encoding:\"utf8\",flag:\"w\",overwrite:!0,recursive:!0,...t},m(e),re(n),e=d(e);try{const i=await E(e,P);if(!i&&t.recursive){const s=v(e);await E(s,P)||await W(s,{recursive:!0})}let r;await Q(`${e}.tmp`,Ee(n),{encoding:t.encoding,flag:t.flag}),i&&!t.overwrite&&(r=await k(e),t.chown===void 0&&(t.chown={gid:r.gid,uid:r.uid}),await B(e,`${e}.bak`));const c=`${e}.tmp`;if(t.chown)try{await Ue(c,t.chown.uid,t.chown.gid)}catch{}await _e(c,r&&!t.mode?r.mode:t.mode??438),await B(c,e)}catch(i){throw new Error(`Failed to write file at: ${e} - ${i.message}`,{cause:i})}finally{await E(`${e}.tmp`)&&await te(`${e}.tmp`)}},\"writeFile\"),Fe=It;var Nt=Object.defineProperty,Rt=o((e,n)=>Nt(e,\"name\",{value:n,configurable:!0}),\"f\");const Ut=Rt((e,n,t)=>{t={encoding:\"utf8\",flag:\"w\",overwrite:!0,recursive:!0,...t},m(e),re(n),e=d(e);try{const i=F(e,P);if(!i&&t.recursive){const s=v(e);F(s,P)||z(s,{recursive:!0})}let r;ae(`${e}.tmp`,Ee(n),{encoding:t.encoding,flag:t.flag}),i&&!t.overwrite&&(r=O(e),t.chown===void 0&&(t.chown={gid:r.gid,uid:r.uid}),V(e,`${e}.bak`));const c=`${e}.tmp`;if(t.chown)try{Ke(c,t.chown.uid,t.chown.gid)}catch{}Me(c,r&&!t.mode?r.mode:t.mode??438),V(c,e)}catch(i){throw new Error(`Failed to write file at: ${e} - ${i.message}`,{cause:i})}finally{F(`${e}.tmp`)&&fe(`${e}.tmp`)}},\"writeFileSync\"),Pe=Ut,_t=/^(?:( )+|\\t+)/,j=\"space\",De=\"tab\";function q(e,n){const t=new Map;let i=0,r,c;for(const s of e.split(/\\n/g)){if(!s)continue;let l,y,f,u,a;const p=s.match(_t);if(p===null)i=0,r=\"\";else{if(l=p[0].length,y=p[1]?j:De,n&&y===j&&l===1)continue;y!==r&&(i=0),r=y,f=1,u=0;const x=l-i;if(i=l,x===0)f=0,u=1;else{const xe=x>0?x:-x;c=Yt(y,xe)}a=t.get(c),a=a===void 0?[1,0]:[a[0]+f,a[1]+u],t.set(c,a)}}return t}o(q,\"makeIndentsMap\");function Yt(e,n){return(e===j?\"s\":\"t\")+String(n)}o(Yt,\"encodeIndentsKey\");function Jt(e){const t=e[0]===\"s\"?j:De,i=Number(e.slice(1));return{type:t,amount:i}}o(Jt,\"decodeIndentsKey\");function Wt(e){let n,t=0,i=0;for(const[r,[c,s]]of e)(c>t||c===t&&s>i)&&(t=c,i=s,n=r);return n}o(Wt,\"getMostUsedKey\");function zt(e,n){return(e===j?\" \":\"\t\").repeat(n)}o(zt,\"makeIndentString\");function je(e){if(typeof e!=\"string\")throw new TypeError(\"Expected a string\");let n=q(e,!0);n.size===0&&(n=q(e,!1));const t=Wt(n);let i,r=0,c=\"\";return t!==void 0&&({type:i,amount:r}=Jt(t),c=zt(i,r)),{amount:r,type:i,indent:c}}o(je,\"detectIndent\");var Ct=Object.defineProperty,Kt=o((e,n)=>Ct(e,\"name\",{value:n,configurable:!0}),\"r$1\");const Mt=Kt(async(e,n,t={})=>{const{detectIndent:i,indent:r,replacer:c,stringify:s=JSON.stringify,...l}={indent:\"\t\",...t};let y=r,f=`\n`;if(await E(e,_))try{const a=await ee(e,\"utf8\");if(i){const{indent:p}=je(a);y=p}f=a.endsWith(`\n`)?`\n`:\"\"}catch(a){if(a.code!==\"ENOENT\")throw a}const u=s(n,c,y);await Fe(e,`${u}${f}`,l)},\"writeJson\"),xi=Mt;var Xt=Object.defineProperty,Bt=o((e,n)=>Xt(e,\"name\",{value:n,configurable:!0}),\"r\");const Vt=Bt((e,n,t={})=>{const{detectIndent:i,indent:r,replacer:c,stringify:s=JSON.stringify,...l}={indent:\"\t\",...t};let y=r,f=`\n`;if(F(e,_))try{const a=ce(e,\"utf8\");if(i){const{indent:p}=je(a);y=p}f=a.endsWith(`\n`)?`\n`:\"\"}catch(a){if(a.code!==\"ENOENT\")throw a}const u=s(n,c,y);Pe(e,`${u}${f}`,l)},\"writeJsonSync\"),Ti=Vt;var Ht=Object.defineProperty,Gt=o((e,n)=>Ht(e,\"name\",{value:n,configurable:!0}),\"n\");async function qt(e,n,t,i){const r=typeof t==\"function\"||Array.isArray(t)?N(n,t,i):N(n,t);await Fe(e,r)}o(qt,\"m$1\");Gt(qt,\"writeYaml\");var Qt=Object.defineProperty,Zt=o((e,n)=>Qt(e,\"name\",{value:n,configurable:!0}),\"i\");function ei(e,n,t,i){const r=typeof t==\"function\"||Array.isArray(t)?N(n,t,i):N(n,t);Pe(e,r)}o(ei,\"m\");Zt(ei,\"writeYamlSync\");export{J as CRLF,$i as EOL,me as FIND_UP_STOP,P as F_OK,ge as LF,_ as R_OK,yi as W_OK,ui as X_OK,Si as collect,ki as collectSync,hi as detect,Fi as emptyDir,Pi as emptyDirSync,C as ensureDir,K as ensureDirSync,di as ensureFile,mi as ensureFileSync,pi as ensureLink,wi as ensureLinkSync,vi as ensureSymlink,gi as ensureSymlinkSync,Oi as findUp,Ei as findUpSync,bi as format,E as isAccessible,F as isAccessibleSync,Se as readFile,Oe as readFileSync,ct as readJson,ft as readJsonSync,dt as readYaml,wt as readYamlSync,Di as remove,ji as removeSync,M as walk,X as walkSync,Fe as writeFile,Pe as writeFileSync,xi as writeJson,Ti as writeJsonSync,qt as writeYaml,ei as writeYamlSync};\n","import { readdirSync, readFileSync } from \"node:fs\";\n\nimport { parse } from \"@visulima/path\";\nimport type { PackageJson } from \"type-fest\";\n\ninterface AppExport {\n [key: string]: any;\n app?: string | { app?: string };\n}\n\nexport const ALLOWED_EXTENSIONS = [\".js\", \".ts\", \".mjs\", \".cjs\"];\n\nexport const getAppWorkingDirectoryPath = (appFilePath: string): string | null => {\n let lastParsedPath = parse(appFilePath);\n\n // Once the following condition returns false it means we traversed the whole file system\n // eslint-disable-next-line no-loops/no-loops\n while (lastParsedPath.base && lastParsedPath.root !== lastParsedPath.dir) {\n const parentDirectionItems = readdirSync(lastParsedPath.dir);\n\n const packageJSON = parentDirectionItems.find((item) => item === \"package.json\");\n\n if (packageJSON) {\n return lastParsedPath.dir;\n }\n\n lastParsedPath = parse(lastParsedPath.dir);\n }\n\n return null;\n};\n\nexport const getFrameworkName = (directory: string): \"express\" | \"fastify\" | \"hapi\" | \"koa\" | \"next\" | null => {\n const packageJSONFilePath = `${directory}/package.json`;\n\n const { dependencies } = JSON.parse(readFileSync(packageJSONFilePath).toString()) as PackageJson;\n\n if (dependencies?.express) {\n return \"express\";\n }\n\n if (dependencies?.koa && (dependencies[\"@koa/router\"] || dependencies[\"koa-router\"])) {\n return \"koa\";\n }\n\n if (dependencies?.next) {\n return \"next\";\n }\n\n if (dependencies?.[\"@hapi/hapi\"]) {\n return \"hapi\";\n }\n\n if (dependencies?.fastify) {\n return \"fastify\";\n }\n\n return null;\n};\n\nexport const getApp = (appExport: AppExport, frameworkName: \"express\" | \"fastify\" | \"hapi\" | \"koa\" | \"next\" | null): AppExport | string | null => {\n const isExportEmpty = Object.keys(appExport).length === 0;\n\n if (isExportEmpty) {\n return null;\n }\n\n if (frameworkName === \"hapi\") {\n if (typeof (appExport.app as { app?: string }).app === \"string\") {\n return appExport.app as { app: string };\n }\n\n return appExport;\n }\n\n return appExport.app ?? appExport;\n};\n","import type { Server } from \"@hapi/hapi\";\nimport type { Express } from \"express\";\nimport type { FastifyInstance } from \"fastify\";\nimport type Koa from \"koa\";\n\nimport expressRoutes from \"./routes/express-routes\";\nimport fastifyRoutes from \"./routes/fastify-routes\";\nimport hapiRoutes from \"./routes/hapi-routes\";\nimport koaRoutes from \"./routes/koa-routes\";\nimport apiRouteFileParser from \"./routes/next/api-route-file-parser\";\nimport collectApiRouteFiles from \"./routes/next/collect-api-route-files\";\nimport type { Route } from \"./routes/types\";\n\nexport type FrameworkName = \"express\" | \"fastify\" | \"hapi\" | \"koa\" | \"next\" | \"unknown\";\nexport const getRoutes = async (\n appOrPath: Express | FastifyInstance | Koa | Server | string,\n frameworkName: FrameworkName,\n verbose: boolean,\n): Promise<Route[] | null> => {\n if (frameworkName === \"express\") {\n return expressRoutes(appOrPath as Express);\n }\n\n if (frameworkName === \"koa\") {\n return koaRoutes(appOrPath as Koa);\n }\n\n if (frameworkName === \"hapi\") {\n return hapiRoutes(appOrPath as Server);\n }\n\n if (frameworkName === \"fastify\") {\n return fastifyRoutes(appOrPath as FastifyInstance);\n }\n\n if (frameworkName === \"next\") {\n const apiRouteFiles = await collectApiRouteFiles(appOrPath as string);\n\n if (apiRouteFiles.length === 0) {\n throw new Error(`No API routes found, in \"${appOrPath}\".`);\n }\n\n return apiRouteFiles.flatMap((apiRouteFile) => apiRouteFileParser(apiRouteFile, appOrPath as string, verbose));\n }\n\n return null;\n};\n","import type { Route } from \"./types\";\n\nconst routesGroupBy = (list: Route[], keyGetter: (item: Route) => keyof Route): Map<string, Route[]> => {\n const map = new Map<string, Route[]>();\n\n list.forEach((item) => {\n const key = keyGetter(item);\n const collection = map.get(key);\n\n if (collection) {\n collection.push(item);\n } else {\n map.set(key, [item]);\n }\n });\n\n return map;\n};\n\nexport default routesGroupBy;\n","import chalk from \"chalk\";\n\nimport type { Route } from \"./types\";\n\nconst renderRoute = (method: string, routePath: string): string => {\n const colorMap = {\n ANY: chalk.redBright,\n DELETE: chalk.redBright,\n GET: chalk.blue,\n HEAD: chalk.hex(\"#6C7280\"),\n OPTIONS: chalk.hex(\"#6C7280\"),\n PATCH: chalk.yellow,\n POST: chalk.yellow,\n PUT: chalk.yellow,\n };\n\n let methodText: string;\n\n if (method === \"GET|HEAD\") {\n methodText = `${chalk.blue(\"GET\")}${chalk.grey(\"|HEAD\")}`;\n } else {\n const coloredMethod = colorMap[method as keyof typeof colorMap](method);\n\n methodText = method === \"GET\" ? `${coloredMethod}${chalk.grey(\"|HEAD\")}` : coloredMethod;\n }\n\n const spacesCount = method === \"GET\" ? 6 : 14 - method.length;\n const spaces = Array.from({ length: spacesCount }).fill(\" \").join(\"\");\n\n const dotsCount = process.stdout.columns - 16 - routePath.length - 4;\n const dots = dotsCount > 0 ? Array.from({ length: dotsCount }).fill(\".\").join(\"\") : \"\";\n\n const routeText = routePath\n .split(\"/\")\n .map((segment) => {\n const isDynamicSegment = [\":\", \"[\"].includes(segment[0] ?? \"\");\n\n return isDynamicSegment ? chalk.yellowBright(segment) : segment;\n })\n .join(\"/\");\n\n return ` ${methodText}${spaces}${routeText}${chalk.grey(dots)}`;\n};\n\nconst routesRender = (routesMap: Route[], options: { methods?: string[] } = {}): (string | undefined)[] =>\n routesMap\n .map((route) => {\n if (Array.isArray(options.methods) && options.methods.includes(route.method)) {\n return;\n }\n\n if (route.method === \"GET|POST|PUT|PATCH|DELETE|HEAD|OPTIONS\") {\n // eslint-disable-next-line no-param-reassign\n route.method = \"ANY\";\n }\n\n // eslint-disable-next-line consistent-return\n return renderRoute(route.method, route.path.replace(\"/pages\", \"\"));\n })\n .filter(Boolean);\n\nexport default routesRender;\n","import { execSync } from \"node:child_process\";\nimport { existsSync, rmSync, statSync } from \"node:fs\";\nimport process from \"node:process\";\n\nimport { extname, join } from \"@visulima/path\";\nimport chalk from \"chalk\";\n\nimport { getRoutes } from \"./get-routes\";\nimport routesGroupBy from \"./routes/routes-group-by\";\nimport routesRender from \"./routes/routes-render\";\nimport type { Route } from \"./routes/types\";\nimport { ALLOWED_EXTENSIONS, getApp, getAppWorkingDirectoryPath, getFrameworkName } from \"./utils\";\n\ninterface RenderOptions {\n excludePaths: string[];\n group: string;\n includePaths: string[];\n methods: string[];\n verbose: boolean;\n}\n\nconst listCommand = async (\n framework: \"express\" | \"fastify\" | \"hapi\" | \"koa\" | \"next\" | undefined,\n path: string,\n options: Partial<RenderOptions> = {},\n // eslint-disable-next-line sonarjs/cognitive-complexity\n): Promise<void> => {\n const frameworkPath = join(process.cwd(), path);\n\n if (!existsSync(frameworkPath)) {\n throw new Error(\"No such file, invalid path provided.\");\n }\n\n const appWorkingDirectoryPath = getAppWorkingDirectoryPath(frameworkPath);\n\n if (!appWorkingDirectoryPath) {\n throw new Error(\"Please initialize local package.json.\");\n }\n\n if (framework === undefined) {\n const frameworkName = getFrameworkName(appWorkingDirectoryPath);\n\n if (!frameworkName) {\n throw new Error(\"Couldn't detect supported back-end framework.\");\n }\n\n // eslint-disable-next-line no-param-reassign\n framework = frameworkName;\n }\n\n let routes: Route[] | null = null;\n\n if (framework === \"next\") {\n routes = await getRoutes(frameworkPath, \"next\", options.verbose ?? false);\n } else {\n if (!statSync(frameworkPath).isFile()) {\n throw new Error(`${frameworkPath} is directory, but file expected.`);\n }\n\n if (!ALLOWED_EXTENSIONS.includes(extname(frameworkPath))) {\n throw new Error(\"Please specify application .ts/.js/.mjs/.cjs file.\");\n }\n\n const environmentFilePath = `${appWorkingDirectoryPath}/.env`;\n\n if (existsSync(environmentFilePath)) {\n // Loads environment vars in the current process so application\n // that depends on them can be loaded properly below\n const dotEnvironmentFilePath = `${appWorkingDirectoryPath}/node_modules/dotenv/lib/main.js`;\n const dotenv = await import(dotEnvironmentFilePath);\n\n dotenv.config({ path: environmentFilePath });\n }\n\n const isTypeScriptApp = extname(frameworkPath) === \".ts\";\n const tscPath = join(appWorkingDirectoryPath, \"node_modules/.bin/tsc\");\n\n if (isTypeScriptApp && !existsSync(tscPath)) {\n throw new Error(`Please install typescript in ${appWorkingDirectoryPath}`);\n }\n\n try {\n if (isTypeScriptApp) {\n // || rm -r ./framework-list removes framework-list directory in case tsc fails\n\n try {\n execSync(`${tscPath} --outDir framework-list >&2`, { cwd: appWorkingDirectoryPath });\n } catch (error: any) {\n // eslint-disable-next-line no-console\n console.log(\"TSC compilation failed. Please resolve issues in your project.\\n\");\n // eslint-disable-next-line no-console\n console.log(error);\n\n rmSync(join(appWorkingDirectoryPath, \"framework-list\"), { recursive: true });\n }\n }\n\n const appJsFilePath = isTypeScriptApp\n ? join(appWorkingDirectoryPath, \"framework-list\", frameworkPath.replace(appWorkingDirectoryPath, \"\").replace(\".ts\", \".js\"))\n : frameworkPath;\n\n const { default: defaultExport } = await import(appJsFilePath);\n\n routes = await getRoutes(\n [\"AsyncFunction\", \"Function\"].includes(defaultExport.constructor.name as string) ? await defaultExport() : getApp(defaultExport, framework),\n framework,\n options.verbose ?? false,\n );\n } finally {\n if (isTypeScriptApp) {\n rmSync(join(appWorkingDirectoryPath, \"framework-list\"), { recursive: true });\n }\n }\n }\n\n if (routes === null) {\n throw new Error(`Framework \"${framework}\" is not supported.`);\n }\n\n if (Array.isArray(options.includePaths) && options.includePaths.length > 0) {\n routes = options.includePaths.flatMap((ipath) => (routes as Route[]).filter((route) => route.path.startsWith(ipath)));\n }\n\n if (Array.isArray(options.excludePaths) && options.excludePaths.length > 0) {\n routes = options.excludePaths.flatMap((epath) => (routes as Route[]).filter((route) => !route.path.startsWith(epath)));\n }\n\n if (typeof options.group === \"string\" && options.group !== \"\") {\n // eslint-disable-next-line no-console\n console.log();\n\n const groupedMap = routesGroupBy(routes, (route) => {\n if (options.group === \"path\") {\n return route.path.replace(\"/pages\", \"\").split(\"/\")[1];\n }\n\n return route.tags[0] ?? \"unsorted\";\n });\n\n let counter = 0;\n\n groupedMap.forEach((groupedRoutes, key) => {\n if (counter > 0) {\n // eslint-disable-next-line no-console\n console.log();\n }\n\n const dotsCount = (process.stdout.columns - 16 - key.length) / 2;\n const dots = dotsCount > 0 ? Array.from({ length: dotsCount }).fill(\" \").join(\"\") : \"\";\n\n // eslint-disable-next-line no-console\n console.log(dots + chalk.bold.underline(key));\n\n routesRender(groupedRoutes, options).forEach((renderedRoute) => {\n // eslint-disable-next-line no-console\n console.log(renderedRoute);\n });\n\n counter += 1;\n });\n } else {\n // eslint-disable-next-line no-console\n console.log();\n\n routesRender(routes, options).forEach((renderedRoute) => {\n // eslint-disable-next-line no-console\n console.log(renderedRoute);\n });\n }\n\n // eslint-disable-next-line no-console\n console.log(`\\n Listed ${chalk.greenBright(String(routes.length))} HTTP ${routes.length === 1 ? \"route\" : \"routes\"}.\\n`);\n};\n\nexport default listCommand;\n"]}
|
package/dist/chunk-ORSZUU7P.mjs
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { execSync } from 'node:child_process';
|
|
2
|
-
import { lstatSync, mkdirSync, writeFileSync, linkSync, statSync, symlinkSync, readlinkSync, readFileSync, existsSync, readdirSync, rmSync, unlinkSync, renameSync, chownSync, chmodSync, realpathSync, accessSync } from 'node:fs';
|
|
3
|
-
import Nt, { cwd } from 'node:process';
|
|
4
|
-
import { dirname, toNamespacedPath, resolve, normalize, basename, parse, isAbsolute, join, extname } from '@visulima/path';
|
|
5
|
-
import v from 'chalk';
|
|
6
|
-
import { parseFile, jsDocumentCommentsToOpenApi, swaggerJsDocumentCommentsToOpenApi } from '@visulima/jsdoc-open-api';
|
|
7
|
-
import { lstat, mkdir, writeFile, link, stat, symlink, readlink, readFile, readdir, rm, unlink, rename, chown, chmod, realpath, access } from 'node:fs/promises';
|
|
8
|
-
import { toPath } from '@visulima/path/utils';
|
|
9
|
-
import { brotliDecompress, unzip, brotliDecompressSync, unzipSync } from 'node:zlib';
|
|
10
|
-
import { parse as parse$1, stringify } from 'yaml';
|
|
11
|
-
|
|
12
|
-
var Kt=(e,t)=>{if(t.length===0)throw new Error("must include at least one key to map");let r=e.toString();return t.forEach(n=>{r=n.optional?r.replace("(?:\\/([^\\/]+?))?\\",`/:${n.name}?`):r.replace("(?:([^\\/]+?))",`:${n.name}`);}),r.replace("/?(?=\\/|$)/i","").replace("/^","").replaceAll("\\","").replaceAll(/\/{2,}/gu,"/")},we=Kt;var _t=(e,t)=>{if(typeof e=="string")return e;if(e.fast_slash)return "";if(e.fast_star)return "*";let r="";t.length>0&&(r=we(e,t));let n=/^\/\^((?:\\[$()*+./?[\\\]^{|}]|[^$()*+./?[\\\]^{|}])*)\$\//u.exec(e.toString().replace("\\/?","").replace("(?=\\/|$)","$"));return Array.isArray(n)&&n.length>1?n[1].replaceAll(/\\(.)/gu,"$1").slice(1):r?r.slice(1):e.toString()},be=_t;var Bt=(e,t,r)=>{let n=e.route.stack.at(-1),o=t.map(c=>({in:"path",name:c.name,required:!c.optional})),i=e.route.stack.filter(c=>c.handle.metadata);if(i.length>1)throw new Error("Only one metadata middleware is allowed per route");let a=(r+e.route.path).replaceAll(/\/{2,}/gu,"/");return i.length===0?{method:n.method,path:a,pathParams:o}:{metadata:i[0].handle.metadata,method:n.method,path:a,pathParams:o}},ve=(e,t,r,n)=>{n=[...n,...r.keys],r.name==="router"&&r.handle&&r.handle.stack.forEach(o=>{t=t||"",ve(e,`${t}/${be(r.regexp,r.keys)}`,o,n);}),!(!r.route||r.route.stack.length===0)&&e.push(Bt(r,n,t));},Gt=e=>{let t=e._router||e.router,r=[];return t.stack.forEach(n=>{ve(r,"",n,[]);}),r},Ee=Gt;var Ht=e=>{let t=[];return Ee(e).forEach(r=>{t.push({file:"unknown",method:r.method.toUpperCase(),path:r.path,tags:[]});}),t},Se=Ht;var xe=e=>e.replaceAll(/ \(.*\)/gu,"").trim(),Pe=e=>e.trim().split(" ")[1].slice(1,-1),Yt=e=>{let r=e.printRoutes().replaceAll(/[─│└├]/gu," ").trimEnd().split(`
|
|
13
|
-
`),n=r.reduce((i,a,c)=>{let l=xe(a);if(xe(r[c-1]??"")===l){let y=i.filter(P=>P.index<c&&P.segment===l),{methods:S}=y.at(-1);return S!==null&&S.push(Pe(a)),i}let u=a.replaceAll(/ \(.*\)/gu,"").match(/ /gu);if(u===null)throw new Error("Invalid spaces");let s=u.length/4,m=a.includes("("),h=m?[Pe(a)]:null;return i.push({depth:s,index:c,isRoute:m,methods:h,segment:l}),i},[]),o=[];return n.filter(i=>i.isRoute).forEach(i=>{let c=[...n.filter(l=>l.index<i.index&&l.depth<i.depth).filter((l,f,u)=>!u.find(s=>s.depth===l.depth&&s.index>l.index)).map(l=>l.segment),i.segment].join("");if(i.methods===null)throw new Error("Invalid methods");i.methods.forEach(l=>{o.push({file:"unknown",method:l.toUpperCase(),path:c,tags:[]});});}),o},ke=Yt;var Xt=e=>{let r=e._core.router.routes,n=[];return [...r.keys()].forEach(o=>{r.get(o).routes.forEach(i=>{n.push({file:"unknown",method:i.route.method.toUpperCase(),path:i.path,tags:[]});});}),n},$e=Xt;var zt=e=>{let t=[];return e.middleware.filter(r=>r.router).flatMap(r=>r.router.stack).forEach(r=>{t.push({file:"unknown",method:r.methods.join("|").toUpperCase(),path:r.path,tags:[]});}),t},Oe=zt;var je=/\.(js|ts|mjs|cjs)$/u,er=(e,t,r=!1)=>{e=toNamespacedPath(e);let n=toNamespacedPath(cwd()),o=[],i=parseFile(e,jsDocumentCommentsToOpenApi,r);o=[...o,...i.map(l=>l.spec)];let a=parseFile(e,swaggerJsDocumentCommentsToOpenApi,r);o=[...o,...a.map(l=>l.spec)];let c=[];return o.length===0?(readFileSync(e,"utf8").split(/\r?\n/u).forEach(f=>{let u=/[=aces|]+\s["'|](GET|POST|PUT|PATCH|HEAD|DELETE|OPTIONS)["'|]/u.exec(f);if(u){let[,s]=u;s==="GET"&&(s="GET|HEAD"),c.push({file:e.replace(`${n}/`,""),method:s,path:toNamespacedPath(e.replace(t,"").replace(je,"")),tags:[]});}}),c.length===0&&c.push({file:e.replace(`${n}/`,""),method:"GET|POST|PUT|PATCH|DELETE|HEAD|OPTIONS",path:toNamespacedPath(e.replace(t,"").replace(je,"")),tags:[]}),c):(o.forEach(l=>{Object.entries(l?.paths??{}).forEach(([u,s])=>{Object.entries(s).forEach(([h,y])=>{c.push({file:e.replace(`${n}/`,""),method:h.toUpperCase(),path:toNamespacedPath(u),tags:y.tags});});});}),c)},Fe=er;var tr=Object.defineProperty,Te=(e,t)=>tr(e,"name",{value:t,configurable:!0}),rr=Object.defineProperty,nr=Te((e,t)=>rr(e,"name",{value:t,configurable:!0}),"i"),ie=class e extends Error{static{Te(this,"r");}static{nr(this,"JSONError");}fileName;codeFrame;name="JSONError";#e;constructor(t){super(),this.#e=t,Error.captureStackTrace(this,e);}get message(){return `${this.#e}${this.fileName?` in ${this.fileName}`:""}${this.codeFrame?`
|
|
14
|
-
|
|
15
|
-
${this.codeFrame}
|
|
16
|
-
`:""}`}set message(t){this.#e=t;}},De=ie;var or=Object.defineProperty,N=(e,t)=>or(e,"name",{value:t,configurable:!0}),ir=Object.defineProperty,sr=N((e,t)=>ir(e,"name",{value:t,configurable:!0}),"n"),g=sr(e=>{if(!e||!(e instanceof URL)&&typeof e!="string")throw new TypeError("Path must be a non-empty string or URL.")},"assertValidFileOrDirectoryPath"),ar=Object.defineProperty,se=N((e,t)=>ar(e,"name",{value:t,configurable:!0}),"v$1"),cr=Object.defineProperty,lr=se((e,t)=>cr(e,"name",{value:t,configurable:!0}),"r$1"),fr=lr(e=>e.replaceAll(/\r\n|\r(?!\n)|\n/gu,`
|
|
17
|
-
`),"normalizeLF"),ur=globalThis.process||Object.create(null),Re={versions:{}},Le=new Proxy(ur,{get(e,t){if(t in e)return e[t];if(t in Re)return Re[t]}}),pr=Object.defineProperty,mr=se((e,t)=>pr(e,"name",{value:t,configurable:!0}),"b"),yr=mr((e,t,r,n)=>{let o={column:0,line:-1,...e.start},i={...o,...e.end},a=o.line,c=o.column,l=i.line,f=i.column,u=Math.max(a-(r+1),0),s=Math.min(t.length,l+n);a===-1&&(u=0),l===-1&&(s=t.length);let m=l-a,h={};if(m)for(let y=0;y<=m;y++){let S=y+a;if(!c)h[S]=!0;else if(y===0){let P=t[S-1]?.length;h[S]=[c,(P??0)-c+1];}else if(y===m)h[S]=[0,f];else {let P=t[S-y]?.length;h[S]=[0,P];}}else c===f?h[a]=c?[c,0]:!0:h[a]=[c,(f??0)-(c??0)];return {end:s,markerLines:h,start:u}},"getMarkerLines"),dr=Object.defineProperty,H=se((e,t)=>dr(e,"name",{value:t,configurable:!0}),"o"),gr=Le.platform==="win32"&&!Le.env?.WT_SESSION?">":"\u276F",hr=H((e,t,r)=>{let n={linesAbove:2,linesBelow:3,prefix:"",showGutter:!0,showLineNumbers:!0,tabWidth:4,...r,color:{gutter:H(y=>y,"gutter"),marker:H(y=>y,"marker"),message:H(y=>y,"message"),...r?.color}},o=t.start&&typeof t.start.column=="number",i=fr(e).split(`
|
|
18
|
-
`);typeof n?.tabWidth=="number"&&(i=i.map(y=>y.replaceAll(" "," ".repeat(n.tabWidth))));let{end:a,markerLines:c,start:l}=yr(t,i,n.linesAbove,n.linesBelow),f=String(a).length,{gutter:u,marker:s,message:m}=n.color,h=i.slice(l,a).map((y,S)=>{let P=l+1+S,G=c[P],Mt=(" "+P).slice(-f),Ut=!c[P+1],ne=" "+Mt+(n.showGutter?" |":"");if(G){let oe="";if(Array.isArray(G)){let Jt=y.replaceAll(/[^\t]/g," ").slice(0,Math.max(G[0]-1,0)),Wt=G[1]||1;oe=[`
|
|
19
|
-
`,n.prefix+u(ne.replaceAll(/\d/g," "))," ",Jt,s("^").repeat(Wt)].join(""),Ut&&n.message&&(oe+=` ${m(n.message)}`);}return [n.prefix+s(gr),u(ne),y.length>0?" "+y:"",oe].join("")}return n.prefix+" "+u(ne)+(y.length>0?" "+y:"")}).join(`
|
|
20
|
-
`);return n.message&&!o&&(h=n.prefix+" ".repeat(f+1)+n.message+`
|
|
21
|
-
`+h),h},"codeFrame"),wr=Object.defineProperty,br=N((e,t)=>wr(e,"name",{value:t,configurable:!0}),"l$1"),vr=Object.defineProperty,ae=br((e,t)=>vr(e,"name",{value:t,configurable:!0}),"l"),Ne=ae((e,t)=>{let r=0,n=t.length-2;for(;r<n;){let o=r+(n-r>>1);if(e<t[o])n=o-1;else if(e>=t[o+1])r=o+1;else {r=o;break}}return r},"binarySearch"),Er=ae(e=>e.split(/\n|\r(?!\n)/).reduce((t,r)=>(t.push(t.at(-1)+r.length+1),t),[0]),"getLineStartIndexes"),Sr=ae((e,t,r)=>{let n=r?.skipChecks??!1;if(!n&&(!Array.isArray(e)&&typeof e!="string"||(typeof e=="string"||Array.isArray(e))&&e.length===0))return {column:0,line:0};if(!n&&(typeof t!="number"||typeof e=="string"&&t>=e.length||Array.isArray(e)&&t+1>=e.at(-1)))return {column:0,line:0};if(typeof e=="string"){let i=Er(e),a=Ne(t,i);return {column:t-i[a]+1,line:a+1}}let o=Ne(t,e);return {column:t-e[o]+1,line:o+1}},"indexToLineColumn"),xr=Sr,Pr=Object.defineProperty,J=N((e,t)=>Pr(e,"name",{value:t,configurable:!0}),"s"),kr=J(e=>`\\u{${e.codePointAt(0).toString(16)}}`,"getCodePoint"),$r=J((e,t,r)=>hr(e,{start:t},{tabWidth:!1,...r}),"generateCodeFrame"),Or=J((e,t)=>{let r=/in JSON at position (?<index>\d+)(?: \(line (?<line>\d+) column (?<column>\d+)\))?$/.exec(t);if(!r)return;let{column:n,index:o,line:i}=r.groups;return i&&n?{column:Number(n),line:Number(i)}:(o=Number(o),o===e.length&&(o=e.length-1),xr(e,o))},"getErrorLocation"),Ar=J(e=>e.replace(/(?<=^Unexpected token )(?<quote>')?(.)\k<quote>/,(t,r,n)=>`"${n}"(${kr(n)})`),"addCodePointToUnexpectedToken");function W(e,t,r,n){typeof t=="string"&&(typeof r=="object"&&(n=r),r=t,t=void 0);let o;try{return JSON.parse(e,t)}catch(c){o=c.message;}let i;e?(i=Or(e,o),o=Ar(o)):o+=" while parsing empty string";let a=new De(o);throw a.fileName=r,i&&(a.codeFrame=$r(e,i,n)),a}N(W,"F");J(W,"parseJson");var jr=Object.defineProperty,Fr=N((e,t)=>jr(e,"name",{value:t,configurable:!0}),"e"),Tr=Fr(e=>{if(typeof e!="string"&&!(e instanceof ArrayBuffer)&&!ArrayBuffer.isView(e))throw new TypeError("File contents must be a string, ArrayBuffer, or ArrayBuffer view.")},"assertValidFileContents"),ce=Tr;var Dr=Object.defineProperty,I=(e,t)=>Dr(e,"name",{value:t,configurable:!0}),Rr=Object.defineProperty,Lr=I((e,t)=>Rr(e,"name",{value:t,configurable:!0}),"t$2"),Nr=class extends Error{static{I(this,"n");}static{Lr(this,"AlreadyExistsError");}constructor(e){super(`EEXIST: ${e}`);}get code(){return "EEXIST"}set code(e){throw new Error("Cannot overwrite code EEXIST")}get name(){return "AlreadyExistsError"}set name(e){throw new Error("Cannot overwrite name of AlreadyExistsError")}},K=Nr,Ir=Object.defineProperty,Cr=I((e,t)=>Ir(e,"name",{value:t,configurable:!0}),"o"),Mr=class extends Error{static{I(this,"n");}static{Cr(this,"PermissionError");}constructor(e){super(`EPERM: Operation not permitted, ${e}`);}get code(){return "EPERM"}set code(e){throw new Error("Cannot overwrite code EPERM")}get name(){return "PermissionError"}set name(e){throw new Error("Cannot overwrite name of PermissionError")}},Y=Mr,Ur=Object.defineProperty,Jr=I((e,t)=>Ur(e,"name",{value:t,configurable:!0}),"t"),D=class extends Error{static{I(this,"i");}static{Jr(this,"WalkError");}root;constructor(t,r){super(`${t instanceof Error?t.message:t} for path "${r}"`),this.cause=t,this.root=r;}get name(){return "WalkError"}set name(t){throw new Error("Cannot overwrite name of WalkError")}};var Wr=Object.defineProperty,p=(e,t)=>Wr(e,"name",{value:t,configurable:!0}),C=0,Z=4;var tt=Symbol("findUpStop"),an=Object.defineProperty,cn=p((e,t)=>an(e,"name",{value:t,configurable:!0}),"i$b"),$=cn(e=>{if(e.isFile())return "file";if(e.isDirectory())return "dir";if(e.isSymbolicLink())return "symlink"},"getFileInfoType"),ln=Object.defineProperty,fn=p((e,t)=>ln(e,"name",{value:t,configurable:!0}),"i$a"),un=fn(async e=>{g(e);try{let t=await lstat(e);if(!t.isDirectory())throw new Error(`Ensure path exists, expected 'dir', got '${$(t)}'`);return}catch(t){if(t.code!=="ENOENT")throw t}try{await mkdir(e,{recursive:!0});}catch(t){if(t.code!=="EEXIST")throw t;let r=await lstat(e);if(!r.isDirectory())throw new Error(`Ensure path exists, expected 'dir', got '${$(r)}'`)}},"ensureDir"),pe=un,pn=Object.defineProperty,mn=p((e,t)=>pn(e,"name",{value:t,configurable:!0}),"o$9"),yn=mn(e=>{g(e);try{let t=lstatSync(e);if(!t.isDirectory())throw new Error(`Ensure path exists, expected 'dir', got '${$(t)}'`);return}catch(t){if(t.code!=="ENOENT")throw t}try{mkdirSync(e,{recursive:!0});}catch(t){if(t.code!=="EEXIST")throw t;let r=lstatSync(e);if(!r.isDirectory())throw new Error(`Ensure path exists, expected 'dir', got '${$(r)}'`)}},"ensureDirSync"),me=yn,dn=Object.defineProperty,gn=p((e,t)=>dn(e,"name",{value:t,configurable:!0}),"e$5");gn(async e=>{g(e);try{let t=await lstat(e);if(!t.isFile())throw new Error(`Ensure path exists, expected 'file', got '${$(t)}'`)}catch(t){if(t.code==="ENOENT"){await pe(dirname(toPath(e))),await writeFile(e,new Uint8Array);return}throw t}},"ensureFile");var hn=Object.defineProperty,wn=p((e,t)=>hn(e,"name",{value:t,configurable:!0}),"e$4");wn(e=>{g(e);try{let t=lstatSync(e);if(!t.isFile())throw new Error(`Ensure path exists, expected 'file', got '${$(t)}'`)}catch(t){if(t.code==="ENOENT"){me(dirname(toPath(e))),writeFileSync(e,new Uint8Array);return}throw t}},"ensureFileSync");var bn=Object.defineProperty,vn=p((e,t)=>bn(e,"name",{value:t,configurable:!0}),"d$6"),M=vn((e,t)=>!!t.ino&&!!t.dev&&t.ino===e.ino&&t.dev===e.dev,"isStatsIdentical"),En=Object.defineProperty,Sn=p((e,t)=>En(e,"name",{value:t,configurable:!0}),"m$8");Sn(async(e,t)=>{g(e),g(t),e=toNamespacedPath(toPath(e)),t=toNamespacedPath(toPath(t));let r;try{r=await lstat(t);}catch{}let n;try{n=await lstat(e);}catch(o){throw o.message=o.message.replace("lstat","ensureLink"),o}r&&M(n,r)||(await pe(dirname(t)),await link(e,t));},"ensureLink");var xn=Object.defineProperty,Pn=p((e,t)=>xn(e,"name",{value:t,configurable:!0}),"o$6");Pn((e,t)=>{g(e),g(t),e=toNamespacedPath(toPath(e)),t=toNamespacedPath(toPath(t));let r;try{r=lstatSync(t);}catch{}let n;try{n=lstatSync(e);}catch(o){throw o.message=o.message.replace("lstat","ensureLink"),o}r&&M(n,r)||(me(dirname(t)),linkSync(e,t));},"ensureLinkSync");var kn=Object.defineProperty,$n=p((e,t)=>kn(e,"name",{value:t,configurable:!0}),"i$9"),rt=$n((e,t)=>typeof e!="string"?e:e.startsWith("./")?resolve(e):typeof t=="string"?resolve(dirname(t),e):new URL(e,t),"resolveSymlinkTarget"),On=Object.defineProperty,An=p((e,t)=>On(e,"name",{value:t,configurable:!0}),"f$4"),jn=process.platform==="win32"||/^(?:msys|cygwin)$/.test(process.env.OSTYPE);An(async(e,t,r)=>{g(e),g(t);let n=rt(e,t);t=toNamespacedPath(toPath(t));try{if((await lstat(t)).isSymbolicLink()&&M(await stat(n),await stat(t))){let[c,l]=await Promise.all([stat(n),stat(t)]);if(M(c,l))return}}catch{}let o=await lstat(n),i=$(o);await pe(dirname(t));let a=r??(jn?"junction":i==="dir"?"dir":"file");try{await symlink(toNamespacedPath(toPath(n)),t,a);}catch(c){if(c.code!=="EEXIST")throw c;let l=await lstat(t);if(!l.isSymbolicLink())throw new K("A "+$(l)+" already exists at the path: "+t);let f=await readlink(t),u=toNamespacedPath(resolve(f));if(u!==n)throw new K("A symlink targeting to an undesired path already exists: "+t+" -> "+u)}},"ensureSymlink");var Fn=Object.defineProperty,Tn=p((e,t)=>Fn(e,"name",{value:t,configurable:!0}),"f$3"),Dn=process.platform==="win32"||/^(?:msys|cygwin)$/.test(process.env.OSTYPE);Tn((e,t,r)=>{g(e),g(t);let n=rt(e,t);t=toNamespacedPath(toPath(t));try{if(lstatSync(t).isSymbolicLink()&&M(statSync(n),statSync(t))){let c=statSync(n),l=statSync(t);if(M(c,l))return}}catch{}let o=lstatSync(n),i=$(o);me(dirname(t));let a=r??(Dn?"junction":i==="dir"?"dir":"file");try{symlinkSync(toNamespacedPath(toPath(n)),t,a);}catch(c){if(c.code!=="EEXIST")throw c;let l=lstatSync(t);if(!l.isSymbolicLink())throw new K("A "+$(l)+" already exists at the path: "+t);let f=readlinkSync(t),u=toNamespacedPath(resolve(f));if(u!==n)throw new K("A symlink targeting to an undesired path already exists: "+t+" -> "+u)}},"ensureSymlinkSync");var Rn=Object.defineProperty,nt=p((e,t)=>Rn(e,"name",{value:t,configurable:!0}),"r$4"),ot=/\r?\n/g,Ln=`
|
|
22
|
-
`,Me=`\r
|
|
23
|
-
`;nt(e=>{let t=e.match(ot);if(!t||t.length===0)return null;let r=t.filter(o=>o===Me).length,n=t.length-r;return r>n?Me:Ln},"detect");nt((e,t)=>e.replaceAll(ot,t),"format");var Nn=Object.defineProperty,In=p((e,t)=>Nn(e,"name",{value:t,configurable:!0}),"r$3"),V=In(e=>{let t=e.replace(/\.\*/g,".([^/]*)").replace(/\*\*/g,"(.*)").replace(/(?<!\.)\*(?!\*)/g,"([^/]*)").replace(/\?/g,"[^/]").replace(/\.(?!\*)/g,"\\.").replace(/\{/g,"(").replace(/\}/g,")").replace(/,/g,"|").replace(/\[!(.*?)\]/g,"[^$1]");return new RegExp(`^${t}$`)},"globToRegExp"),Cn=Object.defineProperty,Mn=p((e,t)=>Cn(e,"name",{value:t,configurable:!0}),"n$6"),O=Mn((e,t,r,n)=>Array.isArray(t)&&t.length>0&&!t.some(o=>e.endsWith(o))||r&&!r.some(o=>o.test(e))?!1:!n?.some(o=>o.test(e)),"walkInclude"),Un=Object.defineProperty,it=p((e,t)=>Un(e,"name",{value:t,configurable:!0}),"f$2"),Jn=it(async e=>{let t=normalize(e),r=basename(t),n=await stat(t);return {isDirectory:n.isDirectory,isFile:n.isFile,isSymbolicLink:n.isSymbolicLink,name:r,path:t}},"_createWalkEntry");async function*ee(e,{extensions:t,followSymlinks:r=!1,includeDirs:n=!0,includeFiles:o=!0,includeSymlinks:i=!0,match:a,maxDepth:c=Number.POSITIVE_INFINITY,skip:l}={}){if(g(e),c<0)return;let f=a?a.map(s=>typeof s=="string"?V(s):s):void 0,u=l?l.map(s=>typeof s=="string"?V(s):s):void 0;if(e=resolve(toPath(e)),n&&O(e,t,f,u)&&(yield await Jn(e)),!(c<1||!O(e,void 0,void 0,u)))try{for await(let s of await readdir(e,{withFileTypes:!0})){let m=join(e,s.name);if(s.isSymbolicLink())if(r)m=await realpath(m);else if(i&&O(m,t,f,u))yield {isDirectory:s.isDirectory,isFile:s.isFile,isSymbolicLink:s.isSymbolicLink,name:s.name,path:m};else continue;s.isSymbolicLink()||s.isDirectory()?yield*ee(m,{extensions:t,followSymlinks:r,includeDirs:n,includeFiles:o,includeSymlinks:i,match:f,maxDepth:c-1,skip:u}):s.isFile()&&o&&O(m,t,f,u)&&(yield {isDirectory:s.isDirectory,isFile:s.isFile,isSymbolicLink:s.isSymbolicLink,name:s.name,path:m});}}catch(s){throw s instanceof D?s:new D(s,e)}}p(ee,"d$5");it(ee,"walk");var Wn=Object.defineProperty,Kn=p((e,t)=>Wn(e,"name",{value:t,configurable:!0}),"e$2"),_n=Kn(async(e,t={})=>{Array.isArray(t.extensions)||(t.extensions=["js","mjs","cjs","ts"]);let r=[];for await(let n of ee(e,t))r.push(n.path);return r},"collect"),st=_n,Bn=Object.defineProperty,at=p((e,t)=>Bn(e,"name",{value:t,configurable:!0}),"m$7"),Gn=at(e=>{let t=normalize(e),r=statSync(t);return {isDirectory:r.isDirectory,isFile:r.isFile,isSymbolicLink:r.isSymbolicLink,name:basename(t),path:t}},"_createWalkEntry");function*te(e,{extensions:t,followSymlinks:r=!1,includeDirs:n=!0,includeFiles:o=!0,includeSymlinks:i=!0,match:a,maxDepth:c=Number.POSITIVE_INFINITY,skip:l}={}){if(g(e),c<0)return;let f=a?a.map(s=>typeof s=="string"?V(s):s):void 0,u=l?l.map(s=>typeof s=="string"?V(s):s):void 0;if(e=resolve(toPath(e)),n&&O(e,t,f,u)&&(yield Gn(e)),!(c<1||!O(e,void 0,void 0,u)))try{for(let s of readdirSync(e,{withFileTypes:!0})){let m=join(e,s.name);if(s.isSymbolicLink())if(r)m=realpathSync(m);else if(i&&O(m,t,f,u))yield {isDirectory:s.isDirectory,isFile:s.isFile,isSymbolicLink:s.isSymbolicLink,name:s.name,path:normalize(m)};else continue;s.isSymbolicLink()||s.isDirectory()?yield*te(m,{extensions:t,followSymlinks:r,includeDirs:n,includeFiles:o,includeSymlinks:i,match:f,maxDepth:c-1,skip:u}):s.isFile()&&o&&O(m,t,f,u)&&(yield {isDirectory:s.isDirectory,isFile:s.isFile,isSymbolicLink:s.isSymbolicLink,name:s.name,path:normalize(m)});}}catch(s){throw s instanceof D?s:new D(s,e)}}p(te,"h$2");at(te,"walkSync");var Hn=Object.defineProperty,Yn=p((e,t)=>Hn(e,"name",{value:t,configurable:!0}),"n$5");Yn((e,t={})=>{Array.isArray(t.extensions)||(t.extensions=["js","mjs","cjs","ts"]);let r=[];for(let n of te(e,t))r.push(n.path);return r},"collectSync");var Xn=Object.defineProperty,Ue=p((e,t)=>Xn(e,"name",{value:t,configurable:!0}),"n$4");Ue(async(e,t={})=>{if(typeof e!="string"&&!Array.isArray(e)&&typeof e!="function")throw new TypeError("The `name` argument must be of type `string` or `string[]`");let r=t.cwd?toPath(t.cwd):process.cwd(),n=resolve(r),{root:o}=parse(n),i=toPath(t.stopAt??o),a=resolve(n,i),c=t.type??"file",l=Ue(async function(f){return typeof e=="function"?[await e(f)]:typeof e=="string"?[e]:Array.isArray(e)?e:[e]},"getMatchers");for(;n&&n!==a&&n!==o;){for await(let f of await l(n)){if(f===tt)return;if(f===void 0)continue;let u=isAbsolute(f)?f:resolve(n,f);try{let s=await stat(u);if(c==="file"&&s.isFile()||c==="directory"&&s.isDirectory())return u}catch{}}n=dirname(n);}},"findUp");var zn=Object.defineProperty,Je=p((e,t)=>zn(e,"name",{value:t,configurable:!0}),"o$3");Je((e,t={})=>{if(typeof e!="string"&&!Array.isArray(e)&&typeof e!="function")throw new TypeError("The `name` argument must be of type `string` or `string[]`");let r=t.cwd?toPath(t.cwd):process.cwd(),n=resolve(r),{root:o}=parse(n),i=toPath(t.stopAt??o),a=resolve(n,i),c=t.type??"file",l=Je(function(f){return typeof e=="function"?[e(f)]:typeof e=="string"?[e]:Array.isArray(e)?e:[e]},"getMatchers");for(;n&&n!==a&&n!==o;){for(let f of l(n)){if(f===tt)return;if(f===void 0)continue;let u=isAbsolute(f)?f:resolve(n,f);try{let s=statSync(u);if(c==="file"&&s.isFile()||c==="directory"&&s.isDirectory())return u}catch{}}n=dirname(n);}},"findUpSync");var qn=Object.defineProperty,Vn=p((e,t)=>qn(e,"name",{value:t,configurable:!0}),"o$2");async function F(e,t=C){g(e),e=toPath(e);try{return await access(e,t),!0}catch{return !1}}p(F,"m$6");Vn(F,"isAccessible");var Qn=Object.defineProperty,Zn=p((e,t)=>Qn(e,"name",{value:t,configurable:!0}),"o$1");function T(e,t=C){g(e),e=toPath(e);try{return accessSync(e,t),!0}catch{return !1}}p(T,"m$5");Zn(T,"isAccessibleSync");var eo=Object.defineProperty,ct=p((e,t)=>eo(e,"name",{value:t,configurable:!0}),"n$3"),to={brotli:brotliDecompress,gzip:unzip,none:ct((e,t)=>{t(null,e);},"none")},ro=ct(async(e,t)=>{if(g(e),e=toPath(e),!await F(e))throw new Y(`unable to read the non-accessible file: ${e}`);if(!await F(e,Z))throw new Error(`Unable to read the non-readable file: ${e}`);let{buffer:r,compression:n,encoding:o,flag:i}=t??{};return await readFile(e,i?{encoding:o,flag:i}:{encoding:o}).then(async a=>await new Promise((c,l)=>{to[n??"none"](a,(f,u)=>{f?l(f):c(r?u:u.toString());});})).catch(a=>{throw a})},"readFile"),lt=ro,no=Object.defineProperty,ft=p((e,t)=>no(e,"name",{value:t,configurable:!0}),"n$2"),oo={brotli:brotliDecompressSync,gzip:unzipSync,none:ft(e=>e,"none")},io=ft((e,t)=>{if(g(e),e=toPath(e),!T(e))throw new Y(`unable to read the non-accessible file: ${e}`);if(!T(e,Z))throw new Y(`invalid access to read file at: ${e}`);let{buffer:r,compression:n,encoding:o,flag:i}=t??{},a=readFileSync(e,i?{encoding:o,flag:i}:{encoding:o}),c=oo[n??"none"](a);return r?c:c.toString()},"readFileSync"),ut=io,so=Object.defineProperty,ao=p((e,t)=>so(e,"name",{value:t,configurable:!0}),"i$7");async function pt(e,t,r){typeof t=="object"&&(r=t,t=void 0);let n=await lt(e,{buffer:!0,encoding:void 0}),o=new TextDecoder().decode(n),{beforeParse:i,color:a}=r??{};return typeof i=="function"&&(o=i(o)),W(o,t,toPath(e),{color:a})}p(pt,"c");ao(pt,"readJson");var co=Object.defineProperty,lo=p((e,t)=>co(e,"name",{value:t,configurable:!0}),"r$2");function mt(e,t,r){typeof t=="object"&&(r=t,t=void 0);let n=ut(e,{buffer:!0,encoding:void 0}),o=new TextDecoder().decode(n),{beforeParse:i,color:a}=r??{};return typeof i=="function"&&(o=i(o)),W(o,t,toPath(e),{color:a})}p(mt,"J");lo(mt,"readJsonSync");var fo=Object.defineProperty,uo=p((e,t)=>fo(e,"name",{value:t,configurable:!0}),"e$1");async function yt(e,t,r){let{buffer:n,compression:o,encoding:i="utf8",flag:a,...c}=r??{},l=await lt(e,{buffer:n,compression:o,encoding:i,flag:a});return typeof t=="function"?parse$1(l,t,c):parse$1(l,c)}p(yt,"d$2");uo(yt,"readYaml");var po=Object.defineProperty,mo=p((e,t)=>po(e,"name",{value:t,configurable:!0}),"i$6");function dt(e,t,r){let{buffer:n,compression:o,encoding:i="utf8",flag:a,...c}=r??{},l=ut(e,{buffer:n,compression:o,encoding:i,flag:a});return typeof t=="function"?parse$1(l,t,c):parse$1(l,c)}p(dt,"d$1");mo(dt,"readYamlSync");var yo=Object.defineProperty,go=p((e,t)=>yo(e,"name",{value:t,configurable:!0}),"i$5");go(async(e,t)=>{if(g(e),!existsSync(e)){await mkdir(e,{recursive:!0});return}for await(let r of await readdir(e))await rm(join(toPath(e),r),{...t,force:!0,recursive:!0});},"emptyDir");var ho=Object.defineProperty,wo=p((e,t)=>ho(e,"name",{value:t,configurable:!0}),"o");wo((e,t)=>{if(g(e),!existsSync(e)){mkdirSync(e,{recursive:!0});return}for(let r of readdirSync(e))rmSync(join(toPath(e),r),{...t,force:!0,recursive:!0});},"emptyDir");var bo=Object.defineProperty,vo=p((e,t)=>bo(e,"name",{value:t,configurable:!0}),"t$1");vo(async(e,t={})=>{g(e);try{await unlink(e);}catch{}try{await rm(e,{force:!0,maxRetries:t?.maxRetries,recursive:!0,retryDelay:t?.retryDelay});}catch{}},"remove");var Eo=Object.defineProperty,So=p((e,t)=>Eo(e,"name",{value:t,configurable:!0}),"t");So((e,t={})=>{g(e);try{unlinkSync(e);}catch{}try{rmSync(e,{force:!0,maxRetries:t?.maxRetries,recursive:!0,retryDelay:t?.retryDelay});}catch{}},"removeSync");var xo=Object.defineProperty,Po=p((e,t)=>xo(e,"name",{value:t,configurable:!0}),"f$1"),ko=new TextEncoder,gt=Po(e=>{if(e instanceof Uint8Array)return e;if(typeof e=="string")return ko.encode(e);if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e)){let t=e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);return new Uint8Array(t)}throw new TypeError("Invalid contents type. Expected string or ArrayBuffer.")},"toUint8Array"),$o=Object.defineProperty,Oo=p((e,t)=>$o(e,"name",{value:t,configurable:!0}),"d"),Ao=Oo(async(e,t,r)=>{r={encoding:"utf8",flag:"w",overwrite:!0,recursive:!0,...r},g(e),ce(t),e=toPath(e);try{let n=await F(e,C);if(!n&&r.recursive){let a=dirname(e);await F(a,C)||await mkdir(a,{recursive:!0});}let o;await writeFile(`${e}.tmp`,gt(t),{encoding:r.encoding,flag:r.flag}),n&&!r.overwrite&&(o=await stat(e),r.chown===void 0&&(r.chown={gid:o.gid,uid:o.uid}),await rename(e,`${e}.bak`));let i=`${e}.tmp`;if(r.chown)try{await chown(i,r.chown.uid,r.chown.gid);}catch{}await chmod(i,o&&!r.mode?o.mode:r.mode??438),await rename(i,e);}catch(n){throw new Error(`Failed to write file at: ${e} - ${n.message}`,{cause:n})}finally{await F(`${e}.tmp`)&&await unlink(`${e}.tmp`);}},"writeFile"),ht=Ao,jo=Object.defineProperty,Fo=p((e,t)=>jo(e,"name",{value:t,configurable:!0}),"f"),To=Fo((e,t,r)=>{r={encoding:"utf8",flag:"w",overwrite:!0,recursive:!0,...r},g(e),ce(t),e=toPath(e);try{let n=T(e,C);if(!n&&r.recursive){let a=dirname(e);T(a,C)||mkdirSync(a,{recursive:!0});}let o;writeFileSync(`${e}.tmp`,gt(t),{encoding:r.encoding,flag:r.flag}),n&&!r.overwrite&&(o=statSync(e),r.chown===void 0&&(r.chown={gid:o.gid,uid:o.uid}),renameSync(e,`${e}.bak`));let i=`${e}.tmp`;if(r.chown)try{chownSync(i,r.chown.uid,r.chown.gid);}catch{}chmodSync(i,o&&!r.mode?o.mode:r.mode??438),renameSync(i,e);}catch(n){throw new Error(`Failed to write file at: ${e} - ${n.message}`,{cause:n})}finally{T(`${e}.tmp`)&&unlinkSync(`${e}.tmp`);}},"writeFileSync"),wt=To,Do=/^(?:( )+|\t+)/,_="space",bt="tab";function le(e,t){let r=new Map,n=0,o,i;for(let a of e.split(/\n/g)){if(!a)continue;let c,l,f,u,s,m=a.match(Do);if(m===null)n=0,o="";else {if(c=m[0].length,l=m[1]?_:bt,t&&l===_&&c===1)continue;l!==o&&(n=0),o=l,f=1,u=0;let h=c-n;if(n=c,h===0)f=0,u=1;else {let y=h>0?h:-h;i=vt(l,y);}s=r.get(i),s=s===void 0?[1,0]:[s[0]+f,s[1]+u],r.set(i,s);}}return r}p(le,"makeIndentsMap");function vt(e,t){return (e===_?"s":"t")+String(t)}p(vt,"encodeIndentsKey");function Et(e){let t=e[0]==="s"?_:bt,r=Number(e.slice(1));return {type:t,amount:r}}p(Et,"decodeIndentsKey");function St(e){let t,r=0,n=0;for(let[o,[i,a]]of e)(i>r||i===r&&a>n)&&(r=i,n=a,t=o);return t}p(St,"getMostUsedKey");function xt(e,t){return (e===_?" ":" ").repeat(t)}p(xt,"makeIndentString");function ye(e){if(typeof e!="string")throw new TypeError("Expected a string");let t=le(e,!0);t.size===0&&(t=le(e,!1));let r=St(t),n,o=0,i="";return r!==void 0&&({type:n,amount:o}=Et(r),i=xt(n,o)),{amount:o,type:n,indent:i}}p(ye,"detectIndent");var Ro=Object.defineProperty,Lo=p((e,t)=>Ro(e,"name",{value:t,configurable:!0}),"r$1");Lo(async(e,t,r={})=>{let{detectIndent:n,indent:o,replacer:i,stringify:a=JSON.stringify,...c}={indent:" ",...r},l=o,f=`
|
|
24
|
-
`;if(await F(e,Z))try{let s=await readFile(e,"utf8");if(n){let{indent:m}=ye(s);l=m;}f=s.endsWith(`
|
|
25
|
-
`)?`
|
|
26
|
-
`:"";}catch(s){if(s.code!=="ENOENT")throw s}let u=a(t,i,l);await ht(e,`${u}${f}`,c);},"writeJson");var No=Object.defineProperty,Io=p((e,t)=>No(e,"name",{value:t,configurable:!0}),"r");Io((e,t,r={})=>{let{detectIndent:n,indent:o,replacer:i,stringify:a=JSON.stringify,...c}={indent:" ",...r},l=o,f=`
|
|
27
|
-
`;if(T(e,Z))try{let s=readFileSync(e,"utf8");if(n){let{indent:m}=ye(s);l=m;}f=s.endsWith(`
|
|
28
|
-
`)?`
|
|
29
|
-
`:"";}catch(s){if(s.code!=="ENOENT")throw s}let u=a(t,i,l);wt(e,`${u}${f}`,c);},"writeJsonSync");var Co=Object.defineProperty,Mo=p((e,t)=>Co(e,"name",{value:t,configurable:!0}),"n");async function Pt(e,t,r,n){let o=typeof r=="function"||Array.isArray(r)?stringify(t,r,n):stringify(t,r);await ht(e,o);}p(Pt,"m$1");Mo(Pt,"writeYaml");var Uo=Object.defineProperty,Jo=p((e,t)=>Uo(e,"name",{value:t,configurable:!0}),"i");function kt(e,t,r,n){let o=typeof r=="function"||Array.isArray(r)?stringify(t,r,n):stringify(t,r);wt(e,o);}p(kt,"m");Jo(kt,"writeYamlSync");var re=[".js",".ts",".mjs",".cjs"],Ot=e=>{let t=parse(e);for(;t.base&&t.root!==t.dir;){if(readdirSync(t.dir).find(o=>o==="package.json"))return t.dir;t=parse(t.dir);}return null},At=e=>{let t=`${e}/package.json`,{dependencies:r}=JSON.parse(readFileSync(t).toString());return r?.express?"express":r?.koa&&(r["@koa/router"]||r["koa-router"])?"koa":r?.next?"next":r?.["@hapi/hapi"]?"hapi":r?.fastify?"fastify":null},jt=(e,t)=>Object.keys(e).length===0?null:t==="hapi"?typeof e.app.app=="string"?e.app:e:e.app??e;var Tt=e=>{try{return statSync(e).isDirectory()}catch{return !1}},Bo=async(e="")=>{let t=join(e,"pages/api");return !Tt(t)&&(t=join(e,"src/pages/api"),!Tt(t))?[]:st(t,{extensions:re,includeDirs:!1})},Dt=Bo;var de=async(e,t,r)=>{if(t==="express")return Se(e);if(t==="koa")return Oe(e);if(t==="hapi")return $e(e);if(t==="fastify")return ke(e);if(t==="next"){let n=await Dt(e);if(n.length===0)throw new Error(`No API routes found, in "${e}".`);return n.flatMap(o=>Fe(o,e,r))}return null};var Go=(e,t)=>{let r=new Map;return e.forEach(n=>{let o=t(n),i=r.get(o);i?i.push(n):r.set(o,[n]);}),r},Rt=Go;var Ho=(e,t)=>{let r={ANY:v.redBright,DELETE:v.redBright,GET:v.blue,HEAD:v.hex("#6C7280"),OPTIONS:v.hex("#6C7280"),PATCH:v.yellow,POST:v.yellow,PUT:v.yellow},n;if(e==="GET|HEAD")n=`${v.blue("GET")}${v.grey("|HEAD")}`;else {let f=r[e](e);n=e==="GET"?`${f}${v.grey("|HEAD")}`:f;}let o=e==="GET"?6:14-e.length,i=Array.from({length:o}).fill(" ").join(""),a=process.stdout.columns-16-t.length-4,c=a>0?Array.from({length:a}).fill(".").join(""):"",l=t.split("/").map(f=>[":","["].includes(f[0]??"")?v.yellowBright(f):f).join("/");return ` ${n}${i}${l}${v.grey(c)}`},Yo=(e,t={})=>e.map(r=>{if(!(Array.isArray(t.methods)&&t.methods.includes(r.method)))return r.method==="GET|POST|PUT|PATCH|DELETE|HEAD|OPTIONS"&&(r.method="ANY"),Ho(r.method,r.path.replace("/pages",""))}).filter(Boolean),ge=Yo;var qo=async(e,t,r={})=>{let n=join(Nt.cwd(),t);if(!existsSync(n))throw new Error("No such file, invalid path provided.");let o=Ot(n);if(!o)throw new Error("Please initialize local package.json.");if(e===void 0){let a=At(o);if(!a)throw new Error("Couldn't detect supported back-end framework.");e=a;}let i=null;if(e==="next")i=await de(n,"next",r.verbose??!1);else {if(!statSync(n).isFile())throw new Error(`${n} is directory, but file expected.`);if(!re.includes(extname(n)))throw new Error("Please specify application .ts/.js/.mjs/.cjs file.");let a=`${o}/.env`;existsSync(a)&&(await import(`${o}/node_modules/dotenv/lib/main.js`)).config({path:a});let c=extname(n)===".ts",l=join(o,"node_modules/.bin/tsc");if(c&&!existsSync(l))throw new Error(`Please install typescript in ${o}`);try{if(c)try{execSync(`${l} --outDir framework-list >&2`,{cwd:o});}catch(s){console.log(`TSC compilation failed. Please resolve issues in your project.
|
|
30
|
-
`),console.log(s),rmSync(join(o,"framework-list"),{recursive:!0});}let f=c?join(o,"framework-list",n.replace(o,"").replace(".ts",".js")):n,{default:u}=await import(f);i=await de(["AsyncFunction","Function"].includes(u.constructor.name)?await u():jt(u,e),e,r.verbose??!1);}finally{c&&rmSync(join(o,"framework-list"),{recursive:!0});}}if(i===null)throw new Error(`Framework "${e}" is not supported.`);if(Array.isArray(r.includePaths)&&r.includePaths.length>0&&(i=r.includePaths.flatMap(a=>i.filter(c=>c.path.startsWith(a)))),Array.isArray(r.excludePaths)&&r.excludePaths.length>0&&(i=r.excludePaths.flatMap(a=>i.filter(c=>!c.path.startsWith(a)))),typeof r.group=="string"&&r.group!==""){console.log();let a=Rt(i,l=>r.group==="path"?l.path.replace("/pages","").split("/")[1]:l.tags[0]??"unsorted"),c=0;a.forEach((l,f)=>{c>0&&console.log();let u=(Nt.stdout.columns-16-f.length)/2,s=u>0?Array.from({length:u}).fill(" ").join(""):"";console.log(s+v.bold.underline(f)),ge(l,r).forEach(m=>{console.log(m);}),c+=1;});}else console.log(),ge(i,r).forEach(a=>{console.log(a);});console.log(`
|
|
31
|
-
Listed ${v.greenBright(String(i.length))} HTTP ${i.length===1?"route":"routes"}.
|
|
32
|
-
`);},Ls=qo;
|
|
33
|
-
|
|
34
|
-
export { Ls as a };
|
|
35
|
-
//# sourceMappingURL=chunk-ORSZUU7P.mjs.map
|
|
36
|
-
//# sourceMappingURL=chunk-ORSZUU7P.mjs.map
|