'use strict' global.gulp = require 'gulp' global.plugins = require('gulp-load-plugins')() global.config = autoprefixer: browsers: 'last 2 versions' bowerDir: 'vendor/bower' fonts: outputDir: 'source/assets/fonts' htmlmin: collapseWhitespace: true js: sourceDir: 'assets/js' pattern: '/**/*.js' outputDir: 'source/assets/js' production: plugins.util.env.production || false sass: sourceDir: 'assets/sass' pattern: '/**/*.sass' outputDir: 'source/assets/css' scss: pattern: '/**/*.scss' global.app = {} app.sass = (paths, filename) -> gulp.src paths .pipe plugins.plumber() .pipe plugins.if !config.production, plugins.sourcemaps.init() .pipe plugins.sassGlob() .pipe plugins.sass() .pipe plugins.autoprefixer config.autoprefixer .pipe plugins.concat filename .pipe plugins.if config.production, plugins.cleanCss() .pipe plugins.if !config.production, plugins.sourcemaps.write('.') .pipe plugins.if !config.production, plugins.refresh() .pipe gulp.dest config.sass.outputDir app.js = (paths, filename) -> gulp.src paths .pipe plugins.plumber() .pipe plugins.if !config.production, plugins.sourcemaps.init() .pipe plugins.concat filename .pipe plugins.if config.production, plugins.uglify() .pipe plugins.if !config.production, plugins.sourcemaps.write('.') .pipe gulp.dest config.js.outputDir app.copy = (source, destination) -> gulp.src source .pipe gulp.dest destination require('require-dir')('./gulp')