UNPKG

turbo-gulp

Version:

Gulp tasks to boost high-quality projects.

52 lines (50 loc) 5.79 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9zcmMvdGFzay1nZW5lcmF0b3JzL3Nhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBRUEsMERBQWlDO0FBQ2pDLGdFQUFrRDtBQUNsRCx5Q0FBc0M7QUFFdEMsOENBQWtEO0FBMEJsRDs7R0FFRztBQUNILG9CQUEyQixFQUFDLEtBQUssRUFBRSxJQUFJLEVBQVU7SUFDL0MsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBVyxFQUFVLEVBQUUsQ0FBQyxrQkFBUSxDQUFDLGNBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxxQkFBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RGLENBQUM7QUFGRCxnQ0FFQztBQUVELG1CQUEwQixJQUFVLEVBQUUsT0FBZ0I7SUFDcEQsT0FBTyxJQUFJO1NBQ1IsR0FBRyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFDLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFDLENBQUM7U0FDOUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUMzQixJQUFJLENBQUMsbUJBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsbUJBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUMvQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ2pDLENBQUM7QUFQRCw4QkFPQztBQUVEOztHQUVHO0FBQ0gsc0JBQTZCLElBQVUsRUFBRSxPQUFnQjtJQUN2RCxNQUFNLElBQUksR0FBaUI7UUFDekIsT0FBTyxTQUFTLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2xDLENBQUMsQ0FBQztJQUNGLElBQUksQ0FBQyxXQUFXLEdBQUcsYUFBYSxDQUFDO0lBQ2pDLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQU5ELG9DQU1DO0FBRUQsZUFBc0IsSUFBVSxFQUFFLE9BQWdCO0lBQ2hELE1BQU0sU0FBUyxHQUFpQixZQUFZLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzVELE1BQU0sT0FBTyxHQUFhLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEVBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUMsRUFBRSxTQUFTLENBQWMsQ0FBQztBQUMxRSxDQUFDO0FBSkQsc0JBSUMiLCJmaWxlIjoidGFzay1nZW5lcmF0b3JzL3Nhc3MuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGU1dhdGNoZXIgfSBmcm9tIFwiZnNcIjtcbmltcG9ydCB7IEd1bHAgfSBmcm9tIFwiZ3VscFwiO1xuaW1wb3J0IGd1bHBTYXNzIGZyb20gXCJndWxwLXNhc3NcIjtcbmltcG9ydCAqIGFzIGd1bHBTb3VyY2VNYXBzIGZyb20gXCJndWxwLXNvdXJjZW1hcHNcIjtcbmltcG9ydCB7IE1pbmltYXRjaCB9IGZyb20gXCJtaW5pbWF0Y2hcIjtcbmltcG9ydCB7IFRhc2tGdW5jdGlvbiB9IGZyb20gXCIuLi91dGlscy9ndWxwLXRhc2stZnVuY3Rpb25cIjtcbmltcG9ydCB7IGFzU3RyaW5nLCBqb2luIH0gZnJvbSBcIi4uL3V0aWxzL21hdGNoZXJcIjtcblxuZXhwb3J0IGludGVyZmFjZSBPcHRpb25zIHtcbiAgLyoqXG4gICAqIEFuIGFycmF5IG9mIG1pbmltYXRjaCBwYXR0ZXJuc1xuICAgKi9cbiAgZmlsZXM6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBCYXNlLWRpcmVjdG9yeSBmb3IgY29weVxuICAgKi9cbiAgICBmcm9tOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRhcmdldCBkaXJlY3RvcnlcbiAgICovXG4gIHRvOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIGd1bHAtc2FzcyBvcHRpb25zXG4gICAqL1xuICBzYXNzT3B0aW9ucz86IHtcbiAgICBvdXRwdXRTdHlsZT86IFwiY29tcHJlc3NlZFwiIHwgc3RyaW5nO1xuICB9O1xufVxuXG4vKipcbiAqIFJldHVybiBhIGxpc3Qgb2Ygc291cmNlcywgcHJlZml4ZWQgYnkgXCJmcm9tXCJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFNvdXJjZXMoe2ZpbGVzLCBmcm9tfTogT3B0aW9ucyk6IHN0cmluZ1tdIHtcbiAgcmV0dXJuIGZpbGVzLm1hcCgodmFsOiBzdHJpbmcpOiBzdHJpbmcgPT4gYXNTdHJpbmcoam9pbihmcm9tLCBuZXcgTWluaW1hdGNoKHZhbCkpKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFNhc3MoZ3VscDogR3VscCwgb3B0aW9uczogT3B0aW9ucyk6IE5vZGVKUy5SZWFkYWJsZVN0cmVhbSB7XG4gIHJldHVybiBndWxwXG4gICAgLnNyYyhnZXRTb3VyY2VzKG9wdGlvbnMpLCB7YmFzZTogb3B0aW9ucy5mcm9tfSlcbiAgICAucGlwZShndWxwU291cmNlTWFwcy5pbml0KCkpXG4gICAgLnBpcGUoZ3VscFNhc3MoKS5vbihcImVycm9yXCIsIGd1bHBTYXNzLmxvZ0Vycm9yKSlcbiAgICAucGlwZShndWxwU291cmNlTWFwcy53cml0ZSgpKVxuICAgIC5waXBlKGd1bHAuZGVzdChvcHRpb25zLnRvKSk7XG59XG5cbi8qKlxuICogR2VuZXJhdGUgYSB0YXNrIHRvIGJ1aWxkIHB1ZyBmaWxlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVUYXNrKGd1bHA6IEd1bHAsIG9wdGlvbnM6IE9wdGlvbnMpOiBUYXNrRnVuY3Rpb24ge1xuICBjb25zdCB0YXNrOiBUYXNrRnVuY3Rpb24gPSBmdW5jdGlvbiAoKTogTm9kZUpTLlJlYWRhYmxlU3RyZWFtIHtcbiAgICByZXR1cm4gYnVpbGRTYXNzKGd1bHAsIG9wdGlvbnMpO1xuICB9O1xuICB0YXNrLmRpc3BsYXlOYW1lID0gXCJfYnVpbGQ6c2Fzc1wiO1xuICByZXR1cm4gdGFzaztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdhdGNoKGd1bHA6IEd1bHAsIG9wdGlvbnM6IE9wdGlvbnMpOiBGU1dhdGNoZXIge1xuICBjb25zdCBidWlsZFRhc2s6IFRhc2tGdW5jdGlvbiA9IGdlbmVyYXRlVGFzayhndWxwLCBvcHRpb25zKTtcbiAgY29uc3Qgc291cmNlczogc3RyaW5nW10gPSBnZXRTb3VyY2VzKG9wdGlvbnMpO1xuICByZXR1cm4gZ3VscC53YXRjaChzb3VyY2VzLCB7Y3dkOiBvcHRpb25zLmZyb219LCBidWlsZFRhc2spIGFzIEZTV2F0Y2hlcjtcbn1cbiJdLCJzb3VyY2VSb290IjoiLi4ifQ==