Drupal 8 Site using Vue
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

68 lines
1.9 KiB

/*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'));
}
};