UNPKG

turbo-gulp

Version:

Gulp tasks to boost high-quality projects.

34 lines (33 loc) 1.07 kB
import gulpSass from "gulp-sass"; import * as gulpSourceMaps from "gulp-sourcemaps"; import { Minimatch } from "minimatch"; import { asString, join } from "../utils/matcher"; /** * Return a list of sources, prefixed by "from" */ export function getSources({ files, from }) { return files.map((val) => asString(join(from, new Minimatch(val)))); } export function buildSass(gulp, options) { return gulp .src(getSources(options), { base: options.from }) .pipe(gulpSourceMaps.init()) .pipe(gulpSass().on("error", gulpSass.logError)) .pipe(gulpSourceMaps.write()) .pipe(gulp.dest(options.to)); } /** * Generate a task to build pug files */ export function generateTask(gulp, options) { const task = function () { return buildSass(gulp, options); }; task.displayName = "_build:sass"; return task; } export function watch(gulp, options) { const buildTask = generateTask(gulp, options); const sources = getSources(options); return gulp.watch(sources, { cwd: options.from }, buildTask); }