UNPKG

taskerify

Version:

A task-builder based on Laravel-Elixir.

33 lines (24 loc) 1.34 kB
'use strict'; var gulp = require('gulp'); var Taskerify = require('./../index'); var $ = Taskerify.Plugins; var config = Taskerify.config; Taskerify.extend('styles', function (styles, output, baseDir) { var paths = prepGulpPaths(styles, baseDir, output); new Taskerify.Task('styles', function () { return gulpTask.call(this, paths); }).watch(paths.src.path).ignore(paths.output.path); }); Taskerify.extend('stylesIn', function (baseDir, output) { var paths = prepGulpPaths('**/*.css', baseDir, output); new Taskerify.Task('stylesIn', function () { return gulpTask.call(this, paths); }).watch(paths.src.path).ignore(paths.output.path); }); var gulpTask = function gulpTask(paths) { this.log(paths.src, paths.output); return gulp.src(paths.src.path).pipe($.if(config.sourcemaps, $.sourcemaps.init())).pipe($.concat(paths.output.name)).pipe($.if(config.production, $.cssnano(config.css.cssnano.pluginOptions))).pipe($.if(config.sourcemaps, $.sourcemaps.write('.'))).pipe(gulp.dest(paths.output.baseDir)).pipe(new Taskerify.Notification('Stylesheets Merged!')); }; var prepGulpPaths = function prepGulpPaths(src, baseDir, output) { return new Taskerify.GulpPaths().src(src, baseDir || config.get('src.css.folder')).output(output || config.get('dist.css.outputFolder'), 'all.css'); };