|
|
- /*eslint strict: ["error", "global"]*/
- 'use strict';
-
- //=======================================================
- // Include gulp
- //=======================================================
- var gulp = require('gulp');
-
- //=======================================================
- // Include Our Plugins
- //=======================================================
- var sass = require('gulp-sass');
- var prefix = require('gulp-autoprefixer');
- var sourcemaps = require('gulp-sourcemaps');
- var sync = require('browser-sync');
- var babel = require('gulp-babel');
- var rename = require('gulp-rename');
-
- // Small error handler helper function.
- function handleError(err) {
- console.log(err.toString());
- this.emit('end');
- }
-
- // Export our tasks.
- module.exports = {
-
- // Compile Sass.
- sass: function() {
- return gulp.src('./src/{global,layout,components}/**/*.scss')
- .pipe(
- sass({ outputStyle: 'nested' })
- .on('error', handleError)
- )
- .pipe(prefix({
- cascade: false
- }))
- .pipe(rename(function (path) {
- path.dirname = '';
- return path;
- }))
- .pipe(gulp.dest('./dist/css'))
- .pipe(sync.stream({match: '**/*.css'}));
- },
-
- // Compile JavaScript.
- js: function() {
- return gulp.src([
- './src/{global,layout,components}/**/*.es6.js'
- ], { base: './' })
- .pipe(
- babel()
- .on('error', handleError)
- )
- .pipe(rename(function (path) {
- // Currently not using ES6 modules so for now
- // es6 files are compiled into individual JS files.
- // Eventually this can use ES6 Modules and compile
- // all files within a component directory into a single
- // foo.bundle.js file. In that case the bundle name should
- // reflect the components directory name.
- path.dirname = '';
- path.basename = path.basename.replace(/\.es6/, '');
- return path;
- }))
- .pipe(gulp.dest('./dist/js'));
- }
- };
|