mirror of
https://github.com/nunocoracao/blowfish.git
synced 2026-01-30 15:31:52 +00:00
config redirect
This commit is contained in:
+80
@@ -0,0 +1,80 @@
|
||||
{
|
||||
"name": "rimraf",
|
||||
"version": "4.1.0",
|
||||
"main": "./dist/cjs/src/index-cjs.js",
|
||||
"module": "./dist/mjs/index.js",
|
||||
"bin": "./dist/cjs/src/bin.js",
|
||||
"exports": {
|
||||
".": {
|
||||
"import": {
|
||||
"default": "./dist/mjs/index.js",
|
||||
"types": "./dist/mjs/index.d.ts"
|
||||
},
|
||||
"require": {
|
||||
"default": "./dist/cjs/src/index-cjs.js",
|
||||
"types": "./dist/cjs/src/index-cjs.d.ts"
|
||||
}
|
||||
}
|
||||
},
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
"description": "A deep deletion module for node (like `rm -rf`)",
|
||||
"author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)",
|
||||
"license": "ISC",
|
||||
"repository": "git://github.com/isaacs/rimraf.git",
|
||||
"scripts": {
|
||||
"preversion": "npm test",
|
||||
"postversion": "npm publish",
|
||||
"prepublishOnly": "git push origin --follow-tags",
|
||||
"preprepare": "rm -rf dist",
|
||||
"prepare": "tsc -p tsconfig.json && tsc -p tsconfig-esm.json",
|
||||
"postprepare": "bash fixup.sh",
|
||||
"pretest": "npm run prepare",
|
||||
"presnap": "npm run prepare",
|
||||
"test": "c8 tap",
|
||||
"snap": "c8 tap",
|
||||
"format": "prettier --write . --loglevel warn",
|
||||
"benchmark": "node benchmark/index.js",
|
||||
"typedoc": "typedoc --tsconfig tsconfig-esm.json ./src/*.ts"
|
||||
},
|
||||
"prettier": {
|
||||
"semi": false,
|
||||
"printWidth": 80,
|
||||
"tabWidth": 2,
|
||||
"useTabs": false,
|
||||
"singleQuote": true,
|
||||
"jsxSingleQuote": false,
|
||||
"bracketSameLine": true,
|
||||
"arrowParens": "avoid",
|
||||
"endOfLine": "lf"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^18.11.9",
|
||||
"@types/tap": "^15.0.7",
|
||||
"c8": "^7.12.0",
|
||||
"eslint-config-prettier": "^8.6.0",
|
||||
"mkdirp": "1",
|
||||
"prettier": "^2.8.2",
|
||||
"tap": "^16.3.3",
|
||||
"ts-node": "^10.9.1",
|
||||
"typedoc": "^0.23.21",
|
||||
"typescript": "^4.9.3"
|
||||
},
|
||||
"tap": {
|
||||
"coverage": false,
|
||||
"libtap-settings": "libtap-settings.js",
|
||||
"node-arg": [
|
||||
"--no-warnings",
|
||||
"--loader",
|
||||
"ts-node/esm"
|
||||
],
|
||||
"ts": false
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/isaacs"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14"
|
||||
}
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
#!/usr/bin/env node
|
||||
export declare const help: string;
|
||||
declare const main: {
|
||||
(...args: string[]): Promise<1 | 0>;
|
||||
help: string;
|
||||
};
|
||||
export default main;
|
||||
+144
@@ -0,0 +1,144 @@
|
||||
#!/usr/bin/env node
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.help = void 0;
|
||||
const package_json_1 = require("../package.json");
|
||||
const index_cjs_js_1 = __importDefault(require("./index-cjs.js"));
|
||||
const runHelpForUsage = () => console.error('run `rimraf --help` for usage information');
|
||||
exports.help = `rimraf version ${package_json_1.version}
|
||||
|
||||
Usage: rimraf <path> [<path> ...]
|
||||
Deletes all files and folders at "path", recursively.
|
||||
|
||||
Options:
|
||||
-- Treat all subsequent arguments as paths
|
||||
-h --help Display this usage info
|
||||
--preserve-root Do not remove '/' recursively (default)
|
||||
--no-preserve-root Do not treat '/' specially
|
||||
|
||||
--impl=<type> Specify the implementationt to use.
|
||||
rimraf: choose the best option
|
||||
native: the built-in implementation in Node.js
|
||||
manual: the platform-specific JS implementation
|
||||
posix: the Posix JS implementation
|
||||
windows: the Windows JS implementation
|
||||
move-remove: a slower Windows JS fallback implementation
|
||||
|
||||
Implementation-specific options:
|
||||
--tmp=<path> Folder to hold temp files for 'move-remove' implementation
|
||||
--max-retries=<n> maxRetries for the 'native' and 'windows' implementations
|
||||
--retry-delay=<n> retryDelay for the 'native' implementation, default 100
|
||||
--backoff=<n> Exponential backoff factor for retries (default: 1.2)
|
||||
`;
|
||||
const path_1 = require("path");
|
||||
const main = async (...args) => {
|
||||
if (process.env.__RIMRAF_TESTING_BIN_FAIL__ === '1') {
|
||||
throw new Error('simulated rimraf failure');
|
||||
}
|
||||
const opt = {};
|
||||
const paths = [];
|
||||
let dashdash = false;
|
||||
let impl = index_cjs_js_1.default;
|
||||
for (const arg of args) {
|
||||
if (dashdash) {
|
||||
paths.push(arg);
|
||||
continue;
|
||||
}
|
||||
if (arg === '--') {
|
||||
dashdash = true;
|
||||
continue;
|
||||
}
|
||||
else if (arg === '-h' || arg === '--help') {
|
||||
console.log(exports.help);
|
||||
return 0;
|
||||
}
|
||||
else if (arg === '--preserve-root') {
|
||||
opt.preserveRoot = true;
|
||||
continue;
|
||||
}
|
||||
else if (arg === '--no-preserve-root') {
|
||||
opt.preserveRoot = false;
|
||||
continue;
|
||||
}
|
||||
else if (/^--tmp=/.test(arg)) {
|
||||
const val = arg.substring('--tmp='.length);
|
||||
opt.tmp = val;
|
||||
continue;
|
||||
}
|
||||
else if (/^--max-retries=/.test(arg)) {
|
||||
const val = +arg.substring('--max-retries='.length);
|
||||
opt.maxRetries = val;
|
||||
continue;
|
||||
}
|
||||
else if (/^--retry-delay=/.test(arg)) {
|
||||
const val = +arg.substring('--retry-delay='.length);
|
||||
opt.retryDelay = val;
|
||||
continue;
|
||||
}
|
||||
else if (/^--backoff=/.test(arg)) {
|
||||
const val = +arg.substring('--backoff='.length);
|
||||
opt.backoff = val;
|
||||
continue;
|
||||
}
|
||||
else if (/^--impl=/.test(arg)) {
|
||||
const val = arg.substring('--impl='.length);
|
||||
switch (val) {
|
||||
case 'rimraf':
|
||||
impl = index_cjs_js_1.default;
|
||||
continue;
|
||||
case 'native':
|
||||
case 'manual':
|
||||
case 'posix':
|
||||
case 'windows':
|
||||
impl = index_cjs_js_1.default[val];
|
||||
continue;
|
||||
case 'move-remove':
|
||||
impl = index_cjs_js_1.default.moveRemove;
|
||||
continue;
|
||||
default:
|
||||
console.error(`unknown implementation: ${val}`);
|
||||
runHelpForUsage();
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
else if (/^-/.test(arg)) {
|
||||
console.error(`unknown option: ${arg}`);
|
||||
runHelpForUsage();
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
paths.push(arg);
|
||||
}
|
||||
}
|
||||
if (opt.preserveRoot !== false) {
|
||||
for (const path of paths.map(p => (0, path_1.resolve)(p))) {
|
||||
if (path === (0, path_1.parse)(path).root) {
|
||||
console.error(`rimraf: it is dangerous to operate recursively on '/'`);
|
||||
console.error('use --no-preserve-root to override this failsafe');
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!paths.length) {
|
||||
console.error('rimraf: must provide a path to remove');
|
||||
runHelpForUsage();
|
||||
return 1;
|
||||
}
|
||||
await impl(paths, opt);
|
||||
return 0;
|
||||
};
|
||||
main.help = exports.help;
|
||||
exports.default = main;
|
||||
if (typeof require === 'function' &&
|
||||
typeof module === 'object' &&
|
||||
require.main === module) {
|
||||
const args = process.argv.slice(2);
|
||||
main(...args).then(code => process.exit(code), er => {
|
||||
console.error(er);
|
||||
process.exit(1);
|
||||
});
|
||||
}
|
||||
//# sourceMappingURL=bin.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../../../src/bin.ts"],"names":[],"mappings":"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"}
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
export declare const defaultTmp: (path: string) => Promise<string>;
|
||||
export declare const defaultTmpSync: (path: string) => string;
|
||||
+61
@@ -0,0 +1,61 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.defaultTmpSync = exports.defaultTmp = void 0;
|
||||
// The default temporary folder location for use in the windows algorithm.
|
||||
// It's TEMPting to use dirname(path), since that's guaranteed to be on the
|
||||
// same device. However, this means that:
|
||||
// rimraf(path).then(() => rimraf(dirname(path)))
|
||||
// will often fail with EBUSY, because the parent dir contains
|
||||
// marked-for-deletion directory entries (which do not show up in readdir).
|
||||
// The approach here is to use os.tmpdir() if it's on the same drive letter,
|
||||
// or resolve(path, '\\temp') if it exists, or the root of the drive if not.
|
||||
// On Posix (not that you'd be likely to use the windows algorithm there),
|
||||
// it uses os.tmpdir() always.
|
||||
const os_1 = require("os");
|
||||
const path_1 = require("path");
|
||||
const fs_js_1 = require("./fs.js");
|
||||
const platform_js_1 = __importDefault(require("./platform.js"));
|
||||
const { stat } = fs_js_1.promises;
|
||||
const isDirSync = (path) => {
|
||||
try {
|
||||
return (0, fs_js_1.statSync)(path).isDirectory();
|
||||
}
|
||||
catch (er) {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
const isDir = (path) => stat(path).then(st => st.isDirectory(), () => false);
|
||||
const win32DefaultTmp = async (path) => {
|
||||
const { root } = (0, path_1.parse)(path);
|
||||
const tmp = (0, os_1.tmpdir)();
|
||||
const { root: tmpRoot } = (0, path_1.parse)(tmp);
|
||||
if (root.toLowerCase() === tmpRoot.toLowerCase()) {
|
||||
return tmp;
|
||||
}
|
||||
const driveTmp = (0, path_1.resolve)(root, '/temp');
|
||||
if (await isDir(driveTmp)) {
|
||||
return driveTmp;
|
||||
}
|
||||
return root;
|
||||
};
|
||||
const win32DefaultTmpSync = (path) => {
|
||||
const { root } = (0, path_1.parse)(path);
|
||||
const tmp = (0, os_1.tmpdir)();
|
||||
const { root: tmpRoot } = (0, path_1.parse)(tmp);
|
||||
if (root.toLowerCase() === tmpRoot.toLowerCase()) {
|
||||
return tmp;
|
||||
}
|
||||
const driveTmp = (0, path_1.resolve)(root, '/temp');
|
||||
if (isDirSync(driveTmp)) {
|
||||
return driveTmp;
|
||||
}
|
||||
return root;
|
||||
};
|
||||
const posixDefaultTmp = async () => (0, os_1.tmpdir)();
|
||||
const posixDefaultTmpSync = () => (0, os_1.tmpdir)();
|
||||
exports.defaultTmp = platform_js_1.default === 'win32' ? win32DefaultTmp : posixDefaultTmp;
|
||||
exports.defaultTmpSync = platform_js_1.default === 'win32' ? win32DefaultTmpSync : posixDefaultTmpSync;
|
||||
//# sourceMappingURL=default-tmp.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"default-tmp.js","sourceRoot":"","sources":["../../../src/default-tmp.ts"],"names":[],"mappings":";;;;;;AAAA,0EAA0E;AAC1E,2EAA2E;AAC3E,0CAA0C;AAC1C,iDAAiD;AACjD,8DAA8D;AAC9D,2EAA2E;AAC3E,4EAA4E;AAC5E,4EAA4E;AAC5E,0EAA0E;AAC1E,8BAA8B;AAC9B,2BAA2B;AAC3B,+BAAqC;AACrC,mCAA4C;AAC5C,gEAAoC;AACpC,MAAM,EAAE,IAAI,EAAE,GAAG,gBAAQ,CAAA;AAEzB,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE;IACjC,IAAI;QACF,OAAO,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAA;KACpC;IAAC,OAAO,EAAE,EAAE;QACX,OAAO,KAAK,CAAA;KACb;AACH,CAAC,CAAA;AAED,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,EAAE,CAC7B,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CACb,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,EACtB,GAAG,EAAE,CAAC,KAAK,CACZ,CAAA;AAEH,MAAM,eAAe,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;IAC7C,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,YAAK,EAAC,IAAI,CAAC,CAAA;IAC5B,MAAM,GAAG,GAAG,IAAA,WAAM,GAAE,CAAA;IACpB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAA,YAAK,EAAC,GAAG,CAAC,CAAA;IACpC,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE,EAAE;QAChD,OAAO,GAAG,CAAA;KACX;IAED,MAAM,QAAQ,GAAG,IAAA,cAAO,EAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACvC,IAAI,MAAM,KAAK,CAAC,QAAQ,CAAC,EAAE;QACzB,OAAO,QAAQ,CAAA;KAChB;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAE,EAAE;IAC3C,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,YAAK,EAAC,IAAI,CAAC,CAAA;IAC5B,MAAM,GAAG,GAAG,IAAA,WAAM,GAAE,CAAA;IACpB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAA,YAAK,EAAC,GAAG,CAAC,CAAA;IACpC,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE,EAAE;QAChD,OAAO,GAAG,CAAA;KACX;IAED,MAAM,QAAQ,GAAG,IAAA,cAAO,EAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACvC,IAAI,SAAS,CAAC,QAAQ,CAAC,EAAE;QACvB,OAAO,QAAQ,CAAA;KAChB;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE,CAAC,IAAA,WAAM,GAAE,CAAA;AAC5C,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAAC,IAAA,WAAM,GAAE,CAAA;AAE7B,QAAA,UAAU,GACrB,qBAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAA;AAC7C,QAAA,cAAc,GACzB,qBAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,CAAA"}
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
export declare const fixEPERM: (fn: (path: string) => Promise<any>) => (path: string) => Promise<any>;
|
||||
export declare const fixEPERMSync: (fn: (path: string) => any) => (path: string) => any;
|
||||
+58
@@ -0,0 +1,58 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.fixEPERMSync = exports.fixEPERM = void 0;
|
||||
const fs_js_1 = require("./fs.js");
|
||||
const { chmod } = fs_js_1.promises;
|
||||
const fixEPERM = (fn) => async (path) => {
|
||||
try {
|
||||
return await fn(path);
|
||||
}
|
||||
catch (er) {
|
||||
const fer = er;
|
||||
if (fer?.code === 'ENOENT') {
|
||||
return;
|
||||
}
|
||||
if (fer?.code === 'EPERM') {
|
||||
try {
|
||||
await chmod(path, 0o666);
|
||||
}
|
||||
catch (er2) {
|
||||
const fer2 = er2;
|
||||
if (fer2?.code === 'ENOENT') {
|
||||
return;
|
||||
}
|
||||
throw er;
|
||||
}
|
||||
return await fn(path);
|
||||
}
|
||||
throw er;
|
||||
}
|
||||
};
|
||||
exports.fixEPERM = fixEPERM;
|
||||
const fixEPERMSync = (fn) => (path) => {
|
||||
try {
|
||||
return fn(path);
|
||||
}
|
||||
catch (er) {
|
||||
const fer = er;
|
||||
if (fer?.code === 'ENOENT') {
|
||||
return;
|
||||
}
|
||||
if (fer?.code === 'EPERM') {
|
||||
try {
|
||||
(0, fs_js_1.chmodSync)(path, 0o666);
|
||||
}
|
||||
catch (er2) {
|
||||
const fer2 = er2;
|
||||
if (fer2?.code === 'ENOENT') {
|
||||
return;
|
||||
}
|
||||
throw er;
|
||||
}
|
||||
return fn(path);
|
||||
}
|
||||
throw er;
|
||||
}
|
||||
};
|
||||
exports.fixEPERMSync = fixEPERMSync;
|
||||
//# sourceMappingURL=fix-eperm.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"fix-eperm.js","sourceRoot":"","sources":["../../../src/fix-eperm.ts"],"names":[],"mappings":";;;AAAA,mCAAsD;AACtD,MAAM,EAAE,KAAK,EAAE,GAAG,gBAAQ,CAAA;AAEnB,MAAM,QAAQ,GACnB,CAAC,EAAkC,EAAE,EAAE,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;IAC7D,IAAI;QACF,OAAO,MAAM,EAAE,CAAC,IAAI,CAAC,CAAA;KACtB;IAAC,OAAO,EAAE,EAAE;QACX,MAAM,GAAG,GAAG,EAAa,CAAA;QACzB,IAAI,GAAG,EAAE,IAAI,KAAK,QAAQ,EAAE;YAC1B,OAAM;SACP;QACD,IAAI,GAAG,EAAE,IAAI,KAAK,OAAO,EAAE;YACzB,IAAI;gBACF,MAAM,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;aACzB;YAAC,OAAO,GAAG,EAAE;gBACZ,MAAM,IAAI,GAAG,GAAc,CAAA;gBAC3B,IAAI,IAAI,EAAE,IAAI,KAAK,QAAQ,EAAE;oBAC3B,OAAM;iBACP;gBACD,MAAM,EAAE,CAAA;aACT;YACD,OAAO,MAAM,EAAE,CAAC,IAAI,CAAC,CAAA;SACtB;QACD,MAAM,EAAE,CAAA;KACT;AACH,CAAC,CAAA;AAvBU,QAAA,QAAQ,YAuBlB;AAEI,MAAM,YAAY,GAAG,CAAC,EAAyB,EAAE,EAAE,CAAC,CAAC,IAAY,EAAE,EAAE;IAC1E,IAAI;QACF,OAAO,EAAE,CAAC,IAAI,CAAC,CAAA;KAChB;IAAC,OAAO,EAAE,EAAE;QACX,MAAM,GAAG,GAAG,EAAa,CAAA;QACzB,IAAI,GAAG,EAAE,IAAI,KAAK,QAAQ,EAAE;YAC1B,OAAM;SACP;QACD,IAAI,GAAG,EAAE,IAAI,KAAK,OAAO,EAAE;YACzB,IAAI;gBACF,IAAA,iBAAS,EAAC,IAAI,EAAE,KAAK,CAAC,CAAA;aACvB;YAAC,OAAO,GAAG,EAAE;gBACZ,MAAM,IAAI,GAAG,GAAc,CAAA;gBAC3B,IAAI,IAAI,EAAE,IAAI,KAAK,QAAQ,EAAE;oBAC3B,OAAM;iBACP;gBACD,MAAM,EAAE,CAAA;aACT;YACD,OAAO,EAAE,CAAC,IAAI,CAAC,CAAA;SAChB;QACD,MAAM,EAAE,CAAA;KACT;AACH,CAAC,CAAA;AAtBY,QAAA,YAAY,gBAsBxB"}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
import fs from 'fs';
|
||||
export type FsError = Error & {
|
||||
code?: string;
|
||||
path?: string;
|
||||
};
|
||||
export { chmodSync, mkdirSync, readdirSync, renameSync, rmdirSync, rmSync, statSync, unlinkSync, } from 'fs';
|
||||
export declare const promises: {
|
||||
chmod: (path: fs.PathLike, mode: fs.Mode) => Promise<void>;
|
||||
mkdir: (path: fs.PathLike, options?: fs.Mode | (fs.MakeDirectoryOptions & {
|
||||
recursive?: boolean | null;
|
||||
}) | undefined | null) => Promise<string | undefined>;
|
||||
readdir: (path: fs.PathLike) => Promise<string[]>;
|
||||
rename: (oldPath: fs.PathLike, newPath: fs.PathLike) => Promise<void>;
|
||||
rm: (path: fs.PathLike, options: fs.RmOptions) => Promise<void>;
|
||||
rmdir: (path: fs.PathLike) => Promise<void>;
|
||||
stat: (path: fs.PathLike) => Promise<fs.Stats>;
|
||||
unlink: (path: fs.PathLike) => Promise<void>;
|
||||
};
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
"use strict";
|
||||
// promisify ourselves, because older nodes don't have fs.promises
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.promises = exports.unlinkSync = exports.statSync = exports.rmSync = exports.rmdirSync = exports.renameSync = exports.readdirSync = exports.mkdirSync = exports.chmodSync = void 0;
|
||||
const fs_1 = __importDefault(require("fs"));
|
||||
// sync ones just take the sync version from node
|
||||
var fs_2 = require("fs");
|
||||
Object.defineProperty(exports, "chmodSync", { enumerable: true, get: function () { return fs_2.chmodSync; } });
|
||||
Object.defineProperty(exports, "mkdirSync", { enumerable: true, get: function () { return fs_2.mkdirSync; } });
|
||||
Object.defineProperty(exports, "readdirSync", { enumerable: true, get: function () { return fs_2.readdirSync; } });
|
||||
Object.defineProperty(exports, "renameSync", { enumerable: true, get: function () { return fs_2.renameSync; } });
|
||||
Object.defineProperty(exports, "rmdirSync", { enumerable: true, get: function () { return fs_2.rmdirSync; } });
|
||||
Object.defineProperty(exports, "rmSync", { enumerable: true, get: function () { return fs_2.rmSync; } });
|
||||
Object.defineProperty(exports, "statSync", { enumerable: true, get: function () { return fs_2.statSync; } });
|
||||
Object.defineProperty(exports, "unlinkSync", { enumerable: true, get: function () { return fs_2.unlinkSync; } });
|
||||
// unrolled for better inlining, this seems to get better performance
|
||||
// than something like:
|
||||
// const makeCb = (res, rej) => (er, ...d) => er ? rej(er) : res(...d)
|
||||
// which would be a bit cleaner.
|
||||
const chmod = (path, mode) => new Promise((res, rej) => fs_1.default.chmod(path, mode, (er, ...d) => (er ? rej(er) : res(...d))));
|
||||
const mkdir = (path, options) => new Promise((res, rej) => fs_1.default.mkdir(path, options, (er, made) => (er ? rej(er) : res(made))));
|
||||
const readdir = (path) => new Promise((res, rej) => fs_1.default.readdir(path, (er, data) => (er ? rej(er) : res(data))));
|
||||
const rename = (oldPath, newPath) => new Promise((res, rej) => fs_1.default.rename(oldPath, newPath, (er, ...d) => (er ? rej(er) : res(...d))));
|
||||
const rm = (path, options) => new Promise((res, rej) => fs_1.default.rm(path, options, (er, ...d) => (er ? rej(er) : res(...d))));
|
||||
const rmdir = (path) => new Promise((res, rej) => fs_1.default.rmdir(path, (er, ...d) => (er ? rej(er) : res(...d))));
|
||||
const stat = (path) => new Promise((res, rej) => fs_1.default.stat(path, (er, data) => (er ? rej(er) : res(data))));
|
||||
const unlink = (path) => new Promise((res, rej) => fs_1.default.unlink(path, (er, ...d) => (er ? rej(er) : res(...d))));
|
||||
exports.promises = {
|
||||
chmod,
|
||||
mkdir,
|
||||
readdir,
|
||||
rename,
|
||||
rm,
|
||||
rmdir,
|
||||
stat,
|
||||
unlink,
|
||||
};
|
||||
//# sourceMappingURL=fs.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../../src/fs.ts"],"names":[],"mappings":"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"}
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
export declare const ignoreENOENT: (p: Promise<any>) => Promise<any>;
|
||||
export declare const ignoreENOENTSync: (fn: () => any) => any;
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.ignoreENOENTSync = exports.ignoreENOENT = void 0;
|
||||
const ignoreENOENT = async (p) => p.catch(er => {
|
||||
if (er.code !== 'ENOENT') {
|
||||
throw er;
|
||||
}
|
||||
});
|
||||
exports.ignoreENOENT = ignoreENOENT;
|
||||
const ignoreENOENTSync = (fn) => {
|
||||
try {
|
||||
return fn();
|
||||
}
|
||||
catch (er) {
|
||||
if (er?.code !== 'ENOENT') {
|
||||
throw er;
|
||||
}
|
||||
}
|
||||
};
|
||||
exports.ignoreENOENTSync = ignoreENOENTSync;
|
||||
//# sourceMappingURL=ignore-enoent.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"ignore-enoent.js","sourceRoot":"","sources":["../../../src/ignore-enoent.ts"],"names":[],"mappings":";;;AAEO,MAAM,YAAY,GAAG,KAAK,EAAE,CAAe,EAAE,EAAE,CACpD,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;IACX,IAAI,EAAE,CAAC,IAAI,KAAK,QAAQ,EAAE;QACxB,MAAM,EAAE,CAAA;KACT;AACH,CAAC,CAAC,CAAA;AALS,QAAA,YAAY,gBAKrB;AAEG,MAAM,gBAAgB,GAAG,CAAC,EAAa,EAAE,EAAE;IAChD,IAAI;QACF,OAAO,EAAE,EAAE,CAAA;KACZ;IAAC,OAAO,EAAE,EAAE;QACX,IAAK,EAAc,EAAE,IAAI,KAAK,QAAQ,EAAE;YACtC,MAAM,EAAE,CAAA;SACT;KACF;AACH,CAAC,CAAA;AARY,QAAA,gBAAgB,oBAQ5B"}
|
||||
+56
@@ -0,0 +1,56 @@
|
||||
declare const _default: ((path: string | string[], opt?: import("./index.js").RimrafOptions | undefined) => Promise<void>) & {
|
||||
rimraf: ((path: string | string[], opt?: import("./index.js").RimrafOptions | undefined) => Promise<void>) & {
|
||||
sync: (path: string | string[], opt?: import("./index.js").RimrafOptions | undefined) => void;
|
||||
};
|
||||
sync: (path: string | string[], opt?: import("./index.js").RimrafOptions | undefined) => void;
|
||||
rimrafSync: (path: string | string[], opt?: import("./index.js").RimrafOptions | undefined) => void;
|
||||
manual: ((path: string | string[], opt?: import("./index.js").RimrafOptions | undefined) => Promise<void>) & {
|
||||
sync: (path: string | string[], opt?: import("./index.js").RimrafOptions | undefined) => void;
|
||||
};
|
||||
manualSync: (path: string | string[], opt?: import("./index.js").RimrafOptions | undefined) => void;
|
||||
native: ((path: string | string[], opt?: import("./index.js").RimrafOptions | undefined) => Promise<void>) & {
|
||||
sync: (path: string | string[], opt?: import("./index.js").RimrafOptions | undefined) => void;
|
||||
};
|
||||
nativeSync: (path: string | string[], opt?: import("./index.js").RimrafOptions | undefined) => void;
|
||||
posix: ((path: string | string[], opt?: import("./index.js").RimrafOptions | undefined) => Promise<void>) & {
|
||||
sync: (path: string | string[], opt?: import("./index.js").RimrafOptions | undefined) => void;
|
||||
};
|
||||
posixSync: (path: string | string[], opt?: import("./index.js").RimrafOptions | undefined) => void;
|
||||
windows: ((path: string | string[], opt?: import("./index.js").RimrafOptions | undefined) => Promise<void>) & {
|
||||
sync: (path: string | string[], opt?: import("./index.js").RimrafOptions | undefined) => void;
|
||||
};
|
||||
windowsSync: (path: string | string[], opt?: import("./index.js").RimrafOptions | undefined) => void;
|
||||
moveRemove: ((path: string | string[], opt?: import("./index.js").RimrafOptions | undefined) => Promise<void>) & {
|
||||
sync: (path: string | string[], opt?: import("./index.js").RimrafOptions | undefined) => void;
|
||||
};
|
||||
moveRemoveSync: (path: string | string[], opt?: import("./index.js").RimrafOptions | undefined) => void;
|
||||
} & {
|
||||
default: ((path: string | string[], opt?: import("./index.js").RimrafOptions | undefined) => Promise<void>) & {
|
||||
rimraf: ((path: string | string[], opt?: import("./index.js").RimrafOptions | undefined) => Promise<void>) & {
|
||||
sync: (path: string | string[], opt?: import("./index.js").RimrafOptions | undefined) => void;
|
||||
};
|
||||
sync: (path: string | string[], opt?: import("./index.js").RimrafOptions | undefined) => void;
|
||||
rimrafSync: (path: string | string[], opt?: import("./index.js").RimrafOptions | undefined) => void;
|
||||
manual: ((path: string | string[], opt?: import("./index.js").RimrafOptions | undefined) => Promise<void>) & {
|
||||
sync: (path: string | string[], opt?: import("./index.js").RimrafOptions | undefined) => void;
|
||||
};
|
||||
manualSync: (path: string | string[], opt?: import("./index.js").RimrafOptions | undefined) => void;
|
||||
native: ((path: string | string[], opt?: import("./index.js").RimrafOptions | undefined) => Promise<void>) & {
|
||||
sync: (path: string | string[], opt?: import("./index.js").RimrafOptions | undefined) => void;
|
||||
};
|
||||
nativeSync: (path: string | string[], opt?: import("./index.js").RimrafOptions | undefined) => void;
|
||||
posix: ((path: string | string[], opt?: import("./index.js").RimrafOptions | undefined) => Promise<void>) & {
|
||||
sync: (path: string | string[], opt?: import("./index.js").RimrafOptions | undefined) => void;
|
||||
};
|
||||
posixSync: (path: string | string[], opt?: import("./index.js").RimrafOptions | undefined) => void;
|
||||
windows: ((path: string | string[], opt?: import("./index.js").RimrafOptions | undefined) => Promise<void>) & {
|
||||
sync: (path: string | string[], opt?: import("./index.js").RimrafOptions | undefined) => void;
|
||||
};
|
||||
windowsSync: (path: string | string[], opt?: import("./index.js").RimrafOptions | undefined) => void;
|
||||
moveRemove: ((path: string | string[], opt?: import("./index.js").RimrafOptions | undefined) => Promise<void>) & {
|
||||
sync: (path: string | string[], opt?: import("./index.js").RimrafOptions | undefined) => void;
|
||||
};
|
||||
moveRemoveSync: (path: string | string[], opt?: import("./index.js").RimrafOptions | undefined) => void;
|
||||
};
|
||||
};
|
||||
export = _default;
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
const index_js_1 = __importDefault(require("./index.js"));
|
||||
module.exports = Object.assign(index_js_1.default, { default: index_js_1.default });
|
||||
//# sourceMappingURL=index-cjs.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index-cjs.js","sourceRoot":"","sources":["../../../src/index-cjs.ts"],"names":[],"mappings":";;;;AAAA,0DAA+B;AAE/B,iBAAS,MAAM,CAAC,MAAM,CAAC,kBAAM,EAAE,EAAE,OAAO,EAAE,kBAAM,EAAE,CAAC,CAAA"}
|
||||
+60
@@ -0,0 +1,60 @@
|
||||
export interface RimrafOptions {
|
||||
preserveRoot?: boolean;
|
||||
tmp?: string;
|
||||
maxRetries?: number;
|
||||
retryDelay?: number;
|
||||
backoff?: number;
|
||||
maxBackoff?: number;
|
||||
}
|
||||
export declare const isRimrafOptions: (o: any) => o is RimrafOptions;
|
||||
export declare const assertRimrafOptions: (o: any) => void;
|
||||
export declare const nativeSync: (path: string | string[], opt?: RimrafOptions) => void;
|
||||
export declare const native: ((path: string | string[], opt?: RimrafOptions) => Promise<void>) & {
|
||||
sync: (path: string | string[], opt?: RimrafOptions) => void;
|
||||
};
|
||||
export declare const manualSync: (path: string | string[], opt?: RimrafOptions) => void;
|
||||
export declare const manual: ((path: string | string[], opt?: RimrafOptions) => Promise<void>) & {
|
||||
sync: (path: string | string[], opt?: RimrafOptions) => void;
|
||||
};
|
||||
export declare const windowsSync: (path: string | string[], opt?: RimrafOptions) => void;
|
||||
export declare const windows: ((path: string | string[], opt?: RimrafOptions) => Promise<void>) & {
|
||||
sync: (path: string | string[], opt?: RimrafOptions) => void;
|
||||
};
|
||||
export declare const posixSync: (path: string | string[], opt?: RimrafOptions) => void;
|
||||
export declare const posix: ((path: string | string[], opt?: RimrafOptions) => Promise<void>) & {
|
||||
sync: (path: string | string[], opt?: RimrafOptions) => void;
|
||||
};
|
||||
export declare const moveRemoveSync: (path: string | string[], opt?: RimrafOptions) => void;
|
||||
export declare const moveRemove: ((path: string | string[], opt?: RimrafOptions) => Promise<void>) & {
|
||||
sync: (path: string | string[], opt?: RimrafOptions) => void;
|
||||
};
|
||||
export declare const rimrafSync: (path: string | string[], opt?: RimrafOptions) => void;
|
||||
export declare const sync: (path: string | string[], opt?: RimrafOptions) => void;
|
||||
export declare const rimraf: ((path: string | string[], opt?: RimrafOptions) => Promise<void>) & {
|
||||
rimraf: ((path: string | string[], opt?: RimrafOptions) => Promise<void>) & {
|
||||
sync: (path: string | string[], opt?: RimrafOptions) => void;
|
||||
};
|
||||
sync: (path: string | string[], opt?: RimrafOptions) => void;
|
||||
rimrafSync: (path: string | string[], opt?: RimrafOptions) => void;
|
||||
manual: ((path: string | string[], opt?: RimrafOptions) => Promise<void>) & {
|
||||
sync: (path: string | string[], opt?: RimrafOptions) => void;
|
||||
};
|
||||
manualSync: (path: string | string[], opt?: RimrafOptions) => void;
|
||||
native: ((path: string | string[], opt?: RimrafOptions) => Promise<void>) & {
|
||||
sync: (path: string | string[], opt?: RimrafOptions) => void;
|
||||
};
|
||||
nativeSync: (path: string | string[], opt?: RimrafOptions) => void;
|
||||
posix: ((path: string | string[], opt?: RimrafOptions) => Promise<void>) & {
|
||||
sync: (path: string | string[], opt?: RimrafOptions) => void;
|
||||
};
|
||||
posixSync: (path: string | string[], opt?: RimrafOptions) => void;
|
||||
windows: ((path: string | string[], opt?: RimrafOptions) => Promise<void>) & {
|
||||
sync: (path: string | string[], opt?: RimrafOptions) => void;
|
||||
};
|
||||
windowsSync: (path: string | string[], opt?: RimrafOptions) => void;
|
||||
moveRemove: ((path: string | string[], opt?: RimrafOptions) => Promise<void>) & {
|
||||
sync: (path: string | string[], opt?: RimrafOptions) => void;
|
||||
};
|
||||
moveRemoveSync: (path: string | string[], opt?: RimrafOptions) => void;
|
||||
};
|
||||
export default rimraf;
|
||||
+79
@@ -0,0 +1,79 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.rimraf = exports.sync = exports.rimrafSync = exports.moveRemove = exports.moveRemoveSync = exports.posix = exports.posixSync = exports.windows = exports.windowsSync = exports.manual = exports.manualSync = exports.native = exports.nativeSync = exports.assertRimrafOptions = exports.isRimrafOptions = void 0;
|
||||
const opt_arg_js_1 = __importDefault(require("./opt-arg.js"));
|
||||
const path_arg_js_1 = __importDefault(require("./path-arg.js"));
|
||||
/* c8 ignore start */
|
||||
const typeOrUndef = (val, t) => typeof val === 'undefined' || typeof val === t;
|
||||
/* c8 ignore stop */
|
||||
const isRimrafOptions = (o) => !!o &&
|
||||
typeof o === 'object' &&
|
||||
typeOrUndef(o.preserveRoot, 'boolean') &&
|
||||
typeOrUndef(o.preserveRoot, 'number') &&
|
||||
typeOrUndef(o.maxRetries, 'number') &&
|
||||
typeOrUndef(o.retryDelay, 'number') &&
|
||||
typeOrUndef(o.backoff, 'number') &&
|
||||
typeOrUndef(o.maxBackoff, 'number');
|
||||
exports.isRimrafOptions = isRimrafOptions;
|
||||
/* c8 ignore start */
|
||||
const assertRimrafOptions = (o) => {
|
||||
if (!(0, exports.isRimrafOptions)(o)) {
|
||||
throw new Error('invalid rimraf options');
|
||||
}
|
||||
};
|
||||
exports.assertRimrafOptions = assertRimrafOptions;
|
||||
/* c8 ignore stop */
|
||||
const rimraf_manual_js_1 = require("./rimraf-manual.js");
|
||||
const rimraf_move_remove_js_1 = require("./rimraf-move-remove.js");
|
||||
const rimraf_native_js_1 = require("./rimraf-native.js");
|
||||
const rimraf_posix_js_1 = require("./rimraf-posix.js");
|
||||
const rimraf_windows_js_1 = require("./rimraf-windows.js");
|
||||
const use_native_js_1 = require("./use-native.js");
|
||||
const wrap = (fn) => async (path, opt) => {
|
||||
const options = (0, opt_arg_js_1.default)(opt);
|
||||
await (Array.isArray(path)
|
||||
? Promise.all(path.map(p => fn((0, path_arg_js_1.default)(p, options), options)))
|
||||
: fn((0, path_arg_js_1.default)(path, options), options));
|
||||
};
|
||||
const wrapSync = (fn) => (path, opt) => {
|
||||
const options = (0, opt_arg_js_1.default)(opt);
|
||||
return Array.isArray(path)
|
||||
? path.forEach(p => fn((0, path_arg_js_1.default)(p, options), options))
|
||||
: fn((0, path_arg_js_1.default)(path, options), options);
|
||||
};
|
||||
exports.nativeSync = wrapSync(rimraf_native_js_1.rimrafNativeSync);
|
||||
exports.native = Object.assign(wrap(rimraf_native_js_1.rimrafNative), { sync: exports.nativeSync });
|
||||
exports.manualSync = wrapSync(rimraf_manual_js_1.rimrafManualSync);
|
||||
exports.manual = Object.assign(wrap(rimraf_manual_js_1.rimrafManual), { sync: exports.manualSync });
|
||||
exports.windowsSync = wrapSync(rimraf_windows_js_1.rimrafWindowsSync);
|
||||
exports.windows = Object.assign(wrap(rimraf_windows_js_1.rimrafWindows), { sync: exports.windowsSync });
|
||||
exports.posixSync = wrapSync(rimraf_posix_js_1.rimrafPosixSync);
|
||||
exports.posix = Object.assign(wrap(rimraf_posix_js_1.rimrafPosix), { sync: exports.posixSync });
|
||||
exports.moveRemoveSync = wrapSync(rimraf_move_remove_js_1.rimrafMoveRemoveSync);
|
||||
exports.moveRemove = Object.assign(wrap(rimraf_move_remove_js_1.rimrafMoveRemove), {
|
||||
sync: exports.moveRemoveSync,
|
||||
});
|
||||
exports.rimrafSync = wrapSync((path, opt) => (0, use_native_js_1.useNativeSync)() ? (0, rimraf_native_js_1.rimrafNativeSync)(path, opt) : (0, rimraf_manual_js_1.rimrafManualSync)(path, opt));
|
||||
exports.sync = exports.rimrafSync;
|
||||
exports.rimraf = Object.assign(wrap((path, opt) => (0, use_native_js_1.useNative)() ? (0, rimraf_native_js_1.rimrafNative)(path, opt) : (0, rimraf_manual_js_1.rimrafManual)(path, opt)), {
|
||||
// this weirdness because it's easier than explicitly declaring
|
||||
rimraf: exports.manual,
|
||||
sync: exports.rimrafSync,
|
||||
rimrafSync: exports.rimrafSync,
|
||||
manual: exports.manual,
|
||||
manualSync: exports.manualSync,
|
||||
native: exports.native,
|
||||
nativeSync: exports.nativeSync,
|
||||
posix: exports.posix,
|
||||
posixSync: exports.posixSync,
|
||||
windows: exports.windows,
|
||||
windowsSync: exports.windowsSync,
|
||||
moveRemove: exports.moveRemove,
|
||||
moveRemoveSync: exports.moveRemoveSync,
|
||||
});
|
||||
exports.rimraf.rimraf = exports.rimraf;
|
||||
exports.default = exports.rimraf;
|
||||
//# sourceMappingURL=index.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
import { RimrafOptions } from './index.js';
|
||||
declare const _default: (opt?: RimrafOptions) => RimrafOptions;
|
||||
export default _default;
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const index_js_1 = require("./index.js");
|
||||
exports.default = (opt = {}) => {
|
||||
(0, index_js_1.assertRimrafOptions)(opt);
|
||||
return opt;
|
||||
};
|
||||
//# sourceMappingURL=opt-arg.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"opt-arg.js","sourceRoot":"","sources":["../../../src/opt-arg.ts"],"names":[],"mappings":";;AAAA,yCAA+D;AAC/D,kBAAe,CAAC,MAAqB,EAAE,EAAE,EAAE;IACzC,IAAA,8BAAmB,EAAC,GAAG,CAAC,CAAA;IACxB,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA"}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
import { RimrafOptions } from './index.js';
|
||||
declare const pathArg: (path: string, opt?: RimrafOptions) => string;
|
||||
export default pathArg;
|
||||
+54
@@ -0,0 +1,54 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const platform_js_1 = __importDefault(require("./platform.js"));
|
||||
const path_1 = require("path");
|
||||
const util_1 = require("util");
|
||||
const pathArg = (path, opt = {}) => {
|
||||
const type = typeof path;
|
||||
if (type !== 'string') {
|
||||
const ctor = path && type === 'object' && path.constructor;
|
||||
const received = ctor && ctor.name
|
||||
? `an instance of ${ctor.name}`
|
||||
: type === 'object'
|
||||
? (0, util_1.inspect)(path)
|
||||
: `type ${type} ${path}`;
|
||||
const msg = 'The "path" argument must be of type string. ' + `Received ${received}`;
|
||||
throw Object.assign(new TypeError(msg), {
|
||||
path,
|
||||
code: 'ERR_INVALID_ARG_TYPE',
|
||||
});
|
||||
}
|
||||
if (/\0/.test(path)) {
|
||||
// simulate same failure that node raises
|
||||
const msg = 'path must be a string without null bytes';
|
||||
throw Object.assign(new TypeError(msg), {
|
||||
path,
|
||||
code: 'ERR_INVALID_ARG_VALUE',
|
||||
});
|
||||
}
|
||||
path = (0, path_1.resolve)(path);
|
||||
const { root } = (0, path_1.parse)(path);
|
||||
if (path === root && opt.preserveRoot !== false) {
|
||||
const msg = 'refusing to remove root directory without preserveRoot:false';
|
||||
throw Object.assign(new Error(msg), {
|
||||
path,
|
||||
code: 'ERR_PRESERVE_ROOT',
|
||||
});
|
||||
}
|
||||
if (platform_js_1.default === 'win32') {
|
||||
const badWinChars = /[*|"<>?:]/;
|
||||
const { root } = (0, path_1.parse)(path);
|
||||
if (badWinChars.test(path.substring(root.length))) {
|
||||
throw Object.assign(new Error('Illegal characters in path.'), {
|
||||
path,
|
||||
code: 'EINVAL',
|
||||
});
|
||||
}
|
||||
}
|
||||
return path;
|
||||
};
|
||||
exports.default = pathArg;
|
||||
//# sourceMappingURL=path-arg.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"path-arg.js","sourceRoot":"","sources":["../../../src/path-arg.ts"],"names":[],"mappings":";;;;;AAAA,gEAAoC;AACpC,+BAAqC;AACrC,+BAA8B;AAG9B,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,MAAqB,EAAE,EAAE,EAAE;IACxD,MAAM,IAAI,GAAG,OAAO,IAAI,CAAA;IACxB,IAAI,IAAI,KAAK,QAAQ,EAAE;QACrB,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAA;QAC1D,MAAM,QAAQ,GACZ,IAAI,IAAI,IAAI,CAAC,IAAI;YACf,CAAC,CAAC,kBAAkB,IAAI,CAAC,IAAI,EAAE;YAC/B,CAAC,CAAC,IAAI,KAAK,QAAQ;gBACnB,CAAC,CAAC,IAAA,cAAO,EAAC,IAAI,CAAC;gBACf,CAAC,CAAC,QAAQ,IAAI,IAAI,IAAI,EAAE,CAAA;QAC5B,MAAM,GAAG,GACP,8CAA8C,GAAG,YAAY,QAAQ,EAAE,CAAA;QACzE,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE;YACtC,IAAI;YACJ,IAAI,EAAE,sBAAsB;SAC7B,CAAC,CAAA;KACH;IAED,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACnB,yCAAyC;QACzC,MAAM,GAAG,GAAG,0CAA0C,CAAA;QACtD,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE;YACtC,IAAI;YACJ,IAAI,EAAE,uBAAuB;SAC9B,CAAC,CAAA;KACH;IAED,IAAI,GAAG,IAAA,cAAO,EAAC,IAAI,CAAC,CAAA;IACpB,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,YAAK,EAAC,IAAI,CAAC,CAAA;IAE5B,IAAI,IAAI,KAAK,IAAI,IAAI,GAAG,CAAC,YAAY,KAAK,KAAK,EAAE;QAC/C,MAAM,GAAG,GAAG,8DAA8D,CAAA;QAC1E,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE;YAClC,IAAI;YACJ,IAAI,EAAE,mBAAmB;SAC1B,CAAC,CAAA;KACH;IAED,IAAI,qBAAQ,KAAK,OAAO,EAAE;QACxB,MAAM,WAAW,GAAG,WAAW,CAAA;QAC/B,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,YAAK,EAAC,IAAI,CAAC,CAAA;QAC5B,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE;YACjD,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,EAAE;gBAC5D,IAAI;gBACJ,IAAI,EAAE,QAAQ;aACf,CAAC,CAAA;SACH;KACF;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,kBAAe,OAAO,CAAA"}
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
declare const _default: string;
|
||||
export default _default;
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.default = process.env.__TESTING_RIMRAF_PLATFORM__ || process.platform;
|
||||
//# sourceMappingURL=platform.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../../src/platform.ts"],"names":[],"mappings":";;AAAA,kBAAe,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,OAAO,CAAC,QAAQ,CAAA"}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
import { FsError } from './fs.js';
|
||||
export declare const readdirOrError: (path: string) => Promise<string[] | FsError>;
|
||||
export declare const readdirOrErrorSync: (path: string) => string[] | FsError;
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.readdirOrErrorSync = exports.readdirOrError = void 0;
|
||||
// returns an array of entries if readdir() works,
|
||||
// or the error that readdir() raised if not.
|
||||
const fs_js_1 = require("./fs.js");
|
||||
const { readdir } = fs_js_1.promises;
|
||||
const readdirOrError = (path) => readdir(path).catch(er => er);
|
||||
exports.readdirOrError = readdirOrError;
|
||||
const readdirOrErrorSync = (path) => {
|
||||
try {
|
||||
return (0, fs_js_1.readdirSync)(path);
|
||||
}
|
||||
catch (er) {
|
||||
return er;
|
||||
}
|
||||
};
|
||||
exports.readdirOrErrorSync = readdirOrErrorSync;
|
||||
//# sourceMappingURL=readdir-or-error.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"readdir-or-error.js","sourceRoot":"","sources":["../../../src/readdir-or-error.ts"],"names":[],"mappings":";;;AAAA,kDAAkD;AAClD,6CAA6C;AAC7C,mCAAwD;AACxD,MAAM,EAAE,OAAO,EAAE,GAAG,gBAAQ,CAAA;AACrB,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,EAAE,CAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAa,CAAC,CAAA;AAD7B,QAAA,cAAc,kBACe;AACnC,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,EAAE;IACjD,IAAI;QACF,OAAO,IAAA,mBAAW,EAAC,IAAI,CAAC,CAAA;KACzB;IAAC,OAAO,EAAE,EAAE;QACX,OAAO,EAAa,CAAA;KACrB;AACH,CAAC,CAAA;AANY,QAAA,kBAAkB,sBAM9B"}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
import { RimrafOptions } from '.';
|
||||
export declare const MAXBACKOFF = 200;
|
||||
export declare const RATE = 1.2;
|
||||
export declare const MAXRETRIES = 10;
|
||||
export declare const codes: Set<string>;
|
||||
export declare const retryBusy: (fn: (path: string) => Promise<any>) => (path: string, opt: RimrafOptions, backoff?: number, total?: number) => Promise<any>;
|
||||
export declare const retryBusySync: (fn: (path: string) => any) => (path: string, opt: RimrafOptions) => any;
|
||||
+68
@@ -0,0 +1,68 @@
|
||||
"use strict";
|
||||
// note: max backoff is the maximum that any *single* backoff will do
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.retryBusySync = exports.retryBusy = exports.codes = exports.MAXRETRIES = exports.RATE = exports.MAXBACKOFF = void 0;
|
||||
exports.MAXBACKOFF = 200;
|
||||
exports.RATE = 1.2;
|
||||
exports.MAXRETRIES = 10;
|
||||
exports.codes = new Set(['EMFILE', 'ENFILE', 'EBUSY']);
|
||||
const retryBusy = (fn) => {
|
||||
const method = async (path, opt, backoff = 1, total = 0) => {
|
||||
const mbo = opt.maxBackoff || exports.MAXBACKOFF;
|
||||
const rate = opt.backoff || exports.RATE;
|
||||
const max = opt.maxRetries || exports.MAXRETRIES;
|
||||
let retries = 0;
|
||||
while (true) {
|
||||
try {
|
||||
return await fn(path);
|
||||
}
|
||||
catch (er) {
|
||||
const fer = er;
|
||||
if (fer?.path === path && fer?.code && exports.codes.has(fer.code)) {
|
||||
backoff = Math.ceil(backoff * rate);
|
||||
total = backoff + total;
|
||||
if (total < mbo) {
|
||||
return new Promise((res, rej) => {
|
||||
setTimeout(() => {
|
||||
method(path, opt, backoff, total).then(res, rej);
|
||||
}, backoff);
|
||||
});
|
||||
}
|
||||
if (retries < max) {
|
||||
retries++;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
throw er;
|
||||
}
|
||||
}
|
||||
};
|
||||
return method;
|
||||
};
|
||||
exports.retryBusy = retryBusy;
|
||||
// just retries, no async so no backoff
|
||||
const retryBusySync = (fn) => {
|
||||
const method = (path, opt) => {
|
||||
const max = opt.maxRetries || exports.MAXRETRIES;
|
||||
let retries = 0;
|
||||
while (true) {
|
||||
try {
|
||||
return fn(path);
|
||||
}
|
||||
catch (er) {
|
||||
const fer = er;
|
||||
if (fer?.path === path &&
|
||||
fer?.code &&
|
||||
exports.codes.has(fer.code) &&
|
||||
retries < max) {
|
||||
retries++;
|
||||
continue;
|
||||
}
|
||||
throw er;
|
||||
}
|
||||
}
|
||||
};
|
||||
return method;
|
||||
};
|
||||
exports.retryBusySync = retryBusySync;
|
||||
//# sourceMappingURL=retry-busy.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"retry-busy.js","sourceRoot":"","sources":["../../../src/retry-busy.ts"],"names":[],"mappings":";AAAA,qEAAqE;;;AAKxD,QAAA,UAAU,GAAG,GAAG,CAAA;AAChB,QAAA,IAAI,GAAG,GAAG,CAAA;AACV,QAAA,UAAU,GAAG,EAAE,CAAA;AACf,QAAA,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;AAEpD,MAAM,SAAS,GAAG,CAAC,EAAkC,EAAE,EAAE;IAC9D,MAAM,MAAM,GAAG,KAAK,EAClB,IAAY,EACZ,GAAkB,EAClB,OAAO,GAAG,CAAC,EACX,KAAK,GAAG,CAAC,EACT,EAAE;QACF,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,IAAI,kBAAU,CAAA;QACxC,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,IAAI,YAAI,CAAA;QAChC,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,IAAI,kBAAU,CAAA;QACxC,IAAI,OAAO,GAAG,CAAC,CAAA;QACf,OAAO,IAAI,EAAE;YACX,IAAI;gBACF,OAAO,MAAM,EAAE,CAAC,IAAI,CAAC,CAAA;aACtB;YAAC,OAAO,EAAE,EAAE;gBACX,MAAM,GAAG,GAAG,EAAa,CAAA;gBACzB,IAAI,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,aAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBAC1D,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAA;oBACnC,KAAK,GAAG,OAAO,GAAG,KAAK,CAAA;oBACvB,IAAI,KAAK,GAAG,GAAG,EAAE;wBACf,OAAO,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;4BAC9B,UAAU,CAAC,GAAG,EAAE;gCACd,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;4BAClD,CAAC,EAAE,OAAO,CAAC,CAAA;wBACb,CAAC,CAAC,CAAA;qBACH;oBACD,IAAI,OAAO,GAAG,GAAG,EAAE;wBACjB,OAAO,EAAE,CAAA;wBACT,SAAQ;qBACT;iBACF;gBACD,MAAM,EAAE,CAAA;aACT;SACF;IACH,CAAC,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AArCY,QAAA,SAAS,aAqCrB;AAED,uCAAuC;AAChC,MAAM,aAAa,GAAG,CAAC,EAAyB,EAAE,EAAE;IACzD,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,GAAkB,EAAE,EAAE;QAClD,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,IAAI,kBAAU,CAAA;QACxC,IAAI,OAAO,GAAG,CAAC,CAAA;QACf,OAAO,IAAI,EAAE;YACX,IAAI;gBACF,OAAO,EAAE,CAAC,IAAI,CAAC,CAAA;aAChB;YAAC,OAAO,EAAE,EAAE;gBACX,MAAM,GAAG,GAAG,EAAa,CAAA;gBACzB,IACE,GAAG,EAAE,IAAI,KAAK,IAAI;oBAClB,GAAG,EAAE,IAAI;oBACT,aAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;oBACnB,OAAO,GAAG,GAAG,EACb;oBACA,OAAO,EAAE,CAAA;oBACT,SAAQ;iBACT;gBACD,MAAM,EAAE,CAAA;aACT;SACF;IACH,CAAC,CAAA;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAvBY,QAAA,aAAa,iBAuBzB"}
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
export declare const rimrafManual: ((path: string, opt: import("./index.js").RimrafOptions) => Promise<any>) | ((path: string, opt: import("./index.js").RimrafOptions, state?: symbol) => Promise<void>);
|
||||
export declare const rimrafManualSync: (path: string, opt: import("./index.js").RimrafOptions, state?: symbol) => void;
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.rimrafManualSync = exports.rimrafManual = void 0;
|
||||
const platform_js_1 = __importDefault(require("./platform.js"));
|
||||
const rimraf_posix_js_1 = require("./rimraf-posix.js");
|
||||
const rimraf_windows_js_1 = require("./rimraf-windows.js");
|
||||
exports.rimrafManual = platform_js_1.default === 'win32' ? rimraf_windows_js_1.rimrafWindows : rimraf_posix_js_1.rimrafPosix;
|
||||
exports.rimrafManualSync = platform_js_1.default === 'win32' ? rimraf_windows_js_1.rimrafWindowsSync : rimraf_posix_js_1.rimrafPosixSync;
|
||||
//# sourceMappingURL=rimraf-manual.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"rimraf-manual.js","sourceRoot":"","sources":["../../../src/rimraf-manual.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAoC;AAEpC,uDAAgE;AAChE,2DAAsE;AAEzD,QAAA,YAAY,GAAG,qBAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,iCAAa,CAAC,CAAC,CAAC,6BAAW,CAAA;AACjE,QAAA,gBAAgB,GAC3B,qBAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,qCAAiB,CAAC,CAAC,CAAC,iCAAe,CAAA"}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
import { RimrafOptions } from '.';
|
||||
export declare const rimrafMoveRemove: (path: string, opt: RimrafOptions) => Promise<void>;
|
||||
export declare const rimrafMoveRemoveSync: (path: string, opt: RimrafOptions) => void;
|
||||
+124
@@ -0,0 +1,124 @@
|
||||
"use strict";
|
||||
// https://youtu.be/uhRWMGBjlO8?t=537
|
||||
//
|
||||
// 1. readdir
|
||||
// 2. for each entry
|
||||
// a. if a non-empty directory, recurse
|
||||
// b. if an empty directory, move to random hidden file name in $TEMP
|
||||
// c. unlink/rmdir $TEMP
|
||||
//
|
||||
// This works around the fact that unlink/rmdir is non-atomic and takes
|
||||
// a non-deterministic amount of time to complete.
|
||||
//
|
||||
// However, it is HELLA SLOW, like 2-10x slower than a naive recursive rm.
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.rimrafMoveRemoveSync = exports.rimrafMoveRemove = void 0;
|
||||
const path_1 = require("path");
|
||||
const default_tmp_js_1 = require("./default-tmp.js");
|
||||
const ignore_enoent_js_1 = require("./ignore-enoent.js");
|
||||
const fs_js_1 = require("./fs.js");
|
||||
const { rename, unlink, rmdir, chmod } = fs_js_1.promises;
|
||||
const readdir_or_error_js_1 = require("./readdir-or-error.js");
|
||||
// crypto.randomBytes is much slower, and Math.random() is enough here
|
||||
const uniqueFilename = (path) => `.${(0, path_1.basename)(path)}.${Math.random()}`;
|
||||
const unlinkFixEPERM = async (path) => unlink(path).catch((er) => {
|
||||
if (er.code === 'EPERM') {
|
||||
return chmod(path, 0o666).then(() => unlink(path), er2 => {
|
||||
if (er2.code === 'ENOENT') {
|
||||
return;
|
||||
}
|
||||
throw er;
|
||||
});
|
||||
}
|
||||
else if (er.code === 'ENOENT') {
|
||||
return;
|
||||
}
|
||||
throw er;
|
||||
});
|
||||
const unlinkFixEPERMSync = (path) => {
|
||||
try {
|
||||
(0, fs_js_1.unlinkSync)(path);
|
||||
}
|
||||
catch (er) {
|
||||
if (er?.code === 'EPERM') {
|
||||
try {
|
||||
return (0, fs_js_1.chmodSync)(path, 0o666);
|
||||
}
|
||||
catch (er2) {
|
||||
if (er2?.code === 'ENOENT') {
|
||||
return;
|
||||
}
|
||||
throw er;
|
||||
}
|
||||
}
|
||||
else if (er?.code === 'ENOENT') {
|
||||
return;
|
||||
}
|
||||
throw er;
|
||||
}
|
||||
};
|
||||
const rimrafMoveRemove = async (path, opt) => {
|
||||
if (!opt.tmp) {
|
||||
return (0, exports.rimrafMoveRemove)(path, { ...opt, tmp: await (0, default_tmp_js_1.defaultTmp)(path) });
|
||||
}
|
||||
if (path === opt.tmp && (0, path_1.parse)(path).root !== path) {
|
||||
throw new Error('cannot delete temp directory used for deletion');
|
||||
}
|
||||
const entries = await (0, readdir_or_error_js_1.readdirOrError)(path);
|
||||
if (!Array.isArray(entries)) {
|
||||
if (entries.code === 'ENOENT') {
|
||||
return;
|
||||
}
|
||||
if (entries.code !== 'ENOTDIR') {
|
||||
throw entries;
|
||||
}
|
||||
return await (0, ignore_enoent_js_1.ignoreENOENT)(tmpUnlink(path, opt.tmp, unlinkFixEPERM));
|
||||
}
|
||||
await Promise.all(entries.map(entry => (0, exports.rimrafMoveRemove)((0, path_1.resolve)(path, entry), opt)));
|
||||
// we don't ever ACTUALLY try to unlink /, because that can never work
|
||||
// but when preserveRoot is false, we could be operating on it.
|
||||
// No need to check if preserveRoot is not false.
|
||||
if (opt.preserveRoot === false && path === (0, path_1.parse)(path).root) {
|
||||
return;
|
||||
}
|
||||
return await (0, ignore_enoent_js_1.ignoreENOENT)(tmpUnlink(path, opt.tmp, rmdir));
|
||||
};
|
||||
exports.rimrafMoveRemove = rimrafMoveRemove;
|
||||
const tmpUnlink = async (path, tmp, rm) => {
|
||||
const tmpFile = (0, path_1.resolve)(tmp, uniqueFilename(path));
|
||||
await rename(path, tmpFile);
|
||||
return await rm(tmpFile);
|
||||
};
|
||||
const rimrafMoveRemoveSync = (path, opt) => {
|
||||
if (!opt.tmp) {
|
||||
return (0, exports.rimrafMoveRemoveSync)(path, { ...opt, tmp: (0, default_tmp_js_1.defaultTmpSync)(path) });
|
||||
}
|
||||
const tmp = opt.tmp;
|
||||
if (path === opt.tmp && (0, path_1.parse)(path).root !== path) {
|
||||
throw new Error('cannot delete temp directory used for deletion');
|
||||
}
|
||||
const entries = (0, readdir_or_error_js_1.readdirOrErrorSync)(path);
|
||||
if (!Array.isArray(entries)) {
|
||||
if (entries.code === 'ENOENT') {
|
||||
return;
|
||||
}
|
||||
if (entries.code !== 'ENOTDIR') {
|
||||
throw entries;
|
||||
}
|
||||
return (0, ignore_enoent_js_1.ignoreENOENTSync)(() => tmpUnlinkSync(path, tmp, unlinkFixEPERMSync));
|
||||
}
|
||||
for (const entry of entries) {
|
||||
(0, exports.rimrafMoveRemoveSync)((0, path_1.resolve)(path, entry), opt);
|
||||
}
|
||||
if (opt.preserveRoot === false && path === (0, path_1.parse)(path).root) {
|
||||
return;
|
||||
}
|
||||
return (0, ignore_enoent_js_1.ignoreENOENTSync)(() => tmpUnlinkSync(path, tmp, fs_js_1.rmdirSync));
|
||||
};
|
||||
exports.rimrafMoveRemoveSync = rimrafMoveRemoveSync;
|
||||
const tmpUnlinkSync = (path, tmp, rmSync) => {
|
||||
const tmpFile = (0, path_1.resolve)(tmp, uniqueFilename(path));
|
||||
(0, fs_js_1.renameSync)(path, tmpFile);
|
||||
return rmSync(tmpFile);
|
||||
};
|
||||
//# sourceMappingURL=rimraf-move-remove.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"rimraf-move-remove.js","sourceRoot":"","sources":["../../../src/rimraf-move-remove.ts"],"names":[],"mappings":"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"}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
import { RimrafOptions } from '.';
|
||||
export declare const rimrafNative: (path: string, opt: RimrafOptions) => Promise<void>;
|
||||
export declare const rimrafNativeSync: (path: string, opt: RimrafOptions) => void;
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.rimrafNativeSync = exports.rimrafNative = void 0;
|
||||
const fs_js_1 = require("./fs.js");
|
||||
const { rm } = fs_js_1.promises;
|
||||
const rimrafNative = (path, opt) => rm(path, {
|
||||
...opt,
|
||||
force: true,
|
||||
recursive: true,
|
||||
});
|
||||
exports.rimrafNative = rimrafNative;
|
||||
const rimrafNativeSync = (path, opt) => (0, fs_js_1.rmSync)(path, {
|
||||
...opt,
|
||||
force: true,
|
||||
recursive: true,
|
||||
});
|
||||
exports.rimrafNativeSync = rimrafNativeSync;
|
||||
//# sourceMappingURL=rimraf-native.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"rimraf-native.js","sourceRoot":"","sources":["../../../src/rimraf-native.ts"],"names":[],"mappings":";;;AACA,mCAA0C;AAC1C,MAAM,EAAE,EAAE,EAAE,GAAG,gBAAQ,CAAA;AAEhB,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,GAAkB,EAAE,EAAE,CAC/D,EAAE,CAAC,IAAI,EAAE;IACP,GAAG,GAAG;IACN,KAAK,EAAE,IAAI;IACX,SAAS,EAAE,IAAI;CAChB,CAAC,CAAA;AALS,QAAA,YAAY,gBAKrB;AAEG,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,GAAkB,EAAE,EAAE,CACnE,IAAA,cAAM,EAAC,IAAI,EAAE;IACX,GAAG,GAAG;IACN,KAAK,EAAE,IAAI;IACX,SAAS,EAAE,IAAI;CAChB,CAAC,CAAA;AALS,QAAA,gBAAgB,oBAKzB"}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
import { RimrafOptions } from '.';
|
||||
export declare const rimrafPosix: (path: string, opt: RimrafOptions) => Promise<any>;
|
||||
export declare const rimrafPosixSync: (path: string, opt: RimrafOptions) => any;
|
||||
+56
@@ -0,0 +1,56 @@
|
||||
"use strict";
|
||||
// the simple recursive removal, where unlink and rmdir are atomic
|
||||
// Note that this approach does NOT work on Windows!
|
||||
// We rmdir before unlink even though that is arguably less efficient
|
||||
// (since the average folder contains >1 file, it means more system
|
||||
// calls), because sunos will let root unlink a directory, and some
|
||||
// SUPER weird breakage happens as a result.
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.rimrafPosixSync = exports.rimrafPosix = void 0;
|
||||
const fs_js_1 = require("./fs.js");
|
||||
const { rmdir, unlink } = fs_js_1.promises;
|
||||
const path_1 = require("path");
|
||||
const readdir_or_error_js_1 = require("./readdir-or-error.js");
|
||||
const ignore_enoent_js_1 = require("./ignore-enoent.js");
|
||||
const rimrafPosix = async (path, opt) => {
|
||||
const entries = await (0, readdir_or_error_js_1.readdirOrError)(path);
|
||||
if (!Array.isArray(entries)) {
|
||||
if (entries.code === 'ENOENT') {
|
||||
return;
|
||||
}
|
||||
if (entries.code !== 'ENOTDIR') {
|
||||
throw entries;
|
||||
}
|
||||
return (0, ignore_enoent_js_1.ignoreENOENT)(unlink(path));
|
||||
}
|
||||
await Promise.all(entries.map(entry => (0, exports.rimrafPosix)((0, path_1.resolve)(path, entry), opt)));
|
||||
// we don't ever ACTUALLY try to unlink /, because that can never work
|
||||
// but when preserveRoot is false, we could be operating on it.
|
||||
// No need to check if preserveRoot is not false.
|
||||
if (opt.preserveRoot === false && path === (0, path_1.parse)(path).root) {
|
||||
return;
|
||||
}
|
||||
return (0, ignore_enoent_js_1.ignoreENOENT)(rmdir(path));
|
||||
};
|
||||
exports.rimrafPosix = rimrafPosix;
|
||||
const rimrafPosixSync = (path, opt) => {
|
||||
const entries = (0, readdir_or_error_js_1.readdirOrErrorSync)(path);
|
||||
if (!Array.isArray(entries)) {
|
||||
if (entries.code === 'ENOENT') {
|
||||
return;
|
||||
}
|
||||
if (entries.code !== 'ENOTDIR') {
|
||||
throw entries;
|
||||
}
|
||||
return (0, ignore_enoent_js_1.ignoreENOENTSync)(() => (0, fs_js_1.unlinkSync)(path));
|
||||
}
|
||||
for (const entry of entries) {
|
||||
(0, exports.rimrafPosixSync)((0, path_1.resolve)(path, entry), opt);
|
||||
}
|
||||
if (opt.preserveRoot === false && path === (0, path_1.parse)(path).root) {
|
||||
return;
|
||||
}
|
||||
return (0, ignore_enoent_js_1.ignoreENOENTSync)(() => (0, fs_js_1.rmdirSync)(path));
|
||||
};
|
||||
exports.rimrafPosixSync = rimrafPosixSync;
|
||||
//# sourceMappingURL=rimraf-posix.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"rimraf-posix.js","sourceRoot":"","sources":["../../../src/rimraf-posix.ts"],"names":[],"mappings":";AAAA,kEAAkE;AAClE,oDAAoD;AACpD,qEAAqE;AACrE,mEAAmE;AACnE,mEAAmE;AACnE,4CAA4C;;;AAE5C,mCAAyD;AACzD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,gBAAQ,CAAA;AAElC,+BAAqC;AAErC,+DAA0E;AAG1E,yDAAmE;AAE5D,MAAM,WAAW,GAAG,KAAK,EAAE,IAAY,EAAE,GAAkB,EAAE,EAAE;IACpE,MAAM,OAAO,GAAG,MAAM,IAAA,oCAAc,EAAC,IAAI,CAAC,CAAA;IAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC7B,OAAM;SACP;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE;YAC9B,MAAM,OAAO,CAAA;SACd;QACD,OAAO,IAAA,+BAAY,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;KAClC;IACD,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAA,mBAAW,EAAC,IAAA,cAAO,EAAC,IAAI,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAC7D,CAAA;IAED,sEAAsE;IACtE,+DAA+D;IAC/D,iDAAiD;IACjD,IAAI,GAAG,CAAC,YAAY,KAAK,KAAK,IAAI,IAAI,KAAK,IAAA,YAAK,EAAC,IAAI,CAAC,CAAC,IAAI,EAAE;QAC3D,OAAM;KACP;IAED,OAAO,IAAA,+BAAY,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;AAClC,CAAC,CAAA;AAvBY,QAAA,WAAW,eAuBvB;AAEM,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,GAAkB,EAAE,EAAE;IAClE,MAAM,OAAO,GAAG,IAAA,wCAAkB,EAAC,IAAI,CAAC,CAAA;IACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC7B,OAAM;SACP;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE;YAC9B,MAAM,OAAO,CAAA;SACd;QACD,OAAO,IAAA,mCAAgB,EAAC,GAAG,EAAE,CAAC,IAAA,kBAAU,EAAC,IAAI,CAAC,CAAC,CAAA;KAChD;IACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;QAC3B,IAAA,uBAAe,EAAC,IAAA,cAAO,EAAC,IAAI,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,CAAA;KAC3C;IAED,IAAI,GAAG,CAAC,YAAY,KAAK,KAAK,IAAI,IAAI,KAAK,IAAA,YAAK,EAAC,IAAI,CAAC,CAAC,IAAI,EAAE;QAC3D,OAAM;KACP;IAED,OAAO,IAAA,mCAAgB,EAAC,GAAG,EAAE,CAAC,IAAA,iBAAS,EAAC,IAAI,CAAC,CAAC,CAAA;AAChD,CAAC,CAAA;AApBY,QAAA,eAAe,mBAoB3B"}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
import { RimrafOptions } from '.';
|
||||
export declare const rimrafWindows: (path: string, opt: RimrafOptions, state?: symbol) => Promise<void>;
|
||||
export declare const rimrafWindowsSync: (path: string, opt: RimrafOptions, state?: symbol) => void;
|
||||
+110
@@ -0,0 +1,110 @@
|
||||
"use strict";
|
||||
// This is the same as rimrafPosix, with the following changes:
|
||||
//
|
||||
// 1. EBUSY, ENFILE, EMFILE trigger retries and/or exponential backoff
|
||||
// 2. All non-directories are removed first and then all directories are
|
||||
// removed in a second sweep.
|
||||
// 3. If we hit ENOTEMPTY in the second sweep, fall back to move-remove on
|
||||
// the that folder.
|
||||
//
|
||||
// Note: "move then remove" is 2-10 times slower, and just as unreliable.
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.rimrafWindowsSync = exports.rimrafWindows = void 0;
|
||||
const path_1 = require("path");
|
||||
const ignore_enoent_js_1 = require("./ignore-enoent.js");
|
||||
const fix_eperm_js_1 = require("./fix-eperm.js");
|
||||
const readdir_or_error_js_1 = require("./readdir-or-error.js");
|
||||
const retry_busy_js_1 = require("./retry-busy.js");
|
||||
const rimraf_move_remove_js_1 = require("./rimraf-move-remove.js");
|
||||
const fs_js_1 = require("./fs.js");
|
||||
const { unlink, rmdir } = fs_js_1.promises;
|
||||
const rimrafWindowsFile = (0, retry_busy_js_1.retryBusy)((0, fix_eperm_js_1.fixEPERM)(unlink));
|
||||
const rimrafWindowsFileSync = (0, retry_busy_js_1.retryBusySync)((0, fix_eperm_js_1.fixEPERMSync)(fs_js_1.unlinkSync));
|
||||
const rimrafWindowsDir = (0, retry_busy_js_1.retryBusy)((0, fix_eperm_js_1.fixEPERM)(rmdir));
|
||||
const rimrafWindowsDirSync = (0, retry_busy_js_1.retryBusySync)((0, fix_eperm_js_1.fixEPERMSync)(fs_js_1.rmdirSync));
|
||||
const rimrafWindowsDirMoveRemoveFallback = async (path, opt) => {
|
||||
try {
|
||||
await rimrafWindowsDir(path, opt);
|
||||
}
|
||||
catch (er) {
|
||||
if (er?.code === 'ENOTEMPTY') {
|
||||
return await (0, rimraf_move_remove_js_1.rimrafMoveRemove)(path, opt);
|
||||
}
|
||||
throw er;
|
||||
}
|
||||
};
|
||||
const rimrafWindowsDirMoveRemoveFallbackSync = (path, opt) => {
|
||||
try {
|
||||
rimrafWindowsDirSync(path, opt);
|
||||
}
|
||||
catch (er) {
|
||||
if (er?.code === 'ENOTEMPTY') {
|
||||
return (0, rimraf_move_remove_js_1.rimrafMoveRemoveSync)(path, opt);
|
||||
}
|
||||
throw er;
|
||||
}
|
||||
};
|
||||
const START = Symbol('start');
|
||||
const CHILD = Symbol('child');
|
||||
const FINISH = Symbol('finish');
|
||||
const states = new Set([START, CHILD, FINISH]);
|
||||
const rimrafWindows = async (path, opt, state = START) => {
|
||||
if (!states.has(state)) {
|
||||
throw new TypeError('invalid third argument passed to rimraf');
|
||||
}
|
||||
const entries = await (0, readdir_or_error_js_1.readdirOrError)(path);
|
||||
if (!Array.isArray(entries)) {
|
||||
if (entries.code === 'ENOENT') {
|
||||
return;
|
||||
}
|
||||
if (entries.code !== 'ENOTDIR') {
|
||||
throw entries;
|
||||
}
|
||||
// is a file
|
||||
return (0, ignore_enoent_js_1.ignoreENOENT)(rimrafWindowsFile(path, opt));
|
||||
}
|
||||
await Promise.all(entries.map(entry => (0, exports.rimrafWindows)((0, path_1.resolve)(path, entry), opt, state === START ? CHILD : state)));
|
||||
if (state === START) {
|
||||
return (0, exports.rimrafWindows)(path, opt, FINISH);
|
||||
}
|
||||
else if (state === FINISH) {
|
||||
if (opt.preserveRoot === false && path === (0, path_1.parse)(path).root) {
|
||||
return;
|
||||
}
|
||||
return (0, ignore_enoent_js_1.ignoreENOENT)(rimrafWindowsDirMoveRemoveFallback(path, opt));
|
||||
}
|
||||
};
|
||||
exports.rimrafWindows = rimrafWindows;
|
||||
const rimrafWindowsSync = (path, opt, state = START) => {
|
||||
if (!states.has(state)) {
|
||||
throw new TypeError('invalid third argument passed to rimraf');
|
||||
}
|
||||
const entries = (0, readdir_or_error_js_1.readdirOrErrorSync)(path);
|
||||
if (!Array.isArray(entries)) {
|
||||
if (entries.code === 'ENOENT') {
|
||||
return;
|
||||
}
|
||||
if (entries.code !== 'ENOTDIR') {
|
||||
throw entries;
|
||||
}
|
||||
// is a file
|
||||
return (0, ignore_enoent_js_1.ignoreENOENTSync)(() => rimrafWindowsFileSync(path, opt));
|
||||
}
|
||||
for (const entry of entries) {
|
||||
const s = state === START ? CHILD : state;
|
||||
(0, exports.rimrafWindowsSync)((0, path_1.resolve)(path, entry), opt, s);
|
||||
}
|
||||
if (state === START) {
|
||||
return (0, exports.rimrafWindowsSync)(path, opt, FINISH);
|
||||
}
|
||||
else if (state === FINISH) {
|
||||
if (opt.preserveRoot === false && path === (0, path_1.parse)(path).root) {
|
||||
return;
|
||||
}
|
||||
return (0, ignore_enoent_js_1.ignoreENOENTSync)(() => {
|
||||
rimrafWindowsDirMoveRemoveFallbackSync(path, opt);
|
||||
});
|
||||
}
|
||||
};
|
||||
exports.rimrafWindowsSync = rimrafWindowsSync;
|
||||
//# sourceMappingURL=rimraf-windows.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"rimraf-windows.js","sourceRoot":"","sources":["../../../src/rimraf-windows.ts"],"names":[],"mappings":"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"}
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
export declare const useNative: () => boolean;
|
||||
export declare const useNativeSync: () => boolean;
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.useNativeSync = exports.useNative = void 0;
|
||||
const version = process.env.__TESTING_RIMRAF_NODE_VERSION__ || process.version;
|
||||
const versArr = version.replace(/^v/, '').split('.');
|
||||
const hasNative = +versArr[0] > 14 || (+versArr[0] === 14 && +versArr[1] >= 14);
|
||||
// we do NOT use native by default on Windows, because Node's native
|
||||
// rm implementation is less advanced. Change this code if that changes.
|
||||
const platform_js_1 = __importDefault(require("./platform.js"));
|
||||
exports.useNative = !hasNative || platform_js_1.default === 'win32' ? () => false : () => true;
|
||||
exports.useNativeSync = !hasNative || platform_js_1.default === 'win32' ? () => false : () => true;
|
||||
//# sourceMappingURL=use-native.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"use-native.js","sourceRoot":"","sources":["../../../src/use-native.ts"],"names":[],"mappings":";;;;;;AAAA,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAI,OAAO,CAAC,OAAO,CAAA;AAC9E,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;AACpD,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;AAC/E,oEAAoE;AACpE,yEAAyE;AACzE,gEAAoC;AACvB,QAAA,SAAS,GACpB,CAAC,SAAS,IAAI,qBAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAA;AAClD,QAAA,aAAa,GACxB,CAAC,SAAS,IAAI,qBAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAA"}
|
||||
Reference in New Issue
Block a user