turbo-gulp
Version:
Gulp tasks to boost high-quality projects.
45 lines (43 loc) • 4.38 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
}
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
}
Object.defineProperty(exports, "__esModule", { value: true });
const del_1 = __importDefault(require("del"));
const minimatch_1 = require("minimatch");
const path_1 = require("path");
const matcher = __importStar(require("../utils/matcher"));
/**
* Return a list of files, prefixed by "base"
*/
function getFiles(options) {
const files = [];
if (options.dirs !== undefined) {
for (const dir of options.dirs) {
files.push(path_1.posix.join(options.base, dir));
}
}
if (options.files !== undefined) {
for (const file of options.files) {
files.push(matcher.asString(matcher.join(options.base, new minimatch_1.Minimatch(file))));
}
}
return files;
}
/**
* Generate a task to clean files
*/
function generateTask(gulp, options) {
return async function () {
return del_1.default(getFiles(options));
};
}
exports.generateTask = generateTask;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRhc2stZ2VuZXJhdG9ycy9jbGVhbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSw4Q0FBc0I7QUFFdEIseUNBQXNDO0FBQ3RDLCtCQUFvQztBQUVwQywwREFBNEM7QUFtQjVDOztHQUVHO0FBQ0gsa0JBQWtCLE9BQXFCO0lBQ3JDLE1BQU0sS0FBSyxHQUFhLEVBQUUsQ0FBQztJQUUzQixFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDL0IsR0FBRyxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDL0IsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMzQyxDQUFDO0lBQ0gsQ0FBQztJQUVELEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNoQyxHQUFHLENBQUMsQ0FBQyxNQUFNLElBQUksSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNqQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUkscUJBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRixDQUFDO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxzQkFBNkIsSUFBVSxFQUFFLE9BQXFCO0lBQzVELE1BQU0sQ0FBQyxLQUFLO1FBQ1YsTUFBTSxDQUFDLGFBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNoQyxDQUFDLENBQUM7QUFDSixDQUFDO0FBSkQsb0NBSUMiLCJmaWxlIjoidGFzay1nZW5lcmF0b3JzL2NsZWFuLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGRlbCBmcm9tIFwiZGVsXCI7XG5pbXBvcnQgeyBHdWxwIH0gZnJvbSBcImd1bHBcIjtcbmltcG9ydCB7IE1pbmltYXRjaCB9IGZyb20gXCJtaW5pbWF0Y2hcIjtcbmltcG9ydCB7cG9zaXggYXMgcGF0aCB9IGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBUYXNrRnVuY3Rpb24gfSBmcm9tIFwiLi4vdXRpbHMvZ3VscC10YXNrLWZ1bmN0aW9uXCI7XG5pbXBvcnQgKiBhcyBtYXRjaGVyIGZyb20gXCIuLi91dGlscy9tYXRjaGVyXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xlYW5PcHRpb25zIHtcbiAgLyoqXG4gICAqIEJhc2UtZGlyZWN0b3J5IGZvciBjbGVhbiAodXN1YWxseSBgcHJvamVjdC5yb290YClcbiAgICovXG4gIGJhc2U6IHN0cmluZztcblxuICAvKipcbiAgICogQW4gYXJyYXkgb2YgcmVsYXRpdmUgcGF0aHMgdG8gZGlyZWN0b3JpZXMgdG8gZGVsZXRlXG4gICAqL1xuICBkaXJzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEFuIGFycmF5IG9mIG1pbmltYXRjaCBwYXR0ZXJuc1xuICAgKi9cbiAgZmlsZXM/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBSZXR1cm4gYSBsaXN0IG9mIGZpbGVzLCBwcmVmaXhlZCBieSBcImJhc2VcIlxuICovXG5mdW5jdGlvbiBnZXRGaWxlcyhvcHRpb25zOiBDbGVhbk9wdGlvbnMpOiBzdHJpbmdbXSB7XG4gIGNvbnN0IGZpbGVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGlmIChvcHRpb25zLmRpcnMgIT09IHVuZGVmaW5lZCkge1xuICAgIGZvciAoY29uc3QgZGlyIG9mIG9wdGlvbnMuZGlycykge1xuICAgICAgZmlsZXMucHVzaChwYXRoLmpvaW4ob3B0aW9ucy5iYXNlLCBkaXIpKTtcbiAgICB9XG4gIH1cblxuICBpZiAob3B0aW9ucy5maWxlcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgZm9yIChjb25zdCBmaWxlIG9mIG9wdGlvbnMuZmlsZXMpIHtcbiAgICAgIGZpbGVzLnB1c2gobWF0Y2hlci5hc1N0cmluZyhtYXRjaGVyLmpvaW4ob3B0aW9ucy5iYXNlLCBuZXcgTWluaW1hdGNoKGZpbGUpKSkpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmaWxlcztcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZSBhIHRhc2sgdG8gY2xlYW4gZmlsZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlVGFzayhndWxwOiBHdWxwLCBvcHRpb25zOiBDbGVhbk9wdGlvbnMpOiBUYXNrRnVuY3Rpb24ge1xuICByZXR1cm4gYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBkZWwoZ2V0RmlsZXMob3B0aW9ucykpO1xuICB9O1xufVxuIl0sInNvdXJjZVJvb3QiOiIuLiJ9