|
|
@ -6552,11 +6552,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
|
};
|
|
|
|
};
|
|
|
|
var _a;
|
|
|
|
var _a;
|
|
|
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
|
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
|
|
exports.getCmdPath = exports.tryGetExecutablePath = exports.isRooted = exports.isDirectory = exports.exists = exports.IS_WINDOWS = exports.unlink = exports.symlink = exports.stat = exports.rmdir = exports.rename = exports.readlink = exports.readdir = exports.mkdir = exports.lstat = exports.copyFile = exports.chmod = void 0;
|
|
|
|
exports.getCmdPath = exports.tryGetExecutablePath = exports.isRooted = exports.isDirectory = exports.exists = exports.READONLY = exports.UV_FS_O_EXLOCK = exports.IS_WINDOWS = exports.unlink = exports.symlink = exports.stat = exports.rmdir = exports.rm = exports.rename = exports.readlink = exports.readdir = exports.open = exports.mkdir = exports.lstat = exports.copyFile = exports.chmod = void 0;
|
|
|
|
const fs = __importStar(__nccwpck_require__(7147));
|
|
|
|
const fs = __importStar(__nccwpck_require__(7147));
|
|
|
|
const path = __importStar(__nccwpck_require__(1017));
|
|
|
|
const path = __importStar(__nccwpck_require__(1017));
|
|
|
|
_a = fs.promises, exports.chmod = _a.chmod, exports.copyFile = _a.copyFile, exports.lstat = _a.lstat, exports.mkdir = _a.mkdir, exports.readdir = _a.readdir, exports.readlink = _a.readlink, exports.rename = _a.rename, exports.rmdir = _a.rmdir, exports.stat = _a.stat, exports.symlink = _a.symlink, exports.unlink = _a.unlink;
|
|
|
|
_a = fs.promises
|
|
|
|
|
|
|
|
// export const {open} = 'fs'
|
|
|
|
|
|
|
|
, exports.chmod = _a.chmod, exports.copyFile = _a.copyFile, exports.lstat = _a.lstat, exports.mkdir = _a.mkdir, exports.open = _a.open, exports.readdir = _a.readdir, exports.readlink = _a.readlink, exports.rename = _a.rename, exports.rm = _a.rm, exports.rmdir = _a.rmdir, exports.stat = _a.stat, exports.symlink = _a.symlink, exports.unlink = _a.unlink;
|
|
|
|
|
|
|
|
// export const {open} = 'fs'
|
|
|
|
exports.IS_WINDOWS = process.platform === 'win32';
|
|
|
|
exports.IS_WINDOWS = process.platform === 'win32';
|
|
|
|
|
|
|
|
// See https://github.com/nodejs/node/blob/d0153aee367422d0858105abec186da4dff0a0c5/deps/uv/include/uv/win.h#L691
|
|
|
|
|
|
|
|
exports.UV_FS_O_EXLOCK = 0x10000000;
|
|
|
|
|
|
|
|
exports.READONLY = fs.constants.O_RDONLY;
|
|
|
|
function exists(fsPath) {
|
|
|
|
function exists(fsPath) {
|
|
|
|
return __awaiter(this, void 0, void 0, function* () {
|
|
|
|
return __awaiter(this, void 0, void 0, function* () {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
@ -6737,12 +6743,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
|
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
|
|
exports.findInPath = exports.which = exports.mkdirP = exports.rmRF = exports.mv = exports.cp = void 0;
|
|
|
|
exports.findInPath = exports.which = exports.mkdirP = exports.rmRF = exports.mv = exports.cp = void 0;
|
|
|
|
const assert_1 = __nccwpck_require__(9491);
|
|
|
|
const assert_1 = __nccwpck_require__(9491);
|
|
|
|
const childProcess = __importStar(__nccwpck_require__(2081));
|
|
|
|
|
|
|
|
const path = __importStar(__nccwpck_require__(1017));
|
|
|
|
const path = __importStar(__nccwpck_require__(1017));
|
|
|
|
const util_1 = __nccwpck_require__(3837);
|
|
|
|
|
|
|
|
const ioUtil = __importStar(__nccwpck_require__(1962));
|
|
|
|
const ioUtil = __importStar(__nccwpck_require__(1962));
|
|
|
|
const exec = util_1.promisify(childProcess.exec);
|
|
|
|
|
|
|
|
const execFile = util_1.promisify(childProcess.execFile);
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* Copies a file or folder.
|
|
|
|
* Copies a file or folder.
|
|
|
|
* Based off of shelljs - https://github.com/shelljs/shelljs/blob/9237f66c52e5daa40458f94f9565e18e8132f5a6/src/cp.js
|
|
|
|
* Based off of shelljs - https://github.com/shelljs/shelljs/blob/9237f66c52e5daa40458f94f9565e18e8132f5a6/src/cp.js
|
|
|
@ -6823,61 +6825,23 @@ exports.mv = mv;
|
|
|
|
function rmRF(inputPath) {
|
|
|
|
function rmRF(inputPath) {
|
|
|
|
return __awaiter(this, void 0, void 0, function* () {
|
|
|
|
return __awaiter(this, void 0, void 0, function* () {
|
|
|
|
if (ioUtil.IS_WINDOWS) {
|
|
|
|
if (ioUtil.IS_WINDOWS) {
|
|
|
|
// Node doesn't provide a delete operation, only an unlink function. This means that if the file is being used by another
|
|
|
|
|
|
|
|
// program (e.g. antivirus), it won't be deleted. To address this, we shell out the work to rd/del.
|
|
|
|
|
|
|
|
// Check for invalid characters
|
|
|
|
// Check for invalid characters
|
|
|
|
// https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file
|
|
|
|
// https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file
|
|
|
|
if (/[*"<>|]/.test(inputPath)) {
|
|
|
|
if (/[*"<>|]/.test(inputPath)) {
|
|
|
|
throw new Error('File path must not contain `*`, `"`, `<`, `>` or `|` on Windows');
|
|
|
|
throw new Error('File path must not contain `*`, `"`, `<`, `>` or `|` on Windows');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
try {
|
|
|
|
|
|
|
|
const cmdPath = ioUtil.getCmdPath();
|
|
|
|
|
|
|
|
if (yield ioUtil.isDirectory(inputPath, true)) {
|
|
|
|
|
|
|
|
yield exec(`${cmdPath} /s /c "rd /s /q "%inputPath%""`, {
|
|
|
|
|
|
|
|
env: { inputPath }
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else {
|
|
|
|
|
|
|
|
yield exec(`${cmdPath} /s /c "del /f /a "%inputPath%""`, {
|
|
|
|
|
|
|
|
env: { inputPath }
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
catch (err) {
|
|
|
|
|
|
|
|
// if you try to delete a file that doesn't exist, desired result is achieved
|
|
|
|
|
|
|
|
// other errors are valid
|
|
|
|
|
|
|
|
if (err.code !== 'ENOENT')
|
|
|
|
|
|
|
|
throw err;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// Shelling out fails to remove a symlink folder with missing source, this unlink catches that
|
|
|
|
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
yield ioUtil.unlink(inputPath);
|
|
|
|
// note if path does not exist, error is silent
|
|
|
|
}
|
|
|
|
yield ioUtil.rm(inputPath, {
|
|
|
|
catch (err) {
|
|
|
|
force: true,
|
|
|
|
// if you try to delete a file that doesn't exist, desired result is achieved
|
|
|
|
maxRetries: 3,
|
|
|
|
// other errors are valid
|
|
|
|
recursive: true,
|
|
|
|
if (err.code !== 'ENOENT')
|
|
|
|
retryDelay: 300
|
|
|
|
throw err;
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else {
|
|
|
|
|
|
|
|
let isDir = false;
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
isDir = yield ioUtil.isDirectory(inputPath);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
catch (err) {
|
|
|
|
catch (err) {
|
|
|
|
// if you try to delete a file that doesn't exist, desired result is achieved
|
|
|
|
throw new Error(`File was unable to be removed ${err}`);
|
|
|
|
// other errors are valid
|
|
|
|
|
|
|
|
if (err.code !== 'ENOENT')
|
|
|
|
|
|
|
|
throw err;
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (isDir) {
|
|
|
|
|
|
|
|
yield execFile(`rm`, [`-rf`, `${inputPath}`]);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else {
|
|
|
|
|
|
|
|
yield ioUtil.unlink(inputPath);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|