@jestaubach/fs-helpers 0.2.27 → 0.2.28
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/fs-helpers.js +43 -37
- package/dist/fs-helpers.umd.cjs +1 -1
- package/package.json +1 -1
package/dist/fs-helpers.js
CHANGED
|
@@ -1,30 +1,33 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var n = (t, e, r) => (
|
|
4
|
-
const
|
|
1
|
+
var S = Object.defineProperty;
|
|
2
|
+
var m = (t, e, r) => e in t ? S(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r;
|
|
3
|
+
var n = (t, e, r) => (m(t, typeof e != "symbol" ? e + "" : e, r), r);
|
|
4
|
+
const { default: v } = (() => {
|
|
5
5
|
const t = require("fs-extra");
|
|
6
6
|
return t && t.__esModule ? t : Object.assign(/* @__PURE__ */ Object.create(null), t, { default: t, [Symbol.toStringTag]: "Module" });
|
|
7
|
+
})(), { default: c } = (() => {
|
|
8
|
+
const t = require("node:path");
|
|
9
|
+
return t && t.__esModule ? t : Object.assign(/* @__PURE__ */ Object.create(null), t, { default: t, [Symbol.toStringTag]: "Module" });
|
|
7
10
|
})(), i = /* @__PURE__ */ new Map();
|
|
8
|
-
function
|
|
11
|
+
function p(t) {
|
|
9
12
|
const { root: e, dir: r } = c.parse(t), s = r.split(e).slice(1).join(e).split(c.sep);
|
|
10
13
|
for (let u = 0; u < s.length; u++) {
|
|
11
14
|
const y = [e, s.slice(0, u + 1).join(c.sep)].join("");
|
|
12
|
-
|
|
15
|
+
d(y);
|
|
13
16
|
}
|
|
14
17
|
const o = v.readFileSync(t).toString();
|
|
15
|
-
|
|
18
|
+
a(t, o);
|
|
16
19
|
}
|
|
17
|
-
function
|
|
20
|
+
function g(t, e) {
|
|
18
21
|
const [r, s] = i.get(t) || ["", ""];
|
|
19
22
|
return Buffer.from(s);
|
|
20
23
|
}
|
|
21
|
-
function
|
|
24
|
+
function a(t, e, r) {
|
|
22
25
|
i.set(t, ["file", e]);
|
|
23
26
|
}
|
|
24
|
-
function
|
|
27
|
+
function b(t) {
|
|
25
28
|
return t === c.resolve(".") ? !0 : i.has(t);
|
|
26
29
|
}
|
|
27
|
-
function
|
|
30
|
+
function h(t, e) {
|
|
28
31
|
const [r, s] = i.get(t) || ["", ""], o = {
|
|
29
32
|
isDirectory: () => t === c.resolve(".") ? !0 : r === "dir",
|
|
30
33
|
isFile: () => i.has(t) && r === "file",
|
|
@@ -54,68 +57,71 @@ function a(t, e) {
|
|
|
54
57
|
};
|
|
55
58
|
return o.isBlockDevice(), o.isCharacterDevice(), o.isSymbolicLink(), o.isFIFO(), o.isSocket(), o;
|
|
56
59
|
}
|
|
57
|
-
function
|
|
60
|
+
function F(t, e) {
|
|
58
61
|
}
|
|
59
|
-
class
|
|
62
|
+
class E extends Error {
|
|
60
63
|
constructor(r) {
|
|
61
64
|
super(r);
|
|
62
65
|
n(this, "code");
|
|
63
66
|
this.code = "ENOENT";
|
|
64
67
|
}
|
|
65
68
|
}
|
|
66
|
-
function
|
|
69
|
+
function D(t, e) {
|
|
67
70
|
const r = t, s = e;
|
|
68
71
|
if (!i.has(r))
|
|
69
|
-
throw new
|
|
70
|
-
|
|
72
|
+
throw new E("source path not found");
|
|
73
|
+
f(r, s, !0);
|
|
71
74
|
}
|
|
72
|
-
function
|
|
75
|
+
function f(t, e, r) {
|
|
73
76
|
const s = { source: t, target: e, deleteSource: r };
|
|
74
77
|
for (const o of Array.from(i.keys()))
|
|
75
|
-
|
|
78
|
+
k(o, s);
|
|
76
79
|
}
|
|
77
|
-
function
|
|
80
|
+
function k(t, e) {
|
|
78
81
|
if (!t.includes(e.source))
|
|
79
82
|
return;
|
|
80
83
|
const r = t.split(e.source).join(e.target), s = i.get(t) || /* istanbul ignore next */
|
|
81
84
|
["", ""];
|
|
82
85
|
e.deleteSource && i.delete(t), i.set(r, s);
|
|
83
86
|
}
|
|
84
|
-
function
|
|
87
|
+
function x(t, e, r) {
|
|
85
88
|
if (i.has(e))
|
|
86
89
|
throw new Error("destination directory exists");
|
|
87
|
-
|
|
90
|
+
f(t, e, !1);
|
|
88
91
|
}
|
|
89
|
-
function
|
|
92
|
+
function w(t) {
|
|
90
93
|
let e;
|
|
91
94
|
const r = c.resolve(".");
|
|
92
95
|
for (let s = 0; s < t.length; s++) {
|
|
93
96
|
const o = t.slice(0, s + 1).join(c.sep), u = `${r}${o}`;
|
|
94
|
-
e =
|
|
97
|
+
e = $(u, o, e);
|
|
95
98
|
}
|
|
96
99
|
return e;
|
|
97
100
|
}
|
|
98
|
-
function
|
|
101
|
+
function $(t, e, r) {
|
|
99
102
|
return i.has(t) || e === "" ? r : (i.set(t, ["dir", ""]), r ?? t);
|
|
100
103
|
}
|
|
101
|
-
function
|
|
102
|
-
if (
|
|
104
|
+
function d(t) {
|
|
105
|
+
if (h(t).isFile())
|
|
103
106
|
throw new Error("file exists at destination");
|
|
104
107
|
const e = t.split(c.resolve(".")).join("").split(c.sep);
|
|
105
|
-
return
|
|
108
|
+
return w(e);
|
|
106
109
|
}
|
|
107
|
-
function
|
|
110
|
+
function P(t) {
|
|
108
111
|
for (const e of Array.from(i.keys()))
|
|
109
112
|
e.includes(t) && i.delete(e);
|
|
110
113
|
}
|
|
111
|
-
function
|
|
114
|
+
function A(t) {
|
|
112
115
|
i.has(t) || i.set(t, ["file", ""]);
|
|
113
116
|
}
|
|
114
|
-
const
|
|
117
|
+
const _ = { existsSync: b, lstatSync: h, chmodSync: F, renameSync: D, readFileSync: g, copySync: x, removeSync: P, ensureFileSync: A, mkdirpSync: d, outputFileSync: a, seedFile: p }, { default: M } = (() => {
|
|
115
118
|
const t = require("fs-extra");
|
|
116
119
|
return t && t.__esModule ? t : Object.assign(/* @__PURE__ */ Object.create(null), t, { default: t, [Symbol.toStringTag]: "Module" });
|
|
120
|
+
})(), { default: l } = (() => {
|
|
121
|
+
const t = require("node:path");
|
|
122
|
+
return t && t.__esModule ? t : Object.assign(/* @__PURE__ */ Object.create(null), t, { default: t, [Symbol.toStringTag]: "Module" });
|
|
117
123
|
})();
|
|
118
|
-
class
|
|
124
|
+
class j {
|
|
119
125
|
constructor(e, r) {
|
|
120
126
|
n(this, "existsSync");
|
|
121
127
|
n(this, "lstatSync");
|
|
@@ -178,7 +184,7 @@ class M {
|
|
|
178
184
|
throw new Error("Dir is undefined.");
|
|
179
185
|
if (e.match(/^[.a-zA-Z0-9\-_/:\\]+$/g) === null)
|
|
180
186
|
throw new Error(`Dir contains unsupported characters. Received ${e}.`);
|
|
181
|
-
return { success: !0, value:
|
|
187
|
+
return { success: !0, value: l.normalize(l.resolve(e)), error: null };
|
|
182
188
|
} catch (r) {
|
|
183
189
|
return console.error(`Error resolving path: ${e}`), {
|
|
184
190
|
success: !1,
|
|
@@ -192,7 +198,7 @@ class M {
|
|
|
192
198
|
if (e === void 0)
|
|
193
199
|
throw new Error(`Function "createDir" expected a path. Recieved "${e}".`);
|
|
194
200
|
const r = this.getAbsolutePath(e).value, s = this.mkdirpSync(r);
|
|
195
|
-
return { success: !0, value:
|
|
201
|
+
return { success: !0, value: l.normalize(s.replace(/^\\\\\?\\/, "")), error: null };
|
|
196
202
|
} catch {
|
|
197
203
|
return console.error(`Error creating dir: ${e}`), { success: !1, value: void 0, error: `Error creating dir: '${e}'` };
|
|
198
204
|
}
|
|
@@ -225,10 +231,10 @@ class M {
|
|
|
225
231
|
}
|
|
226
232
|
}
|
|
227
233
|
}
|
|
228
|
-
function
|
|
229
|
-
return new
|
|
234
|
+
function O(t, e) {
|
|
235
|
+
return new j(t, e);
|
|
230
236
|
}
|
|
231
|
-
const
|
|
237
|
+
const C = { use: O, default: M, mock: _ };
|
|
232
238
|
export {
|
|
233
|
-
|
|
239
|
+
C as default
|
|
234
240
|
};
|
package/dist/fs-helpers.umd.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(n
|
|
1
|
+
(function(u,n){typeof exports=="object"&&typeof module<"u"?module.exports=n():typeof define=="function"&&define.amd?define(n):(u=typeof globalThis<"u"?globalThis:u||self,u["fs-helpers"]=n())})(this,function(){"use strict";var j=Object.defineProperty;var O=(u,n,i)=>n in u?j(u,n,{enumerable:!0,configurable:!0,writable:!0,value:i}):u[n]=i;var c=(u,n,i)=>(O(u,typeof n!="symbol"?n+"":n,i),i);const{default:u}=(()=>{const t=require("fs-extra");return t&&t.__esModule?t:Object.assign(Object.create(null),t,{default:t,[Symbol.toStringTag]:"Module"})})(),{default:n}=(()=>{const t=require("node:path");return t&&t.__esModule?t:Object.assign(Object.create(null),t,{default:t,[Symbol.toStringTag]:"Module"})})(),i=new Map;function S(t){const{root:e,dir:r}=n.parse(t),s=r.split(e).slice(1).join(e).split(n.sep);for(let l=0;l<s.length;l++){const M=[e,s.slice(0,l+1).join(n.sep)].join("");y(M)}const o=u.readFileSync(t).toString();h(t,o)}function m(t,e){const[r,s]=i.get(t)||["",""];return Buffer.from(s)}function h(t,e,r){i.set(t,["file",e])}function v(t){return t===n.resolve(".")?!0:i.has(t)}function f(t,e){const[r,s]=i.get(t)||["",""],o={isDirectory:()=>t===n.resolve(".")?!0:r==="dir",isFile:()=>i.has(t)&&r==="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 o.isBlockDevice(),o.isCharacterDevice(),o.isSymbolicLink(),o.isFIFO(),o.isSocket(),o}function p(t,e){}class g extends Error{constructor(r){super(r);c(this,"code");this.code="ENOENT"}}function b(t,e){const r=t,s=e;if(!i.has(r))throw new g("source path not found");d(r,s,!0)}function d(t,e,r){const s={source:t,target:e,deleteSource:r};for(const o of Array.from(i.keys()))F(o,s)}function F(t,e){if(!t.includes(e.source))return;const r=t.split(e.source).join(e.target),s=i.get(t)||["",""];e.deleteSource&&i.delete(t),i.set(r,s)}function E(t,e,r){if(i.has(e))throw new Error("destination directory exists");d(t,e,!1)}function D(t){let e;const r=n.resolve(".");for(let s=0;s<t.length;s++){const o=t.slice(0,s+1).join(n.sep),l=`${r}${o}`;e=k(l,o,e)}return e}function k(t,e,r){return i.has(t)||e===""?r:(i.set(t,["dir",""]),r??t)}function y(t){if(f(t).isFile())throw new Error("file exists at destination");const e=t.split(n.resolve(".")).join("").split(n.sep);return D(e)}function x(t){for(const e of Array.from(i.keys()))e.includes(t)&&i.delete(e)}function w(t){i.has(t)||i.set(t,["file",""])}const $={existsSync:v,lstatSync:f,chmodSync:p,renameSync:b,readFileSync:m,copySync:E,removeSync:x,ensureFileSync:w,mkdirpSync:y,outputFileSync:h,seedFile:S},{default:P}=(()=>{const t=require("fs-extra");return t&&t.__esModule?t:Object.assign(Object.create(null),t,{default:t,[Symbol.toStringTag]:"Module"})})(),{default:a}=(()=>{const t=require("node:path");return t&&t.__esModule?t:Object.assign(Object.create(null),t,{default:t,[Symbol.toStringTag]:"Module"})})();class A{constructor(e,r){c(this,"existsSync");c(this,"lstatSync");c(this,"chmodSync");c(this,"renameSync");c(this,"readFileSync");c(this,"copySync");c(this,"removeSync");c(this,"ensureFileSync");c(this,"outputFileSync");c(this,"mkdirpSync");c(this,"seedFile");if({existsSync:this.existsSync,lstatSync:this.lstatSync,chmodSync:this.chmodSync,renameSync:this.renameSync,readFileSync:this.readFileSync,copySync:this.copySync,removeSync:this.removeSync,ensureFileSync:this.ensureFileSync,outputFileSync:this.outputFileSync,mkdirpSync:this.mkdirpSync,seedFile:this.seedFile}=e,this.seedFile!==void 0&&r!==void 0)for(const s of r)this.mockExistingFile(s)}mockExistingFile(e){const r=this.getAbsolutePath(e).value;this.seedFile(r)}readFile(e,r){return{success:!0,value:this.readFileSync(this.getAbsolutePath(e).value,r),error:null}}writeFile(e,r){return this.outputFileSync(this.getAbsolutePath(e).value,r),{success:!0,error:null}}checkIfPathExists(e,r,s){const o=this.getAbsolutePath(e).value;return this.existsSync(o)?s(this.lstatSync(o))?{success:!0,value:!0,error:null}:{success:!1,value:!1,error:`checkIf${r==="file"?"File":"Dir"}Exists: '${e}' is not a ${r}.`}:{success:!0,value:!1,error:null}}checkIfFileExists(e){return this.checkIfPathExists(e,"file",r=>r.isFile())}checkIfDirExists(e){return this.checkIfPathExists(e,"directory",r=>r.isDirectory())}getAbsolutePath(e){try{if(e===void 0)throw new Error("Dir is undefined.");if(e.match(/^[.a-zA-Z0-9\-_/:\\]+$/g)===null)throw new Error(`Dir contains unsupported characters. Received ${e}.`);return{success:!0,value:a.normalize(a.resolve(e)),error:null}}catch(r){return console.error(`Error resolving path: ${e}`),{success:!1,value:void 0,error:`Error resolving path: '${e}'. Received error: '${r}'`}}}createDir(e){try{if(e===void 0)throw new Error(`Function "createDir" expected a path. Recieved "${e}".`);const r=this.getAbsolutePath(e).value,s=this.mkdirpSync(r);return{success:!0,value:a.normalize(s.replace(/^\\\\\?\\/,"")),error:null}}catch{return console.error(`Error creating dir: ${e}`),{success:!1,value:void 0,error:`Error creating dir: '${e}'`}}}touchFile(e,r){const s=this.getAbsolutePath(e).value;return this.ensureFileSync(s),r!==void 0&&this.chmodSync(s,r),{success:!0,error:null}}rimrafDir(e){return this.getAbsolutePath(e).value!==void 0&&this.checkIfDirExists(e).value?(this.removeSync(e),{success:!0,value:e,error:null}):(console.error(`Error deleting dir: ${e}`),{success:!1,value:void 0,error:`Error deleting dir: '${e}'`})}rimrafDirs(e){return e.map(r=>this.rimrafDir(this.getAbsolutePath(r).value))}abortDirCreation(e){return e!==null&&this.checkIfDirExists(e).value?(console.error(`Cleaning up due to abort, directories created starting at: ${JSON.stringify(e)}`),this.rimrafDir(e),{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."})}renameDir(e,r){try{return this.renameSync(this.getAbsolutePath(e).value,this.getAbsolutePath(r).value),{success:!0,value:"Successfully renamed the directory.",error:null}}catch(s){return console.error(s.code),{success:!1,value:void 0,error:`renameDir from '${e}' to '${r} failed.`}}}copyDirAbs(e,r){try{return this.copySync(this.getAbsolutePath(e).value,this.getAbsolutePath(r).value,{overwrite:!1,errorOnExist:!0}),{success:!0,error:null}}catch{return{success:!1,error:`Error copying absolute from '${e}' to '${r}'`}}}}function _(t,e){return new A(t,e)}return{use:_,default:P,mock:$}});
|