UNPKG

turbo-gulp

Version:

Gulp tasks to boost high-quality projects.

52 lines (50 loc) 5.82 kB
"use strict"; 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 gulp_sass_1 = __importDefault(require("gulp-sass")); const gulpSourceMaps = __importStar(require("gulp-sourcemaps")); const minimatch_1 = require("minimatch"); const matcher_1 = require("../utils/matcher"); /** * Return a list of sources, prefixed by "from" */ function getSources({ files, from }) { return files.map((val) => matcher_1.asString(matcher_1.join(from, new minimatch_1.Minimatch(val)))); } exports.getSources = getSources; function buildSass(gulp, options) { return gulp .src(getSources(options), { base: options.from }) .pipe(gulpSourceMaps.init()) .pipe(gulp_sass_1.default().on("error", gulp_sass_1.default.logError)) .pipe(gulpSourceMaps.write()) .pipe(gulp.dest(options.to)); } exports.buildSass = buildSass; /** * Generate a task to build pug files */ function generateTask(gulp, options) { const task = function () { return buildSass(gulp, options); }; task.displayName = "_build:sass"; return task; } exports.generateTask = generateTask; function watch(gulp, options) { const buildTask = generateTask(gulp, options); const sources = getSources(options); return gulp.watch(sources, { cwd: options.from }, buildTask); } exports.watch = watch; //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRhc2stZ2VuZXJhdG9ycy9zYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUVBLDBEQUFpQztBQUNqQyxnRUFBa0Q7QUFDbEQseUNBQXNDO0FBRXRDLDhDQUFrRDtBQTBCbEQ7O0dBRUc7QUFDSCxvQkFBMkIsRUFBQyxLQUFLLEVBQUUsSUFBSSxFQUFVO0lBQy9DLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBVyxFQUFVLEVBQUUsQ0FBQyxrQkFBUSxDQUFDLGNBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxxQkFBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RGLENBQUM7QUFGRCxnQ0FFQztBQUVELG1CQUEwQixJQUFVLEVBQUUsT0FBZ0I7SUFDcEQsTUFBTSxDQUFDLElBQUk7U0FDUixHQUFHLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUMsQ0FBQztTQUM5QyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO1NBQzNCLElBQUksQ0FBQyxtQkFBUSxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxtQkFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQy9DLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDakMsQ0FBQztBQVBELDhCQU9DO0FBRUQ7O0dBRUc7QUFDSCxzQkFBNkIsSUFBVSxFQUFFLE9BQWdCO0lBQ3ZELE1BQU0sSUFBSSxHQUFpQjtRQUN6QixNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNsQyxDQUFDLENBQUM7SUFDRixJQUFJLENBQUMsV0FBVyxHQUFHLGFBQWEsQ0FBQztJQUNqQyxNQUFNLENBQUMsSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQU5ELG9DQU1DO0FBRUQsZUFBc0IsSUFBVSxFQUFFLE9BQWdCO0lBQ2hELE1BQU0sU0FBUyxHQUFpQixZQUFZLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzVELE1BQU0sT0FBTyxHQUFhLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBQyxFQUFFLFNBQVMsQ0FBYyxDQUFDO0FBQzFFLENBQUM7QUFKRCxzQkFJQyIsImZpbGUiOiJ0YXNrLWdlbmVyYXRvcnMvc2Fzcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZTV2F0Y2hlciB9IGZyb20gXCJmc1wiO1xuaW1wb3J0IHsgR3VscCB9IGZyb20gXCJndWxwXCI7XG5pbXBvcnQgZ3VscFNhc3MgZnJvbSBcImd1bHAtc2Fzc1wiO1xuaW1wb3J0ICogYXMgZ3VscFNvdXJjZU1hcHMgZnJvbSBcImd1bHAtc291cmNlbWFwc1wiO1xuaW1wb3J0IHsgTWluaW1hdGNoIH0gZnJvbSBcIm1pbmltYXRjaFwiO1xuaW1wb3J0IHsgVGFza0Z1bmN0aW9uIH0gZnJvbSBcIi4uL3V0aWxzL2d1bHAtdGFzay1mdW5jdGlvblwiO1xuaW1wb3J0IHsgYXNTdHJpbmcsIGpvaW4gfSBmcm9tIFwiLi4vdXRpbHMvbWF0Y2hlclwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIE9wdGlvbnMge1xuICAvKipcbiAgICogQW4gYXJyYXkgb2YgbWluaW1hdGNoIHBhdHRlcm5zXG4gICAqL1xuICBmaWxlczogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEJhc2UtZGlyZWN0b3J5IGZvciBjb3B5XG4gICAqL1xuICAgIGZyb206IHN0cmluZztcblxuICAvKipcbiAgICogVGFyZ2V0IGRpcmVjdG9yeVxuICAgKi9cbiAgdG86IHN0cmluZztcblxuICAvKipcbiAgICogZ3VscC1zYXNzIG9wdGlvbnNcbiAgICovXG4gIHNhc3NPcHRpb25zPzoge1xuICAgIG91dHB1dFN0eWxlPzogXCJjb21wcmVzc2VkXCIgfCBzdHJpbmc7XG4gIH07XG59XG5cbi8qKlxuICogUmV0dXJuIGEgbGlzdCBvZiBzb3VyY2VzLCBwcmVmaXhlZCBieSBcImZyb21cIlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U291cmNlcyh7ZmlsZXMsIGZyb219OiBPcHRpb25zKTogc3RyaW5nW10ge1xuICByZXR1cm4gZmlsZXMubWFwKCh2YWw6IHN0cmluZyk6IHN0cmluZyA9PiBhc1N0cmluZyhqb2luKGZyb20sIG5ldyBNaW5pbWF0Y2godmFsKSkpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkU2FzcyhndWxwOiBHdWxwLCBvcHRpb25zOiBPcHRpb25zKTogTm9kZUpTLlJlYWRhYmxlU3RyZWFtIHtcbiAgcmV0dXJuIGd1bHBcbiAgICAuc3JjKGdldFNvdXJjZXMob3B0aW9ucyksIHtiYXNlOiBvcHRpb25zLmZyb219KVxuICAgIC5waXBlKGd1bHBTb3VyY2VNYXBzLmluaXQoKSlcbiAgICAucGlwZShndWxwU2FzcygpLm9uKFwiZXJyb3JcIiwgZ3VscFNhc3MubG9nRXJyb3IpKVxuICAgIC5waXBlKGd1bHBTb3VyY2VNYXBzLndyaXRlKCkpXG4gICAgLnBpcGUoZ3VscC5kZXN0KG9wdGlvbnMudG8pKTtcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZSBhIHRhc2sgdG8gYnVpbGQgcHVnIGZpbGVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZVRhc2soZ3VscDogR3VscCwgb3B0aW9uczogT3B0aW9ucyk6IFRhc2tGdW5jdGlvbiB7XG4gIGNvbnN0IHRhc2s6IFRhc2tGdW5jdGlvbiA9IGZ1bmN0aW9uICgpOiBOb2RlSlMuUmVhZGFibGVTdHJlYW0ge1xuICAgIHJldHVybiBidWlsZFNhc3MoZ3VscCwgb3B0aW9ucyk7XG4gIH07XG4gIHRhc2suZGlzcGxheU5hbWUgPSBcIl9idWlsZDpzYXNzXCI7XG4gIHJldHVybiB0YXNrO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd2F0Y2goZ3VscDogR3VscCwgb3B0aW9uczogT3B0aW9ucyk6IEZTV2F0Y2hlciB7XG4gIGNvbnN0IGJ1aWxkVGFzazogVGFza0Z1bmN0aW9uID0gZ2VuZXJhdGVUYXNrKGd1bHAsIG9wdGlvbnMpO1xuICBjb25zdCBzb3VyY2VzOiBzdHJpbmdbXSA9IGdldFNvdXJjZXMob3B0aW9ucyk7XG4gIHJldHVybiBndWxwLndhdGNoKHNvdXJjZXMsIHtjd2Q6IG9wdGlvbnMuZnJvbX0sIGJ1aWxkVGFzaykgYXMgRlNXYXRjaGVyO1xufVxuIl0sInNvdXJjZVJvb3QiOiIuLiJ9