123456789101112131415161718192021222324252627282930313233343536 |
- 'use strict';
- var path = require('path');
- var globby = require('globby');
- var multimatch = require('multimatch');
- var util = require('../util');
- function deleteFile(path, store) {
- var file = store.get(path);
- file.state = 'deleted';
- file.contents = null;
- store.add(file);
- }
- module.exports = function (paths, options) {
- if (!Array.isArray(paths)) {
- paths = [paths];
- }
- paths = paths.map(function (filePath) {
- return path.resolve(filePath);
- });
- paths = util.globify(paths);
- options = options || {};
- var globOptions = options.globOptions || {};
- var files = globby.sync(paths, globOptions);
- files.forEach(function (file) {
- deleteFile(file, this.store);
- }.bind(this));
- this.store.each(function (file) {
- if (multimatch([file.path], paths).length !== 0) {
- deleteFile(file.path, this.store);
- }
- }.bind(this));
- };
|