UNPKG

turbo-gulp

Version:

Gulp tasks to boost high-quality projects.

42 lines (40 loc) 4.93 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9zcmMvdGFzay1nZW5lcmF0b3JzL3B1Zy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLHdEQUErQjtBQUMvQix5Q0FBc0M7QUFFdEMsOENBQWtEO0FBMEJsRDs7R0FFRztBQUNILG9CQUEyQixFQUFDLEtBQUssRUFBRSxJQUFJLEVBQVU7SUFDL0MsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBVyxFQUFVLEVBQUUsQ0FBQyxrQkFBUSxDQUFDLGNBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxxQkFBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RGLENBQUM7QUFGRCxnQ0FFQztBQUVELGtCQUF5QixJQUFVLEVBQUUsT0FBZ0I7SUFDbkQsT0FBTyxJQUFJO1NBQ1IsR0FBRyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFDLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFDLENBQUM7U0FDOUMsSUFBSSxDQUFDLGtCQUFPLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ2pDLENBQUM7QUFMRCw0QkFLQztBQUVEOztHQUVHO0FBQ0gsc0JBQTZCLElBQVUsRUFBRSxPQUFnQjtJQUN2RCxNQUFNLElBQUksR0FBaUI7UUFDekIsT0FBTyxRQUFRLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2pDLENBQUMsQ0FBQztJQUNGLElBQUksQ0FBQyxXQUFXLEdBQUcsWUFBWSxDQUFDO0lBQ2hDLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQU5ELG9DQU1DO0FBRUQsZUFBc0IsSUFBVSxFQUFFLE9BQWdCO0lBQ2hELE1BQU0sU0FBUyxHQUFpQixZQUFZLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzVELE1BQU0sT0FBTyxHQUFhLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEVBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUMsRUFBRSxTQUFTLENBQWMsQ0FBQztBQUMxRSxDQUFDO0FBSkQsc0JBSUMiLCJmaWxlIjoidGFzay1nZW5lcmF0b3JzL3B1Zy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZTV2F0Y2hlciB9IGZyb20gXCJmc1wiO1xuaW1wb3J0IHsgR3VscCB9IGZyb20gXCJndWxwXCI7XG5pbXBvcnQgZ3VscFB1ZyBmcm9tIFwiZ3VscC1wdWdcIjtcbmltcG9ydCB7IE1pbmltYXRjaCB9IGZyb20gXCJtaW5pbWF0Y2hcIjtcbmltcG9ydCB7IFRhc2tGdW5jdGlvbiB9IGZyb20gXCIuLi91dGlscy9ndWxwLXRhc2stZnVuY3Rpb25cIjtcbmltcG9ydCB7IGFzU3RyaW5nLCBqb2luIH0gZnJvbSBcIi4uL3V0aWxzL21hdGNoZXJcIjtcblxuZXhwb3J0IGludGVyZmFjZSBPcHRpb25zIHtcbiAgLyoqXG4gICAqIEFuIGFycmF5IG9mIG1pbmltYXRjaCBwYXR0ZXJuc1xuICAgKi9cbiAgZmlsZXM6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBCYXNlLWRpcmVjdG9yeSBmb3IgY29weVxuICAgKi9cbiAgZnJvbTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUYXJnZXQgZGlyZWN0b3J5XG4gICAqL1xuICB0bzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBndWxwLXB1ZyBvcHRpb25zXG4gICAqL1xuICBwdWdPcHRpb25zPzoge1xuICAgIGxvY2Fscz86IHt9O1xuICB9O1xufVxuXG4vKipcbiAqIFJldHVybiBhIGxpc3Qgb2Ygc291cmNlcywgcHJlZml4ZWQgYnkgXCJmcm9tXCJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFNvdXJjZXMoe2ZpbGVzLCBmcm9tfTogT3B0aW9ucyk6IHN0cmluZ1tdIHtcbiAgcmV0dXJuIGZpbGVzLm1hcCgodmFsOiBzdHJpbmcpOiBzdHJpbmcgPT4gYXNTdHJpbmcoam9pbihmcm9tLCBuZXcgTWluaW1hdGNoKHZhbCkpKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFB1ZyhndWxwOiBHdWxwLCBvcHRpb25zOiBPcHRpb25zKTogTm9kZUpTLlJlYWRhYmxlU3RyZWFtIHtcbiAgcmV0dXJuIGd1bHBcbiAgICAuc3JjKGdldFNvdXJjZXMob3B0aW9ucyksIHtiYXNlOiBvcHRpb25zLmZyb219KVxuICAgIC5waXBlKGd1bHBQdWcob3B0aW9ucy5wdWdPcHRpb25zKSlcbiAgICAucGlwZShndWxwLmRlc3Qob3B0aW9ucy50bykpO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlIGEgdGFzayB0byBidWlsZCBwdWcgZmlsZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlVGFzayhndWxwOiBHdWxwLCBvcHRpb25zOiBPcHRpb25zKTogVGFza0Z1bmN0aW9uIHtcbiAgY29uc3QgdGFzazogVGFza0Z1bmN0aW9uID0gZnVuY3Rpb24gKCk6IE5vZGVKUy5SZWFkYWJsZVN0cmVhbSB7XG4gICAgcmV0dXJuIGJ1aWxkUHVnKGd1bHAsIG9wdGlvbnMpO1xuICB9O1xuICB0YXNrLmRpc3BsYXlOYW1lID0gXCJfYnVpbGQ6cHVnXCI7XG4gIHJldHVybiB0YXNrO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd2F0Y2goZ3VscDogR3VscCwgb3B0aW9uczogT3B0aW9ucyk6IEZTV2F0Y2hlciB7XG4gIGNvbnN0IGJ1aWxkVGFzazogVGFza0Z1bmN0aW9uID0gZ2VuZXJhdGVUYXNrKGd1bHAsIG9wdGlvbnMpO1xuICBjb25zdCBzb3VyY2VzOiBzdHJpbmdbXSA9IGdldFNvdXJjZXMob3B0aW9ucyk7XG4gIHJldHVybiBndWxwLndhdGNoKHNvdXJjZXMsIHtjd2Q6IG9wdGlvbnMuZnJvbX0sIGJ1aWxkVGFzaykgYXMgRlNXYXRjaGVyO1xufVxuIl0sInNvdXJjZVJvb3QiOiIuLiJ9