turbo-gulp
Version:
Gulp tasks to boost high-quality projects.
32 lines (30 loc) • 3.76 kB
JavaScript
import del from "del";
import { Minimatch } from "minimatch";
import { posix as path } from "path";
import * as matcher from "../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.join(options.base, dir));
}
}
if (options.files !== undefined) {
for (const file of options.files) {
files.push(matcher.asString(matcher.join(options.base, new Minimatch(file))));
}
}
return files;
}
/**
* Generate a task to clean files
*/
export function generateTask(gulp, options) {
return async function () {
return del(getFiles(options));
};
}
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9zcmMvdGFzay1nZW5lcmF0b3JzL2NsZWFuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztBQUV0QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFBQyxLQUFLLElBQUksSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXBDLE9BQU8sS0FBSyxPQUFPLE1BQU0sa0JBQWtCLENBQUM7QUFtQjVDOztHQUVHO0FBQ0gsa0JBQWtCLE9BQXFCO0lBQ3JDLE1BQU0sS0FBSyxHQUFhLEVBQUUsQ0FBQztJQUUzQixJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFO1FBQzlCLEtBQUssTUFBTSxHQUFHLElBQUksT0FBTyxDQUFDLElBQUksRUFBRTtZQUM5QixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQzFDO0tBQ0Y7SUFFRCxJQUFJLE9BQU8sQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFO1FBQy9CLEtBQUssTUFBTSxJQUFJLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRTtZQUNoQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQy9FO0tBQ0Y7SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sdUJBQXVCLElBQVUsRUFBRSxPQUFxQjtJQUM1RCxPQUFPLEtBQUs7UUFDVixPQUFPLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNoQyxDQUFDLENBQUM7QUFDSixDQUFDIiwiZmlsZSI6InRhc2stZ2VuZXJhdG9ycy9jbGVhbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkZWwgZnJvbSBcImRlbFwiO1xuaW1wb3J0IHsgR3VscCB9IGZyb20gXCJndWxwXCI7XG5pbXBvcnQgeyBNaW5pbWF0Y2ggfSBmcm9tIFwibWluaW1hdGNoXCI7XG5pbXBvcnQge3Bvc2l4IGFzIHBhdGggfSBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgVGFza0Z1bmN0aW9uIH0gZnJvbSBcIi4uL3V0aWxzL2d1bHAtdGFzay1mdW5jdGlvblwiO1xuaW1wb3J0ICogYXMgbWF0Y2hlciBmcm9tIFwiLi4vdXRpbHMvbWF0Y2hlclwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENsZWFuT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBCYXNlLWRpcmVjdG9yeSBmb3IgY2xlYW4gKHVzdWFsbHkgYHByb2plY3Qucm9vdGApXG4gICAqL1xuICBiYXNlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFuIGFycmF5IG9mIHJlbGF0aXZlIHBhdGhzIHRvIGRpcmVjdG9yaWVzIHRvIGRlbGV0ZVxuICAgKi9cbiAgZGlycz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBBbiBhcnJheSBvZiBtaW5pbWF0Y2ggcGF0dGVybnNcbiAgICovXG4gIGZpbGVzPzogc3RyaW5nW107XG59XG5cbi8qKlxuICogUmV0dXJuIGEgbGlzdCBvZiBmaWxlcywgcHJlZml4ZWQgYnkgXCJiYXNlXCJcbiAqL1xuZnVuY3Rpb24gZ2V0RmlsZXMob3B0aW9uczogQ2xlYW5PcHRpb25zKTogc3RyaW5nW10ge1xuICBjb25zdCBmaWxlczogc3RyaW5nW10gPSBbXTtcblxuICBpZiAob3B0aW9ucy5kaXJzICE9PSB1bmRlZmluZWQpIHtcbiAgICBmb3IgKGNvbnN0IGRpciBvZiBvcHRpb25zLmRpcnMpIHtcbiAgICAgIGZpbGVzLnB1c2gocGF0aC5qb2luKG9wdGlvbnMuYmFzZSwgZGlyKSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKG9wdGlvbnMuZmlsZXMgIT09IHVuZGVmaW5lZCkge1xuICAgIGZvciAoY29uc3QgZmlsZSBvZiBvcHRpb25zLmZpbGVzKSB7XG4gICAgICBmaWxlcy5wdXNoKG1hdGNoZXIuYXNTdHJpbmcobWF0Y2hlci5qb2luKG9wdGlvbnMuYmFzZSwgbmV3IE1pbmltYXRjaChmaWxlKSkpKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmlsZXM7XG59XG5cbi8qKlxuICogR2VuZXJhdGUgYSB0YXNrIHRvIGNsZWFuIGZpbGVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZVRhc2soZ3VscDogR3VscCwgb3B0aW9uczogQ2xlYW5PcHRpb25zKTogVGFza0Z1bmN0aW9uIHtcbiAgcmV0dXJuIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gZGVsKGdldEZpbGVzKG9wdGlvbnMpKTtcbiAgfTtcbn1cbiJdLCJzb3VyY2VSb290IjoiLi4ifQ==