HOME


Mini Shell 1.0
Redirecting to https://devs.lapieza.net/iniciar-sesion Redirecting to https://devs.lapieza.net/iniciar-sesion.
DIR: /proc/self/root/usr/share/nodejs/del/
Upload File :
Current File : //proc/self/root/usr/share/nodejs/del/dhnodejsBundle.cjs
var node_util = require('node:util');
var path = require('node:path');
var process = require('node:process');
var globby = require('globby');
var isGlob = require('is-glob');
var slash = require('slash');
var gracefulFs = require('graceful-fs');
var isPathCwd = require('is-path-cwd');
var isPathInside = require('is-path-inside');
var rimraf = require('rimraf');
var pMap = require('p-map');

function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }

var path__default = /*#__PURE__*/_interopDefault(path);
var process__default = /*#__PURE__*/_interopDefault(process);
var isGlob__default = /*#__PURE__*/_interopDefault(isGlob);
var slash__default = /*#__PURE__*/_interopDefault(slash);
var gracefulFs__default = /*#__PURE__*/_interopDefault(gracefulFs);
var isPathCwd__default = /*#__PURE__*/_interopDefault(isPathCwd);
var isPathInside__default = /*#__PURE__*/_interopDefault(isPathInside);
var rimraf__default = /*#__PURE__*/_interopDefault(rimraf);
var pMap__default = /*#__PURE__*/_interopDefault(pMap);

const rimrafP = node_util.promisify(rimraf__default.default);

const rimrafOptions = {
	glob: false,
	unlink: gracefulFs__default.default.unlink,
	unlinkSync: gracefulFs__default.default.unlinkSync,
	chmod: gracefulFs__default.default.chmod,
	chmodSync: gracefulFs__default.default.chmodSync,
	stat: gracefulFs__default.default.stat,
	statSync: gracefulFs__default.default.statSync,
	lstat: gracefulFs__default.default.lstat,
	lstatSync: gracefulFs__default.default.lstatSync,
	rmdir: gracefulFs__default.default.rmdir,
	rmdirSync: gracefulFs__default.default.rmdirSync,
	readdir: gracefulFs__default.default.readdir,
	readdirSync: gracefulFs__default.default.readdirSync,
};

function safeCheck(file, cwd) {
	if (isPathCwd__default.default(file)) {
		throw new Error('Cannot delete the current working directory. Can be overridden with the `force` option.');
	}

	if (!isPathInside__default.default(file, cwd)) {
		throw new Error('Cannot delete files/directories outside the current working directory. Can be overridden with the `force` option.');
	}
}

function normalizePatterns(patterns) {
	patterns = Array.isArray(patterns) ? patterns : [patterns];

	patterns = patterns.map(pattern => {
		if (process__default.default.platform === 'win32' && isGlob__default.default(pattern) === false) {
			return slash__default.default(pattern);
		}

		return pattern;
	});

	return patterns;
}

async function deleteAsync(patterns, {force, dryRun, cwd = process__default.default.cwd(), onProgress = () => {}, ...options} = {}) {
	options = {
		expandDirectories: false,
		onlyFiles: false,
		followSymbolicLinks: false,
		cwd,
		...options,
	};

	patterns = normalizePatterns(patterns);

	const paths = await globby.globby(patterns, options);
	const files = paths.sort((a, b) => b.localeCompare(a));

	if (files.length === 0) {
		onProgress({
			totalCount: 0,
			deletedCount: 0,
			percent: 1,
		});
	}

	let deletedCount = 0;

	const mapper = async file => {
		file = path__default.default.resolve(cwd, file);

		if (!force) {
			safeCheck(file, cwd);
		}

		if (!dryRun) {
			await rimrafP(file, rimrafOptions);
		}

		deletedCount += 1;

		onProgress({
			totalCount: files.length,
			deletedCount,
			percent: deletedCount / files.length,
		});

		return file;
	};

	const removedFiles = await pMap__default.default(files, mapper, options);

	removedFiles.sort((a, b) => a.localeCompare(b));

	return removedFiles;
}

function deleteSync(patterns, {force, dryRun, cwd = process__default.default.cwd(), ...options} = {}) {
	options = {
		expandDirectories: false,
		onlyFiles: false,
		followSymbolicLinks: false,
		cwd,
		...options,
	};

	patterns = normalizePatterns(patterns);

	const files = globby.globbySync(patterns, options)
		.sort((a, b) => b.localeCompare(a));

	const removedFiles = files.map(file => {
		file = path__default.default.resolve(cwd, file);

		if (!force) {
			safeCheck(file, cwd);
		}

		if (!dryRun) {
			rimraf__default.default.sync(file, rimrafOptions);
		}

		return file;
	});

	removedFiles.sort((a, b) => a.localeCompare(b));

	return removedFiles;
}

exports.deleteAsync = deleteAsync;
exports.deleteSync = deleteSync;