declare var module: any; declare function require(name:string); declare var __filename: string; declare var __dirname: string; import base = require("./base"); var gulp = require('gulp'); var path = require('path'); var $ = require('gulp-load-plugins')({lazy: true}); var _ = require('lodash'); var stylusCompile = require('./streams/stylusCompile'); class CompileCss extends base.BaseTask { constructor() { super(); return this; } static watch:boolean = true; static dependency:any = ['cleanCss']; static taskName:string = 'compileCss'; static required:Array = [ 'gulp-sourcemaps', 'gulp-stylus', 'gulp-less', 'gulp-csso' ]; static config(task, tasks, userOptions) { return { watch: ['compileStylus'], files: [ './source/**/*.styl', './source/**/*.css', './source/**/*.less' ], base: 'source/', csso: { filter: /[.]min.*$/, options: {} } }; } static gulp(options, settings, task, tasks):void { CompileCss.checkArguments(options, settings, task, tasks); var stream = gulp.src(settings.files, { base: settings.base }); stream = stylusCompile(stream); return stream .pipe($.print()) .pipe($.plumber()) .pipe($["if"](settings.csso.filter, $.csso(settings.csso.options))) .pipe(gulp.dest(settings.dist || options.dist)); } } export = CompileCss;