| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 | 
							- 'use strict';
 
- const path = require('path');
 
- const globby = require('globby');
 
- const isPathCwd = require('is-path-cwd');
 
- const isPathInCwd = require('is-path-in-cwd');
 
- const pify = require('pify');
 
- const rimraf = require('rimraf');
 
- const pMap = require('p-map');
 
- const rimrafP = pify(rimraf);
 
- function safeCheck(file) {
 
- 	if (isPathCwd(file)) {
 
- 		throw new Error('Cannot delete the current working directory. Can be overridden with the `force` option.');
 
- 	}
 
- 	if (!isPathInCwd(file)) {
 
- 		throw new Error('Cannot delete files/folders outside the current working directory. Can be overridden with the `force` option.');
 
- 	}
 
- }
 
- const del = (patterns, options) => {
 
- 	options = Object.assign({}, options);
 
- 	const {force, dryRun} = options;
 
- 	delete options.force;
 
- 	delete options.dryRun;
 
- 	const mapper = file => {
 
- 		if (!force) {
 
- 			safeCheck(file);
 
- 		}
 
- 		file = path.resolve(options.cwd || '', file);
 
- 		if (dryRun) {
 
- 			return file;
 
- 		}
 
- 		return rimrafP(file, {glob: false}).then(() => file);
 
- 	};
 
- 	return globby(patterns, options).then(files => pMap(files, mapper, options));
 
- };
 
- module.exports = del;
 
- // TODO: Remove this for the next major release
 
- module.exports.default = del;
 
- module.exports.sync = (patterns, options) => {
 
- 	options = Object.assign({}, options);
 
- 	const {force, dryRun} = options;
 
- 	delete options.force;
 
- 	delete options.dryRun;
 
- 	return globby.sync(patterns, options).map(file => {
 
- 		if (!force) {
 
- 			safeCheck(file);
 
- 		}
 
- 		file = path.resolve(options.cwd || '', file);
 
- 		if (!dryRun) {
 
- 			rimraf.sync(file, {glob: false});
 
- 		}
 
- 		return file;
 
- 	});
 
- };
 
 
  |