extract-base-iterator 2.0.0 → 2.0.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/cjs/DirectoryEntry.js +1 -1
- package/dist/cjs/DirectoryEntry.js.map +1 -1
- package/dist/cjs/FileEntry.js +1 -1
- package/dist/cjs/FileEntry.js.map +1 -1
- package/dist/cjs/LinkEntry.js +1 -1
- package/dist/cjs/LinkEntry.js.map +1 -1
- package/dist/cjs/SymbolicLinkEntry.js +1 -1
- package/dist/cjs/SymbolicLinkEntry.js.map +1 -1
- package/dist/cjs/fs/chmod.js.map +1 -1
- package/dist/cjs/fs/lstatReal.d.cts +1 -1
- package/dist/cjs/fs/lstatReal.d.ts +1 -1
- package/dist/cjs/fs/lstatReal.js.map +1 -1
- package/dist/cjs/fs/symlinkWin32.js.map +1 -1
- package/dist/cjs/fs/utimes.js.map +1 -1
- package/dist/cjs/index.d.cts +2 -2
- package/dist/cjs/index.d.ts +2 -2
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/stripPath.js +1 -1
- package/dist/cjs/stripPath.js.map +1 -1
- package/dist/esm/DirectoryEntry.js +1 -1
- package/dist/esm/DirectoryEntry.js.map +1 -1
- package/dist/esm/FileEntry.js +1 -1
- package/dist/esm/FileEntry.js.map +1 -1
- package/dist/esm/LinkEntry.js +1 -1
- package/dist/esm/LinkEntry.js.map +1 -1
- package/dist/esm/SymbolicLinkEntry.js +1 -1
- package/dist/esm/SymbolicLinkEntry.js.map +1 -1
- package/dist/esm/fs/chmod.js.map +1 -1
- package/dist/esm/fs/lstatReal.d.ts +1 -1
- package/dist/esm/fs/lstatReal.js.map +1 -1
- package/dist/esm/fs/symlinkWin32.js.map +1 -1
- package/dist/esm/fs/utimes.js.map +1 -1
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/stripPath.js +1 -1
- package/dist/esm/stripPath.js.map +1 -1
- package/package.json +6 -6
|
@@ -8,9 +8,9 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return DirectoryEntry;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
12
11
|
var _mkdirpclassic = /*#__PURE__*/ _interop_require_default(require("mkdirp-classic"));
|
|
13
12
|
var _objectassign = /*#__PURE__*/ _interop_require_default(require("object-assign"));
|
|
13
|
+
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
14
14
|
var _queuecb = /*#__PURE__*/ _interop_require_default(require("queue-cb"));
|
|
15
15
|
var _chmod = /*#__PURE__*/ _interop_require_default(require("./fs/chmod.js"));
|
|
16
16
|
var _chown = /*#__PURE__*/ _interop_require_default(require("./fs/chown.js"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/DirectoryEntry.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/DirectoryEntry.ts"],"sourcesContent":["import mkdirp from 'mkdirp-classic';\nimport objectAssign from 'object-assign';\nimport path from 'path';\nimport Queue from 'queue-cb';\n\nimport chmod from './fs/chmod.js';\nimport chown from './fs/chown.js';\nimport utimes from './fs/utimes.js';\nimport stripPath from './stripPath.js';\nimport validateAttributes from './validateAttributes.js';\n\nconst MANDATORY_ATTRIBUTES = ['mode', 'mtime', 'path'];\n\nimport type { Mode } from 'fs';\nimport type { DirectoryAttributes, ExtractOptions, NoParamCallback } from './types.js';\n\nexport default class DirectoryEntry {\n mode: Mode;\n mtime: number;\n path: string;\n basename: string;\n type: string;\n\n constructor(attributes: DirectoryAttributes) {\n validateAttributes(attributes, MANDATORY_ATTRIBUTES);\n objectAssign(this, attributes);\n if (this.type === undefined) this.type = 'directory';\n if (this.basename === undefined) this.basename = path.basename(this.path);\n }\n\n create(dest: string, options: ExtractOptions | NoParamCallback, callback?: NoParamCallback): undefined | Promise<boolean> {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n\n if (typeof callback === 'function') {\n options = options || {};\n try {\n const normalizedPath = path.normalize(this.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, options as ExtractOptions));\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(mkdirp.bind(null, fullPath));\n queue.defer(chmod.bind(null, fullPath, this, options));\n queue.defer(chown.bind(null, fullPath, this, options));\n queue.defer(utimes.bind(null, fullPath, this, options));\n queue.await(callback);\n return;\n } catch (err) {\n callback(err);\n return;\n }\n }\n\n return new Promise((resolve, reject) => {\n this.create(dest, options, (err?: Error, done?: boolean) => (err ? reject(err) : resolve(done)));\n });\n }\n\n destroy() {}\n}\n"],"names":["DirectoryEntry","MANDATORY_ATTRIBUTES","attributes","validateAttributes","objectAssign","type","undefined","basename","path","create","dest","options","callback","normalizedPath","normalize","fullPath","join","stripPath","queue","Queue","defer","mkdirp","bind","chmod","chown","utimes","await","err","Promise","resolve","reject","done","destroy"],"mappings":";;;;;;;eAgBqBA;;;oEAhBF;mEACM;2DACR;8DACC;4DAEA;4DACA;6DACC;gEACG;yEACS;;;;;;;;;;;AAE/B,IAAMC,uBAAuB;IAAC;IAAQ;IAAS;CAAO;AAKvC,IAAA,AAAMD,+BAAN;;aAAMA,eAOPE,UAA+B;gCAPxBF;QAQjBG,IAAAA,2BAAkB,EAACD,YAAYD;QAC/BG,IAAAA,qBAAY,EAAC,IAAI,EAAEF;QACnB,IAAI,IAAI,CAACG,IAAI,KAAKC,WAAW,IAAI,CAACD,IAAI,GAAG;QACzC,IAAI,IAAI,CAACE,QAAQ,KAAKD,WAAW,IAAI,CAACC,QAAQ,GAAGC,aAAI,CAACD,QAAQ,CAAC,IAAI,CAACC,IAAI;;iBAXvDR;IAcnBS,OAAAA,MA6BC,GA7BDA,SAAAA,OAAOC,IAAY,EAAEC,OAAyC,EAAEC,QAA0B;;QACxF,IAAI,OAAOD,YAAY,YAAY;YACjCC,WAAWD;YACXA,UAAU;QACZ;QAEA,IAAI,OAAOC,aAAa,YAAY;YAClCD,UAAUA,WAAW,CAAC;YACtB,IAAI;gBACF,IAAME,iBAAiBL,aAAI,CAACM,SAAS,CAAC,IAAI,CAACN,IAAI;gBAC/C,IAAMO,WAAWP,aAAI,CAACQ,IAAI,CAACN,MAAMO,IAAAA,kBAAS,EAACJ,gBAAgBF;gBAE3D,iFAAiF;gBACjF,IAAMO,QAAQ,IAAIC,gBAAK,CAAC;gBACxBD,MAAME,KAAK,CAACC,sBAAM,CAACC,IAAI,CAAC,MAAMP;gBAC9BG,MAAME,KAAK,CAACG,cAAK,CAACD,IAAI,CAAC,MAAMP,UAAU,IAAI,EAAEJ;gBAC7CO,MAAME,KAAK,CAACI,cAAK,CAACF,IAAI,CAAC,MAAMP,UAAU,IAAI,EAAEJ;gBAC7CO,MAAME,KAAK,CAACK,eAAM,CAACH,IAAI,CAAC,MAAMP,UAAU,IAAI,EAAEJ;gBAC9CO,MAAMQ,KAAK,CAACd;gBACZ;YACF,EAAE,OAAOe,KAAK;gBACZf,SAASe;gBACT;YACF;QACF;QAEA,OAAO,IAAIC,QAAQ,SAACC,SAASC;YAC3B,MAAKrB,MAAM,CAACC,MAAMC,SAAS,SAACgB,KAAaI;uBAAoBJ,MAAMG,OAAOH,OAAOE,QAAQE;;QAC3F;IACF;IAEAC,OAAAA,OAAY,GAAZA,SAAAA,WAAW;WA7CQhC"}
|
package/dist/cjs/FileEntry.js
CHANGED
|
@@ -8,9 +8,9 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return FileEntry;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
12
11
|
var _mkdirpclassic = /*#__PURE__*/ _interop_require_default(require("mkdirp-classic"));
|
|
13
12
|
var _objectassign = /*#__PURE__*/ _interop_require_default(require("object-assign"));
|
|
13
|
+
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
14
14
|
var _queuecb = /*#__PURE__*/ _interop_require_default(require("queue-cb"));
|
|
15
15
|
var _rimraf2 = /*#__PURE__*/ _interop_require_default(require("rimraf2"));
|
|
16
16
|
var _chmod = /*#__PURE__*/ _interop_require_default(require("./fs/chmod.js"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/FileEntry.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/FileEntry.ts"],"sourcesContent":["import mkdirp from 'mkdirp-classic';\nimport objectAssign from 'object-assign';\nimport path from 'path';\nimport Queue from 'queue-cb';\n\nimport rimraf2 from 'rimraf2';\nimport chmod from './fs/chmod.js';\nimport chown from './fs/chown.js';\nimport utimes from './fs/utimes.js';\nimport stripPath from './stripPath.js';\nimport validateAttributes from './validateAttributes.js';\n\nconst MANDATORY_ATTRIBUTES = ['mode', 'mtime', 'path'];\n\nimport type { Mode } from 'fs';\nimport type { ExtractOptions, FileAttributes, NoParamCallback, WriteFileFn } from './types.js';\n\ninterface AbstractFileEntry {\n _writeFile: WriteFileFn;\n}\n\nexport default class FileEntry {\n mode: Mode;\n mtime: number;\n path: string;\n basename: string;\n type: string;\n\n constructor(attributes: FileAttributes) {\n validateAttributes(attributes, MANDATORY_ATTRIBUTES);\n objectAssign(this, attributes);\n if (this.basename === undefined) this.basename = path.basename(this.path);\n if (this.type === undefined) this.type = 'file';\n if ((this as unknown as AbstractFileEntry)._writeFile === undefined) throw new Error('File this missing _writeFile. Please implement this method in your subclass');\n }\n\n create(dest: string, options: ExtractOptions | NoParamCallback, callback?: NoParamCallback): undefined | Promise<boolean> {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n\n if (typeof callback === 'function') {\n options = options || {};\n try {\n const normalizedPath = path.normalize(this.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, options as ExtractOptions));\n\n const queue = new Queue(1);\n if ((options as ExtractOptions).force) {\n queue.defer((callback) => {\n rimraf2(fullPath, { disableGlob: true }, (err) => {\n err && err.code !== 'ENOENT' ? callback(err) : callback();\n });\n });\n }\n queue.defer(mkdirp.bind(null, path.dirname(fullPath)));\n queue.defer((this as unknown as AbstractFileEntry)._writeFile.bind(this, fullPath, options));\n queue.defer(chmod.bind(null, fullPath, this, options));\n queue.defer(chown.bind(null, fullPath, this, options));\n queue.defer(utimes.bind(null, fullPath, this, options));\n queue.await(callback);\n return;\n } catch (err) {\n callback(err);\n return;\n }\n }\n\n return new Promise((resolve, reject) => {\n this.create(dest, options, (err?: Error, done?: boolean) => (err ? reject(err) : resolve(done)));\n });\n }\n\n destroy() {}\n}\n"],"names":["FileEntry","MANDATORY_ATTRIBUTES","attributes","validateAttributes","objectAssign","basename","undefined","path","type","_writeFile","Error","create","dest","options","callback","normalizedPath","normalize","fullPath","join","stripPath","queue","Queue","force","defer","rimraf2","disableGlob","err","code","mkdirp","bind","dirname","chmod","chown","utimes","await","Promise","resolve","reject","done","destroy"],"mappings":";;;;;;;eAqBqBA;;;oEArBF;mEACM;2DACR;8DACC;8DAEE;4DACF;4DACA;6DACC;gEACG;yEACS;;;;;;;;;;;AAE/B,IAAMC,uBAAuB;IAAC;IAAQ;IAAS;CAAO;AASvC,IAAA,AAAMD,0BAAN;;aAAMA,UAOPE,UAA0B;gCAPnBF;QAQjBG,IAAAA,2BAAkB,EAACD,YAAYD;QAC/BG,IAAAA,qBAAY,EAAC,IAAI,EAAEF;QACnB,IAAI,IAAI,CAACG,QAAQ,KAAKC,WAAW,IAAI,CAACD,QAAQ,GAAGE,aAAI,CAACF,QAAQ,CAAC,IAAI,CAACE,IAAI;QACxE,IAAI,IAAI,CAACC,IAAI,KAAKF,WAAW,IAAI,CAACE,IAAI,GAAG;QACzC,IAAI,AAAC,IAAI,CAAkCC,UAAU,KAAKH,WAAW,MAAM,IAAII,MAAM;;iBAZpEV;IAenBW,OAAAA,MAoCC,GApCDA,SAAAA,OAAOC,IAAY,EAAEC,OAAyC,EAAEC,QAA0B;;QACxF,IAAI,OAAOD,YAAY,YAAY;YACjCC,WAAWD;YACXA,UAAU;QACZ;QAEA,IAAI,OAAOC,aAAa,YAAY;YAClCD,UAAUA,WAAW,CAAC;YACtB,IAAI;gBACF,IAAME,iBAAiBR,aAAI,CAACS,SAAS,CAAC,IAAI,CAACT,IAAI;gBAC/C,IAAMU,WAAWV,aAAI,CAACW,IAAI,CAACN,MAAMO,IAAAA,kBAAS,EAACJ,gBAAgBF;gBAE3D,IAAMO,QAAQ,IAAIC,gBAAK,CAAC;gBACxB,IAAI,AAACR,QAA2BS,KAAK,EAAE;oBACrCF,MAAMG,KAAK,CAAC,SAACT;wBACXU,IAAAA,gBAAO,EAACP,UAAU;4BAAEQ,aAAa;wBAAK,GAAG,SAACC;4BACxCA,OAAOA,IAAIC,IAAI,KAAK,WAAWb,SAASY,OAAOZ;wBACjD;oBACF;gBACF;gBACAM,MAAMG,KAAK,CAACK,sBAAM,CAACC,IAAI,CAAC,MAAMtB,aAAI,CAACuB,OAAO,CAACb;gBAC3CG,MAAMG,KAAK,CAAC,AAAC,IAAI,CAAkCd,UAAU,CAACoB,IAAI,CAAC,IAAI,EAAEZ,UAAUJ;gBACnFO,MAAMG,KAAK,CAACQ,cAAK,CAACF,IAAI,CAAC,MAAMZ,UAAU,IAAI,EAAEJ;gBAC7CO,MAAMG,KAAK,CAACS,cAAK,CAACH,IAAI,CAAC,MAAMZ,UAAU,IAAI,EAAEJ;gBAC7CO,MAAMG,KAAK,CAACU,eAAM,CAACJ,IAAI,CAAC,MAAMZ,UAAU,IAAI,EAAEJ;gBAC9CO,MAAMc,KAAK,CAACpB;gBACZ;YACF,EAAE,OAAOY,KAAK;gBACZZ,SAASY;gBACT;YACF;QACF;QAEA,OAAO,IAAIS,QAAQ,SAACC,SAASC;YAC3B,MAAK1B,MAAM,CAACC,MAAMC,SAAS,SAACa,KAAaY;uBAAoBZ,MAAMW,OAAOX,OAAOU,QAAQE;;QAC3F;IACF;IAEAC,OAAAA,OAAY,GAAZA,SAAAA,WAAW;WArDQvC"}
|
package/dist/cjs/LinkEntry.js
CHANGED
|
@@ -8,10 +8,10 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return LinkEntry;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
12
11
|
var _gracefulfs = /*#__PURE__*/ _interop_require_default(require("graceful-fs"));
|
|
13
12
|
var _mkdirpclassic = /*#__PURE__*/ _interop_require_default(require("mkdirp-classic"));
|
|
14
13
|
var _objectassign = /*#__PURE__*/ _interop_require_default(require("object-assign"));
|
|
14
|
+
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
15
15
|
var _queuecb = /*#__PURE__*/ _interop_require_default(require("queue-cb"));
|
|
16
16
|
var _rimraf2 = /*#__PURE__*/ _interop_require_default(require("rimraf2"));
|
|
17
17
|
var _chmod = /*#__PURE__*/ _interop_require_default(require("./fs/chmod.js"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/LinkEntry.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/LinkEntry.ts"],"sourcesContent":["import fs from 'graceful-fs';\nimport mkdirp from 'mkdirp-classic';\nimport objectAssign from 'object-assign';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport rimraf2 from 'rimraf2';\n\nimport chmod from './fs/chmod.js';\nimport chown from './fs/chown.js';\nimport utimes from './fs/utimes.js';\nimport stripPath from './stripPath.js';\nimport validateAttributes from './validateAttributes.js';\n\nconst MANDATORY_ATTRIBUTES = ['mode', 'mtime', 'path', 'linkpath'];\n\nimport type { Mode } from 'fs';\nimport type { ExtractOptions, LinkAttributes, NoParamCallback } from './types.js';\n\nexport default class LinkEntry {\n mode: Mode;\n mtime: number;\n path: string;\n linkpath: string;\n basename: string;\n type: string;\n\n constructor(attributes: LinkAttributes) {\n validateAttributes(attributes, MANDATORY_ATTRIBUTES);\n objectAssign(this, attributes);\n if (this.basename === undefined) this.basename = path.basename(this.path);\n if (this.type === undefined) this.type = 'link';\n }\n\n create(dest: string, options: ExtractOptions | NoParamCallback, callback?: NoParamCallback): undefined | Promise<boolean> {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n\n if (typeof callback === 'function') {\n options = options || {};\n try {\n const normalizedPath = path.normalize(this.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, options as ExtractOptions));\n const normalizedLinkpath = path.normalize(this.linkpath);\n const linkFullPath = path.join(dest, stripPath(normalizedLinkpath, options as ExtractOptions));\n\n const queue = new Queue(1);\n if ((options as ExtractOptions).force) {\n queue.defer((callback) => {\n rimraf2(fullPath, { disableGlob: true }, (err) => {\n err && err.code !== 'ENOENT' ? callback(err) : callback();\n });\n });\n }\n queue.defer(mkdirp.bind(null, path.dirname(fullPath)));\n queue.defer(fs.link.bind(fs, linkFullPath, fullPath));\n queue.defer(chmod.bind(null, fullPath, this, options));\n queue.defer(chown.bind(null, fullPath, this, options));\n queue.defer(utimes.bind(null, fullPath, this, options));\n queue.await(callback);\n return;\n } catch (err) {\n callback(err);\n return;\n }\n }\n\n return new Promise((resolve, reject) => {\n this.create(dest, options, (err?: Error, done?: boolean) => (err ? reject(err) : resolve(done)));\n });\n }\n\n destroy() {}\n}\n"],"names":["LinkEntry","MANDATORY_ATTRIBUTES","attributes","validateAttributes","objectAssign","basename","undefined","path","type","create","dest","options","callback","normalizedPath","normalize","fullPath","join","stripPath","normalizedLinkpath","linkpath","linkFullPath","queue","Queue","force","defer","rimraf2","disableGlob","err","code","mkdirp","bind","dirname","fs","link","chmod","chown","utimes","await","Promise","resolve","reject","done","destroy"],"mappings":";;;;;;;eAkBqBA;;;iEAlBN;oEACI;mEACM;2DACR;8DACC;8DACE;4DAEF;4DACA;6DACC;gEACG;yEACS;;;;;;;;;;;AAE/B,IAAMC,uBAAuB;IAAC;IAAQ;IAAS;IAAQ;CAAW;AAKnD,IAAA,AAAMD,0BAAN;;aAAMA,UAQPE,UAA0B;gCARnBF;QASjBG,IAAAA,2BAAkB,EAACD,YAAYD;QAC/BG,IAAAA,qBAAY,EAAC,IAAI,EAAEF;QACnB,IAAI,IAAI,CAACG,QAAQ,KAAKC,WAAW,IAAI,CAACD,QAAQ,GAAGE,aAAI,CAACF,QAAQ,CAAC,IAAI,CAACE,IAAI;QACxE,IAAI,IAAI,CAACC,IAAI,KAAKF,WAAW,IAAI,CAACE,IAAI,GAAG;;iBAZxBR;IAenBS,OAAAA,MAsCC,GAtCDA,SAAAA,OAAOC,IAAY,EAAEC,OAAyC,EAAEC,QAA0B;;QACxF,IAAI,OAAOD,YAAY,YAAY;YACjCC,WAAWD;YACXA,UAAU;QACZ;QAEA,IAAI,OAAOC,aAAa,YAAY;YAClCD,UAAUA,WAAW,CAAC;YACtB,IAAI;gBACF,IAAME,iBAAiBN,aAAI,CAACO,SAAS,CAAC,IAAI,CAACP,IAAI;gBAC/C,IAAMQ,WAAWR,aAAI,CAACS,IAAI,CAACN,MAAMO,IAAAA,kBAAS,EAACJ,gBAAgBF;gBAC3D,IAAMO,qBAAqBX,aAAI,CAACO,SAAS,CAAC,IAAI,CAACK,QAAQ;gBACvD,IAAMC,eAAeb,aAAI,CAACS,IAAI,CAACN,MAAMO,IAAAA,kBAAS,EAACC,oBAAoBP;gBAEnE,IAAMU,QAAQ,IAAIC,gBAAK,CAAC;gBACxB,IAAI,AAACX,QAA2BY,KAAK,EAAE;oBACrCF,MAAMG,KAAK,CAAC,SAACZ;wBACXa,IAAAA,gBAAO,EAACV,UAAU;4BAAEW,aAAa;wBAAK,GAAG,SAACC;4BACxCA,OAAOA,IAAIC,IAAI,KAAK,WAAWhB,SAASe,OAAOf;wBACjD;oBACF;gBACF;gBACAS,MAAMG,KAAK,CAACK,sBAAM,CAACC,IAAI,CAAC,MAAMvB,aAAI,CAACwB,OAAO,CAAChB;gBAC3CM,MAAMG,KAAK,CAACQ,mBAAE,CAACC,IAAI,CAACH,IAAI,CAACE,mBAAE,EAAEZ,cAAcL;gBAC3CM,MAAMG,KAAK,CAACU,cAAK,CAACJ,IAAI,CAAC,MAAMf,UAAU,IAAI,EAAEJ;gBAC7CU,MAAMG,KAAK,CAACW,cAAK,CAACL,IAAI,CAAC,MAAMf,UAAU,IAAI,EAAEJ;gBAC7CU,MAAMG,KAAK,CAACY,eAAM,CAACN,IAAI,CAAC,MAAMf,UAAU,IAAI,EAAEJ;gBAC9CU,MAAMgB,KAAK,CAACzB;gBACZ;YACF,EAAE,OAAOe,KAAK;gBACZf,SAASe;gBACT;YACF;QACF;QAEA,OAAO,IAAIW,QAAQ,SAACC,SAASC;YAC3B,MAAK/B,MAAM,CAACC,MAAMC,SAAS,SAACgB,KAAac;uBAAoBd,MAAMa,OAAOb,OAAOY,QAAQE;;QAC3F;IACF;IAEAC,OAAAA,OAAY,GAAZA,SAAAA,WAAW;WAvDQ1C"}
|
|
@@ -8,11 +8,11 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return SymbolicLinkEntry;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
12
11
|
var _gracefulfs = /*#__PURE__*/ _interop_require_default(require("graceful-fs"));
|
|
13
12
|
var _isabsolute = /*#__PURE__*/ _interop_require_default(require("is-absolute"));
|
|
14
13
|
var _mkdirpclassic = /*#__PURE__*/ _interop_require_default(require("mkdirp-classic"));
|
|
15
14
|
var _objectassign = /*#__PURE__*/ _interop_require_default(require("object-assign"));
|
|
15
|
+
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
16
16
|
var _queuecb = /*#__PURE__*/ _interop_require_default(require("queue-cb"));
|
|
17
17
|
var _rimraf2 = /*#__PURE__*/ _interop_require_default(require("rimraf2"));
|
|
18
18
|
var _chmod = /*#__PURE__*/ _interop_require_default(require("./fs/chmod.js"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/SymbolicLinkEntry.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/SymbolicLinkEntry.ts"],"sourcesContent":["import fs from 'graceful-fs';\nimport isAbsolute from 'is-absolute';\nimport mkdirp from 'mkdirp-classic';\nimport objectAssign from 'object-assign';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport rimraf2 from 'rimraf2';\n\nimport chmod from './fs/chmod.js';\nimport chown from './fs/chown.js';\nimport symlinkWin32 from './fs/symlinkWin32.js';\nimport utimes from './fs/utimes.js';\nimport stripPath from './stripPath.js';\nimport validateAttributes from './validateAttributes.js';\n\nconst isWindows = process.platform === 'win32' || /^(msys|cygwin)$/.test(process.env.OSTYPE);\n\nconst MANDATORY_ATTRIBUTES = ['mode', 'mtime', 'path', 'linkpath'];\n\nimport type { Mode } from 'fs';\nimport type { ExtractOptions, LinkAttributes, NoParamCallback } from './types.js';\n\nexport default class SymbolicLinkEntry {\n mode: Mode;\n mtime: number;\n path: string;\n linkpath: string;\n basename: string;\n type: string;\n\n constructor(attributes: LinkAttributes) {\n validateAttributes(attributes, MANDATORY_ATTRIBUTES);\n objectAssign(this, attributes);\n if (this.basename === undefined) this.basename = path.basename(this.path);\n if (this.type === undefined) this.type = 'symlink';\n }\n\n create(dest: string, options: ExtractOptions | NoParamCallback, callback?: NoParamCallback): undefined | Promise<boolean> {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n\n if (typeof callback === 'function') {\n options = options || {};\n try {\n const normalizedPath = path.normalize(this.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, options as ExtractOptions));\n let normalizedLinkpath = path.normalize(this.linkpath);\n let linkFullPath = path.join(dest, stripPath(normalizedLinkpath, options as ExtractOptions));\n if (!isAbsolute(normalizedLinkpath)) {\n const linkRelativePath = path.join(path.dirname(normalizedPath), this.linkpath);\n linkFullPath = path.join(dest, stripPath(linkRelativePath, options as ExtractOptions));\n normalizedLinkpath = path.relative(path.dirname(fullPath), linkFullPath);\n }\n\n const queue = new Queue(1);\n if ((options as ExtractOptions).force) {\n queue.defer((callback) => {\n rimraf2(fullPath, { disableGlob: true }, (err) => {\n err && err.code !== 'ENOENT' ? callback(err) : callback();\n });\n });\n }\n queue.defer(mkdirp.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, this, options));\n queue.defer(chown.bind(null, fullPath, this, options));\n queue.defer(utimes.bind(null, fullPath, this, options));\n queue.await(callback);\n return;\n } catch (err) {\n callback(err);\n return;\n }\n }\n\n return new Promise((resolve, reject) => {\n this.create(dest, options, (err?: Error, done?: boolean) => (err ? reject(err) : resolve(done)));\n });\n }\n\n destroy() {}\n}\n"],"names":["SymbolicLinkEntry","isWindows","process","platform","test","env","OSTYPE","MANDATORY_ATTRIBUTES","attributes","validateAttributes","objectAssign","basename","undefined","path","type","create","dest","options","callback","normalizedPath","normalize","fullPath","join","stripPath","normalizedLinkpath","linkpath","linkFullPath","isAbsolute","linkRelativePath","dirname","relative","queue","Queue","force","defer","rimraf2","disableGlob","err","code","mkdirp","bind","symlinkWin32","fs","symlink","chmod","chown","utimes","await","Promise","resolve","reject","done","destroy"],"mappings":"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"}
|
package/dist/cjs/fs/chmod.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/fs/chmod.ts"],"sourcesContent":["// adapted from https://github.com/mafintosh/tar-fs\n\nimport
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/fs/chmod.ts"],"sourcesContent":["// adapted from https://github.com/mafintosh/tar-fs\n\nimport type { NoParamCallback } from 'fs';\nimport fs from 'graceful-fs';\nimport type { AbstractEntry, ExtractOptions } from '../types.js';\n\nconst UMASK = process.umask ? process.umask() : null;\nconst DMODE = 0o755;\nconst FMODE = 0o644;\nconst SMODE = 0o755;\nconst LMODE = 0o644;\n\nexport default function chmodFn(fullPath: string, entry: AbstractEntry, _options: ExtractOptions, callback: NoParamCallback) {\n const chmod = entry.type === 'symlink' ? fs.lchmod : fs.chmod;\n if (!chmod || UMASK === null) {\n callback(null);\n return;\n }\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 as number) & ~UMASK, callback);\n}\n"],"names":["chmodFn","UMASK","process","umask","DMODE","FMODE","SMODE","LMODE","fullPath","entry","_options","callback","chmod","type","fs","lchmod","mode"],"mappings":"AAAA,mDAAmD;;;;;+BAYnD;;;eAAwBA;;;iEATT;;;;;;AAGf,IAAMC,QAAQC,QAAQC,KAAK,GAAGD,QAAQC,KAAK,KAAK;AAChD,IAAMC,QAAQ;AACd,IAAMC,QAAQ;AACd,IAAMC,QAAQ;AACd,IAAMC,QAAQ;AAEC,SAASP,QAAQQ,QAAgB,EAAEC,KAAoB,EAAEC,QAAwB,EAAEC,QAAyB;IACzH,IAAMC,QAAQH,MAAMI,IAAI,KAAK,YAAYC,mBAAE,CAACC,MAAM,GAAGD,mBAAE,CAACF,KAAK;IAC7D,IAAI,CAACA,SAASX,UAAU,MAAM;QAC5BU,SAAS;QACT;IACF;IAEA,IAAIK,OAAOP,MAAMO,IAAI;IACrB,IAAI,CAACA,MAAM;QACT,OAAQP,MAAMI,IAAI;YAChB,KAAK;gBACHG,OAAOZ;gBACP;YACF,KAAK;gBACHY,OAAOX;gBACP;YACF,KAAK;gBACHW,OAAOV;gBACP;YACF,KAAK;gBACHU,OAAOT;gBACP;QACJ;IACF;IACAK,MAAMJ,UAAU,AAACQ,OAAkB,CAACf,OAAOU;AAC7C"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type BigIntStats, type Stats } from 'fs';
|
|
2
2
|
export type Callback = (err: NodeJS.ErrnoException | null, stats?: Stats | BigIntStats) => void;
|
|
3
3
|
export default function lstatReal(path: string, callback: Callback): undefined;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type BigIntStats, type Stats } from 'fs';
|
|
2
2
|
export type Callback = (err: NodeJS.ErrnoException | null, stats?: Stats | BigIntStats) => void;
|
|
3
3
|
export default function lstatReal(path: string, callback: Callback): undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/fs/lstatReal.ts"],"sourcesContent":["import fs, { type
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/fs/lstatReal.ts"],"sourcesContent":["import fs, { type BigIntStats, type Stats } from 'fs';\n\nexport type Callback = (err: NodeJS.ErrnoException | null, stats?: Stats | BigIntStats) => void;\n\nexport default function lstatReal(path: string, callback: Callback): undefined {\n fs.realpath(path, (err, realpath) => {\n err ? callback(err) : fs.lstat(realpath, callback);\n });\n}\n"],"names":["lstatReal","path","callback","fs","realpath","err","lstat"],"mappings":";;;;+BAIA;;;eAAwBA;;;yDAJyB;;;;;;AAIlC,SAASA,UAAUC,IAAY,EAAEC,QAAkB;IAChEC,WAAE,CAACC,QAAQ,CAACH,MAAM,SAACI,KAAKD;QACtBC,MAAMH,SAASG,OAAOF,WAAE,CAACG,KAAK,CAACF,UAAUF;IAC3C;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/fs/symlinkWin32.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/fs/symlinkWin32.ts"],"sourcesContent":["import type { NoParamCallback } from 'fs';\nimport fs from 'graceful-fs';\nimport lstatReal from './lstatReal.js';\n\nexport default function symlinkWin32(linkFullPath: string, linkpath: string, fullPath: string, callback: NoParamCallback) {\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}\n"],"names":["symlinkWin32","linkFullPath","linkpath","fullPath","callback","lstatReal","err","targetStat","Error","type","isDirectory","fs","symlink"],"mappings":";;;;+BAIA;;;eAAwBA;;;iEAHT;gEACO;;;;;;AAEP,SAASA,aAAaC,YAAoB,EAAEC,QAAgB,EAAEC,QAAgB,EAAEC,QAAyB;IACtHC,IAAAA,kBAAS,EAACJ,cAAc,SAACK,KAAKC;QAC5B,IAAID,OAAO,CAACC,YAAY,OAAOH,SAASE,OAAO,IAAIE,MAAM,AAAC,8BAA0C,OAAbP;QACvF,IAAMQ,OAAOF,WAAWG,WAAW,KAAK,QAAQ;QAChDC,mBAAE,CAACC,OAAO,CAACV,UAAUC,UAAUM,MAAML;IACvC;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/fs/utimes.ts"],"sourcesContent":["// adapted from https://github.com/mafintosh/tar-fs\n\nimport
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/fs/utimes.ts"],"sourcesContent":["// adapted from https://github.com/mafintosh/tar-fs\n\nimport type { NoParamCallback } from 'fs';\nimport fs from 'graceful-fs';\nimport type { AbstractEntry, ExtractOptions } from '../types.js';\n\nexport default function utimes(fullPath: string, entry: AbstractEntry, options: ExtractOptions, callback: NoParamCallback): undefined {\n const now = options.now || new Date();\n fs.utimes(fullPath, now, new Date(entry.mtime), callback);\n}\n"],"names":["utimes","fullPath","entry","options","callback","now","Date","fs","mtime"],"mappings":"AAAA,mDAAmD;;;;;+BAMnD;;;eAAwBA;;;iEAHT;;;;;;AAGA,SAASA,OAAOC,QAAgB,EAAEC,KAAoB,EAAEC,OAAuB,EAAEC,QAAyB;IACvH,IAAMC,MAAMF,QAAQE,GAAG,IAAI,IAAIC;IAC/BC,mBAAE,CAACP,MAAM,CAACC,UAAUI,KAAK,IAAIC,KAAKJ,MAAMM,KAAK,GAAGJ;AAClD"}
|
package/dist/cjs/index.d.cts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import './polyfills.js';
|
|
2
|
-
export { default
|
|
3
|
-
export { default as waitForAccess } from './waitForAccess.js';
|
|
2
|
+
export { default } from 'stack-base-iterator';
|
|
4
3
|
export { default as DirectoryEntry } from './DirectoryEntry.js';
|
|
5
4
|
export { default as FileEntry } from './FileEntry.js';
|
|
6
5
|
export { default as LinkEntry } from './LinkEntry.js';
|
|
7
6
|
export { default as SymbolicLinkEntry } from './SymbolicLinkEntry.js';
|
|
8
7
|
export * from './types.js';
|
|
8
|
+
export { default as waitForAccess } from './waitForAccess.js';
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import './polyfills.js';
|
|
2
|
-
export { default
|
|
3
|
-
export { default as waitForAccess } from './waitForAccess.js';
|
|
2
|
+
export { default } from 'stack-base-iterator';
|
|
4
3
|
export { default as DirectoryEntry } from './DirectoryEntry.js';
|
|
5
4
|
export { default as FileEntry } from './FileEntry.js';
|
|
6
5
|
export { default as LinkEntry } from './LinkEntry.js';
|
|
7
6
|
export { default as SymbolicLinkEntry } from './SymbolicLinkEntry.js';
|
|
8
7
|
export * from './types.js';
|
|
8
|
+
export { default as waitForAccess } from './waitForAccess.js';
|
package/dist/cjs/index.js
CHANGED
|
@@ -30,12 +30,12 @@ _export(exports, {
|
|
|
30
30
|
});
|
|
31
31
|
require("./polyfills.js");
|
|
32
32
|
var _stackbaseiterator = /*#__PURE__*/ _interop_require_default(require("stack-base-iterator"));
|
|
33
|
-
var _waitForAccess = /*#__PURE__*/ _interop_require_default(require("./waitForAccess.js"));
|
|
34
33
|
var _DirectoryEntry = /*#__PURE__*/ _interop_require_default(require("./DirectoryEntry.js"));
|
|
35
34
|
var _FileEntry = /*#__PURE__*/ _interop_require_default(require("./FileEntry.js"));
|
|
36
35
|
var _LinkEntry = /*#__PURE__*/ _interop_require_default(require("./LinkEntry.js"));
|
|
37
36
|
var _SymbolicLinkEntry = /*#__PURE__*/ _interop_require_default(require("./SymbolicLinkEntry.js"));
|
|
38
37
|
_export_star(require("./types.js"), exports);
|
|
38
|
+
var _waitForAccess = /*#__PURE__*/ _interop_require_default(require("./waitForAccess.js"));
|
|
39
39
|
function _export_star(from, to) {
|
|
40
40
|
Object.keys(from).forEach(function(k) {
|
|
41
41
|
if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/index.ts"],"sourcesContent":["import './polyfills.js';\n\nexport { default
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/index.ts"],"sourcesContent":["import './polyfills.js';\n\nexport { default } from 'stack-base-iterator';\nexport { default as DirectoryEntry } from './DirectoryEntry.js';\nexport { default as FileEntry } from './FileEntry.js';\nexport { default as LinkEntry } from './LinkEntry.js';\nexport { default as SymbolicLinkEntry } from './SymbolicLinkEntry.js';\nexport * from './types.js';\nexport { default as waitForAccess } from './waitForAccess.js';\n"],"names":["DirectoryEntry","FileEntry","LinkEntry","SymbolicLinkEntry","default","waitForAccess"],"mappings":";;;;;;;;;;;QAGoBA;eAAAA,uBAAc;;QACdC;eAAAA,kBAAS;;QACTC;eAAAA,kBAAS;;QACTC;eAAAA,0BAAiB;;QAJ5BC;eAAAA,0BAAO;;QAMIC;eAAAA,sBAAa;;;QAR1B;wEAEiB;qEACkB;gEACL;gEACA;wEACQ;qBAC/B;oEAC2B"}
|
package/dist/cjs/stripPath.js
CHANGED
|
@@ -8,8 +8,8 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return stripPath;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
12
11
|
var _lodashcompact = /*#__PURE__*/ _interop_require_default(require("lodash.compact"));
|
|
12
|
+
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
13
13
|
function _interop_require_default(obj) {
|
|
14
14
|
return obj && obj.__esModule ? obj : {
|
|
15
15
|
default: obj
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/stripPath.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/stripPath.ts"],"sourcesContent":["import compact from 'lodash.compact';\nimport path from 'path';\n\nimport type { ExtractOptions } from './types.js';\n\nexport default function stripPath(relativePath: string, options: ExtractOptions): string {\n const strip = options.strip || 0;\n if (!strip) return relativePath;\n const parts = compact(relativePath.split(path.sep));\n if (parts.length < strip) throw new Error(`You cannot strip more levels than there are directories. Strip: ${strip}. Path: ${relativePath}`);\n return parts.slice(strip).join(path.sep);\n}\n"],"names":["stripPath","relativePath","options","strip","parts","compact","split","path","sep","length","Error","slice","join"],"mappings":";;;;+BAKA;;;eAAwBA;;;oEALJ;2DACH;;;;;;AAIF,SAASA,UAAUC,YAAoB,EAAEC,OAAuB;IAC7E,IAAMC,QAAQD,QAAQC,KAAK,IAAI;IAC/B,IAAI,CAACA,OAAO,OAAOF;IACnB,IAAMG,QAAQC,IAAAA,sBAAO,EAACJ,aAAaK,KAAK,CAACC,aAAI,CAACC,GAAG;IACjD,IAAIJ,MAAMK,MAAM,GAAGN,OAAO,MAAM,IAAIO,MAAM,AAAC,mEAAkFT,OAAhBE,OAAM,YAAuB,OAAbF;IAC7H,OAAOG,MAAMO,KAAK,CAACR,OAAOS,IAAI,CAACL,aAAI,CAACC,GAAG;AACzC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/DirectoryEntry.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/DirectoryEntry.ts"],"sourcesContent":["import mkdirp from 'mkdirp-classic';\nimport objectAssign from 'object-assign';\nimport path from 'path';\nimport Queue from 'queue-cb';\n\nimport chmod from './fs/chmod.js';\nimport chown from './fs/chown.js';\nimport utimes from './fs/utimes.js';\nimport stripPath from './stripPath.js';\nimport validateAttributes from './validateAttributes.js';\n\nconst MANDATORY_ATTRIBUTES = ['mode', 'mtime', 'path'];\n\nimport type { Mode } from 'fs';\nimport type { DirectoryAttributes, ExtractOptions, NoParamCallback } from './types.js';\n\nexport default class DirectoryEntry {\n mode: Mode;\n mtime: number;\n path: string;\n basename: string;\n type: string;\n\n constructor(attributes: DirectoryAttributes) {\n validateAttributes(attributes, MANDATORY_ATTRIBUTES);\n objectAssign(this, attributes);\n if (this.type === undefined) this.type = 'directory';\n if (this.basename === undefined) this.basename = path.basename(this.path);\n }\n\n create(dest: string, options: ExtractOptions | NoParamCallback, callback?: NoParamCallback): undefined | Promise<boolean> {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n\n if (typeof callback === 'function') {\n options = options || {};\n try {\n const normalizedPath = path.normalize(this.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, options as ExtractOptions));\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(mkdirp.bind(null, fullPath));\n queue.defer(chmod.bind(null, fullPath, this, options));\n queue.defer(chown.bind(null, fullPath, this, options));\n queue.defer(utimes.bind(null, fullPath, this, options));\n queue.await(callback);\n return;\n } catch (err) {\n callback(err);\n return;\n }\n }\n\n return new Promise((resolve, reject) => {\n this.create(dest, options, (err?: Error, done?: boolean) => (err ? reject(err) : resolve(done)));\n });\n }\n\n destroy() {}\n}\n"],"names":["mkdirp","objectAssign","path","Queue","chmod","chown","utimes","stripPath","validateAttributes","MANDATORY_ATTRIBUTES","DirectoryEntry","create","dest","options","callback","normalizedPath","normalize","fullPath","join","queue","defer","bind","await","err","Promise","resolve","reject","done","destroy","attributes","type","undefined","basename"],"mappings":"AAAA,OAAOA,YAAY,iBAAiB;AACpC,OAAOC,kBAAkB,gBAAgB;AACzC,OAAOC,UAAU,OAAO;AACxB,OAAOC,WAAW,WAAW;AAE7B,OAAOC,WAAW,gBAAgB;AAClC,OAAOC,WAAW,gBAAgB;AAClC,OAAOC,YAAY,iBAAiB;AACpC,OAAOC,eAAe,iBAAiB;AACvC,OAAOC,wBAAwB,0BAA0B;AAEzD,MAAMC,uBAAuB;IAAC;IAAQ;IAAS;CAAO;AAKvC,IAAA,AAAMC,iBAAN,MAAMA;IAcnBC,OAAOC,IAAY,EAAEC,OAAyC,EAAEC,QAA0B,EAAgC;QACxH,IAAI,OAAOD,YAAY,YAAY;YACjCC,WAAWD;YACXA,UAAU;QACZ;QAEA,IAAI,OAAOC,aAAa,YAAY;YAClCD,UAAUA,WAAW,CAAC;YACtB,IAAI;gBACF,MAAME,iBAAiBb,KAAKc,SAAS,CAAC,IAAI,CAACd,IAAI;gBAC/C,MAAMe,WAAWf,KAAKgB,IAAI,CAACN,MAAML,UAAUQ,gBAAgBF;gBAE3D,iFAAiF;gBACjF,MAAMM,QAAQ,IAAIhB,MAAM;gBACxBgB,MAAMC,KAAK,CAACpB,OAAOqB,IAAI,CAAC,MAAMJ;gBAC9BE,MAAMC,KAAK,CAAChB,MAAMiB,IAAI,CAAC,MAAMJ,UAAU,IAAI,EAAEJ;gBAC7CM,MAAMC,KAAK,CAACf,MAAMgB,IAAI,CAAC,MAAMJ,UAAU,IAAI,EAAEJ;gBAC7CM,MAAMC,KAAK,CAACd,OAAOe,IAAI,CAAC,MAAMJ,UAAU,IAAI,EAAEJ;gBAC9CM,MAAMG,KAAK,CAACR;gBACZ;YACF,EAAE,OAAOS,KAAK;gBACZT,SAASS;gBACT;YACF;QACF;QAEA,OAAO,IAAIC,QAAQ,CAACC,SAASC;YAC3B,IAAI,CAACf,MAAM,CAACC,MAAMC,SAAS,CAACU,KAAaI,OAAoBJ,MAAMG,OAAOH,OAAOE,QAAQE;QAC3F;IACF;IAEAC,UAAU,CAAC;IAtCX,YAAYC,UAA+B,CAAE;QAC3CrB,mBAAmBqB,YAAYpB;QAC/BR,aAAa,IAAI,EAAE4B;QACnB,IAAI,IAAI,CAACC,IAAI,KAAKC,WAAW,IAAI,CAACD,IAAI,GAAG;QACzC,IAAI,IAAI,CAACE,QAAQ,KAAKD,WAAW,IAAI,CAACC,QAAQ,GAAG9B,KAAK8B,QAAQ,CAAC,IAAI,CAAC9B,IAAI;IAC1E;AAkCF;AA9CA,SAAqBQ,4BA8CpB"}
|
package/dist/esm/FileEntry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/FileEntry.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/FileEntry.ts"],"sourcesContent":["import mkdirp from 'mkdirp-classic';\nimport objectAssign from 'object-assign';\nimport path from 'path';\nimport Queue from 'queue-cb';\n\nimport rimraf2 from 'rimraf2';\nimport chmod from './fs/chmod.js';\nimport chown from './fs/chown.js';\nimport utimes from './fs/utimes.js';\nimport stripPath from './stripPath.js';\nimport validateAttributes from './validateAttributes.js';\n\nconst MANDATORY_ATTRIBUTES = ['mode', 'mtime', 'path'];\n\nimport type { Mode } from 'fs';\nimport type { ExtractOptions, FileAttributes, NoParamCallback, WriteFileFn } from './types.js';\n\ninterface AbstractFileEntry {\n _writeFile: WriteFileFn;\n}\n\nexport default class FileEntry {\n mode: Mode;\n mtime: number;\n path: string;\n basename: string;\n type: string;\n\n constructor(attributes: FileAttributes) {\n validateAttributes(attributes, MANDATORY_ATTRIBUTES);\n objectAssign(this, attributes);\n if (this.basename === undefined) this.basename = path.basename(this.path);\n if (this.type === undefined) this.type = 'file';\n if ((this as unknown as AbstractFileEntry)._writeFile === undefined) throw new Error('File this missing _writeFile. Please implement this method in your subclass');\n }\n\n create(dest: string, options: ExtractOptions | NoParamCallback, callback?: NoParamCallback): undefined | Promise<boolean> {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n\n if (typeof callback === 'function') {\n options = options || {};\n try {\n const normalizedPath = path.normalize(this.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, options as ExtractOptions));\n\n const queue = new Queue(1);\n if ((options as ExtractOptions).force) {\n queue.defer((callback) => {\n rimraf2(fullPath, { disableGlob: true }, (err) => {\n err && err.code !== 'ENOENT' ? callback(err) : callback();\n });\n });\n }\n queue.defer(mkdirp.bind(null, path.dirname(fullPath)));\n queue.defer((this as unknown as AbstractFileEntry)._writeFile.bind(this, fullPath, options));\n queue.defer(chmod.bind(null, fullPath, this, options));\n queue.defer(chown.bind(null, fullPath, this, options));\n queue.defer(utimes.bind(null, fullPath, this, options));\n queue.await(callback);\n return;\n } catch (err) {\n callback(err);\n return;\n }\n }\n\n return new Promise((resolve, reject) => {\n this.create(dest, options, (err?: Error, done?: boolean) => (err ? reject(err) : resolve(done)));\n });\n }\n\n destroy() {}\n}\n"],"names":["mkdirp","objectAssign","path","Queue","rimraf2","chmod","chown","utimes","stripPath","validateAttributes","MANDATORY_ATTRIBUTES","FileEntry","create","dest","options","callback","normalizedPath","normalize","fullPath","join","queue","force","defer","disableGlob","err","code","bind","dirname","_writeFile","await","Promise","resolve","reject","done","destroy","attributes","basename","undefined","type","Error"],"mappings":"AAAA,OAAOA,YAAY,iBAAiB;AACpC,OAAOC,kBAAkB,gBAAgB;AACzC,OAAOC,UAAU,OAAO;AACxB,OAAOC,WAAW,WAAW;AAE7B,OAAOC,aAAa,UAAU;AAC9B,OAAOC,WAAW,gBAAgB;AAClC,OAAOC,WAAW,gBAAgB;AAClC,OAAOC,YAAY,iBAAiB;AACpC,OAAOC,eAAe,iBAAiB;AACvC,OAAOC,wBAAwB,0BAA0B;AAEzD,MAAMC,uBAAuB;IAAC;IAAQ;IAAS;CAAO;AASvC,IAAA,AAAMC,YAAN,MAAMA;IAenBC,OAAOC,IAAY,EAAEC,OAAyC,EAAEC,QAA0B,EAAgC;QACxH,IAAI,OAAOD,YAAY,YAAY;YACjCC,WAAWD;YACXA,UAAU;QACZ;QAEA,IAAI,OAAOC,aAAa,YAAY;YAClCD,UAAUA,WAAW,CAAC;YACtB,IAAI;gBACF,MAAME,iBAAiBd,KAAKe,SAAS,CAAC,IAAI,CAACf,IAAI;gBAC/C,MAAMgB,WAAWhB,KAAKiB,IAAI,CAACN,MAAML,UAAUQ,gBAAgBF;gBAE3D,MAAMM,QAAQ,IAAIjB,MAAM;gBACxB,IAAI,AAACW,QAA2BO,KAAK,EAAE;oBACrCD,MAAME,KAAK,CAAC,CAACP;wBACXX,QAAQc,UAAU;4BAAEK,aAAa;wBAAK,GAAG,CAACC;4BACxCA,OAAOA,IAAIC,IAAI,KAAK,WAAWV,SAASS,OAAOT;wBACjD;oBACF;gBACF;gBACAK,MAAME,KAAK,CAACtB,OAAO0B,IAAI,CAAC,MAAMxB,KAAKyB,OAAO,CAACT;gBAC3CE,MAAME,KAAK,CAAC,AAAC,IAAI,CAAkCM,UAAU,CAACF,IAAI,CAAC,IAAI,EAAER,UAAUJ;gBACnFM,MAAME,KAAK,CAACjB,MAAMqB,IAAI,CAAC,MAAMR,UAAU,IAAI,EAAEJ;gBAC7CM,MAAME,KAAK,CAAChB,MAAMoB,IAAI,CAAC,MAAMR,UAAU,IAAI,EAAEJ;gBAC7CM,MAAME,KAAK,CAACf,OAAOmB,IAAI,CAAC,MAAMR,UAAU,IAAI,EAAEJ;gBAC9CM,MAAMS,KAAK,CAACd;gBACZ;YACF,EAAE,OAAOS,KAAK;gBACZT,SAASS;gBACT;YACF;QACF;QAEA,OAAO,IAAIM,QAAQ,CAACC,SAASC;YAC3B,IAAI,CAACpB,MAAM,CAACC,MAAMC,SAAS,CAACU,KAAaS,OAAoBT,MAAMQ,OAAOR,OAAOO,QAAQE;QAC3F;IACF;IAEAC,UAAU,CAAC;IA9CX,YAAYC,UAA0B,CAAE;QACtC1B,mBAAmB0B,YAAYzB;QAC/BT,aAAa,IAAI,EAAEkC;QACnB,IAAI,IAAI,CAACC,QAAQ,KAAKC,WAAW,IAAI,CAACD,QAAQ,GAAGlC,KAAKkC,QAAQ,CAAC,IAAI,CAAClC,IAAI;QACxE,IAAI,IAAI,CAACoC,IAAI,KAAKD,WAAW,IAAI,CAACC,IAAI,GAAG;QACzC,IAAI,AAAC,IAAI,CAAkCV,UAAU,KAAKS,WAAW,MAAM,IAAIE,MAAM;IACvF;AAyCF;AAtDA,SAAqB5B,uBAsDpB"}
|
package/dist/esm/LinkEntry.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import path from 'path';
|
|
2
1
|
import fs from 'graceful-fs';
|
|
3
2
|
import mkdirp from 'mkdirp-classic';
|
|
4
3
|
import objectAssign from 'object-assign';
|
|
4
|
+
import path from 'path';
|
|
5
5
|
import Queue from 'queue-cb';
|
|
6
6
|
import rimraf2 from 'rimraf2';
|
|
7
7
|
import chmod from './fs/chmod.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/LinkEntry.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/LinkEntry.ts"],"sourcesContent":["import fs from 'graceful-fs';\nimport mkdirp from 'mkdirp-classic';\nimport objectAssign from 'object-assign';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport rimraf2 from 'rimraf2';\n\nimport chmod from './fs/chmod.js';\nimport chown from './fs/chown.js';\nimport utimes from './fs/utimes.js';\nimport stripPath from './stripPath.js';\nimport validateAttributes from './validateAttributes.js';\n\nconst MANDATORY_ATTRIBUTES = ['mode', 'mtime', 'path', 'linkpath'];\n\nimport type { Mode } from 'fs';\nimport type { ExtractOptions, LinkAttributes, NoParamCallback } from './types.js';\n\nexport default class LinkEntry {\n mode: Mode;\n mtime: number;\n path: string;\n linkpath: string;\n basename: string;\n type: string;\n\n constructor(attributes: LinkAttributes) {\n validateAttributes(attributes, MANDATORY_ATTRIBUTES);\n objectAssign(this, attributes);\n if (this.basename === undefined) this.basename = path.basename(this.path);\n if (this.type === undefined) this.type = 'link';\n }\n\n create(dest: string, options: ExtractOptions | NoParamCallback, callback?: NoParamCallback): undefined | Promise<boolean> {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n\n if (typeof callback === 'function') {\n options = options || {};\n try {\n const normalizedPath = path.normalize(this.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, options as ExtractOptions));\n const normalizedLinkpath = path.normalize(this.linkpath);\n const linkFullPath = path.join(dest, stripPath(normalizedLinkpath, options as ExtractOptions));\n\n const queue = new Queue(1);\n if ((options as ExtractOptions).force) {\n queue.defer((callback) => {\n rimraf2(fullPath, { disableGlob: true }, (err) => {\n err && err.code !== 'ENOENT' ? callback(err) : callback();\n });\n });\n }\n queue.defer(mkdirp.bind(null, path.dirname(fullPath)));\n queue.defer(fs.link.bind(fs, linkFullPath, fullPath));\n queue.defer(chmod.bind(null, fullPath, this, options));\n queue.defer(chown.bind(null, fullPath, this, options));\n queue.defer(utimes.bind(null, fullPath, this, options));\n queue.await(callback);\n return;\n } catch (err) {\n callback(err);\n return;\n }\n }\n\n return new Promise((resolve, reject) => {\n this.create(dest, options, (err?: Error, done?: boolean) => (err ? reject(err) : resolve(done)));\n });\n }\n\n destroy() {}\n}\n"],"names":["fs","mkdirp","objectAssign","path","Queue","rimraf2","chmod","chown","utimes","stripPath","validateAttributes","MANDATORY_ATTRIBUTES","LinkEntry","create","dest","options","callback","normalizedPath","normalize","fullPath","join","normalizedLinkpath","linkpath","linkFullPath","queue","force","defer","disableGlob","err","code","bind","dirname","link","await","Promise","resolve","reject","done","destroy","attributes","basename","undefined","type"],"mappings":"AAAA,OAAOA,QAAQ,cAAc;AAC7B,OAAOC,YAAY,iBAAiB;AACpC,OAAOC,kBAAkB,gBAAgB;AACzC,OAAOC,UAAU,OAAO;AACxB,OAAOC,WAAW,WAAW;AAC7B,OAAOC,aAAa,UAAU;AAE9B,OAAOC,WAAW,gBAAgB;AAClC,OAAOC,WAAW,gBAAgB;AAClC,OAAOC,YAAY,iBAAiB;AACpC,OAAOC,eAAe,iBAAiB;AACvC,OAAOC,wBAAwB,0BAA0B;AAEzD,MAAMC,uBAAuB;IAAC;IAAQ;IAAS;IAAQ;CAAW;AAKnD,IAAA,AAAMC,YAAN,MAAMA;IAenBC,OAAOC,IAAY,EAAEC,OAAyC,EAAEC,QAA0B,EAAgC;QACxH,IAAI,OAAOD,YAAY,YAAY;YACjCC,WAAWD;YACXA,UAAU;QACZ;QAEA,IAAI,OAAOC,aAAa,YAAY;YAClCD,UAAUA,WAAW,CAAC;YACtB,IAAI;gBACF,MAAME,iBAAiBd,KAAKe,SAAS,CAAC,IAAI,CAACf,IAAI;gBAC/C,MAAMgB,WAAWhB,KAAKiB,IAAI,CAACN,MAAML,UAAUQ,gBAAgBF;gBAC3D,MAAMM,qBAAqBlB,KAAKe,SAAS,CAAC,IAAI,CAACI,QAAQ;gBACvD,MAAMC,eAAepB,KAAKiB,IAAI,CAACN,MAAML,UAAUY,oBAAoBN;gBAEnE,MAAMS,QAAQ,IAAIpB,MAAM;gBACxB,IAAI,AAACW,QAA2BU,KAAK,EAAE;oBACrCD,MAAME,KAAK,CAAC,CAACV;wBACXX,QAAQc,UAAU;4BAAEQ,aAAa;wBAAK,GAAG,CAACC;4BACxCA,OAAOA,IAAIC,IAAI,KAAK,WAAWb,SAASY,OAAOZ;wBACjD;oBACF;gBACF;gBACAQ,MAAME,KAAK,CAACzB,OAAO6B,IAAI,CAAC,MAAM3B,KAAK4B,OAAO,CAACZ;gBAC3CK,MAAME,KAAK,CAAC1B,GAAGgC,IAAI,CAACF,IAAI,CAAC9B,IAAIuB,cAAcJ;gBAC3CK,MAAME,KAAK,CAACpB,MAAMwB,IAAI,CAAC,MAAMX,UAAU,IAAI,EAAEJ;gBAC7CS,MAAME,KAAK,CAACnB,MAAMuB,IAAI,CAAC,MAAMX,UAAU,IAAI,EAAEJ;gBAC7CS,MAAME,KAAK,CAAClB,OAAOsB,IAAI,CAAC,MAAMX,UAAU,IAAI,EAAEJ;gBAC9CS,MAAMS,KAAK,CAACjB;gBACZ;YACF,EAAE,OAAOY,KAAK;gBACZZ,SAASY;gBACT;YACF;QACF;QAEA,OAAO,IAAIM,QAAQ,CAACC,SAASC;YAC3B,IAAI,CAACvB,MAAM,CAACC,MAAMC,SAAS,CAACa,KAAaS,OAAoBT,MAAMQ,OAAOR,OAAOO,QAAQE;QAC3F;IACF;IAEAC,UAAU,CAAC;IA/CX,YAAYC,UAA0B,CAAE;QACtC7B,mBAAmB6B,YAAY5B;QAC/BT,aAAa,IAAI,EAAEqC;QACnB,IAAI,IAAI,CAACC,QAAQ,KAAKC,WAAW,IAAI,CAACD,QAAQ,GAAGrC,KAAKqC,QAAQ,CAAC,IAAI,CAACrC,IAAI;QACxE,IAAI,IAAI,CAACuC,IAAI,KAAKD,WAAW,IAAI,CAACC,IAAI,GAAG;IAC3C;AA2CF;AAxDA,SAAqB9B,uBAwDpB"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import path from 'path';
|
|
2
1
|
import fs from 'graceful-fs';
|
|
3
2
|
import isAbsolute from 'is-absolute';
|
|
4
3
|
import mkdirp from 'mkdirp-classic';
|
|
5
4
|
import objectAssign from 'object-assign';
|
|
5
|
+
import path from 'path';
|
|
6
6
|
import Queue from 'queue-cb';
|
|
7
7
|
import rimraf2 from 'rimraf2';
|
|
8
8
|
import chmod from './fs/chmod.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/SymbolicLinkEntry.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/SymbolicLinkEntry.ts"],"sourcesContent":["import fs from 'graceful-fs';\nimport isAbsolute from 'is-absolute';\nimport mkdirp from 'mkdirp-classic';\nimport objectAssign from 'object-assign';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport rimraf2 from 'rimraf2';\n\nimport chmod from './fs/chmod.js';\nimport chown from './fs/chown.js';\nimport symlinkWin32 from './fs/symlinkWin32.js';\nimport utimes from './fs/utimes.js';\nimport stripPath from './stripPath.js';\nimport validateAttributes from './validateAttributes.js';\n\nconst isWindows = process.platform === 'win32' || /^(msys|cygwin)$/.test(process.env.OSTYPE);\n\nconst MANDATORY_ATTRIBUTES = ['mode', 'mtime', 'path', 'linkpath'];\n\nimport type { Mode } from 'fs';\nimport type { ExtractOptions, LinkAttributes, NoParamCallback } from './types.js';\n\nexport default class SymbolicLinkEntry {\n mode: Mode;\n mtime: number;\n path: string;\n linkpath: string;\n basename: string;\n type: string;\n\n constructor(attributes: LinkAttributes) {\n validateAttributes(attributes, MANDATORY_ATTRIBUTES);\n objectAssign(this, attributes);\n if (this.basename === undefined) this.basename = path.basename(this.path);\n if (this.type === undefined) this.type = 'symlink';\n }\n\n create(dest: string, options: ExtractOptions | NoParamCallback, callback?: NoParamCallback): undefined | Promise<boolean> {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n\n if (typeof callback === 'function') {\n options = options || {};\n try {\n const normalizedPath = path.normalize(this.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, options as ExtractOptions));\n let normalizedLinkpath = path.normalize(this.linkpath);\n let linkFullPath = path.join(dest, stripPath(normalizedLinkpath, options as ExtractOptions));\n if (!isAbsolute(normalizedLinkpath)) {\n const linkRelativePath = path.join(path.dirname(normalizedPath), this.linkpath);\n linkFullPath = path.join(dest, stripPath(linkRelativePath, options as ExtractOptions));\n normalizedLinkpath = path.relative(path.dirname(fullPath), linkFullPath);\n }\n\n const queue = new Queue(1);\n if ((options as ExtractOptions).force) {\n queue.defer((callback) => {\n rimraf2(fullPath, { disableGlob: true }, (err) => {\n err && err.code !== 'ENOENT' ? callback(err) : callback();\n });\n });\n }\n queue.defer(mkdirp.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, this, options));\n queue.defer(chown.bind(null, fullPath, this, options));\n queue.defer(utimes.bind(null, fullPath, this, options));\n queue.await(callback);\n return;\n } catch (err) {\n callback(err);\n return;\n }\n }\n\n return new Promise((resolve, reject) => {\n this.create(dest, options, (err?: Error, done?: boolean) => (err ? reject(err) : resolve(done)));\n });\n }\n\n destroy() {}\n}\n"],"names":["fs","isAbsolute","mkdirp","objectAssign","path","Queue","rimraf2","chmod","chown","symlinkWin32","utimes","stripPath","validateAttributes","isWindows","process","platform","test","env","OSTYPE","MANDATORY_ATTRIBUTES","SymbolicLinkEntry","create","dest","options","callback","normalizedPath","normalize","fullPath","join","normalizedLinkpath","linkpath","linkFullPath","linkRelativePath","dirname","relative","queue","force","defer","disableGlob","err","code","bind","symlink","await","Promise","resolve","reject","done","destroy","attributes","basename","undefined","type"],"mappings":"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"}
|
package/dist/esm/fs/chmod.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/fs/chmod.ts"],"sourcesContent":["// adapted from https://github.com/mafintosh/tar-fs\n\nimport
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/fs/chmod.ts"],"sourcesContent":["// adapted from https://github.com/mafintosh/tar-fs\n\nimport type { NoParamCallback } from 'fs';\nimport fs from 'graceful-fs';\nimport type { AbstractEntry, ExtractOptions } from '../types.js';\n\nconst UMASK = process.umask ? process.umask() : null;\nconst DMODE = 0o755;\nconst FMODE = 0o644;\nconst SMODE = 0o755;\nconst LMODE = 0o644;\n\nexport default function chmodFn(fullPath: string, entry: AbstractEntry, _options: ExtractOptions, callback: NoParamCallback) {\n const chmod = entry.type === 'symlink' ? fs.lchmod : fs.chmod;\n if (!chmod || UMASK === null) {\n callback(null);\n return;\n }\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 as number) & ~UMASK, callback);\n}\n"],"names":["fs","UMASK","process","umask","DMODE","FMODE","SMODE","LMODE","chmodFn","fullPath","entry","_options","callback","chmod","type","lchmod","mode"],"mappings":"AAAA,mDAAmD;AAGnD,OAAOA,QAAQ,cAAc;AAG7B,MAAMC,QAAQC,QAAQC,KAAK,GAAGD,QAAQC,KAAK,KAAK;AAChD,MAAMC,QAAQ;AACd,MAAMC,QAAQ;AACd,MAAMC,QAAQ;AACd,MAAMC,QAAQ;AAEd,eAAe,SAASC,QAAQC,QAAgB,EAAEC,KAAoB,EAAEC,QAAwB,EAAEC,QAAyB;IACzH,MAAMC,QAAQH,MAAMI,IAAI,KAAK,YAAYd,GAAGe,MAAM,GAAGf,GAAGa,KAAK;IAC7D,IAAI,CAACA,SAASZ,UAAU,MAAM;QAC5BW,SAAS;QACT;IACF;IAEA,IAAII,OAAON,MAAMM,IAAI;IACrB,IAAI,CAACA,MAAM;QACT,OAAQN,MAAMI,IAAI;YAChB,KAAK;gBACHE,OAAOZ;gBACP;YACF,KAAK;gBACHY,OAAOX;gBACP;YACF,KAAK;gBACHW,OAAOV;gBACP;YACF,KAAK;gBACHU,OAAOT;gBACP;QACJ;IACF;IACAM,MAAMJ,UAAU,AAACO,OAAkB,CAACf,OAAOW;AAC7C"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type BigIntStats, type Stats } from 'fs';
|
|
2
2
|
export type Callback = (err: NodeJS.ErrnoException | null, stats?: Stats | BigIntStats) => void;
|
|
3
3
|
export default function lstatReal(path: string, callback: Callback): undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/fs/lstatReal.ts"],"sourcesContent":["import fs, { type
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/fs/lstatReal.ts"],"sourcesContent":["import fs, { type BigIntStats, type Stats } from 'fs';\n\nexport type Callback = (err: NodeJS.ErrnoException | null, stats?: Stats | BigIntStats) => void;\n\nexport default function lstatReal(path: string, callback: Callback): undefined {\n fs.realpath(path, (err, realpath) => {\n err ? callback(err) : fs.lstat(realpath, callback);\n });\n}\n"],"names":["fs","lstatReal","path","callback","realpath","err","lstat"],"mappings":"AAAA,OAAOA,QAA0C,KAAK;AAItD,eAAe,SAASC,UAAUC,IAAY,EAAEC,QAAkB;IAChEH,GAAGI,QAAQ,CAACF,MAAM,CAACG,KAAKD;QACtBC,MAAMF,SAASE,OAAOL,GAAGM,KAAK,CAACF,UAAUD;IAC3C;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/fs/symlinkWin32.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/fs/symlinkWin32.ts"],"sourcesContent":["import type { NoParamCallback } from 'fs';\nimport fs from 'graceful-fs';\nimport lstatReal from './lstatReal.js';\n\nexport default function symlinkWin32(linkFullPath: string, linkpath: string, fullPath: string, callback: NoParamCallback) {\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}\n"],"names":["fs","lstatReal","symlinkWin32","linkFullPath","linkpath","fullPath","callback","err","targetStat","Error","type","isDirectory","symlink"],"mappings":"AACA,OAAOA,QAAQ,cAAc;AAC7B,OAAOC,eAAe,iBAAiB;AAEvC,eAAe,SAASC,aAAaC,YAAoB,EAAEC,QAAgB,EAAEC,QAAgB,EAAEC,QAAyB;IACtHL,UAAUE,cAAc,CAACI,KAAKC;QAC5B,IAAID,OAAO,CAACC,YAAY,OAAOF,SAASC,OAAO,IAAIE,MAAM,CAAC,2BAA2B,EAAEN,cAAc;QACrG,MAAMO,OAAOF,WAAWG,WAAW,KAAK,QAAQ;QAChDX,GAAGY,OAAO,CAACR,UAAUC,UAAUK,MAAMJ;IACvC;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/fs/utimes.ts"],"sourcesContent":["// adapted from https://github.com/mafintosh/tar-fs\n\nimport
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/fs/utimes.ts"],"sourcesContent":["// adapted from https://github.com/mafintosh/tar-fs\n\nimport type { NoParamCallback } from 'fs';\nimport fs from 'graceful-fs';\nimport type { AbstractEntry, ExtractOptions } from '../types.js';\n\nexport default function utimes(fullPath: string, entry: AbstractEntry, options: ExtractOptions, callback: NoParamCallback): undefined {\n const now = options.now || new Date();\n fs.utimes(fullPath, now, new Date(entry.mtime), callback);\n}\n"],"names":["fs","utimes","fullPath","entry","options","callback","now","Date","mtime"],"mappings":"AAAA,mDAAmD;AAGnD,OAAOA,QAAQ,cAAc;AAG7B,eAAe,SAASC,OAAOC,QAAgB,EAAEC,KAAoB,EAAEC,OAAuB,EAAEC,QAAyB;IACvH,MAAMC,MAAMF,QAAQE,GAAG,IAAI,IAAIC;IAC/BP,GAAGC,MAAM,CAACC,UAAUI,KAAK,IAAIC,KAAKJ,MAAMK,KAAK,GAAGH;AAClD"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import './polyfills.js';
|
|
2
|
-
export { default
|
|
3
|
-
export { default as waitForAccess } from './waitForAccess.js';
|
|
2
|
+
export { default } from 'stack-base-iterator';
|
|
4
3
|
export { default as DirectoryEntry } from './DirectoryEntry.js';
|
|
5
4
|
export { default as FileEntry } from './FileEntry.js';
|
|
6
5
|
export { default as LinkEntry } from './LinkEntry.js';
|
|
7
6
|
export { default as SymbolicLinkEntry } from './SymbolicLinkEntry.js';
|
|
8
7
|
export * from './types.js';
|
|
8
|
+
export { default as waitForAccess } from './waitForAccess.js';
|
package/dist/esm/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import './polyfills.js';
|
|
2
2
|
export { default } from 'stack-base-iterator';
|
|
3
|
-
export { default as waitForAccess } from './waitForAccess.js';
|
|
4
3
|
export { default as DirectoryEntry } from './DirectoryEntry.js';
|
|
5
4
|
export { default as FileEntry } from './FileEntry.js';
|
|
6
5
|
export { default as LinkEntry } from './LinkEntry.js';
|
|
7
6
|
export { default as SymbolicLinkEntry } from './SymbolicLinkEntry.js';
|
|
8
7
|
export * from './types.js';
|
|
8
|
+
export { default as waitForAccess } from './waitForAccess.js';
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/index.ts"],"sourcesContent":["import './polyfills.js';\n\nexport { default
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/index.ts"],"sourcesContent":["import './polyfills.js';\n\nexport { default } from 'stack-base-iterator';\nexport { default as DirectoryEntry } from './DirectoryEntry.js';\nexport { default as FileEntry } from './FileEntry.js';\nexport { default as LinkEntry } from './LinkEntry.js';\nexport { default as SymbolicLinkEntry } from './SymbolicLinkEntry.js';\nexport * from './types.js';\nexport { default as waitForAccess } from './waitForAccess.js';\n"],"names":["default","DirectoryEntry","FileEntry","LinkEntry","SymbolicLinkEntry","waitForAccess"],"mappings":"AAAA,OAAO,iBAAiB;AAExB,SAASA,OAAO,QAAQ,sBAAsB;AAC9C,SAASA,WAAWC,cAAc,QAAQ,sBAAsB;AAChE,SAASD,WAAWE,SAAS,QAAQ,iBAAiB;AACtD,SAASF,WAAWG,SAAS,QAAQ,iBAAiB;AACtD,SAASH,WAAWI,iBAAiB,QAAQ,yBAAyB;AACtE,cAAc,aAAa;AAC3B,SAASJ,WAAWK,aAAa,QAAQ,qBAAqB"}
|
package/dist/esm/stripPath.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/stripPath.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/stripPath.ts"],"sourcesContent":["import compact from 'lodash.compact';\nimport path from 'path';\n\nimport type { ExtractOptions } from './types.js';\n\nexport default function stripPath(relativePath: string, options: ExtractOptions): string {\n const strip = options.strip || 0;\n if (!strip) return relativePath;\n const parts = compact(relativePath.split(path.sep));\n if (parts.length < strip) throw new Error(`You cannot strip more levels than there are directories. Strip: ${strip}. Path: ${relativePath}`);\n return parts.slice(strip).join(path.sep);\n}\n"],"names":["compact","path","stripPath","relativePath","options","strip","parts","split","sep","length","Error","slice","join"],"mappings":"AAAA,OAAOA,aAAa,iBAAiB;AACrC,OAAOC,UAAU,OAAO;AAIxB,eAAe,SAASC,UAAUC,YAAoB,EAAEC,OAAuB;IAC7E,MAAMC,QAAQD,QAAQC,KAAK,IAAI;IAC/B,IAAI,CAACA,OAAO,OAAOF;IACnB,MAAMG,QAAQN,QAAQG,aAAaI,KAAK,CAACN,KAAKO,GAAG;IACjD,IAAIF,MAAMG,MAAM,GAAGJ,OAAO,MAAM,IAAIK,MAAM,CAAC,gEAAgE,EAAEL,MAAM,QAAQ,EAAEF,cAAc;IAC3I,OAAOG,MAAMK,KAAK,CAACN,OAAOO,IAAI,CAACX,KAAKO,GAAG;AACzC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "extract-base-iterator",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.2",
|
|
4
4
|
"description": "Base iterator for extract iterators like tar-iterator and zip-iterator",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"extract",
|
|
@@ -35,9 +35,9 @@
|
|
|
35
35
|
],
|
|
36
36
|
"scripts": {
|
|
37
37
|
"build": "tsds build",
|
|
38
|
-
"format": "biome check --write --unsafe
|
|
39
|
-
"test": "
|
|
40
|
-
"test:engines": "nvu engines
|
|
38
|
+
"format": "biome check --write --unsafe",
|
|
39
|
+
"test": "mocha --no-timeouts test/**/*.test.*",
|
|
40
|
+
"test:engines": "nvu engines tsds test:node --no-timeouts",
|
|
41
41
|
"version": "tsds version"
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
@@ -47,9 +47,9 @@
|
|
|
47
47
|
"mkdirp-classic": "^0.5.3",
|
|
48
48
|
"next-tick": "^1.1.0",
|
|
49
49
|
"object-assign": "^4.1.1",
|
|
50
|
-
"queue-cb": "^1.5.
|
|
50
|
+
"queue-cb": "^1.5.4",
|
|
51
51
|
"rimraf2": "^2.8.2",
|
|
52
|
-
"stack-base-iterator": "2.0.
|
|
52
|
+
"stack-base-iterator": "2.0.2"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
55
|
"@types/mocha": "*",
|