extract-base-iterator 0.4.1 → 1.0.1
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/cjs/DirectoryEntry.js +33 -26
- package/dist/cjs/DirectoryEntry.js.map +1 -1
- package/dist/cjs/FileEntry.js +35 -28
- package/dist/cjs/FileEntry.js.map +1 -1
- package/dist/cjs/LinkEntry.js +39 -32
- package/dist/cjs/LinkEntry.js.map +1 -1
- package/dist/cjs/SymbolicLinkEntry.js +47 -40
- package/dist/cjs/SymbolicLinkEntry.js.map +1 -1
- package/dist/cjs/fs/chmod.js +19 -10
- package/dist/cjs/fs/chmod.js.map +1 -1
- package/dist/cjs/fs/chown.js +19 -10
- package/dist/cjs/fs/chown.js.map +1 -1
- package/dist/cjs/fs/lstatReal.js +20 -11
- package/dist/cjs/fs/lstatReal.js.map +1 -1
- package/dist/cjs/fs/utimes.js +19 -10
- package/dist/cjs/fs/utimes.js.map +1 -1
- package/dist/cjs/fs/waitForAccess.js +17 -9
- package/dist/cjs/fs/waitForAccess.js.map +1 -1
- package/dist/cjs/index.js +26 -17
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/polyfills.js +3 -0
- package/dist/cjs/polyfills.js.map +1 -0
- package/dist/cjs/stripPath.js +21 -12
- package/dist/cjs/stripPath.js.map +1 -1
- package/dist/cjs/validateAttributes.js +12 -8
- package/dist/cjs/validateAttributes.js.map +1 -1
- package/dist/esm/DirectoryEntry.mjs +48 -0
- package/dist/esm/DirectoryEntry.mjs.map +1 -0
- package/dist/esm/FileEntry.mjs +57 -0
- package/dist/esm/FileEntry.mjs.map +1 -0
- package/dist/esm/LinkEntry.mjs +60 -0
- package/dist/esm/LinkEntry.mjs.map +1 -0
- package/dist/esm/SymbolicLinkEntry.mjs +76 -0
- package/dist/esm/SymbolicLinkEntry.mjs.map +1 -0
- package/dist/esm/fs/chmod.mjs +29 -0
- package/dist/esm/fs/chmod.mjs.map +1 -0
- package/dist/esm/fs/chown.mjs +9 -0
- package/dist/esm/fs/chown.mjs.map +1 -0
- package/dist/esm/fs/lstatReal.mjs +6 -0
- package/dist/esm/fs/lstatReal.mjs.map +1 -0
- package/dist/esm/fs/utimes.mjs +6 -0
- package/dist/esm/fs/utimes.mjs.map +1 -0
- package/dist/esm/fs/waitForAccess.mjs +7 -0
- package/dist/esm/fs/waitForAccess.mjs.map +1 -0
- package/dist/esm/index.mjs +7 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/polyfills.cjs +1 -0
- package/dist/esm/polyfills.cjs.map +1 -0
- package/dist/esm/stripPath.mjs +9 -0
- package/dist/esm/stripPath.mjs.map +1 -0
- package/dist/esm/validateAttributes.mjs +7 -0
- package/dist/esm/validateAttributes.mjs.map +1 -0
- package/dist/types/{DirectoryEntry.d.cts → DirectoryEntry.d.mts} +2 -3
- package/dist/types/{FileEntry.d.cts → FileEntry.d.mts} +2 -3
- package/dist/types/{LinkEntry.d.cts → LinkEntry.d.mts} +2 -3
- package/dist/types/{SymbolicLinkEntry.d.cts → SymbolicLinkEntry.d.mts} +2 -3
- package/dist/types/fs/chmod.d.mts +1 -0
- package/dist/types/fs/chown.d.mts +1 -0
- package/dist/types/fs/lstatReal.d.mts +1 -0
- package/dist/types/fs/utimes.d.mts +1 -0
- package/dist/types/fs/waitForAccess.d.mts +1 -0
- package/dist/types/index.d.mts +4 -0
- package/dist/types/polyfills.d.cts +1 -0
- package/dist/types/stripPath.d.mts +1 -0
- package/dist/types/validateAttributes.d.mts +1 -0
- package/package.json +19 -8
- package/dist/types/fs/chmod.d.ts +0 -2
- package/dist/types/fs/chown.d.ts +0 -2
- package/dist/types/fs/lstatReal.d.ts +0 -2
- package/dist/types/fs/utimes.d.ts +0 -2
- package/dist/types/fs/waitForAccess.d.ts +0 -2
- package/dist/types/stripPath.d.cts +0 -2
- package/dist/types/validateAttributes.d.cts +0 -2
|
@@ -1,23 +1,36 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return DirectoryEntry;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
12
|
+
var _mkpath = /*#__PURE__*/ _interop_require_default(require("mkpath"));
|
|
13
|
+
var _queuecb = /*#__PURE__*/ _interop_require_default(require("queue-cb"));
|
|
14
|
+
var _chmod = /*#__PURE__*/ _interop_require_default(require("./fs/chmod.js"));
|
|
15
|
+
var _chown = /*#__PURE__*/ _interop_require_default(require("./fs/chown.js"));
|
|
16
|
+
var _utimes = /*#__PURE__*/ _interop_require_default(require("./fs/utimes.js"));
|
|
17
|
+
var _stripPath = /*#__PURE__*/ _interop_require_default(require("./stripPath.js"));
|
|
18
|
+
var _validateAttributes = /*#__PURE__*/ _interop_require_default(require("./validateAttributes.js"));
|
|
19
|
+
function _interop_require_default(obj) {
|
|
20
|
+
return obj && obj.__esModule ? obj : {
|
|
21
|
+
default: obj
|
|
22
|
+
};
|
|
23
|
+
}
|
|
11
24
|
var MANDATORY_ATTRIBUTES = [
|
|
12
25
|
"mode",
|
|
13
26
|
"mtime",
|
|
14
27
|
"path"
|
|
15
28
|
];
|
|
16
29
|
function DirectoryEntry(attributes) {
|
|
17
|
-
|
|
18
|
-
assign(this, attributes);
|
|
30
|
+
(0, _validateAttributes.default)(attributes, MANDATORY_ATTRIBUTES);
|
|
31
|
+
Object.assign(this, attributes);
|
|
19
32
|
if (this.type === undefined) this.type = "directory";
|
|
20
|
-
if (this.basename === undefined) this.basename =
|
|
33
|
+
if (this.basename === undefined) this.basename = _path.default.basename(this.path);
|
|
21
34
|
}
|
|
22
35
|
DirectoryEntry.prototype.create = function create(dest, options, callback) {
|
|
23
36
|
if (typeof options === "function") {
|
|
@@ -28,14 +41,14 @@ DirectoryEntry.prototype.create = function create(dest, options, callback) {
|
|
|
28
41
|
if (typeof callback === "function") {
|
|
29
42
|
options = options || {};
|
|
30
43
|
try {
|
|
31
|
-
var normalizedPath =
|
|
32
|
-
var fullPath =
|
|
44
|
+
var normalizedPath = _path.default.normalize(self.path);
|
|
45
|
+
var fullPath = _path.default.join(dest, (0, _stripPath.default)(normalizedPath, options));
|
|
33
46
|
// do not check for the existence of the directory but allow out-of-order calling
|
|
34
|
-
var queue = new
|
|
35
|
-
queue.defer(
|
|
36
|
-
queue.defer(
|
|
37
|
-
queue.defer(
|
|
38
|
-
queue.defer(
|
|
47
|
+
var queue = new _queuecb.default(1);
|
|
48
|
+
queue.defer(_mkpath.default.bind(null, fullPath));
|
|
49
|
+
queue.defer(_chmod.default.bind(null, fullPath, self, options));
|
|
50
|
+
queue.defer(_chown.default.bind(null, fullPath, self, options));
|
|
51
|
+
queue.defer(_utimes.default.bind(null, fullPath, self, options));
|
|
39
52
|
return queue.await(callback);
|
|
40
53
|
} catch (err) {
|
|
41
54
|
return callback(err);
|
|
@@ -48,10 +61,4 @@ DirectoryEntry.prototype.create = function create(dest, options, callback) {
|
|
|
48
61
|
});
|
|
49
62
|
};
|
|
50
63
|
DirectoryEntry.prototype.destroy = function destroy() {};
|
|
51
|
-
module.exports =
|
|
52
|
-
|
|
53
|
-
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
|
|
54
|
-
Object.defineProperty(exports.default, '__esModule', { value: true });
|
|
55
|
-
for (var key in exports) exports.default[key] = exports[key];
|
|
56
|
-
module.exports = exports.default;
|
|
57
|
-
}
|
|
64
|
+
/* CJS INTEROP */ if (exports.__esModule && exports.default) { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) exports.default[key] = exports[key]; module.exports = exports.default; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["DirectoryEntry.
|
|
1
|
+
{"version":3,"sources":["DirectoryEntry.mjs"],"sourcesContent":["import path from 'path';\nimport mkpath from 'mkpath';\nimport Queue from 'queue-cb';\n\nimport chmod from './fs/chmod.mjs';\nimport chown from './fs/chown.mjs';\nimport utimes from './fs/utimes.mjs';\nimport stripPath from './stripPath.mjs';\nimport validateAttributes from './validateAttributes.mjs';\n\nconst MANDATORY_ATTRIBUTES = ['mode', 'mtime', 'path'];\n\nexport default function DirectoryEntry(attributes) {\n validateAttributes(attributes, MANDATORY_ATTRIBUTES);\n Object.assign(this, attributes);\n if (this.type === undefined) this.type = 'directory';\n if (this.basename === undefined) this.basename = path.basename(this.path);\n}\n\nDirectoryEntry.prototype.create = function create(dest, options, callback) {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n\n const self = this;\n if (typeof callback === 'function') {\n options = options || {};\n try {\n const normalizedPath = path.normalize(self.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, options));\n\n // do not check for the existence of the directory but allow out-of-order calling\n const queue = new Queue(1);\n queue.defer(mkpath.bind(null, fullPath));\n queue.defer(chmod.bind(null, fullPath, self, options));\n queue.defer(chown.bind(null, fullPath, self, options));\n queue.defer(utimes.bind(null, fullPath, self, options));\n return queue.await(callback);\n } catch (err) {\n return callback(err);\n }\n }\n\n return new Promise(function createPromise(resolve, reject) {\n self.create(dest, options, function createCallback(err, done) {\n err ? reject(err) : resolve(done);\n });\n });\n};\n\nDirectoryEntry.prototype.destroy = function destroy() {};\n"],"names":["DirectoryEntry","MANDATORY_ATTRIBUTES","attributes","validateAttributes","Object","assign","type","undefined","basename","path","prototype","create","dest","options","callback","self","normalizedPath","normalize","fullPath","join","stripPath","queue","Queue","defer","mkpath","bind","chmod","chown","utimes","await","err","Promise","createPromise","resolve","reject","createCallback","done","destroy"],"mappings":";;;;+BAYA;;;eAAwBA;;;2DAZP;6DACE;8DACD;4DAEA;4DACA;6DACC;gEACG;yEACS;;;;;;AAE/B,IAAMC,uBAAuB;IAAC;IAAQ;IAAS;CAAO;AAEvC,SAASD,eAAeE,UAAU;IAC/CC,IAAAA,2BAAkB,EAACD,YAAYD;IAC/BG,OAAOC,MAAM,CAAC,IAAI,EAAEH;IACpB,IAAI,IAAI,CAACI,IAAI,KAAKC,WAAW,IAAI,CAACD,IAAI,GAAG;IACzC,IAAI,IAAI,CAACE,QAAQ,KAAKD,WAAW,IAAI,CAACC,QAAQ,GAAGC,aAAI,CAACD,QAAQ,CAAC,IAAI,CAACC,IAAI;AAC1E;AAEAT,eAAeU,SAAS,CAACC,MAAM,GAAG,SAASA,OAAOC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IACvE,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU;IACZ;IAEA,IAAME,OAAO,IAAI;IACjB,IAAI,OAAOD,aAAa,YAAY;QAClCD,UAAUA,WAAW,CAAC;QACtB,IAAI;YACF,IAAMG,iBAAiBP,aAAI,CAACQ,SAAS,CAACF,KAAKN,IAAI;YAC/C,IAAMS,WAAWT,aAAI,CAACU,IAAI,CAACP,MAAMQ,IAAAA,kBAAS,EAACJ,gBAAgBH;YAE3D,iFAAiF;YACjF,IAAMQ,QAAQ,IAAIC,gBAAK,CAAC;YACxBD,MAAME,KAAK,CAACC,eAAM,CAACC,IAAI,CAAC,MAAMP;YAC9BG,MAAME,KAAK,CAACG,cAAK,CAACD,IAAI,CAAC,MAAMP,UAAUH,MAAMF;YAC7CQ,MAAME,KAAK,CAACI,cAAK,CAACF,IAAI,CAAC,MAAMP,UAAUH,MAAMF;YAC7CQ,MAAME,KAAK,CAACK,eAAM,CAACH,IAAI,CAAC,MAAMP,UAAUH,MAAMF;YAC9C,OAAOQ,MAAMQ,KAAK,CAACf;QACrB,EAAE,OAAOgB,KAAK;YACZ,OAAOhB,SAASgB;QAClB;IACF;IAEA,OAAO,IAAIC,QAAQ,SAASC,cAAcC,OAAO,EAAEC,MAAM;QACvDnB,KAAKJ,MAAM,CAACC,MAAMC,SAAS,SAASsB,eAAeL,GAAG,EAAEM,IAAI;YAC1DN,MAAMI,OAAOJ,OAAOG,QAAQG;QAC9B;IACF;AACF;AAEApC,eAAeU,SAAS,CAAC2B,OAAO,GAAG,SAASA,WAAW"}
|
package/dist/cjs/FileEntry.js
CHANGED
|
@@ -1,23 +1,36 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
var
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return FileEntry;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
12
|
+
var _mkpath = /*#__PURE__*/ _interop_require_default(require("mkpath"));
|
|
13
|
+
var _queuecb = /*#__PURE__*/ _interop_require_default(require("queue-cb"));
|
|
14
|
+
var _rimraf = /*#__PURE__*/ _interop_require_default(require("rimraf"));
|
|
15
|
+
var _chmod = /*#__PURE__*/ _interop_require_default(require("./fs/chmod.js"));
|
|
16
|
+
var _chown = /*#__PURE__*/ _interop_require_default(require("./fs/chown.js"));
|
|
17
|
+
var _utimes = /*#__PURE__*/ _interop_require_default(require("./fs/utimes.js"));
|
|
18
|
+
var _stripPath = /*#__PURE__*/ _interop_require_default(require("./stripPath.js"));
|
|
19
|
+
var _validateAttributes = /*#__PURE__*/ _interop_require_default(require("./validateAttributes.js"));
|
|
20
|
+
function _interop_require_default(obj) {
|
|
21
|
+
return obj && obj.__esModule ? obj : {
|
|
22
|
+
default: obj
|
|
23
|
+
};
|
|
24
|
+
}
|
|
12
25
|
var MANDATORY_ATTRIBUTES = [
|
|
13
26
|
"mode",
|
|
14
27
|
"mtime",
|
|
15
28
|
"path"
|
|
16
29
|
];
|
|
17
30
|
function FileEntry(attributes) {
|
|
18
|
-
|
|
19
|
-
assign(this, attributes);
|
|
20
|
-
if (this.basename === undefined) this.basename =
|
|
31
|
+
(0, _validateAttributes.default)(attributes, MANDATORY_ATTRIBUTES);
|
|
32
|
+
Object.assign(this, attributes);
|
|
33
|
+
if (this.basename === undefined) this.basename = _path.default.basename(this.path);
|
|
21
34
|
if (this.type === undefined) this.type = "file";
|
|
22
35
|
if (this._writeFile === undefined) throw new Error("File self missing _writeFile. Please implement this method in your subclass");
|
|
23
36
|
}
|
|
@@ -30,21 +43,21 @@ FileEntry.prototype.create = function create(dest, options, callback) {
|
|
|
30
43
|
if (typeof callback === "function") {
|
|
31
44
|
options = options || {};
|
|
32
45
|
try {
|
|
33
|
-
var normalizedPath =
|
|
34
|
-
var fullPath =
|
|
35
|
-
var queue = new
|
|
46
|
+
var normalizedPath = _path.default.normalize(self.path);
|
|
47
|
+
var fullPath = _path.default.join(dest, (0, _stripPath.default)(normalizedPath, options));
|
|
48
|
+
var queue = new _queuecb.default(1);
|
|
36
49
|
if (options.force) {
|
|
37
50
|
queue.defer(function(callback) {
|
|
38
|
-
|
|
51
|
+
(0, _rimraf.default)(fullPath, function(err) {
|
|
39
52
|
err && err.code !== "ENOENT" ? callback(err) : callback();
|
|
40
53
|
});
|
|
41
54
|
});
|
|
42
55
|
}
|
|
43
|
-
queue.defer(
|
|
56
|
+
queue.defer(_mkpath.default.bind(null, _path.default.dirname(fullPath)));
|
|
44
57
|
queue.defer(this._writeFile.bind(this, fullPath, options));
|
|
45
|
-
queue.defer(
|
|
46
|
-
queue.defer(
|
|
47
|
-
queue.defer(
|
|
58
|
+
queue.defer(_chmod.default.bind(null, fullPath, self, options));
|
|
59
|
+
queue.defer(_chown.default.bind(null, fullPath, self, options));
|
|
60
|
+
queue.defer(_utimes.default.bind(null, fullPath, self, options));
|
|
48
61
|
return queue.await(callback);
|
|
49
62
|
} catch (err) {
|
|
50
63
|
return callback(err);
|
|
@@ -57,10 +70,4 @@ FileEntry.prototype.create = function create(dest, options, callback) {
|
|
|
57
70
|
});
|
|
58
71
|
};
|
|
59
72
|
FileEntry.prototype.destroy = function destroy() {};
|
|
60
|
-
module.exports =
|
|
61
|
-
|
|
62
|
-
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
|
|
63
|
-
Object.defineProperty(exports.default, '__esModule', { value: true });
|
|
64
|
-
for (var key in exports) exports.default[key] = exports[key];
|
|
65
|
-
module.exports = exports.default;
|
|
66
|
-
}
|
|
73
|
+
/* CJS INTEROP */ if (exports.__esModule && exports.default) { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) exports.default[key] = exports[key]; module.exports = exports.default; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["FileEntry.
|
|
1
|
+
{"version":3,"sources":["FileEntry.mjs"],"sourcesContent":["import path from 'path';\nimport mkpath from 'mkpath';\nimport Queue from 'queue-cb';\n\nimport rimraf from 'rimraf';\nimport chmod from './fs/chmod.mjs';\nimport chown from './fs/chown.mjs';\nimport utimes from './fs/utimes.mjs';\nimport stripPath from './stripPath.mjs';\nimport validateAttributes from './validateAttributes.mjs';\n\nconst MANDATORY_ATTRIBUTES = ['mode', 'mtime', 'path'];\n\nexport default function FileEntry(attributes) {\n validateAttributes(attributes, MANDATORY_ATTRIBUTES);\n Object.assign(this, attributes);\n if (this.basename === undefined) this.basename = path.basename(this.path);\n if (this.type === undefined) this.type = 'file';\n if (this._writeFile === undefined) throw new Error('File self missing _writeFile. Please implement this method in your subclass');\n}\n\nFileEntry.prototype.create = function create(dest, options, callback) {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n\n const self = this;\n if (typeof callback === 'function') {\n options = options || {};\n try {\n const normalizedPath = path.normalize(self.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, options));\n\n const queue = new Queue(1);\n if (options.force) {\n queue.defer((callback) => {\n rimraf(fullPath, (err) => {\n err && err.code !== 'ENOENT' ? callback(err) : callback();\n });\n });\n }\n queue.defer(mkpath.bind(null, path.dirname(fullPath)));\n queue.defer(this._writeFile.bind(this, fullPath, options));\n queue.defer(chmod.bind(null, fullPath, self, options));\n queue.defer(chown.bind(null, fullPath, self, options));\n queue.defer(utimes.bind(null, fullPath, self, options));\n return queue.await(callback);\n } catch (err) {\n return callback(err);\n }\n }\n\n return new Promise(function createPromise(resolve, reject) {\n self.create(dest, options, function createCallback(err, done) {\n err ? reject(err) : resolve(done);\n });\n });\n};\n\nFileEntry.prototype.destroy = function destroy() {};\n"],"names":["FileEntry","MANDATORY_ATTRIBUTES","attributes","validateAttributes","Object","assign","basename","undefined","path","type","_writeFile","Error","prototype","create","dest","options","callback","self","normalizedPath","normalize","fullPath","join","stripPath","queue","Queue","force","defer","rimraf","err","code","mkpath","bind","dirname","chmod","chown","utimes","await","Promise","createPromise","resolve","reject","createCallback","done","destroy"],"mappings":";;;;+BAaA;;;eAAwBA;;;2DAbP;6DACE;8DACD;6DAEC;4DACD;4DACA;6DACC;gEACG;yEACS;;;;;;AAE/B,IAAMC,uBAAuB;IAAC;IAAQ;IAAS;CAAO;AAEvC,SAASD,UAAUE,UAAU;IAC1CC,IAAAA,2BAAkB,EAACD,YAAYD;IAC/BG,OAAOC,MAAM,CAAC,IAAI,EAAEH;IACpB,IAAI,IAAI,CAACI,QAAQ,KAAKC,WAAW,IAAI,CAACD,QAAQ,GAAGE,aAAI,CAACF,QAAQ,CAAC,IAAI,CAACE,IAAI;IACxE,IAAI,IAAI,CAACC,IAAI,KAAKF,WAAW,IAAI,CAACE,IAAI,GAAG;IACzC,IAAI,IAAI,CAACC,UAAU,KAAKH,WAAW,MAAM,IAAII,MAAM;AACrD;AAEAX,UAAUY,SAAS,CAACC,MAAM,GAAG,SAASA,OAAOC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IAClE,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU;IACZ;IAEA,IAAME,OAAO,IAAI;IACjB,IAAI,OAAOD,aAAa,YAAY;QAClCD,UAAUA,WAAW,CAAC;QACtB,IAAI;YACF,IAAMG,iBAAiBV,aAAI,CAACW,SAAS,CAACF,KAAKT,IAAI;YAC/C,IAAMY,WAAWZ,aAAI,CAACa,IAAI,CAACP,MAAMQ,IAAAA,kBAAS,EAACJ,gBAAgBH;YAE3D,IAAMQ,QAAQ,IAAIC,gBAAK,CAAC;YACxB,IAAIT,QAAQU,KAAK,EAAE;gBACjBF,MAAMG,KAAK,CAAC,SAACV;oBACXW,IAAAA,eAAM,EAACP,UAAU,SAACQ;wBAChBA,OAAOA,IAAIC,IAAI,KAAK,WAAWb,SAASY,OAAOZ;oBACjD;gBACF;YACF;YACAO,MAAMG,KAAK,CAACI,eAAM,CAACC,IAAI,CAAC,MAAMvB,aAAI,CAACwB,OAAO,CAACZ;YAC3CG,MAAMG,KAAK,CAAC,IAAI,CAAChB,UAAU,CAACqB,IAAI,CAAC,IAAI,EAAEX,UAAUL;YACjDQ,MAAMG,KAAK,CAACO,cAAK,CAACF,IAAI,CAAC,MAAMX,UAAUH,MAAMF;YAC7CQ,MAAMG,KAAK,CAACQ,cAAK,CAACH,IAAI,CAAC,MAAMX,UAAUH,MAAMF;YAC7CQ,MAAMG,KAAK,CAACS,eAAM,CAACJ,IAAI,CAAC,MAAMX,UAAUH,MAAMF;YAC9C,OAAOQ,MAAMa,KAAK,CAACpB;QACrB,EAAE,OAAOY,KAAK;YACZ,OAAOZ,SAASY;QAClB;IACF;IAEA,OAAO,IAAIS,QAAQ,SAASC,cAAcC,OAAO,EAAEC,MAAM;QACvDvB,KAAKJ,MAAM,CAACC,MAAMC,SAAS,SAAS0B,eAAeb,GAAG,EAAEc,IAAI;YAC1Dd,MAAMY,OAAOZ,OAAOW,QAAQG;QAC9B;IACF;AACF;AAEA1C,UAAUY,SAAS,CAAC+B,OAAO,GAAG,SAASA,WAAW"}
|
package/dist/cjs/LinkEntry.js
CHANGED
|
@@ -1,15 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
var
|
|
12
|
-
var
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return LinkEntry;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
12
|
+
var _gracefulfs = /*#__PURE__*/ _interop_require_default(require("graceful-fs"));
|
|
13
|
+
var _mkpath = /*#__PURE__*/ _interop_require_default(require("mkpath"));
|
|
14
|
+
var _queuecb = /*#__PURE__*/ _interop_require_default(require("queue-cb"));
|
|
15
|
+
var _rimraf = /*#__PURE__*/ _interop_require_default(require("rimraf"));
|
|
16
|
+
var _chmod = /*#__PURE__*/ _interop_require_default(require("./fs/chmod.js"));
|
|
17
|
+
var _chown = /*#__PURE__*/ _interop_require_default(require("./fs/chown.js"));
|
|
18
|
+
var _utimes = /*#__PURE__*/ _interop_require_default(require("./fs/utimes.js"));
|
|
19
|
+
var _stripPath = /*#__PURE__*/ _interop_require_default(require("./stripPath.js"));
|
|
20
|
+
var _validateAttributes = /*#__PURE__*/ _interop_require_default(require("./validateAttributes.js"));
|
|
21
|
+
function _interop_require_default(obj) {
|
|
22
|
+
return obj && obj.__esModule ? obj : {
|
|
23
|
+
default: obj
|
|
24
|
+
};
|
|
25
|
+
}
|
|
13
26
|
var MANDATORY_ATTRIBUTES = [
|
|
14
27
|
"mode",
|
|
15
28
|
"mtime",
|
|
@@ -17,9 +30,9 @@ var MANDATORY_ATTRIBUTES = [
|
|
|
17
30
|
"linkpath"
|
|
18
31
|
];
|
|
19
32
|
function LinkEntry(attributes, _type) {
|
|
20
|
-
|
|
21
|
-
assign(this, attributes);
|
|
22
|
-
if (this.basename === undefined) this.basename =
|
|
33
|
+
(0, _validateAttributes.default)(attributes, MANDATORY_ATTRIBUTES);
|
|
34
|
+
Object.assign(this, attributes);
|
|
35
|
+
if (this.basename === undefined) this.basename = _path.default.basename(this.path);
|
|
23
36
|
if (this.type === undefined) this.type = "link";
|
|
24
37
|
}
|
|
25
38
|
LinkEntry.prototype.create = function create(dest, options, callback) {
|
|
@@ -31,23 +44,23 @@ LinkEntry.prototype.create = function create(dest, options, callback) {
|
|
|
31
44
|
if (typeof callback === "function") {
|
|
32
45
|
options = options || {};
|
|
33
46
|
try {
|
|
34
|
-
var normalizedPath =
|
|
35
|
-
var fullPath =
|
|
36
|
-
var normalizedLinkpath =
|
|
37
|
-
var linkFullPath =
|
|
38
|
-
var queue = new
|
|
47
|
+
var normalizedPath = _path.default.normalize(self.path);
|
|
48
|
+
var fullPath = _path.default.join(dest, (0, _stripPath.default)(normalizedPath, options));
|
|
49
|
+
var normalizedLinkpath = _path.default.normalize(self.linkpath);
|
|
50
|
+
var linkFullPath = _path.default.join(dest, (0, _stripPath.default)(normalizedLinkpath, options));
|
|
51
|
+
var queue = new _queuecb.default(1);
|
|
39
52
|
if (options.force) {
|
|
40
53
|
queue.defer(function(callback) {
|
|
41
|
-
|
|
54
|
+
(0, _rimraf.default)(fullPath, function(err) {
|
|
42
55
|
err && err.code !== "ENOENT" ? callback(err) : callback();
|
|
43
56
|
});
|
|
44
57
|
});
|
|
45
58
|
}
|
|
46
|
-
queue.defer(
|
|
47
|
-
queue.defer(
|
|
48
|
-
queue.defer(
|
|
49
|
-
queue.defer(
|
|
50
|
-
queue.defer(
|
|
59
|
+
queue.defer(_mkpath.default.bind(null, _path.default.dirname(fullPath)));
|
|
60
|
+
queue.defer(_gracefulfs.default.link.bind(_gracefulfs.default, linkFullPath, fullPath));
|
|
61
|
+
queue.defer(_chmod.default.bind(null, fullPath, self, options));
|
|
62
|
+
queue.defer(_chown.default.bind(null, fullPath, self, options));
|
|
63
|
+
queue.defer(_utimes.default.bind(null, fullPath, self, options));
|
|
51
64
|
return queue.await(callback);
|
|
52
65
|
} catch (err) {
|
|
53
66
|
return callback(err);
|
|
@@ -60,10 +73,4 @@ LinkEntry.prototype.create = function create(dest, options, callback) {
|
|
|
60
73
|
});
|
|
61
74
|
};
|
|
62
75
|
LinkEntry.prototype.destroy = function destroy() {};
|
|
63
|
-
module.exports =
|
|
64
|
-
|
|
65
|
-
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
|
|
66
|
-
Object.defineProperty(exports.default, '__esModule', { value: true });
|
|
67
|
-
for (var key in exports) exports.default[key] = exports[key];
|
|
68
|
-
module.exports = exports.default;
|
|
69
|
-
}
|
|
76
|
+
/* CJS INTEROP */ if (exports.__esModule && exports.default) { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) exports.default[key] = exports[key]; module.exports = exports.default; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["LinkEntry.
|
|
1
|
+
{"version":3,"sources":["LinkEntry.mjs"],"sourcesContent":["import path from 'path';\nimport fs from 'graceful-fs';\nimport mkpath from 'mkpath';\nimport Queue from 'queue-cb';\nimport rimraf from 'rimraf';\n\nimport chmod from './fs/chmod.mjs';\nimport chown from './fs/chown.mjs';\nimport utimes from './fs/utimes.mjs';\nimport stripPath from './stripPath.mjs';\nimport validateAttributes from './validateAttributes.mjs';\n\nconst MANDATORY_ATTRIBUTES = ['mode', 'mtime', 'path', 'linkpath'];\n\nexport default function LinkEntry(attributes, _type) {\n validateAttributes(attributes, MANDATORY_ATTRIBUTES);\n Object.assign(this, attributes);\n if (this.basename === undefined) this.basename = path.basename(this.path);\n if (this.type === undefined) this.type = 'link';\n}\n\nLinkEntry.prototype.create = function create(dest, options, callback) {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n\n const self = this;\n if (typeof callback === 'function') {\n options = options || {};\n try {\n const normalizedPath = path.normalize(self.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, options));\n const normalizedLinkpath = path.normalize(self.linkpath);\n const linkFullPath = path.join(dest, stripPath(normalizedLinkpath, options));\n\n const queue = new Queue(1);\n if (options.force) {\n queue.defer((callback) => {\n rimraf(fullPath, (err) => {\n err && err.code !== 'ENOENT' ? callback(err) : callback();\n });\n });\n }\n queue.defer(mkpath.bind(null, path.dirname(fullPath)));\n queue.defer(fs.link.bind(fs, linkFullPath, fullPath));\n queue.defer(chmod.bind(null, fullPath, self, options));\n queue.defer(chown.bind(null, fullPath, self, options));\n queue.defer(utimes.bind(null, fullPath, self, options));\n return queue.await(callback);\n } catch (err) {\n return callback(err);\n }\n }\n\n return new Promise(function createPromise(resolve, reject) {\n self.create(dest, options, function createCallback(err, done) {\n err ? reject(err) : resolve(done);\n });\n });\n};\n\nLinkEntry.prototype.destroy = function destroy() {};\n"],"names":["LinkEntry","MANDATORY_ATTRIBUTES","attributes","_type","validateAttributes","Object","assign","basename","undefined","path","type","prototype","create","dest","options","callback","self","normalizedPath","normalize","fullPath","join","stripPath","normalizedLinkpath","linkpath","linkFullPath","queue","Queue","force","defer","rimraf","err","code","mkpath","bind","dirname","fs","link","chmod","chown","utimes","await","Promise","createPromise","resolve","reject","createCallback","done","destroy"],"mappings":";;;;+BAcA;;;eAAwBA;;;2DAdP;iEACF;6DACI;8DACD;6DACC;4DAED;4DACA;6DACC;gEACG;yEACS;;;;;;AAE/B,IAAMC,uBAAuB;IAAC;IAAQ;IAAS;IAAQ;CAAW;AAEnD,SAASD,UAAUE,UAAU,EAAEC,KAAK;IACjDC,IAAAA,2BAAkB,EAACF,YAAYD;IAC/BI,OAAOC,MAAM,CAAC,IAAI,EAAEJ;IACpB,IAAI,IAAI,CAACK,QAAQ,KAAKC,WAAW,IAAI,CAACD,QAAQ,GAAGE,aAAI,CAACF,QAAQ,CAAC,IAAI,CAACE,IAAI;IACxE,IAAI,IAAI,CAACC,IAAI,KAAKF,WAAW,IAAI,CAACE,IAAI,GAAG;AAC3C;AAEAV,UAAUW,SAAS,CAACC,MAAM,GAAG,SAASA,OAAOC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IAClE,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU;IACZ;IAEA,IAAME,OAAO,IAAI;IACjB,IAAI,OAAOD,aAAa,YAAY;QAClCD,UAAUA,WAAW,CAAC;QACtB,IAAI;YACF,IAAMG,iBAAiBR,aAAI,CAACS,SAAS,CAACF,KAAKP,IAAI;YAC/C,IAAMU,WAAWV,aAAI,CAACW,IAAI,CAACP,MAAMQ,IAAAA,kBAAS,EAACJ,gBAAgBH;YAC3D,IAAMQ,qBAAqBb,aAAI,CAACS,SAAS,CAACF,KAAKO,QAAQ;YACvD,IAAMC,eAAef,aAAI,CAACW,IAAI,CAACP,MAAMQ,IAAAA,kBAAS,EAACC,oBAAoBR;YAEnE,IAAMW,QAAQ,IAAIC,gBAAK,CAAC;YACxB,IAAIZ,QAAQa,KAAK,EAAE;gBACjBF,MAAMG,KAAK,CAAC,SAACb;oBACXc,IAAAA,eAAM,EAACV,UAAU,SAACW;wBAChBA,OAAOA,IAAIC,IAAI,KAAK,WAAWhB,SAASe,OAAOf;oBACjD;gBACF;YACF;YACAU,MAAMG,KAAK,CAACI,eAAM,CAACC,IAAI,CAAC,MAAMxB,aAAI,CAACyB,OAAO,CAACf;YAC3CM,MAAMG,KAAK,CAACO,mBAAE,CAACC,IAAI,CAACH,IAAI,CAACE,mBAAE,EAAEX,cAAcL;YAC3CM,MAAMG,KAAK,CAACS,cAAK,CAACJ,IAAI,CAAC,MAAMd,UAAUH,MAAMF;YAC7CW,MAAMG,KAAK,CAACU,cAAK,CAACL,IAAI,CAAC,MAAMd,UAAUH,MAAMF;YAC7CW,MAAMG,KAAK,CAACW,eAAM,CAACN,IAAI,CAAC,MAAMd,UAAUH,MAAMF;YAC9C,OAAOW,MAAMe,KAAK,CAACzB;QACrB,EAAE,OAAOe,KAAK;YACZ,OAAOf,SAASe;QAClB;IACF;IAEA,OAAO,IAAIW,QAAQ,SAASC,cAAcC,OAAO,EAAEC,MAAM;QACvD5B,KAAKJ,MAAM,CAACC,MAAMC,SAAS,SAAS+B,eAAef,GAAG,EAAEgB,IAAI;YAC1DhB,MAAMc,OAAOd,OAAOa,QAAQG;QAC9B;IACF;AACF;AAEA9C,UAAUW,SAAS,CAACoC,OAAO,GAAG,SAASA,WAAW"}
|
|
@@ -1,22 +1,35 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
var
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return SymbolicLinkEntry;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
12
|
+
var _gracefulfs = /*#__PURE__*/ _interop_require_default(require("graceful-fs"));
|
|
13
|
+
var _isabsolute = /*#__PURE__*/ _interop_require_default(require("is-absolute"));
|
|
14
|
+
var _mkpath = /*#__PURE__*/ _interop_require_default(require("mkpath"));
|
|
15
|
+
var _queuecb = /*#__PURE__*/ _interop_require_default(require("queue-cb"));
|
|
16
|
+
var _rimraf = /*#__PURE__*/ _interop_require_default(require("rimraf"));
|
|
17
|
+
var _chmod = /*#__PURE__*/ _interop_require_default(require("./fs/chmod.js"));
|
|
18
|
+
var _chown = /*#__PURE__*/ _interop_require_default(require("./fs/chown.js"));
|
|
19
|
+
var _lstatReal = /*#__PURE__*/ _interop_require_default(require("./fs/lstatReal.js"));
|
|
20
|
+
var _utimes = /*#__PURE__*/ _interop_require_default(require("./fs/utimes.js"));
|
|
21
|
+
var _stripPath = /*#__PURE__*/ _interop_require_default(require("./stripPath.js"));
|
|
22
|
+
var _validateAttributes = /*#__PURE__*/ _interop_require_default(require("./validateAttributes.js"));
|
|
23
|
+
function _interop_require_default(obj) {
|
|
24
|
+
return obj && obj.__esModule ? obj : {
|
|
25
|
+
default: obj
|
|
26
|
+
};
|
|
27
|
+
}
|
|
15
28
|
function symlinkWin32(linkFullPath, linkpath, fullPath, callback) {
|
|
16
|
-
|
|
29
|
+
(0, _lstatReal.default)(linkFullPath, function(err, targetStat) {
|
|
17
30
|
if (err || !targetStat) return callback(err || new Error("Symlink path does not exist".concat(linkFullPath)));
|
|
18
31
|
var type = targetStat.isDirectory() ? "dir" : "file";
|
|
19
|
-
|
|
32
|
+
_gracefulfs.default.symlink(linkpath, fullPath, type, callback);
|
|
20
33
|
});
|
|
21
34
|
}
|
|
22
35
|
var isWindows = process.platform === "win32";
|
|
@@ -27,9 +40,9 @@ var MANDATORY_ATTRIBUTES = [
|
|
|
27
40
|
"linkpath"
|
|
28
41
|
];
|
|
29
42
|
function SymbolicLinkEntry(attributes) {
|
|
30
|
-
|
|
31
|
-
assign(this, attributes);
|
|
32
|
-
if (this.basename === undefined) this.basename =
|
|
43
|
+
(0, _validateAttributes.default)(attributes, MANDATORY_ATTRIBUTES);
|
|
44
|
+
Object.assign(this, attributes);
|
|
45
|
+
if (this.basename === undefined) this.basename = _path.default.basename(this.path);
|
|
33
46
|
if (this.type === undefined) this.type = "symlink";
|
|
34
47
|
}
|
|
35
48
|
SymbolicLinkEntry.prototype.create = function create(dest, options, callback) {
|
|
@@ -41,29 +54,29 @@ SymbolicLinkEntry.prototype.create = function create(dest, options, callback) {
|
|
|
41
54
|
if (typeof callback === "function") {
|
|
42
55
|
options = options || {};
|
|
43
56
|
try {
|
|
44
|
-
var normalizedPath =
|
|
45
|
-
var fullPath =
|
|
46
|
-
var normalizedLinkpath =
|
|
47
|
-
var linkFullPath =
|
|
48
|
-
if (!
|
|
49
|
-
var linkRelativePath =
|
|
50
|
-
linkFullPath =
|
|
51
|
-
normalizedLinkpath =
|
|
57
|
+
var normalizedPath = _path.default.normalize(self.path);
|
|
58
|
+
var fullPath = _path.default.join(dest, (0, _stripPath.default)(normalizedPath, options));
|
|
59
|
+
var normalizedLinkpath = _path.default.normalize(self.linkpath);
|
|
60
|
+
var linkFullPath = _path.default.join(dest, (0, _stripPath.default)(normalizedLinkpath, options));
|
|
61
|
+
if (!(0, _isabsolute.default)(normalizedLinkpath)) {
|
|
62
|
+
var linkRelativePath = _path.default.join(_path.default.dirname(normalizedPath), self.linkpath);
|
|
63
|
+
linkFullPath = _path.default.join(dest, (0, _stripPath.default)(linkRelativePath, options));
|
|
64
|
+
normalizedLinkpath = _path.default.relative(_path.default.dirname(fullPath), linkFullPath);
|
|
52
65
|
}
|
|
53
|
-
var queue = new
|
|
66
|
+
var queue = new _queuecb.default(1);
|
|
54
67
|
if (options.force) {
|
|
55
68
|
queue.defer(function(callback) {
|
|
56
|
-
|
|
69
|
+
(0, _rimraf.default)(fullPath, function(err) {
|
|
57
70
|
err && err.code !== "ENOENT" ? callback(err) : callback();
|
|
58
71
|
});
|
|
59
72
|
});
|
|
60
73
|
}
|
|
61
|
-
queue.defer(
|
|
74
|
+
queue.defer(_mkpath.default.bind(null, _path.default.dirname(fullPath)));
|
|
62
75
|
if (isWindows) queue.defer(symlinkWin32.bind(null, linkFullPath, normalizedLinkpath, fullPath));
|
|
63
|
-
else queue.defer(
|
|
64
|
-
queue.defer(
|
|
65
|
-
queue.defer(
|
|
66
|
-
queue.defer(
|
|
76
|
+
else queue.defer(_gracefulfs.default.symlink.bind(_gracefulfs.default, normalizedLinkpath, fullPath));
|
|
77
|
+
queue.defer(_chmod.default.bind(null, fullPath, self, options));
|
|
78
|
+
queue.defer(_chown.default.bind(null, fullPath, self, options));
|
|
79
|
+
queue.defer(_utimes.default.bind(null, fullPath, self, options));
|
|
67
80
|
return queue.await(callback);
|
|
68
81
|
} catch (err) {
|
|
69
82
|
return callback(err);
|
|
@@ -76,10 +89,4 @@ SymbolicLinkEntry.prototype.create = function create(dest, options, callback) {
|
|
|
76
89
|
});
|
|
77
90
|
};
|
|
78
91
|
SymbolicLinkEntry.prototype.destroy = function destroy() {};
|
|
79
|
-
module.exports =
|
|
80
|
-
|
|
81
|
-
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
|
|
82
|
-
Object.defineProperty(exports.default, '__esModule', { value: true });
|
|
83
|
-
for (var key in exports) exports.default[key] = exports[key];
|
|
84
|
-
module.exports = exports.default;
|
|
85
|
-
}
|
|
92
|
+
/* CJS INTEROP */ if (exports.__esModule && exports.default) { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) exports.default[key] = exports[key]; module.exports = exports.default; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["SymbolicLinkEntry.
|
|
1
|
+
{"version":3,"sources":["SymbolicLinkEntry.mjs"],"sourcesContent":["import path from 'path';\nimport fs from 'graceful-fs';\nimport isAbsolute from 'is-absolute';\nimport mkpath from 'mkpath';\nimport Queue from 'queue-cb';\nimport rimraf from 'rimraf';\n\nimport chmod from './fs/chmod.mjs';\nimport chown from './fs/chown.mjs';\nimport lstatReal from './fs/lstatReal.mjs';\nimport utimes from './fs/utimes.mjs';\nimport stripPath from './stripPath.mjs';\nimport validateAttributes from './validateAttributes.mjs';\n\nfunction symlinkWin32(linkFullPath, linkpath, fullPath, callback) {\n lstatReal(linkFullPath, (err, targetStat) => {\n if (err || !targetStat) return callback(err || new Error(`Symlink path does not exist${linkFullPath}`));\n const type = targetStat.isDirectory() ? 'dir' : 'file';\n fs.symlink(linkpath, fullPath, type, callback);\n });\n}\nconst isWindows = process.platform === 'win32';\n\nconst MANDATORY_ATTRIBUTES = ['mode', 'mtime', 'path', 'linkpath'];\n\nexport default function SymbolicLinkEntry(attributes) {\n validateAttributes(attributes, MANDATORY_ATTRIBUTES);\n Object.assign(this, attributes);\n if (this.basename === undefined) this.basename = path.basename(this.path);\n if (this.type === undefined) this.type = 'symlink';\n}\n\nSymbolicLinkEntry.prototype.create = function create(dest, options, callback) {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n\n const self = this;\n if (typeof callback === 'function') {\n options = options || {};\n try {\n const normalizedPath = path.normalize(self.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, options));\n let normalizedLinkpath = path.normalize(self.linkpath);\n let linkFullPath = path.join(dest, stripPath(normalizedLinkpath, options));\n if (!isAbsolute(normalizedLinkpath)) {\n const linkRelativePath = path.join(path.dirname(normalizedPath), self.linkpath);\n linkFullPath = path.join(dest, stripPath(linkRelativePath, options));\n normalizedLinkpath = path.relative(path.dirname(fullPath), linkFullPath);\n }\n\n const queue = new Queue(1);\n if (options.force) {\n queue.defer((callback) => {\n rimraf(fullPath, (err) => {\n err && err.code !== 'ENOENT' ? callback(err) : callback();\n });\n });\n }\n queue.defer(mkpath.bind(null, path.dirname(fullPath)));\n if (isWindows) queue.defer(symlinkWin32.bind(null, linkFullPath, normalizedLinkpath, fullPath));\n else queue.defer(fs.symlink.bind(fs, normalizedLinkpath, fullPath));\n queue.defer(chmod.bind(null, fullPath, self, options));\n queue.defer(chown.bind(null, fullPath, self, options));\n queue.defer(utimes.bind(null, fullPath, self, options));\n return queue.await(callback);\n } catch (err) {\n return callback(err);\n }\n }\n\n return new Promise(function createPromise(resolve, reject) {\n self.create(dest, options, function createCallback(err, done) {\n err ? reject(err) : resolve(done);\n });\n });\n};\n\nSymbolicLinkEntry.prototype.destroy = function destroy() {};\n"],"names":["SymbolicLinkEntry","symlinkWin32","linkFullPath","linkpath","fullPath","callback","lstatReal","err","targetStat","Error","type","isDirectory","fs","symlink","isWindows","process","platform","MANDATORY_ATTRIBUTES","attributes","validateAttributes","Object","assign","basename","undefined","path","prototype","create","dest","options","self","normalizedPath","normalize","join","stripPath","normalizedLinkpath","isAbsolute","linkRelativePath","dirname","relative","queue","Queue","force","defer","rimraf","code","mkpath","bind","chmod","chown","utimes","await","Promise","createPromise","resolve","reject","createCallback","done","destroy"],"mappings":"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"}
|
package/dist/cjs/fs/chmod.js
CHANGED
|
@@ -1,13 +1,27 @@
|
|
|
1
1
|
// adapted from https://github.com/mafintosh/tar-fs
|
|
2
2
|
"use strict";
|
|
3
|
-
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "default", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function() {
|
|
9
|
+
return chmodFn;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _gracefulfs = /*#__PURE__*/ _interop_require_default(require("graceful-fs"));
|
|
13
|
+
function _interop_require_default(obj) {
|
|
14
|
+
return obj && obj.__esModule ? obj : {
|
|
15
|
+
default: obj
|
|
16
|
+
};
|
|
17
|
+
}
|
|
4
18
|
var UMASK = process.umask ? process.umask() : null;
|
|
5
19
|
var DMODE = parseInt(755, 8);
|
|
6
20
|
var FMODE = parseInt(644, 8);
|
|
7
21
|
var SMODE = parseInt(755, 8);
|
|
8
22
|
var LMODE = parseInt(644, 8);
|
|
9
|
-
|
|
10
|
-
var chmod = entry.type === "symlink" ?
|
|
23
|
+
function chmodFn(fullPath, entry, _options, callback) {
|
|
24
|
+
var chmod = entry.type === "symlink" ? _gracefulfs.default.lchmod : _gracefulfs.default.chmod;
|
|
11
25
|
if (!chmod || UMASK === null) return callback();
|
|
12
26
|
var mode = entry.mode;
|
|
13
27
|
if (!mode) {
|
|
@@ -27,10 +41,5 @@ module.exports = function chmodFn(fullPath, entry, _options, callback) {
|
|
|
27
41
|
}
|
|
28
42
|
}
|
|
29
43
|
chmod(fullPath, mode & ~UMASK, callback);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
|
|
33
|
-
Object.defineProperty(exports.default, '__esModule', { value: true });
|
|
34
|
-
for (var key in exports) exports.default[key] = exports[key];
|
|
35
|
-
module.exports = exports.default;
|
|
36
|
-
}
|
|
44
|
+
}
|
|
45
|
+
/* CJS INTEROP */ if (exports.__esModule && exports.default) { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) exports.default[key] = exports[key]; module.exports = exports.default; }
|
package/dist/cjs/fs/chmod.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["chmod.
|
|
1
|
+
{"version":3,"sources":["chmod.mjs"],"sourcesContent":["// adapted from https://github.com/mafintosh/tar-fs\n\nimport fs from 'graceful-fs';\n\nconst UMASK = process.umask ? process.umask() : null;\nconst DMODE = parseInt(755, 8);\nconst FMODE = parseInt(644, 8);\nconst SMODE = parseInt(755, 8);\nconst LMODE = parseInt(644, 8);\n\nexport default function chmodFn(fullPath, entry, _options, callback) {\n const chmod = entry.type === 'symlink' ? fs.lchmod : fs.chmod;\n if (!chmod || UMASK === null) return callback();\n\n let mode = entry.mode;\n if (!mode) {\n switch (entry.type) {\n case 'directory':\n mode = DMODE;\n break;\n case 'file':\n mode = FMODE;\n break;\n case 'symlink':\n mode = SMODE;\n break;\n case 'link':\n mode = LMODE;\n break;\n }\n }\n chmod(fullPath, mode & ~UMASK, callback);\n}\n"],"names":["chmodFn","UMASK","process","umask","DMODE","parseInt","FMODE","SMODE","LMODE","fullPath","entry","_options","callback","chmod","type","fs","lchmod","mode"],"mappings":"AAAA,mDAAmD;;;;;+BAUnD;;;eAAwBA;;;iEART;;;;;;AAEf,IAAMC,QAAQC,QAAQC,KAAK,GAAGD,QAAQC,KAAK,KAAK;AAChD,IAAMC,QAAQC,SAAS,KAAK;AAC5B,IAAMC,QAAQD,SAAS,KAAK;AAC5B,IAAME,QAAQF,SAAS,KAAK;AAC5B,IAAMG,QAAQH,SAAS,KAAK;AAEb,SAASL,QAAQS,QAAQ,EAAEC,KAAK,EAAEC,QAAQ,EAAEC,QAAQ;IACjE,IAAMC,QAAQH,MAAMI,IAAI,KAAK,YAAYC,mBAAE,CAACC,MAAM,GAAGD,mBAAE,CAACF,KAAK;IAC7D,IAAI,CAACA,SAASZ,UAAU,MAAM,OAAOW;IAErC,IAAIK,OAAOP,MAAMO,IAAI;IACrB,IAAI,CAACA,MAAM;QACT,OAAQP,MAAMI,IAAI;YAChB,KAAK;gBACHG,OAAOb;gBACP;YACF,KAAK;gBACHa,OAAOX;gBACP;YACF,KAAK;gBACHW,OAAOV;gBACP;YACF,KAAK;gBACHU,OAAOT;gBACP;QACJ;IACF;IACAK,MAAMJ,UAAUQ,OAAO,CAAChB,OAAOW;AACjC"}
|