@jestaubach/fs-helpers 0.2.10 → 0.2.11

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.
@@ -1630,7 +1630,7 @@ function Yi(e) {
1630
1630
  rt(e, i);
1631
1631
  }
1632
1632
  function Ui(e, n) {
1633
- const [t, r] = T.get(e) || ["", ""];
1633
+ const [t, r] = T.get(e) ?? ["", ""];
1634
1634
  return Buffer.from(r);
1635
1635
  }
1636
1636
  function rt(e, n, t) {
@@ -1640,7 +1640,7 @@ function qi(e) {
1640
1640
  return e === J.resolve(".") ? !0 : T.has(e);
1641
1641
  }
1642
1642
  function it(e, n) {
1643
- const [t, r] = T.get(e) || ["", ""], i = {
1643
+ const [t, r] = T.get(e) ?? ["", ""], i = {
1644
1644
  isDirectory: () => e === J.resolve(".") ? !0 : t === "dir",
1645
1645
  isFile: () => T.has(e) && t === "file",
1646
1646
  isBlockDevice: () => !1,
@@ -1683,7 +1683,7 @@ function Ki(e, n) {
1683
1683
  throw new Vi("source path not found");
1684
1684
  for (const t of Array.from(T.keys()))
1685
1685
  if (t.includes(e)) {
1686
- const r = t.split(e).join(n), i = T.get(t) || /* istanbul ignore next */
1686
+ const r = t.split(e).join(n), i = T.get(t) ?? /* istanbul ignore next */
1687
1687
  ["", ""];
1688
1688
  T.delete(t), T.set(r, i);
1689
1689
  }
@@ -1696,7 +1696,7 @@ function zi(e, n, t) {
1696
1696
  const i = r.split(e).join(n);
1697
1697
  T.set(
1698
1698
  i,
1699
- T.get(r) || /* istanbul ignore next */
1699
+ T.get(r) ?? /* istanbul ignore next */
1700
1700
  ["", ""]
1701
1701
  );
1702
1702
  }
@@ -4,4 +4,4 @@ GFS4: `),console.error(e)}),!D[j]){var $t=Y[j]||[];ze(D,$t),D.close=function(e){
4
4
  see https://github.com/jprichardson/node-fs-extra/issues/269`,"Warning","fs-extra-WARN0001"),fe.checkPaths(e,n,"copy",t,(i,o)=>{if(i)return r(i);const{srcStat:c,destStat:s}=o;fe.checkParentPaths(e,c,n,"copy",f=>f?r(f):t.filter?un(cn,s,e,n,t,r):cn(s,e,n,t,r))})}function cn(e,n,t,r,i){const o=ae.dirname(t);Lt(o,(c,s)=>{if(c)return i(c);if(s)return ke(e,n,t,r,i);It(o,f=>f?i(f):ke(e,n,t,r,i))})}function un(e,n,t,r,i,o){Promise.resolve(i.filter(t,r)).then(c=>c?e(n,t,r,i,o):o(),c=>o(c))}function Wt(e,n,t,r,i){return r.filter?un(ke,e,n,t,r,i):ke(e,n,t,r,i)}function ke(e,n,t,r,i){(r.dereference?B.stat:B.lstat)(n,(c,s)=>c?i(c):s.isDirectory()?qt(s,e,n,t,r,i):s.isFile()||s.isCharacterDevice()||s.isBlockDevice()?At(s,e,n,t,r,i):s.isSymbolicLink()?Kt(e,n,t,r,i):s.isSocket()?i(new Error(`Cannot copy a socket file: ${n}`)):s.isFIFO()?i(new Error(`Cannot copy a FIFO pipe: ${n}`)):i(new Error(`Unknown file: ${n}`)))}function At(e,n,t,r,i,o){return n?bt(e,t,r,i,o):sn(e,t,r,i,o)}function bt(e,n,t,r,i){if(r.overwrite)B.unlink(t,o=>o?i(o):sn(e,n,t,r,i));else return r.errorOnExist?i(new Error(`'${t}' already exists`)):i()}function sn(e,n,t,r,i){B.copyFile(n,t,o=>o?i(o):r.preserveTimestamps?Jt(e.mode,n,t,i):Fe(t,e.mode,i))}function Jt(e,n,t,r){return Bt(e)?Yt(t,e,i=>i?r(i):an(e,n,t,r)):an(e,n,t,r)}function Bt(e){return(e&128)===0}function Yt(e,n,t){return Fe(e,n|128,t)}function an(e,n,t,r){Ut(n,t,i=>i?r(i):Fe(t,e,r))}function Fe(e,n,t){return B.chmod(e,n,t)}function Ut(e,n,t){B.stat(e,(r,i)=>r?t(r):Mt(n,i.atime,i.mtime,t))}function qt(e,n,t,r,i,o){return n?fn(t,r,i,o):Gt(e.mode,t,r,i,o)}function Gt(e,n,t,r,i){B.mkdir(t,o=>{if(o)return i(o);fn(n,t,r,c=>c?i(c):Fe(t,e,i))})}function fn(e,n,t,r){B.readdir(e,(i,o)=>i?r(i):ln(o,e,n,t,r))}function ln(e,n,t,r,i){const o=e.pop();return o?Vt(e,o,n,t,r,i):i()}function Vt(e,n,t,r,i,o){const c=ae.join(t,n),s=ae.join(r,n);fe.checkPaths(c,s,"copy",i,(f,v)=>{if(f)return o(f);const{destStat:u}=v;Wt(u,c,s,i,y=>y?o(y):ln(e,t,r,i,o))})}function Kt(e,n,t,r,i){B.readlink(n,(o,c)=>{if(o)return i(o);if(r.dereference&&(c=ae.resolve(process.cwd(),c)),e)B.readlink(t,(s,f)=>s?s.code==="EINVAL"||s.code==="UNKNOWN"?B.symlink(c,t,i):i(s):(r.dereference&&(f=ae.resolve(process.cwd(),f)),fe.isSrcSubdir(c,f)?i(new Error(`Cannot copy '${c}' to a subdirectory of itself, '${f}'.`)):e.isDirectory()&&fe.isSrcSubdir(f,c)?i(new Error(`Cannot overwrite '${f}' with '${c}'.`)):zt(c,t,i)));else return B.symlink(c,t,i)})}function zt(e,n,t){B.unlink(n,r=>r?t(r):B.symlink(e,n,t))}var Qt=Rt;const R=A,le=_,Xt=G.mkdirsSync,Ht=tn.utimesMillisSync,ye=oe;function Zt(e,n,t){typeof t=="function"&&(t={filter:t}),t=t||{},t.clobber="clobber"in t?!!t.clobber:!0,t.overwrite="overwrite"in t?!!t.overwrite:t.clobber,t.preserveTimestamps&&process.arch==="ia32"&&process.emitWarning(`Using the preserveTimestamps option in 32-bit node is not recommended;
5
5
 
6
6
  see https://github.com/jprichardson/node-fs-extra/issues/269`,"Warning","fs-extra-WARN0002");const{srcStat:r,destStat:i}=ye.checkPathsSync(e,n,"copy",t);return ye.checkParentPathsSync(e,r,n,"copy"),er(i,e,n,t)}function er(e,n,t,r){if(r.filter&&!r.filter(n,t))return;const i=le.dirname(t);return R.existsSync(i)||Xt(i),yn(e,n,t,r)}function nr(e,n,t,r){if(!(r.filter&&!r.filter(n,t)))return yn(e,n,t,r)}function yn(e,n,t,r){const o=(r.dereference?R.statSync:R.lstatSync)(n);if(o.isDirectory())return sr(o,e,n,t,r);if(o.isFile()||o.isCharacterDevice()||o.isBlockDevice())return tr(o,e,n,t,r);if(o.isSymbolicLink())return lr(e,n,t,r);throw o.isSocket()?new Error(`Cannot copy a socket file: ${n}`):o.isFIFO()?new Error(`Cannot copy a FIFO pipe: ${n}`):new Error(`Unknown file: ${n}`)}function tr(e,n,t,r,i){return n?rr(e,t,r,i):mn(e,t,r,i)}function rr(e,n,t,r){if(r.overwrite)return R.unlinkSync(t),mn(e,n,t,r);if(r.errorOnExist)throw new Error(`'${t}' already exists`)}function mn(e,n,t,r){return R.copyFileSync(n,t),r.preserveTimestamps&&ir(e.mode,n,t),Re(t,e.mode)}function ir(e,n,t){return or(e)&&cr(t,e),ur(n,t)}function or(e){return(e&128)===0}function cr(e,n){return Re(e,n|128)}function Re(e,n){return R.chmodSync(e,n)}function ur(e,n){const t=R.statSync(e);return Ht(n,t.atime,t.mtime)}function sr(e,n,t,r,i){return n?dn(t,r,i):ar(e.mode,t,r,i)}function ar(e,n,t,r){return R.mkdirSync(t),dn(n,t,r),Re(t,e)}function dn(e,n,t){R.readdirSync(e).forEach(r=>fr(r,e,n,t))}function fr(e,n,t,r){const i=le.join(n,e),o=le.join(t,e),{destStat:c}=ye.checkPathsSync(i,o,"copy",r);return nr(c,i,o,r)}function lr(e,n,t,r){let i=R.readlinkSync(n);if(r.dereference&&(i=le.resolve(process.cwd(),i)),e){let o;try{o=R.readlinkSync(t)}catch(c){if(c.code==="EINVAL"||c.code==="UNKNOWN")return R.symlinkSync(i,t);throw c}if(r.dereference&&(o=le.resolve(process.cwd(),o)),ye.isSrcSubdir(i,o))throw new Error(`Cannot copy '${i}' to a subdirectory of itself, '${o}'.`);if(R.statSync(t).isDirectory()&&ye.isSrcSubdir(o,i))throw new Error(`Cannot overwrite '${o}' with '${i}'.`);return yr(i,t)}else return R.symlinkSync(i,t)}function yr(e,n){return R.unlinkSync(n),R.symlinkSync(e,n)}var mr=Zt;const dr=W.fromCallback;var We={copy:dr(Qt),copySync:mr};const hn=A,Sn=_,E=_,me=process.platform==="win32";function vn(e){["unlink","chmod","stat","lstat","rmdir","readdir"].forEach(t=>{e[t]=e[t]||hn[t],t=t+"Sync",e[t]=e[t]||hn[t]}),e.maxBusyTries=e.maxBusyTries||3}function Ae(e,n,t){let r=0;typeof n=="function"&&(t=n,n={}),E(e,"rimraf: missing path"),E.strictEqual(typeof e,"string","rimraf: path should be a string"),E.strictEqual(typeof t,"function","rimraf: callback function required"),E(n,"rimraf: invalid options argument provided"),E.strictEqual(typeof n,"object","rimraf: options should be object"),vn(n),wn(e,n,function i(o){if(o){if((o.code==="EBUSY"||o.code==="ENOTEMPTY"||o.code==="EPERM")&&r<n.maxBusyTries){r++;const c=r*100;return setTimeout(()=>wn(e,n,i),c)}o.code==="ENOENT"&&(o=null)}t(o)})}function wn(e,n,t){E(e),E(n),E(typeof t=="function"),n.lstat(e,(r,i)=>{if(r&&r.code==="ENOENT")return t(null);if(r&&r.code==="EPERM"&&me)return pn(e,n,r,t);if(i&&i.isDirectory())return ge(e,n,r,t);n.unlink(e,o=>{if(o){if(o.code==="ENOENT")return t(null);if(o.code==="EPERM")return me?pn(e,n,o,t):ge(e,n,o,t);if(o.code==="EISDIR")return ge(e,n,o,t)}return t(o)})})}function pn(e,n,t,r){E(e),E(n),E(typeof r=="function"),n.chmod(e,438,i=>{i?r(i.code==="ENOENT"?null:t):n.stat(e,(o,c)=>{o?r(o.code==="ENOENT"?null:t):c.isDirectory()?ge(e,n,t,r):n.unlink(e,r)})})}function En(e,n,t){let r;E(e),E(n);try{n.chmodSync(e,438)}catch(i){if(i.code==="ENOENT")return;throw t}try{r=n.statSync(e)}catch(i){if(i.code==="ENOENT")return;throw t}r.isDirectory()?De(e,n,t):n.unlinkSync(e)}function ge(e,n,t,r){E(e),E(n),E(typeof r=="function"),n.rmdir(e,i=>{i&&(i.code==="ENOTEMPTY"||i.code==="EEXIST"||i.code==="EPERM")?hr(e,n,r):i&&i.code==="ENOTDIR"?r(t):r(i)})}function hr(e,n,t){E(e),E(n),E(typeof t=="function"),n.readdir(e,(r,i)=>{if(r)return t(r);let o=i.length,c;if(o===0)return n.rmdir(e,t);i.forEach(s=>{Ae(Sn.join(e,s),n,f=>{if(!c){if(f)return t(c=f);--o===0&&n.rmdir(e,t)}})})})}function $n(e,n){let t;n=n||{},vn(n),E(e,"rimraf: missing path"),E.strictEqual(typeof e,"string","rimraf: path should be a string"),E(n,"rimraf: missing options"),E.strictEqual(typeof n,"object","rimraf: options should be object");try{t=n.lstatSync(e)}catch(r){if(r.code==="ENOENT")return;r.code==="EPERM"&&me&&En(e,n,r)}try{t&&t.isDirectory()?De(e,n,null):n.unlinkSync(e)}catch(r){if(r.code==="ENOENT")return;if(r.code==="EPERM")return me?En(e,n,r):De(e,n,r);if(r.code!=="EISDIR")throw r;De(e,n,r)}}function De(e,n,t){E(e),E(n);try{n.rmdirSync(e)}catch(r){if(r.code==="ENOTDIR")throw t;if(r.code==="ENOTEMPTY"||r.code==="EEXIST"||r.code==="EPERM")Sr(e,n);else if(r.code!=="ENOENT")throw r}}function Sr(e,n){if(E(e),E(n),n.readdirSync(e).forEach(t=>$n(Sn.join(e,t),n)),me){const t=Date.now();do try{return n.rmdirSync(e,n)}catch{}while(Date.now()-t<500)}else return n.rmdirSync(e,n)}var vr=Ae;Ae.sync=$n;const Oe=A,wr=W.fromCallback,kn=vr;function pr(e,n){if(Oe.rm)return Oe.rm(e,{recursive:!0,force:!0},n);kn(e,n)}function Er(e){if(Oe.rmSync)return Oe.rmSync(e,{recursive:!0,force:!0});kn.sync(e)}var Pe={remove:wr(pr),removeSync:Er};const $r=W.fromPromise,Fn=H,gn=_,Dn=G,On=Pe,Pn=$r(async function(n){let t;try{t=await Fn.readdir(n)}catch{return Dn.mkdirs(n)}return Promise.all(t.map(r=>On.remove(gn.join(n,r))))});function Nn(e){let n;try{n=Fn.readdirSync(e)}catch{return Dn.mkdirsSync(e)}n.forEach(t=>{t=gn.join(e,t),On.removeSync(t)})}var kr={emptyDirSync:Nn,emptydirSync:Nn,emptyDir:Pn,emptydir:Pn};const Fr=W.fromCallback,_n=_,K=A,Tn=G;function gr(e,n){function t(){K.writeFile(e,"",r=>{if(r)return n(r);n()})}K.stat(e,(r,i)=>{if(!r&&i.isFile())return n();const o=_n.dirname(e);K.stat(o,(c,s)=>{if(c)return c.code==="ENOENT"?Tn.mkdirs(o,f=>{if(f)return n(f);t()}):n(c);s.isDirectory()?t():K.readdir(o,f=>{if(f)return n(f)})})})}function Dr(e){let n;try{n=K.statSync(e)}catch{}if(n&&n.isFile())return;const t=_n.dirname(e);try{K.statSync(t).isDirectory()||K.readdirSync(t)}catch(r){if(r&&r.code==="ENOENT")Tn.mkdirsSync(t);else throw r}K.writeFileSync(e,"")}var Or={createFile:Fr(gr),createFileSync:Dr};const Pr=W.fromCallback,xn=_,z=A,Cn=G,Nr=ee.pathExists,{areIdentical:jn}=oe;function _r(e,n,t){function r(i,o){z.link(i,o,c=>{if(c)return t(c);t(null)})}z.lstat(n,(i,o)=>{z.lstat(e,(c,s)=>{if(c)return c.message=c.message.replace("lstat","ensureLink"),t(c);if(o&&jn(s,o))return t(null);const f=xn.dirname(n);Nr(f,(v,u)=>{if(v)return t(v);if(u)return r(e,n);Cn.mkdirs(f,y=>{if(y)return t(y);r(e,n)})})})})}function Tr(e,n){let t;try{t=z.lstatSync(n)}catch{}try{const o=z.lstatSync(e);if(t&&jn(o,t))return}catch(o){throw o.message=o.message.replace("lstat","ensureLink"),o}const r=xn.dirname(n);return z.existsSync(r)||Cn.mkdirsSync(r),z.linkSync(e,n)}var xr={createLink:Pr(_r),createLinkSync:Tr};const Q=_,de=A,Cr=ee.pathExists;function jr(e,n,t){if(Q.isAbsolute(e))return de.lstat(e,r=>r?(r.message=r.message.replace("lstat","ensureSymlink"),t(r)):t(null,{toCwd:e,toDst:e}));{const r=Q.dirname(n),i=Q.join(r,e);return Cr(i,(o,c)=>o?t(o):c?t(null,{toCwd:i,toDst:e}):de.lstat(e,s=>s?(s.message=s.message.replace("lstat","ensureSymlink"),t(s)):t(null,{toCwd:e,toDst:Q.relative(r,e)})))}}function Ir(e,n){let t;if(Q.isAbsolute(e)){if(t=de.existsSync(e),!t)throw new Error("absolute srcpath does not exist");return{toCwd:e,toDst:e}}else{const r=Q.dirname(n),i=Q.join(r,e);if(t=de.existsSync(i),t)return{toCwd:i,toDst:e};if(t=de.existsSync(e),!t)throw new Error("relative srcpath does not exist");return{toCwd:e,toDst:Q.relative(r,e)}}}var Lr={symlinkPaths:jr,symlinkPathsSync:Ir};const In=A;function Mr(e,n,t){if(t=typeof n=="function"?n:t,n=typeof n=="function"?!1:n,n)return t(null,n);In.lstat(e,(r,i)=>{if(r)return t(null,"file");n=i&&i.isDirectory()?"dir":"file",t(null,n)})}function Rr(e,n){let t;if(n)return n;try{t=In.lstatSync(e)}catch{return"file"}return t&&t.isDirectory()?"dir":"file"}var Wr={symlinkType:Mr,symlinkTypeSync:Rr};const Ar=W.fromCallback,Ln=_,q=H,Mn=G,br=Mn.mkdirs,Jr=Mn.mkdirsSync,Rn=Lr,Br=Rn.symlinkPaths,Yr=Rn.symlinkPathsSync,Wn=Wr,Ur=Wn.symlinkType,qr=Wn.symlinkTypeSync,Gr=ee.pathExists,{areIdentical:An}=oe;function Vr(e,n,t,r){r=typeof t=="function"?t:r,t=typeof t=="function"?!1:t,q.lstat(n,(i,o)=>{!i&&o.isSymbolicLink()?Promise.all([q.stat(e),q.stat(n)]).then(([c,s])=>{if(An(c,s))return r(null);bn(e,n,t,r)}):bn(e,n,t,r)})}function bn(e,n,t,r){Br(e,n,(i,o)=>{if(i)return r(i);e=o.toDst,Ur(o.toCwd,t,(c,s)=>{if(c)return r(c);const f=Ln.dirname(n);Gr(f,(v,u)=>{if(v)return r(v);if(u)return q.symlink(e,n,s,r);br(f,y=>{if(y)return r(y);q.symlink(e,n,s,r)})})})})}function Kr(e,n,t){let r;try{r=q.lstatSync(n)}catch{}if(r&&r.isSymbolicLink()){const s=q.statSync(e),f=q.statSync(n);if(An(s,f))return}const i=Yr(e,n);e=i.toDst,t=qr(i.toCwd,t);const o=Ln.dirname(n);return q.existsSync(o)||Jr(o),q.symlinkSync(e,n,t)}var zr={createSymlink:Ar(Vr),createSymlinkSync:Kr};const{createFile:Jn,createFileSync:Bn}=Or,{createLink:Yn,createLinkSync:Un}=xr,{createSymlink:qn,createSymlinkSync:Gn}=zr;var Qr={createFile:Jn,createFileSync:Bn,ensureFile:Jn,ensureFileSync:Bn,createLink:Yn,createLinkSync:Un,ensureLink:Yn,ensureLinkSync:Un,createSymlink:qn,createSymlinkSync:Gn,ensureSymlink:qn,ensureSymlinkSync:Gn};function Xr(e,{EOL:n=`
7
- `,finalEOL:t=!0,replacer:r=null,spaces:i}={}){const o=t?n:"";return JSON.stringify(e,r,i).replace(/\n/g,n)+o}function Hr(e){return Buffer.isBuffer(e)&&(e=e.toString("utf8")),e.replace(/^\uFEFF/,"")}var be={stringify:Xr,stripBom:Hr};let ce;try{ce=A}catch{ce=_}const Ne=W,{stringify:Vn,stripBom:Kn}=be;async function Zr(e,n={}){typeof n=="string"&&(n={encoding:n});const t=n.fs||ce,r="throws"in n?n.throws:!0;let i=await Ne.fromCallback(t.readFile)(e,n);i=Kn(i);let o;try{o=JSON.parse(i,n?n.reviver:null)}catch(c){if(r)throw c.message=`${e}: ${c.message}`,c;return null}return o}const ei=Ne.fromPromise(Zr);function ni(e,n={}){typeof n=="string"&&(n={encoding:n});const t=n.fs||ce,r="throws"in n?n.throws:!0;try{let i=t.readFileSync(e,n);return i=Kn(i),JSON.parse(i,n.reviver)}catch(i){if(r)throw i.message=`${e}: ${i.message}`,i;return null}}async function ti(e,n,t={}){const r=t.fs||ce,i=Vn(n,t);await Ne.fromCallback(r.writeFile)(e,i,t)}const ri=Ne.fromPromise(ti);function ii(e,n,t={}){const r=t.fs||ce,i=Vn(n,t);return r.writeFileSync(e,i,t)}var oi={readFile:ei,readFileSync:ni,writeFile:ri,writeFileSync:ii};const _e=oi;var ci={readJson:_e.readFile,readJsonSync:_e.readFileSync,writeJson:_e.writeFile,writeJsonSync:_e.writeFileSync};const ui=W.fromCallback,he=A,zn=_,Qn=G,si=ee.pathExists;function ai(e,n,t,r){typeof t=="function"&&(r=t,t="utf8");const i=zn.dirname(e);si(i,(o,c)=>{if(o)return r(o);if(c)return he.writeFile(e,n,t,r);Qn.mkdirs(i,s=>{if(s)return r(s);he.writeFile(e,n,t,r)})})}function fi(e,...n){const t=zn.dirname(e);if(he.existsSync(t))return he.writeFileSync(e,...n);Qn.mkdirsSync(t),he.writeFileSync(e,...n)}var Je={outputFile:ui(ai),outputFileSync:fi};const{stringify:li}=be,{outputFile:yi}=Je;async function mi(e,n,t={}){const r=li(n,t);await yi(e,r,t)}var di=mi;const{stringify:hi}=be,{outputFileSync:Si}=Je;function vi(e,n,t){const r=hi(n,t);Si(e,r,t)}var wi=vi;const pi=W.fromPromise,b=ci;b.outputJson=pi(di),b.outputJsonSync=wi,b.outputJSON=b.outputJson,b.outputJSONSync=b.outputJsonSync,b.writeJSON=b.writeJson,b.writeJSONSync=b.writeJsonSync,b.readJSON=b.readJson,b.readJSONSync=b.readJsonSync;var Ei=b;const $i=A,Be=_,ki=We.copy,Xn=Pe.remove,Fi=G.mkdirp,gi=ee.pathExists,Hn=oe;function Di(e,n,t,r){typeof t=="function"&&(r=t,t={}),t=t||{};const i=t.overwrite||t.clobber||!1;Hn.checkPaths(e,n,"move",t,(o,c)=>{if(o)return r(o);const{srcStat:s,isChangingCase:f=!1}=c;Hn.checkParentPaths(e,s,n,"move",v=>{if(v)return r(v);if(Oi(n))return Zn(e,n,i,f,r);Fi(Be.dirname(n),u=>u?r(u):Zn(e,n,i,f,r))})})}function Oi(e){const n=Be.dirname(e);return Be.parse(n).root===n}function Zn(e,n,t,r,i){if(r)return Ye(e,n,t,i);if(t)return Xn(n,o=>o?i(o):Ye(e,n,t,i));gi(n,(o,c)=>o?i(o):c?i(new Error("dest already exists.")):Ye(e,n,t,i))}function Ye(e,n,t,r){$i.rename(e,n,i=>i?i.code!=="EXDEV"?r(i):Pi(e,n,t,r):r())}function Pi(e,n,t,r){ki(e,n,{overwrite:t,errorOnExist:!0},o=>o?r(o):Xn(e,r))}var Ni=Di;const et=A,Ue=_,_i=We.copySync,nt=Pe.removeSync,Ti=G.mkdirpSync,tt=oe;function xi(e,n,t){t=t||{};const r=t.overwrite||t.clobber||!1,{srcStat:i,isChangingCase:o=!1}=tt.checkPathsSync(e,n,"move",t);return tt.checkParentPathsSync(e,i,n,"move"),Ci(n)||Ti(Ue.dirname(n)),ji(e,n,r,o)}function Ci(e){const n=Ue.dirname(e);return Ue.parse(n).root===n}function ji(e,n,t,r){if(r)return qe(e,n,t);if(t)return nt(n),qe(e,n,t);if(et.existsSync(n))throw new Error("dest already exists.");return qe(e,n,t)}function qe(e,n,t){try{et.renameSync(e,n)}catch(r){if(r.code!=="EXDEV")throw r;return Ii(e,n,t)}}function Ii(e,n,t){return _i(e,n,{overwrite:t,errorOnExist:!0}),nt(e)}var Li=xi;const Mi=W.fromCallback;var Ri={move:Mi(Ni),moveSync:Li},Wi={...H,...We,...kr,...Qr,...Ei,...G,...Ri,...Je,...ee,...Pe};const rt=U(Wi),T=new Map;function Ai(e){const{root:n,dir:t}=J.parse(e),r=t.split(n).slice(1).join("").split(J.sep);for(let o=0;o<r.length;o++){const c=[n,r.slice(0,o+1).join(J.sep)].join("");ct(c)}const i=rt.readFileSync(e).toString();it(e,i)}function bi(e,n){const[t,r]=T.get(e)||["",""];return Buffer.from(r)}function it(e,n,t){T.set(e,["file",n])}function Ji(e){return e===J.resolve(".")?!0:T.has(e)}function ot(e,n){const[t,r]=T.get(e)||["",""],i={isDirectory:()=>e===J.resolve(".")?!0:t==="dir",isFile:()=>T.has(e)&&t==="file",isBlockDevice:()=>!1,isCharacterDevice:()=>!1,isSymbolicLink:()=>!1,isFIFO:()=>!1,isSocket:()=>!1,dev:0,ino:0,mode:0,nlink:0,uid:0,gid:0,rdev:0,size:0,blksize:0,blocks:0,atimeMs:0,mtimeMs:0,ctimeMs:0,birthtimeMs:0,atime:new Date(0),mtime:new Date(0),ctime:new Date(0),birthtime:new Date(0)};return i.isBlockDevice(),i.isCharacterDevice(),i.isSymbolicLink(),i.isFIFO(),i.isSocket(),i}function Bi(e,n){}class Yi extends Error{constructor(t){super(t);ut(this,"code");this.code="ENOENT"}}function Ui(e,n){if(!T.has(e))throw new Yi("source path not found");for(const t of Array.from(T.keys()))if(t.includes(e)){const r=t.split(e).join(n),i=T.get(t)||["",""];T.delete(t),T.set(r,i)}}function qi(e,n,t){if(T.has(n))throw Error("destination directory exists");for(const r of Array.from(T.keys()))if(r.includes(e)){const i=r.split(e).join(n);T.set(i,T.get(r)||["",""])}}function ct(e){if(ot(e).isFile())throw Error("file exists at destination");let n;const t=e.split(J.resolve(".")).join("").split(J.sep);for(let r=0;r<t.length;r++){const i=t.slice(0,r+1).join(J.sep);!T.has(`${J.resolve(".")}${i}`)&&i!==""&&(T.set(`${J.resolve(".")}${i}`,["dir",""]),n=n??`${J.resolve(".")}${i}`)}return n}function Gi(e){for(const n of Array.from(T.keys()))n.includes(e)&&T.delete(n)}function Vi(e){T.has(e)||T.set(e,["file",""])}const Ki={existsSync:Ji,lstatSync:ot,chmodSync:Bi,renameSync:Ui,readFileSync:bi,copySync:qi,removeSync:Gi,ensureFileSync:Vi,mkdirpSync:ct,outputFileSync:it,seedFile:Ai};function zi(e,n){const{existsSync:t,lstatSync:r,chmodSync:i,renameSync:o,readFileSync:c,copySync:s,removeSync:f,ensureFileSync:v,outputFileSync:u,mkdirpSync:y,seedFile:d}=e;if(d!==void 0&&n!==void 0)for(const a of n)m(a);function m(a){const l=p(a).value;d(l)}function h(a){return{success:!0,value:c(p(a).value),error:null}}function $(a,l){return u(p(a).value,l),{success:!0,error:null}}function w(a){const l=p(a).value;return t(l)?r(l).isFile()?{success:!0,value:!0,error:null}:{success:!1,value:!1,error:`checkIfFileExists: '${a}' is not a file.`}:{success:!0,value:!1,error:null}}function k(a){const l=p(a).value;return t(l)?r(l).isDirectory()?{success:!0,value:!0,error:null}:{success:!1,value:!1,error:`checkIfDirExists: '${a}' is not a directory.`}:{success:!0,value:!1,error:null}}function p(a){try{if(a===void 0)throw Error("Dir is undefined.");if(a.match(/^[.a-zA-Z0-9\-_/:\\]+$/g)===null)throw Error(`Dir contains unsupported characters. Received ${a}.`);return{success:!0,value:J.normalize(J.resolve(a)),error:null}}catch(l){return console.error(`Error resolving path: ${a}`),{success:!1,value:void 0,error:`Error resolving path: '${a}'. Received error: '${l}'`}}}function I(a){try{if(a===void 0)throw Error(`Function "createDir" expected a path. Recieved "${a}".`);const l=p(a).value;return{success:!0,value:y(l),error:null}}catch{return console.error(`Error creating dir: ${a}`),{success:!1,value:void 0,error:`Error creating dir: '${a}'`}}}function ne(a,l){const O=p(a).value;return v(O),l!==void 0&&i(O,l),{success:!0,error:null}}function ue(a){return p(a).value!==void 0&&k(a).value?(f(a),{success:!0,value:a,error:null}):(console.error(`Error deleting dir: ${a}`),{success:!1,value:void 0,error:`Error deleting dir: '${a}'`})}function Te(a){return a.map(l=>ue(p(l).value))}function Ge(a){return a!==null&&k(a).value?(console.error(`Cleaning up due to abort, directories created starting at: ${JSON.stringify(a)}`),ue(a),{success:!0,error:null}):(console.error("Cleaning up due to abort, no directory to clean up."),{success:!1,error:"Cleaning up due to abort, no directory to clean up."})}function Se(a,l){try{return o(p(a).value,p(l).value),{success:!0,value:"Successfully renamed the directory.",error:null}}catch(O){return console.error(O.code),{success:!1,value:void 0,error:`renameDir from '${a}' to '${l} failed.`}}}function S(a,l){try{return s(p(a).value,p(l).value,{overwrite:!1,errorOnExist:!0}),{success:!0,error:null}}catch{return{success:!1,error:`Error copying absolute from '${a}' to '${l}'`}}}return{getAbsolutePath:p,abortDirCreation:Ge,checkIfDirExists:k,copyDirAbs:S,createDir:I,renameDir:Se,rimrafDir:ue,rimrafDirs:Te,checkIfFileExists:w,readFile:h,writeFile:$,touchFile:ne}}return{use:zi,default:rt,mock:Ki}});
7
+ `,finalEOL:t=!0,replacer:r=null,spaces:i}={}){const o=t?n:"";return JSON.stringify(e,r,i).replace(/\n/g,n)+o}function Hr(e){return Buffer.isBuffer(e)&&(e=e.toString("utf8")),e.replace(/^\uFEFF/,"")}var be={stringify:Xr,stripBom:Hr};let ce;try{ce=A}catch{ce=_}const Ne=W,{stringify:Vn,stripBom:Kn}=be;async function Zr(e,n={}){typeof n=="string"&&(n={encoding:n});const t=n.fs||ce,r="throws"in n?n.throws:!0;let i=await Ne.fromCallback(t.readFile)(e,n);i=Kn(i);let o;try{o=JSON.parse(i,n?n.reviver:null)}catch(c){if(r)throw c.message=`${e}: ${c.message}`,c;return null}return o}const ei=Ne.fromPromise(Zr);function ni(e,n={}){typeof n=="string"&&(n={encoding:n});const t=n.fs||ce,r="throws"in n?n.throws:!0;try{let i=t.readFileSync(e,n);return i=Kn(i),JSON.parse(i,n.reviver)}catch(i){if(r)throw i.message=`${e}: ${i.message}`,i;return null}}async function ti(e,n,t={}){const r=t.fs||ce,i=Vn(n,t);await Ne.fromCallback(r.writeFile)(e,i,t)}const ri=Ne.fromPromise(ti);function ii(e,n,t={}){const r=t.fs||ce,i=Vn(n,t);return r.writeFileSync(e,i,t)}var oi={readFile:ei,readFileSync:ni,writeFile:ri,writeFileSync:ii};const _e=oi;var ci={readJson:_e.readFile,readJsonSync:_e.readFileSync,writeJson:_e.writeFile,writeJsonSync:_e.writeFileSync};const ui=W.fromCallback,he=A,zn=_,Qn=G,si=ee.pathExists;function ai(e,n,t,r){typeof t=="function"&&(r=t,t="utf8");const i=zn.dirname(e);si(i,(o,c)=>{if(o)return r(o);if(c)return he.writeFile(e,n,t,r);Qn.mkdirs(i,s=>{if(s)return r(s);he.writeFile(e,n,t,r)})})}function fi(e,...n){const t=zn.dirname(e);if(he.existsSync(t))return he.writeFileSync(e,...n);Qn.mkdirsSync(t),he.writeFileSync(e,...n)}var Je={outputFile:ui(ai),outputFileSync:fi};const{stringify:li}=be,{outputFile:yi}=Je;async function mi(e,n,t={}){const r=li(n,t);await yi(e,r,t)}var di=mi;const{stringify:hi}=be,{outputFileSync:Si}=Je;function vi(e,n,t){const r=hi(n,t);Si(e,r,t)}var wi=vi;const pi=W.fromPromise,b=ci;b.outputJson=pi(di),b.outputJsonSync=wi,b.outputJSON=b.outputJson,b.outputJSONSync=b.outputJsonSync,b.writeJSON=b.writeJson,b.writeJSONSync=b.writeJsonSync,b.readJSON=b.readJson,b.readJSONSync=b.readJsonSync;var Ei=b;const $i=A,Be=_,ki=We.copy,Xn=Pe.remove,Fi=G.mkdirp,gi=ee.pathExists,Hn=oe;function Di(e,n,t,r){typeof t=="function"&&(r=t,t={}),t=t||{};const i=t.overwrite||t.clobber||!1;Hn.checkPaths(e,n,"move",t,(o,c)=>{if(o)return r(o);const{srcStat:s,isChangingCase:f=!1}=c;Hn.checkParentPaths(e,s,n,"move",v=>{if(v)return r(v);if(Oi(n))return Zn(e,n,i,f,r);Fi(Be.dirname(n),u=>u?r(u):Zn(e,n,i,f,r))})})}function Oi(e){const n=Be.dirname(e);return Be.parse(n).root===n}function Zn(e,n,t,r,i){if(r)return Ye(e,n,t,i);if(t)return Xn(n,o=>o?i(o):Ye(e,n,t,i));gi(n,(o,c)=>o?i(o):c?i(new Error("dest already exists.")):Ye(e,n,t,i))}function Ye(e,n,t,r){$i.rename(e,n,i=>i?i.code!=="EXDEV"?r(i):Pi(e,n,t,r):r())}function Pi(e,n,t,r){ki(e,n,{overwrite:t,errorOnExist:!0},o=>o?r(o):Xn(e,r))}var Ni=Di;const et=A,Ue=_,_i=We.copySync,nt=Pe.removeSync,Ti=G.mkdirpSync,tt=oe;function xi(e,n,t){t=t||{};const r=t.overwrite||t.clobber||!1,{srcStat:i,isChangingCase:o=!1}=tt.checkPathsSync(e,n,"move",t);return tt.checkParentPathsSync(e,i,n,"move"),Ci(n)||Ti(Ue.dirname(n)),ji(e,n,r,o)}function Ci(e){const n=Ue.dirname(e);return Ue.parse(n).root===n}function ji(e,n,t,r){if(r)return qe(e,n,t);if(t)return nt(n),qe(e,n,t);if(et.existsSync(n))throw new Error("dest already exists.");return qe(e,n,t)}function qe(e,n,t){try{et.renameSync(e,n)}catch(r){if(r.code!=="EXDEV")throw r;return Ii(e,n,t)}}function Ii(e,n,t){return _i(e,n,{overwrite:t,errorOnExist:!0}),nt(e)}var Li=xi;const Mi=W.fromCallback;var Ri={move:Mi(Ni),moveSync:Li},Wi={...H,...We,...kr,...Qr,...Ei,...G,...Ri,...Je,...ee,...Pe};const rt=U(Wi),T=new Map;function Ai(e){const{root:n,dir:t}=J.parse(e),r=t.split(n).slice(1).join("").split(J.sep);for(let o=0;o<r.length;o++){const c=[n,r.slice(0,o+1).join(J.sep)].join("");ct(c)}const i=rt.readFileSync(e).toString();it(e,i)}function bi(e,n){const[t,r]=T.get(e)??["",""];return Buffer.from(r)}function it(e,n,t){T.set(e,["file",n])}function Ji(e){return e===J.resolve(".")?!0:T.has(e)}function ot(e,n){const[t,r]=T.get(e)??["",""],i={isDirectory:()=>e===J.resolve(".")?!0:t==="dir",isFile:()=>T.has(e)&&t==="file",isBlockDevice:()=>!1,isCharacterDevice:()=>!1,isSymbolicLink:()=>!1,isFIFO:()=>!1,isSocket:()=>!1,dev:0,ino:0,mode:0,nlink:0,uid:0,gid:0,rdev:0,size:0,blksize:0,blocks:0,atimeMs:0,mtimeMs:0,ctimeMs:0,birthtimeMs:0,atime:new Date(0),mtime:new Date(0),ctime:new Date(0),birthtime:new Date(0)};return i.isBlockDevice(),i.isCharacterDevice(),i.isSymbolicLink(),i.isFIFO(),i.isSocket(),i}function Bi(e,n){}class Yi extends Error{constructor(t){super(t);ut(this,"code");this.code="ENOENT"}}function Ui(e,n){if(!T.has(e))throw new Yi("source path not found");for(const t of Array.from(T.keys()))if(t.includes(e)){const r=t.split(e).join(n),i=T.get(t)??["",""];T.delete(t),T.set(r,i)}}function qi(e,n,t){if(T.has(n))throw Error("destination directory exists");for(const r of Array.from(T.keys()))if(r.includes(e)){const i=r.split(e).join(n);T.set(i,T.get(r)??["",""])}}function ct(e){if(ot(e).isFile())throw Error("file exists at destination");let n;const t=e.split(J.resolve(".")).join("").split(J.sep);for(let r=0;r<t.length;r++){const i=t.slice(0,r+1).join(J.sep);!T.has(`${J.resolve(".")}${i}`)&&i!==""&&(T.set(`${J.resolve(".")}${i}`,["dir",""]),n=n??`${J.resolve(".")}${i}`)}return n}function Gi(e){for(const n of Array.from(T.keys()))n.includes(e)&&T.delete(n)}function Vi(e){T.has(e)||T.set(e,["file",""])}const Ki={existsSync:Ji,lstatSync:ot,chmodSync:Bi,renameSync:Ui,readFileSync:bi,copySync:qi,removeSync:Gi,ensureFileSync:Vi,mkdirpSync:ct,outputFileSync:it,seedFile:Ai};function zi(e,n){const{existsSync:t,lstatSync:r,chmodSync:i,renameSync:o,readFileSync:c,copySync:s,removeSync:f,ensureFileSync:v,outputFileSync:u,mkdirpSync:y,seedFile:d}=e;if(d!==void 0&&n!==void 0)for(const a of n)m(a);function m(a){const l=p(a).value;d(l)}function h(a){return{success:!0,value:c(p(a).value),error:null}}function $(a,l){return u(p(a).value,l),{success:!0,error:null}}function w(a){const l=p(a).value;return t(l)?r(l).isFile()?{success:!0,value:!0,error:null}:{success:!1,value:!1,error:`checkIfFileExists: '${a}' is not a file.`}:{success:!0,value:!1,error:null}}function k(a){const l=p(a).value;return t(l)?r(l).isDirectory()?{success:!0,value:!0,error:null}:{success:!1,value:!1,error:`checkIfDirExists: '${a}' is not a directory.`}:{success:!0,value:!1,error:null}}function p(a){try{if(a===void 0)throw Error("Dir is undefined.");if(a.match(/^[.a-zA-Z0-9\-_/:\\]+$/g)===null)throw Error(`Dir contains unsupported characters. Received ${a}.`);return{success:!0,value:J.normalize(J.resolve(a)),error:null}}catch(l){return console.error(`Error resolving path: ${a}`),{success:!1,value:void 0,error:`Error resolving path: '${a}'. Received error: '${l}'`}}}function I(a){try{if(a===void 0)throw Error(`Function "createDir" expected a path. Recieved "${a}".`);const l=p(a).value;return{success:!0,value:y(l),error:null}}catch{return console.error(`Error creating dir: ${a}`),{success:!1,value:void 0,error:`Error creating dir: '${a}'`}}}function ne(a,l){const O=p(a).value;return v(O),l!==void 0&&i(O,l),{success:!0,error:null}}function ue(a){return p(a).value!==void 0&&k(a).value?(f(a),{success:!0,value:a,error:null}):(console.error(`Error deleting dir: ${a}`),{success:!1,value:void 0,error:`Error deleting dir: '${a}'`})}function Te(a){return a.map(l=>ue(p(l).value))}function Ge(a){return a!==null&&k(a).value?(console.error(`Cleaning up due to abort, directories created starting at: ${JSON.stringify(a)}`),ue(a),{success:!0,error:null}):(console.error("Cleaning up due to abort, no directory to clean up."),{success:!1,error:"Cleaning up due to abort, no directory to clean up."})}function Se(a,l){try{return o(p(a).value,p(l).value),{success:!0,value:"Successfully renamed the directory.",error:null}}catch(O){return console.error(O.code),{success:!1,value:void 0,error:`renameDir from '${a}' to '${l} failed.`}}}function S(a,l){try{return s(p(a).value,p(l).value,{overwrite:!1,errorOnExist:!0}),{success:!0,error:null}}catch{return{success:!1,error:`Error copying absolute from '${a}' to '${l}'`}}}return{getAbsolutePath:p,abortDirCreation:Ge,checkIfDirExists:k,copyDirAbs:S,createDir:I,renameDir:Se,rimrafDir:ue,rimrafDirs:Te,checkIfFileExists:w,readFile:h,writeFile:$,touchFile:ne}}return{use:zi,default:rt,mock:Ki}});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jestaubach/fs-helpers",
3
- "version": "0.2.10",
3
+ "version": "0.2.11",
4
4
  "type": "module",
5
5
  "main": "./dist/fs-helpers.umd.cjs",
6
6
  "module": "./dist/fs-helpers.js",