UNPKG

turbo-gulp

Version:

Gulp tasks to boost high-quality projects.

42 lines (40 loc) 4.96 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; } Object.defineProperty(exports, "__esModule", { value: true }); const gulp_pug_1 = __importDefault(require("gulp-pug")); 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 buildPug(gulp, options) { return gulp .src(getSources(options), { base: options.from }) .pipe(gulp_pug_1.default(options.pugOptions)) .pipe(gulp.dest(options.to)); } exports.buildPug = buildPug; /** * Generate a task to build pug files */ function generateTask(gulp, options) { const task = function () { return buildPug(gulp, options); }; task.displayName = "_build:pug"; 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRhc2stZ2VuZXJhdG9ycy9wdWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQSx3REFBK0I7QUFDL0IseUNBQXNDO0FBRXRDLDhDQUFrRDtBQTBCbEQ7O0dBRUc7QUFDSCxvQkFBMkIsRUFBQyxLQUFLLEVBQUUsSUFBSSxFQUFVO0lBQy9DLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBVyxFQUFVLEVBQUUsQ0FBQyxrQkFBUSxDQUFDLGNBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxxQkFBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RGLENBQUM7QUFGRCxnQ0FFQztBQUVELGtCQUF5QixJQUFVLEVBQUUsT0FBZ0I7SUFDbkQsTUFBTSxDQUFDLElBQUk7U0FDUixHQUFHLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUMsQ0FBQztTQUM5QyxJQUFJLENBQUMsa0JBQU8sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDakMsQ0FBQztBQUxELDRCQUtDO0FBRUQ7O0dBRUc7QUFDSCxzQkFBNkIsSUFBVSxFQUFFLE9BQWdCO0lBQ3ZELE1BQU0sSUFBSSxHQUFpQjtRQUN6QixNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNqQyxDQUFDLENBQUM7SUFDRixJQUFJLENBQUMsV0FBVyxHQUFHLFlBQVksQ0FBQztJQUNoQyxNQUFNLENBQUMsSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQU5ELG9DQU1DO0FBRUQsZUFBc0IsSUFBVSxFQUFFLE9BQWdCO0lBQ2hELE1BQU0sU0FBUyxHQUFpQixZQUFZLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzVELE1BQU0sT0FBTyxHQUFhLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBQyxFQUFFLFNBQVMsQ0FBYyxDQUFDO0FBQzFFLENBQUM7QUFKRCxzQkFJQyIsImZpbGUiOiJ0YXNrLWdlbmVyYXRvcnMvcHVnLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRlNXYXRjaGVyIH0gZnJvbSBcImZzXCI7XG5pbXBvcnQgeyBHdWxwIH0gZnJvbSBcImd1bHBcIjtcbmltcG9ydCBndWxwUHVnIGZyb20gXCJndWxwLXB1Z1wiO1xuaW1wb3J0IHsgTWluaW1hdGNoIH0gZnJvbSBcIm1pbmltYXRjaFwiO1xuaW1wb3J0IHsgVGFza0Z1bmN0aW9uIH0gZnJvbSBcIi4uL3V0aWxzL2d1bHAtdGFzay1mdW5jdGlvblwiO1xuaW1wb3J0IHsgYXNTdHJpbmcsIGpvaW4gfSBmcm9tIFwiLi4vdXRpbHMvbWF0Y2hlclwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIE9wdGlvbnMge1xuICAvKipcbiAgICogQW4gYXJyYXkgb2YgbWluaW1hdGNoIHBhdHRlcm5zXG4gICAqL1xuICBmaWxlczogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEJhc2UtZGlyZWN0b3J5IGZvciBjb3B5XG4gICAqL1xuICAgIGZyb206IHN0cmluZztcblxuICAvKipcbiAgICogVGFyZ2V0IGRpcmVjdG9yeVxuICAgKi9cbiAgdG86IHN0cmluZztcblxuICAvKipcbiAgICogZ3VscC1wdWcgb3B0aW9uc1xuICAgKi9cbiAgcHVnT3B0aW9ucz86IHtcbiAgICBsb2NhbHM/OiB7fTtcbiAgfTtcbn1cblxuLyoqXG4gKiBSZXR1cm4gYSBsaXN0IG9mIHNvdXJjZXMsIHByZWZpeGVkIGJ5IFwiZnJvbVwiXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTb3VyY2VzKHtmaWxlcywgZnJvbX06IE9wdGlvbnMpOiBzdHJpbmdbXSB7XG4gIHJldHVybiBmaWxlcy5tYXAoKHZhbDogc3RyaW5nKTogc3RyaW5nID0+IGFzU3RyaW5nKGpvaW4oZnJvbSwgbmV3IE1pbmltYXRjaCh2YWwpKSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRQdWcoZ3VscDogR3VscCwgb3B0aW9uczogT3B0aW9ucyk6IE5vZGVKUy5SZWFkYWJsZVN0cmVhbSB7XG4gIHJldHVybiBndWxwXG4gICAgLnNyYyhnZXRTb3VyY2VzKG9wdGlvbnMpLCB7YmFzZTogb3B0aW9ucy5mcm9tfSlcbiAgICAucGlwZShndWxwUHVnKG9wdGlvbnMucHVnT3B0aW9ucykpXG4gICAgLnBpcGUoZ3VscC5kZXN0KG9wdGlvbnMudG8pKTtcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZSBhIHRhc2sgdG8gYnVpbGQgcHVnIGZpbGVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZVRhc2soZ3VscDogR3VscCwgb3B0aW9uczogT3B0aW9ucyk6IFRhc2tGdW5jdGlvbiB7XG4gIGNvbnN0IHRhc2s6IFRhc2tGdW5jdGlvbiA9IGZ1bmN0aW9uICgpOiBOb2RlSlMuUmVhZGFibGVTdHJlYW0ge1xuICAgIHJldHVybiBidWlsZFB1ZyhndWxwLCBvcHRpb25zKTtcbiAgfTtcbiAgdGFzay5kaXNwbGF5TmFtZSA9IFwiX2J1aWxkOnB1Z1wiO1xuICByZXR1cm4gdGFzaztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdhdGNoKGd1bHA6IEd1bHAsIG9wdGlvbnM6IE9wdGlvbnMpOiBGU1dhdGNoZXIge1xuICBjb25zdCBidWlsZFRhc2s6IFRhc2tGdW5jdGlvbiA9IGdlbmVyYXRlVGFzayhndWxwLCBvcHRpb25zKTtcbiAgY29uc3Qgc291cmNlczogc3RyaW5nW10gPSBnZXRTb3VyY2VzKG9wdGlvbnMpO1xuICByZXR1cm4gZ3VscC53YXRjaChzb3VyY2VzLCB7Y3dkOiBvcHRpb25zLmZyb219LCBidWlsZFRhc2spIGFzIEZTV2F0Y2hlcjtcbn1cbiJdLCJzb3VyY2VSb290IjoiLi4ifQ==