@visulima/fs 2.1.0 → 2.1.2

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/dist/index.js CHANGED
@@ -1,24 +1,24 @@
1
1
  import { f, a as a$1, e } from './chunk-P3KZLWQC.js';
2
- import { a, b, c, d } from './chunk-LH4ACTAD.js';
2
+ import { a, b, c } from './chunk-DCXFNXLQ.js';
3
3
  import './chunk-UPN3Y5W3.js';
4
4
  import { readdir, realpath, lstat, mkdir, writeFile, link, stat, symlink, readlink, access, readFile, rm, unlink, rename, chown, chmod } from 'node:fs/promises';
5
5
  import { readdirSync, realpathSync, lstatSync, mkdirSync, writeFileSync, linkSync, statSync, symlinkSync, readlinkSync, accessSync, readFileSync, existsSync, rmSync, unlinkSync, renameSync, chownSync, chmodSync } from 'node:fs';
6
- import { resolve, join, normalize, dirname, toNamespacedPath, basename, isAbsolute } from 'pathe';
6
+ import { resolve, join, normalize, dirname, toNamespacedPath, basename, parse, isAbsolute } from '@visulima/path';
7
+ import { toPath } from '@visulima/path/utils';
7
8
  import { platform } from 'node:process';
8
- import { parse } from 'node:path';
9
9
  import { brotliDecompress, unzip, brotliDecompressSync, unzipSync } from 'node:zlib';
10
10
  import { parse as parse$1, stringify } from 'yaml';
11
11
 
12
- var x=0,D=4,St=2,ht=1,L=Symbol("findUpStop");var w=t=>{if(t.isFile())return "file";if(t.isDirectory())return "dir";if(t.isSymbolicLink())return "symlink"};var Rt=async t=>{a(t);try{let e=await lstat(t);if(!e.isDirectory())throw new Error(`Ensure path exists, expected 'dir', got '${w(e)}'`);return}catch(e){if(e.code!=="ENOENT")throw e}try{await mkdir(t,{recursive:!0});}catch(e){if(e.code!=="EEXIST")throw e;let r=await lstat(t);if(!r.isDirectory())throw new Error(`Ensure path exists, expected 'dir', got '${w(r)}'`)}},F=Rt;var Ft=t=>{a(t);try{let e=lstatSync(t);if(!e.isDirectory())throw new Error(`Ensure path exists, expected 'dir', got '${w(e)}'`);return}catch(e){if(e.code!=="ENOENT")throw e}try{mkdirSync(t,{recursive:!0});}catch(e){if(e.code!=="EEXIST")throw e;let r=lstatSync(t);if(!r.isDirectory())throw new Error(`Ensure path exists, expected 'dir', got '${w(r)}'`)}},P=Ft;var kt=async t=>{a(t);try{let e=await lstat(t);if(!e.isFile())throw new Error(`Ensure path exists, expected 'file', got '${w(e)}'`)}catch(e){if(e.code==="ENOENT"){await F(dirname(b(t))),await writeFile(t,new Uint8Array);return}throw e}},Tt=kt;var Ut=t=>{a(t);try{let e=lstatSync(t);if(!e.isFile())throw new Error(`Ensure path exists, expected 'file', got '${w(e)}'`)}catch(e){if(e.code==="ENOENT"){P(dirname(b(t))),writeFileSync(t,new Uint8Array);return}throw e}},It=Ut;var At=(t,e)=>!!e.ino&&!!e.dev&&e.ino===t.ino&&e.dev===t.dev,S=At;var Wt=async(t,e)=>{a(t),a(e),t=toNamespacedPath(b(t)),e=toNamespacedPath(b(e));let r;try{r=await lstat(e);}catch{}let o;try{o=await lstat(t);}catch(i){throw i.message=i.message.replace("lstat","ensureLink"),i}r&&S(o,r)||(await F(dirname(e)),await link(t,e));},_t=Wt;var Ct=(t,e)=>{a(t),a(e),t=toNamespacedPath(b(t)),e=toNamespacedPath(b(e));let r;try{r=lstatSync(e);}catch{}let o;try{o=lstatSync(t);}catch(i){throw i.message=i.message.replace("lstat","ensureLink"),i}r&&S(o,r)||(P(dirname(e)),linkSync(t,e));},Nt=Ct;var Kt=(t,e)=>typeof t!="string"?t:t.startsWith("./")?resolve(t):typeof e=="string"?resolve(dirname(e),t):new URL(t,e),N=Kt;var Ht=process.platform==="win32"||/^(?:msys|cygwin)$/.test(process.env.OSTYPE),Gt=async(t,e,r)=>{a(t),a(e);let o=N(t,e);e=toNamespacedPath(b(e));try{if((await lstat(e)).isSymbolicLink()&&S(await stat(o),await stat(e))){let[y,a]=await Promise.all([stat(o),stat(e)]);if(S(y,a))return}}catch{}let i=await lstat(o),s=w(i);await F(dirname(e));let m=r??(Ht?"junction":s==="dir"?"dir":"file");try{await symlink(toNamespacedPath(b(o)),e,m);}catch(p){if(p.code!=="EEXIST")throw p;let y=await lstat(e);if(!y.isSymbolicLink())throw new a$1("A "+w(y)+" already exists at the path: "+e);let a=await readlink(e),u=toNamespacedPath(resolve(a));if(u!==o)throw new a$1("A symlink targeting to an undesired path already exists: "+e+" -> "+u)}},qt=Gt;var re=process.platform==="win32"||/^(?:msys|cygwin)$/.test(process.env.OSTYPE),oe=(t,e,r)=>{a(t),a(e);let o=N(t,e);e=toNamespacedPath(b(e));try{if(lstatSync(e).isSymbolicLink()&&S(statSync(o),statSync(e))){let y=statSync(o),a=statSync(e);if(S(y,a))return}}catch{}let i=lstatSync(o),s=w(i);P(dirname(e));let m=r??(re?"junction":s==="dir"?"dir":"file");try{symlinkSync(toNamespacedPath(b(o)),e,m);}catch(p){if(p.code!=="EEXIST")throw p;let y=lstatSync(e);if(!y.isSymbolicLink())throw new a$1("A "+w(y)+" already exists at the path: "+e);let a=readlinkSync(e),u=toNamespacedPath(resolve(a));if(u!==o)throw new a$1("A symlink targeting to an undesired path already exists: "+e+" -> "+u)}},ie=oe;var ft=/\r?\n/g,q=`
13
- `,M=`\r
14
- `,se=platform==="win32"?M:q,ae=t=>{let e=t.match(ft);if(!e||e.length===0)return null;let r=e.filter(i=>i===M).length,o=e.length-r;return r>o?M:q},fe=(t,e)=>t.replaceAll(ft,e);var ce=t=>{let e=t.replace(/\.\*/g,".([^/]*)").replace(/\*\*/g,"(.*)").replace(/(?<!\.)\*(?!\*)/g,"([^/]*)").replace(/\?/g,"[^/]").replace(/\.(?!\*)/g,"\\.").replace(/\{/g,"(").replace(/\}/g,")").replace(/,/g,"|").replace(/\[!(.*?)\]/g,"[^$1]");return new RegExp(`^${e}$`)},k=ce;var me=(t,e,r,o)=>Array.isArray(e)&&e.length>0&&!e.some(i=>t.endsWith(i))||r&&!r.some(i=>i.test(t))?!1:!(o&&o.some(i=>i.test(t))),h=me;var Se=async t=>{let e=normalize(t),r=basename(e),o=await stat(e);return {isDirectory:o.isDirectory,isFile:o.isFile,isSymbolicLink:o.isSymbolicLink,name:r,path:e}};async function*v(t,{extensions:e,followSymlinks:r=!1,includeDirs:o=!0,includeFiles:i=!0,includeSymlinks:s=!0,match:m,maxDepth:p=Number.POSITIVE_INFINITY,skip:y}={}){if(a(t),p<0)return;let a$1=m?m.map(n=>typeof n=="string"?k(n):n):void 0,u=y?y.map(n=>typeof n=="string"?k(n):n):void 0;if(t=resolve(b(t)),o&&h(t,e,a$1,u)&&(yield await Se(t)),!(p<1||!h(t,void 0,void 0,u)))try{for await(let n of await readdir(t,{withFileTypes:!0})){let g=join(t,n.name);if(n.isSymbolicLink())if(r)g=await realpath(g);else if(s&&h(g,e,a$1,u))yield {isDirectory:n.isDirectory,isFile:n.isFile,isSymbolicLink:n.isSymbolicLink,name:n.name,path:g};else continue;n.isSymbolicLink()||n.isDirectory()?yield*v(g,{extensions:e,followSymlinks:r,includeDirs:o,includeFiles:i,includeSymlinks:s,match:a$1,maxDepth:p-1,skip:u}):n.isFile()&&i&&h(g,e,a$1,u)&&(yield {isDirectory:n.isDirectory,isFile:n.isFile,isSymbolicLink:n.isSymbolicLink,name:n.name,path:g});}}catch(n){throw n instanceof f?n:new f(n,t)}}var he=async(t,e={})=>{Array.isArray(e.extensions)||(e.extensions=["js","mjs","cjs","ts"]);let r=[];for await(let o of v(t,e))r.push(o.path);return r},Oe=he;var ke=t=>{let e=normalize(t),r=statSync(e);return {isDirectory:r.isDirectory,isFile:r.isFile,isSymbolicLink:r.isSymbolicLink,name:basename(e),path:e}};function*U(t,{extensions:e,followSymlinks:r=!1,includeDirs:o=!0,includeFiles:i=!0,includeSymlinks:s=!0,match:m,maxDepth:p=Number.POSITIVE_INFINITY,skip:y}={}){if(a(t),p<0)return;let a$1=m?m.map(n=>typeof n=="string"?k(n):n):void 0,u=y?y.map(n=>typeof n=="string"?k(n):n):void 0;if(t=resolve(b(t)),o&&h(t,e,a$1,u)&&(yield ke(t)),!(p<1||!h(t,void 0,void 0,u)))try{for(let n of readdirSync(t,{withFileTypes:!0})){let g=join(t,n.name);if(n.isSymbolicLink())if(r)g=realpathSync(g);else if(s&&h(g,e,a$1,u))yield {isDirectory:n.isDirectory,isFile:n.isFile,isSymbolicLink:n.isSymbolicLink,name:n.name,path:normalize(g)};else continue;n.isSymbolicLink()||n.isDirectory()?yield*U(g,{extensions:e,followSymlinks:r,includeDirs:o,includeFiles:i,includeSymlinks:s,match:a$1,maxDepth:p-1,skip:u}):n.isFile()&&i&&h(g,e,a$1,u)&&(yield {isDirectory:n.isDirectory,isFile:n.isFile,isSymbolicLink:n.isSymbolicLink,name:n.name,path:normalize(g)});}}catch(n){throw n instanceof f?n:new f(n,t)}}var Te=(t,e={})=>{Array.isArray(e.extensions)||(e.extensions=["js","mjs","cjs","ts"]);let r=[];for(let o of U(t,e))r.push(o.path);return r},De=Te;var Ae=async(t,e={})=>{if(typeof t!="string"&&!Array.isArray(t)&&typeof t!="function")throw new TypeError("The `name` argument must be of type `string` or `string[]`");let r=e.cwd?b(e.cwd):process.cwd(),o=resolve(r),{root:i}=parse(o),s=b(e.stopAt??i),m=resolve(o,s),p=e.type??"file",y=async function(a){return typeof t=="function"?[await t(a)]:typeof t=="string"?[t]:Array.isArray(t)?t:[t]};for(;o&&o!==m&&o!==i;){for await(let a of await y(o)){if(a===L)return;if(a===void 0)continue;let u=isAbsolute(a)?a:resolve(o,a);try{let n=await stat(u);if(p==="file"&&n.isFile()||p==="directory"&&n.isDirectory())return u}catch{}}o=dirname(o);}},Je=Ae;var $e=(t,e={})=>{if(typeof t!="string"&&!Array.isArray(t)&&typeof t!="function")throw new TypeError("The `name` argument must be of type `string` or `string[]`");let r=e.cwd?b(e.cwd):process.cwd(),o=resolve(r),{root:i}=parse(o),s=b(e.stopAt??i),m=resolve(o,s),p=e.type??"file",y=function(a){return typeof t=="function"?[t(a)]:typeof t=="string"?[t]:Array.isArray(t)?t:[t]};for(;o&&o!==m&&o!==i;){for(let a of y(o)){if(a===L)return;if(a===void 0)continue;let u=isAbsolute(a)?a:resolve(o,a);try{let n=statSync(u);if(p==="file"&&n.isFile()||p==="directory"&&n.isDirectory())return u}catch{}}o=dirname(o);}},Ce=$e;async function ze(t,e=0){a(t),t=b(t);try{return await access(t,e),!0}catch{return !1}}var O=ze;function Me(t,e=0){a(t),t=b(t);try{return accessSync(t,e),!0}catch{return !1}}var R=Me;var He={brotli:brotliDecompress,gzip:unzip,none:(t,e)=>{e(null,t);}},Ge=async(t,e$1)=>{if(a(t),t=b(t),!await O(t))throw new e(`unable to read the non-accessible file: ${t}`);if(!await O(t,4))throw new Error(`Unable to read the non-readable file: ${t}`);let{buffer:r,compression:o,encoding:i,flag:s}=e$1??{};return await readFile(t,s?{encoding:i,flag:s}:{encoding:i}).then(async m=>await new Promise((p,y)=>{He[o??"none"](m,(a,u)=>{a?y(a):p(r?u:u.toString());});})).catch(m=>{throw m})},I=Ge;var tr={brotli:brotliDecompressSync,gzip:unzipSync,none:t=>t},er=(t,e$1)=>{if(a(t),t=b(t),!R(t))throw new e(`unable to read the non-accessible file: ${t}`);if(!R(t,4))throw new e(`invalid access to read file at: ${t}`);let{buffer:r,compression:o,encoding:i,flag:s}=e$1??{},m=readFileSync(t,s?{encoding:i,flag:s}:{encoding:i}),p=tr[o??"none"](m);return r?p:p.toString()},A=er;async function rr(t,e,r){typeof e=="object"&&(r=e,e=void 0);let o=await I(t,{buffer:!0,encoding:void 0}),i=new TextDecoder().decode(o),{beforeParse:s,color:m}=r??{};return typeof s=="function"&&(i=s(i)),c(i,e,b(t),{color:m})}var or=rr;function ir(t,e,r){typeof e=="object"&&(r=e,e=void 0);let o=A(t,{buffer:!0,encoding:void 0}),i=new TextDecoder().decode(o),{beforeParse:s,color:m}=r??{};return typeof s=="function"&&(i=s(i)),c(i,e,b(t),{color:m})}var nr=ir;async function sr(t,e,r){let{buffer:o,compression:i,encoding:s="utf8",flag:m,...p}=r??{},y=await I(t,{buffer:o,compression:i,encoding:s,flag:m});return typeof e=="function"?parse$1(y,e,p):parse$1(y,p)}var ar=sr;function fr(t,e,r){let{buffer:o,compression:i,encoding:s="utf8",flag:m,...p}=r??{},y=A(t,{buffer:o,compression:i,encoding:s,flag:m});return typeof e=="function"?parse$1(y,e,p):parse$1(y,p)}var cr=fr;var ur=async(t,e)=>{if(a(t),!existsSync(t)){await mkdir(t,{recursive:!0});return}for await(let r of await readdir(t))await rm(join(b(t),r),{...e,force:!0,recursive:!0});},gr=ur;var xr=(t,e)=>{if(a(t),!existsSync(t)){mkdirSync(t,{recursive:!0});return}for(let r of readdirSync(t))rmSync(join(b(t),r),{...e,force:!0,recursive:!0});},Fr=xr;var Er=async(t,e={})=>{a(t);try{await unlink(t);}catch{}try{await rm(t,{force:!0,maxRetries:e?.maxRetries,recursive:!0,retryDelay:e?.retryDelay});}catch{}},kr=Er;var Lr=(t,e={})=>{a(t);try{unlinkSync(t);}catch{}try{rmSync(t,{force:!0,maxRetries:e?.maxRetries,recursive:!0,retryDelay:e?.retryDelay});}catch{}},vr=Lr;var Ur=new TextEncoder,Ir=t=>{if(t instanceof Uint8Array)return t;if(typeof t=="string")return Ur.encode(t);if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t)){let e=t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength);return new Uint8Array(e)}throw new TypeError("Invalid contents type. Expected string or ArrayBuffer.")},j=Ir;var Cr=async(t,e,r)=>{r={encoding:"utf8",flag:"w",overwrite:!0,recursive:!0,...r},a(t),d(e),t=b(t);try{let o=await O(t,0);if(!o&&r.recursive){let m=dirname(t);await O(m,0)||await mkdir(m,{recursive:!0});}let i;await writeFile(`${t}.tmp`,j(e),{encoding:r.encoding,flag:r.flag}),o&&!r.overwrite&&(i=await stat(t),r.chown===void 0&&(r.chown={gid:i.gid,uid:i.uid}),await rename(t,`${t}.bak`));let s=`${t}.tmp`;if(r.chown)try{await chown(s,r.chown.uid,r.chown.gid);}catch{}await chmod(s,i&&!r.mode?i.mode:r.mode??438),await rename(s,t);}catch(o){throw new Error(`Failed to write file at: ${t} - ${o.message}`,{cause:o})}finally{await O(`${t}.tmp`)&&await unlink(`${t}.tmp`);}},J=Cr;var Hr=(t,e,r)=>{r={encoding:"utf8",flag:"w",overwrite:!0,recursive:!0,...r},a(t),d(e),t=b(t);try{let o=R(t,0);if(!o&&r.recursive){let m=dirname(t);R(m,0)||mkdirSync(m,{recursive:!0});}let i;writeFileSync(`${t}.tmp`,j(e),{encoding:r.encoding,flag:r.flag}),o&&!r.overwrite&&(i=statSync(t),r.chown===void 0&&(r.chown={gid:i.gid,uid:i.uid}),renameSync(t,`${t}.bak`));let s=`${t}.tmp`;if(r.chown)try{chownSync(s,r.chown.uid,r.chown.gid);}catch{}chmodSync(s,i&&!r.mode?i.mode:r.mode??438),renameSync(s,t);}catch(o){throw new Error(`Failed to write file at: ${t} - ${o.message}`,{cause:o})}finally{R(`${t}.tmp`)&&unlinkSync(`${t}.tmp`);}},Y=Hr;var Gr=/^(?:( )+|\t+)/,W="space",yt="tab";function dt(t,e){let r=new Map,o=0,i,s;for(let m of t.split(/\n/g)){if(!m)continue;let p,y,a,u,n,g=m.match(Gr);if(g===null)o=0,i="";else {if(p=g[0].length,y=g[1]?W:yt,e&&y===W&&p===1)continue;y!==i&&(o=0),i=y,a=1,u=0;let V=p-o;if(o=p,V===0)a=0,u=1;else {let wt=V>0?V:-V;s=qr(y,wt);}n=r.get(s),n=n===void 0?[1,0]:[n[0]+a,n[1]+u],r.set(s,n);}}return r}function qr(t,e){return (t===W?"s":"t")+String(e)}function Qr(t){let r=t[0]==="s"?W:yt,o=Number(t.slice(1));return {type:r,amount:o}}function Zr(t){let e,r=0,o=0;for(let[i,[s,m]]of t)(s>r||s===r&&m>o)&&(r=s,o=m,e=i);return e}function to(t,e){return (t===W?" ":" ").repeat(e)}function _(t){if(typeof t!="string")throw new TypeError("Expected a string");let e=dt(t,!0);e.size===0&&(e=dt(t,!1));let r=Zr(e),o,i=0,s="";return r!==void 0&&({type:o,amount:i}=Qr(r),s=to(o,i)),{amount:i,type:o,indent:s}}var ro=async(t,e,r={})=>{let{detectIndent:o,indent:i,replacer:s,stringify:m=JSON.stringify,...p}={indent:" ",...r},y=i,a=`
15
- `;if(await O(t,4))try{let n=await readFile(t,"utf8");if(o){let{indent:g}=_(n);y=g;}a=n.endsWith(`
12
+ var R=0,T=4,Ft=2,Pt=1,D=Symbol("findUpStop");var g=t=>{if(t.isFile())return "file";if(t.isDirectory())return "dir";if(t.isSymbolicLink())return "symlink"};var Et=async t=>{a(t);try{let e=await lstat(t);if(!e.isDirectory())throw new Error(`Ensure path exists, expected 'dir', got '${g(e)}'`);return}catch(e){if(e.code!=="ENOENT")throw e}try{await mkdir(t,{recursive:!0});}catch(e){if(e.code!=="EEXIST")throw e;let r=await lstat(t);if(!r.isDirectory())throw new Error(`Ensure path exists, expected 'dir', got '${g(r)}'`)}},x=Et;var Tt=t=>{a(t);try{let e=lstatSync(t);if(!e.isDirectory())throw new Error(`Ensure path exists, expected 'dir', got '${g(e)}'`);return}catch(e){if(e.code!=="ENOENT")throw e}try{mkdirSync(t,{recursive:!0});}catch(e){if(e.code!=="EEXIST")throw e;let r=lstatSync(t);if(!r.isDirectory())throw new Error(`Ensure path exists, expected 'dir', got '${g(r)}'`)}},F=Tt;var It=async t=>{a(t);try{let e=await lstat(t);if(!e.isFile())throw new Error(`Ensure path exists, expected 'file', got '${g(e)}'`)}catch(e){if(e.code==="ENOENT"){await x(dirname(toPath(t))),await writeFile(t,new Uint8Array);return}throw e}},At=It;var Vt=t=>{a(t);try{let e=lstatSync(t);if(!e.isFile())throw new Error(`Ensure path exists, expected 'file', got '${g(e)}'`)}catch(e){if(e.code==="ENOENT"){F(dirname(toPath(t))),writeFileSync(t,new Uint8Array);return}throw e}},$t=Vt;var Ct=(t,e)=>!!e.ino&&!!e.dev&&e.ino===t.ino&&e.dev===t.dev,w=Ct;var Kt=async(t,e)=>{a(t),a(e),t=toNamespacedPath(toPath(t)),e=toNamespacedPath(toPath(e));let r;try{r=await lstat(e);}catch{}let o;try{o=await lstat(t);}catch(i){throw i.message=i.message.replace("lstat","ensureLink"),i}r&&w(o,r)||(await x(dirname(e)),await link(t,e));},Mt=Kt;var Xt=(t,e)=>{a(t),a(e),t=toNamespacedPath(toPath(t)),e=toNamespacedPath(toPath(e));let r;try{r=lstatSync(e);}catch{}let o;try{o=lstatSync(t);}catch(i){throw i.message=i.message.replace("lstat","ensureLink"),i}r&&w(o,r)||(F(dirname(e)),linkSync(t,e));},Ht=Xt;var qt=(t,e)=>typeof t!="string"?t:t.startsWith("./")?resolve(t):typeof e=="string"?resolve(dirname(e),t):new URL(t,e),C=qt;var re=process.platform==="win32"||/^(?:msys|cygwin)$/.test(process.env.OSTYPE),oe=async(t,e,r)=>{a(t),a(e);let o=C(t,e);e=toNamespacedPath(toPath(e));try{if((await lstat(e)).isSymbolicLink()&&w(await stat(o),await stat(e))){let[d,a]=await Promise.all([stat(o),stat(e)]);if(w(d,a))return}}catch{}let i=await lstat(o),s=g(i);await x(dirname(e));let c=r??(re?"junction":s==="dir"?"dir":"file");try{await symlink(toNamespacedPath(toPath(o)),e,c);}catch(m){if(m.code!=="EEXIST")throw m;let d=await lstat(e);if(!d.isSymbolicLink())throw new a$1("A "+g(d)+" already exists at the path: "+e);let a=await readlink(e),y=toNamespacedPath(resolve(a));if(y!==o)throw new a$1("A symlink targeting to an undesired path already exists: "+e+" -> "+y)}},ie=oe;var ce=process.platform==="win32"||/^(?:msys|cygwin)$/.test(process.env.OSTYPE),me=(t,e,r)=>{a(t),a(e);let o=C(t,e);e=toNamespacedPath(toPath(e));try{if(lstatSync(e).isSymbolicLink()&&w(statSync(o),statSync(e))){let d=statSync(o),a=statSync(e);if(w(d,a))return}}catch{}let i=lstatSync(o),s=g(i);F(dirname(e));let c=r??(ce?"junction":s==="dir"?"dir":"file");try{symlinkSync(toNamespacedPath(toPath(o)),e,c);}catch(m){if(m.code!=="EEXIST")throw m;let d=lstatSync(e);if(!d.isSymbolicLink())throw new a$1("A "+g(d)+" already exists at the path: "+e);let a=readlinkSync(e),y=toNamespacedPath(resolve(a));if(y!==o)throw new a$1("A symlink targeting to an undesired path already exists: "+e+" -> "+y)}},pe=me;var pt=/\r?\n/g,G=`
13
+ `,K=`\r
14
+ `,de=platform==="win32"?K:G,ye=t=>{let e=t.match(pt);if(!e||e.length===0)return null;let r=e.filter(i=>i===K).length,o=e.length-r;return r>o?K:G},ue=(t,e)=>t.replaceAll(pt,e);var ge=t=>{let e=t.replace(/\.\*/g,".([^/]*)").replace(/\*\*/g,"(.*)").replace(/(?<!\.)\*(?!\*)/g,"([^/]*)").replace(/\?/g,"[^/]").replace(/\.(?!\*)/g,"\\.").replace(/\{/g,"(").replace(/\}/g,")").replace(/,/g,"|").replace(/\[!(.*?)\]/g,"[^$1]");return new RegExp(`^${e}$`)},E=ge;var we=(t,e,r,o)=>Array.isArray(e)&&e.length>0&&!e.some(i=>t.endsWith(i))||r&&!r.some(i=>i.test(t))?!1:!(o&&o.some(i=>i.test(t))),S=we;var Ee=async t=>{let e=normalize(t),r=basename(e),o=await stat(e);return {isDirectory:o.isDirectory,isFile:o.isFile,isSymbolicLink:o.isSymbolicLink,name:r,path:e}};async function*L(t,{extensions:e,followSymlinks:r=!1,includeDirs:o=!0,includeFiles:i=!0,includeSymlinks:s=!0,match:c,maxDepth:m=Number.POSITIVE_INFINITY,skip:d}={}){if(a(t),m<0)return;let a$1=c?c.map(n=>typeof n=="string"?E(n):n):void 0,y=d?d.map(n=>typeof n=="string"?E(n):n):void 0;if(t=resolve(toPath(t)),o&&S(t,e,a$1,y)&&(yield await Ee(t)),!(m<1||!S(t,void 0,void 0,y)))try{for await(let n of await readdir(t,{withFileTypes:!0})){let u=join(t,n.name);if(n.isSymbolicLink())if(r)u=await realpath(u);else if(s&&S(u,e,a$1,y))yield {isDirectory:n.isDirectory,isFile:n.isFile,isSymbolicLink:n.isSymbolicLink,name:n.name,path:u};else continue;n.isSymbolicLink()||n.isDirectory()?yield*L(u,{extensions:e,followSymlinks:r,includeDirs:o,includeFiles:i,includeSymlinks:s,match:a$1,maxDepth:m-1,skip:y}):n.isFile()&&i&&S(u,e,a$1,y)&&(yield {isDirectory:n.isDirectory,isFile:n.isFile,isSymbolicLink:n.isSymbolicLink,name:n.name,path:u});}}catch(n){throw n instanceof f?n:new f(n,t)}}var ke=async(t,e={})=>{Array.isArray(e.extensions)||(e.extensions=["js","mjs","cjs","ts"]);let r=[];for await(let o of L(t,e))r.push(o.path);return r},Te=ke;var Ye=t=>{let e=normalize(t),r=statSync(e);return {isDirectory:r.isDirectory,isFile:r.isFile,isSymbolicLink:r.isSymbolicLink,name:basename(e),path:e}};function*v(t,{extensions:e,followSymlinks:r=!1,includeDirs:o=!0,includeFiles:i=!0,includeSymlinks:s=!0,match:c,maxDepth:m=Number.POSITIVE_INFINITY,skip:d}={}){if(a(t),m<0)return;let a$1=c?c.map(n=>typeof n=="string"?E(n):n):void 0,y=d?d.map(n=>typeof n=="string"?E(n):n):void 0;if(t=resolve(toPath(t)),o&&S(t,e,a$1,y)&&(yield Ye(t)),!(m<1||!S(t,void 0,void 0,y)))try{for(let n of readdirSync(t,{withFileTypes:!0})){let u=join(t,n.name);if(n.isSymbolicLink())if(r)u=realpathSync(u);else if(s&&S(u,e,a$1,y))yield {isDirectory:n.isDirectory,isFile:n.isFile,isSymbolicLink:n.isSymbolicLink,name:n.name,path:normalize(u)};else continue;n.isSymbolicLink()||n.isDirectory()?yield*v(u,{extensions:e,followSymlinks:r,includeDirs:o,includeFiles:i,includeSymlinks:s,match:a$1,maxDepth:m-1,skip:y}):n.isFile()&&i&&S(u,e,a$1,y)&&(yield {isDirectory:n.isDirectory,isFile:n.isFile,isSymbolicLink:n.isSymbolicLink,name:n.name,path:normalize(u)});}}catch(n){throw n instanceof f?n:new f(n,t)}}var We=(t,e={})=>{Array.isArray(e.extensions)||(e.extensions=["js","mjs","cjs","ts"]);let r=[];for(let o of v(t,e))r.push(o.path);return r},_e=We;var ze=async(t,e={})=>{if(typeof t!="string"&&!Array.isArray(t)&&typeof t!="function")throw new TypeError("The `name` argument must be of type `string` or `string[]`");let r=e.cwd?toPath(e.cwd):process.cwd(),o=resolve(r),{root:i}=parse(o),s=toPath(e.stopAt??i),c=resolve(o,s),m=e.type??"file",d=async function(a){return typeof t=="function"?[await t(a)]:typeof t=="string"?[t]:Array.isArray(t)?t:[t]};for(;o&&o!==c&&o!==i;){for await(let a of await d(o)){if(a===D)return;if(a===void 0)continue;let y=isAbsolute(a)?a:resolve(o,a);try{let n=await stat(y);if(m==="file"&&n.isFile()||m==="directory"&&n.isDirectory())return y}catch{}}o=dirname(o);}},Ke=ze;var He=(t,e={})=>{if(typeof t!="string"&&!Array.isArray(t)&&typeof t!="function")throw new TypeError("The `name` argument must be of type `string` or `string[]`");let r=e.cwd?toPath(e.cwd):process.cwd(),o=resolve(r),{root:i}=parse(o),s=toPath(e.stopAt??i),c=resolve(o,s),m=e.type??"file",d=function(a){return typeof t=="function"?[t(a)]:typeof t=="string"?[t]:Array.isArray(t)?t:[t]};for(;o&&o!==c&&o!==i;){for(let a of d(o)){if(a===D)return;if(a===void 0)continue;let y=isAbsolute(a)?a:resolve(o,a);try{let n=statSync(y);if(m==="file"&&n.isFile()||m==="directory"&&n.isDirectory())return y}catch{}}o=dirname(o);}},Ge=He;async function Ze(t,e=0){a(t),t=toPath(t);try{return await access(t,e),!0}catch{return !1}}var h=Ze;function rr(t,e=0){a(t),t=toPath(t);try{return accessSync(t,e),!0}catch{return !1}}var O=rr;var ar={brotli:brotliDecompress,gzip:unzip,none:(t,e)=>{e(null,t);}},fr=async(t,e$1)=>{if(a(t),t=toPath(t),!await h(t))throw new e(`unable to read the non-accessible file: ${t}`);if(!await h(t,4))throw new Error(`Unable to read the non-readable file: ${t}`);let{buffer:r,compression:o,encoding:i,flag:s}=e$1??{};return await readFile(t,s?{encoding:i,flag:s}:{encoding:i}).then(async c=>await new Promise((m,d)=>{ar[o??"none"](c,(a,y)=>{a?d(a):m(r?y:y.toString());});})).catch(c=>{throw c})},U=fr;var dr={brotli:brotliDecompressSync,gzip:unzipSync,none:t=>t},yr=(t,e$1)=>{if(a(t),t=toPath(t),!O(t))throw new e(`unable to read the non-accessible file: ${t}`);if(!O(t,4))throw new e(`invalid access to read file at: ${t}`);let{buffer:r,compression:o,encoding:i,flag:s}=e$1??{},c=readFileSync(t,s?{encoding:i,flag:s}:{encoding:i}),m=dr[o??"none"](c);return r?m:m.toString()},I=yr;async function gr(t,e,r){typeof e=="object"&&(r=e,e=void 0);let o=await U(t,{buffer:!0,encoding:void 0}),i=new TextDecoder().decode(o),{beforeParse:s,color:c}=r??{};return typeof s=="function"&&(i=s(i)),b(i,e,toPath(t),{color:c})}var wr=gr;function hr(t,e,r){typeof e=="object"&&(r=e,e=void 0);let o=I(t,{buffer:!0,encoding:void 0}),i=new TextDecoder().decode(o),{beforeParse:s,color:c}=r??{};return typeof s=="function"&&(i=s(i)),b(i,e,toPath(t),{color:c})}var Or=hr;async function Rr(t,e,r){let{buffer:o,compression:i,encoding:s="utf8",flag:c,...m}=r??{},d=await U(t,{buffer:o,compression:i,encoding:s,flag:c});return typeof e=="function"?parse$1(d,e,m):parse$1(d,m)}var xr=Rr;function Fr(t,e,r){let{buffer:o,compression:i,encoding:s="utf8",flag:c,...m}=r??{},d=I(t,{buffer:o,compression:i,encoding:s,flag:c});return typeof e=="function"?parse$1(d,e,m):parse$1(d,m)}var Pr=Fr;var vr=async(t,e)=>{if(a(t),!existsSync(t)){await mkdir(t,{recursive:!0});return}for await(let r of await readdir(t))await rm(join(toPath(t),r),{...e,force:!0,recursive:!0});},Ur=vr;var Vr=(t,e)=>{if(a(t),!existsSync(t)){mkdirSync(t,{recursive:!0});return}for(let r of readdirSync(t))rmSync(join(toPath(t),r),{...e,force:!0,recursive:!0});},$r=Vr;var zr=async(t,e={})=>{a(t);try{await unlink(t);}catch{}try{await rm(t,{force:!0,maxRetries:e?.maxRetries,recursive:!0,retryDelay:e?.retryDelay});}catch{}},Kr=zr;var Br=(t,e={})=>{a(t);try{unlinkSync(t);}catch{}try{rmSync(t,{force:!0,maxRetries:e?.maxRetries,recursive:!0,retryDelay:e?.retryDelay});}catch{}},Xr=Br;var Hr=new TextEncoder,Gr=t=>{if(t instanceof Uint8Array)return t;if(typeof t=="string")return Hr.encode(t);if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t)){let e=t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength);return new Uint8Array(e)}throw new TypeError("Invalid contents type. Expected string or ArrayBuffer.")},M=Gr;var no=async(t,e,r)=>{r={encoding:"utf8",flag:"w",overwrite:!0,recursive:!0,...r},a(t),c(e),t=toPath(t);try{let o=await h(t,0);if(!o&&r.recursive){let c=dirname(t);await h(c,0)||await mkdir(c,{recursive:!0});}let i;await writeFile(`${t}.tmp`,M(e),{encoding:r.encoding,flag:r.flag}),o&&!r.overwrite&&(i=await stat(t),r.chown===void 0&&(r.chown={gid:i.gid,uid:i.uid}),await rename(t,`${t}.bak`));let s=`${t}.tmp`;if(r.chown)try{await chown(s,r.chown.uid,r.chown.gid);}catch{}await chmod(s,i&&!r.mode?i.mode:r.mode??438),await rename(s,t);}catch(o){throw new Error(`Failed to write file at: ${t} - ${o.message}`,{cause:o})}finally{await h(`${t}.tmp`)&&await unlink(`${t}.tmp`);}},A=no;var uo=(t,e,r)=>{r={encoding:"utf8",flag:"w",overwrite:!0,recursive:!0,...r},a(t),c(e),t=toPath(t);try{let o=O(t,0);if(!o&&r.recursive){let c=dirname(t);O(c,0)||mkdirSync(c,{recursive:!0});}let i;writeFileSync(`${t}.tmp`,M(e),{encoding:r.encoding,flag:r.flag}),o&&!r.overwrite&&(i=statSync(t),r.chown===void 0&&(r.chown={gid:i.gid,uid:i.uid}),renameSync(t,`${t}.bak`));let s=`${t}.tmp`;if(r.chown)try{chownSync(s,r.chown.uid,r.chown.gid);}catch{}chmodSync(s,i&&!r.mode?i.mode:r.mode??438),renameSync(s,t);}catch(o){throw new Error(`Failed to write file at: ${t} - ${o.message}`,{cause:o})}finally{O(`${t}.tmp`)&&unlinkSync(`${t}.tmp`);}},J=uo;var go=/^(?:( )+|\t+)/,Y="space",ht="tab";function St(t,e){let r=new Map,o=0,i,s;for(let c of t.split(/\n/g)){if(!c)continue;let m,d,a,y,n,u=c.match(go);if(u===null)o=0,i="";else {if(m=u[0].length,d=u[1]?Y:ht,e&&d===Y&&m===1)continue;d!==i&&(o=0),i=d,a=1,y=0;let _=m-o;if(o=m,_===0)a=0,y=1;else {let xt=_>0?_:-_;s=wo(d,xt);}n=r.get(s),n=n===void 0?[1,0]:[n[0]+a,n[1]+y],r.set(s,n);}}return r}function wo(t,e){return (t===Y?"s":"t")+String(e)}function So(t){let r=t[0]==="s"?Y:ht,o=Number(t.slice(1));return {type:r,amount:o}}function ho(t){let e,r=0,o=0;for(let[i,[s,c]]of t)(s>r||s===r&&c>o)&&(r=s,o=c,e=i);return e}function Oo(t,e){return (t===Y?" ":" ").repeat(e)}function W(t){if(typeof t!="string")throw new TypeError("Expected a string");let e=St(t,!0);e.size===0&&(e=St(t,!1));let r=ho(e),o,i=0,s="";return r!==void 0&&({type:o,amount:i}=So(r),s=Oo(o,i)),{amount:i,type:o,indent:s}}var xo=async(t,e,r={})=>{let{detectIndent:o,indent:i,replacer:s,stringify:c=JSON.stringify,...m}={indent:" ",...r},d=i,a=`
15
+ `;if(await h(t,4))try{let n=await readFile(t,"utf8");if(o){let{indent:u}=W(n);d=u;}a=n.endsWith(`
16
16
  `)?`
17
- `:"";}catch(n){if(n.code!=="ENOENT")throw n}let u=m(e,s,y);await J(t,`${u}${a}`,p);},oo=ro;var no=(t,e,r={})=>{let{detectIndent:o,indent:i,replacer:s,stringify:m=JSON.stringify,...p}={indent:" ",...r},y=i,a=`
18
- `;if(R(t,4))try{let n=readFileSync(t,"utf8");if(o){let{indent:g}=_(n);y=g;}a=n.endsWith(`
17
+ `:"";}catch(n){if(n.code!=="ENOENT")throw n}let y=c(e,s,d);await A(t,`${y}${a}`,m);},Fo=xo;var bo=(t,e,r={})=>{let{detectIndent:o,indent:i,replacer:s,stringify:c=JSON.stringify,...m}={indent:" ",...r},d=i,a=`
18
+ `;if(O(t,4))try{let n=readFileSync(t,"utf8");if(o){let{indent:u}=W(n);d=u;}a=n.endsWith(`
19
19
  `)?`
20
- `:"";}catch(n){if(n.code!=="ENOENT")throw n}let u=m(e,s,y);Y(t,`${u}${a}`,p);},so=no;async function ao(t,e,r,o){let i=typeof r=="function"||Array.isArray(r)?stringify(e,r,o):stringify(e,r);await J(t,i);}var fo=ao;function co(t,e,r,o){let i=typeof r=="function"||Array.isArray(r)?stringify(e,r,o):stringify(e,r);Y(t,i);}var mo=co;
20
+ `:"";}catch(n){if(n.code!=="ENOENT")throw n}let y=c(e,s,d);J(t,`${y}${a}`,m);},Eo=bo;async function ko(t,e,r,o){let i=typeof r=="function"||Array.isArray(r)?stringify(e,r,o):stringify(e,r);await A(t,i);}var To=ko;function Do(t,e,r,o){let i=typeof r=="function"||Array.isArray(r)?stringify(e,r,o):stringify(e,r);J(t,i);}var Lo=Do;
21
21
 
22
- export { M as CRLF, se as EOL, L as FIND_UP_STOP, x as F_OK, q as LF, D as R_OK, St as W_OK, ht as X_OK, Oe as collect, De as collectSync, ae as detect, gr as emptyDir, Fr as emptyDirSync, F as ensureDir, P as ensureDirSync, Tt as ensureFile, It as ensureFileSync, _t as ensureLink, Nt as ensureLinkSync, qt as ensureSymlink, ie as ensureSymlinkSync, Je as findUp, Ce as findUpSync, fe as format, O as isAccessible, R as isAccessibleSync, I as readFile, A as readFileSync, or as readJson, nr as readJsonSync, ar as readYaml, cr as readYamlSync, kr as remove, vr as removeSync, v as walk, U as walkSync, J as writeFile, Y as writeFileSync, oo as writeJson, so as writeJsonSync, fo as writeYaml, mo as writeYamlSync };
22
+ export { K as CRLF, de as EOL, D as FIND_UP_STOP, R as F_OK, G as LF, T as R_OK, Ft as W_OK, Pt as X_OK, Te as collect, _e as collectSync, ye as detect, Ur as emptyDir, $r as emptyDirSync, x as ensureDir, F as ensureDirSync, At as ensureFile, $t as ensureFileSync, Mt as ensureLink, Ht as ensureLinkSync, ie as ensureSymlink, pe as ensureSymlinkSync, Ke as findUp, Ge as findUpSync, ue as format, h as isAccessible, O as isAccessibleSync, U as readFile, I as readFileSync, wr as readJson, Or as readJsonSync, xr as readYaml, Pr as readYamlSync, Kr as remove, Xr as removeSync, L as walk, v as walkSync, A as writeFile, J as writeFileSync, Fo as writeJson, Eo as writeJsonSync, To as writeYaml, Lo as writeYamlSync };
23
23
  //# sourceMappingURL=out.js.map
24
24
  //# sourceMappingURL=index.js.map