UNPKG

generator-mc-d8-theme

Version:

Yeoman generator for creating Drupal 8 component based themes.

70 lines (64 loc) 1.83 kB
'use strict'; // Include gulp const { src, dest } = require('gulp'); // Include Our Plugins const sass = require('gulp-sass')(require('sass')); const prefix = require('gulp-autoprefixer'); const sourcemaps = require('gulp-sourcemaps'); const babel = require('gulp-babel'); const rename = require('gulp-rename'); sass.compiler = require('sass'); /** * Error handler function so we can see when errors happen. * @param {object} err error that was thrown * @returns {undefined} */ function handleError(err) { // eslint-disable-next-line no-console console.error(err.toString()); this.emit('end'); } // Export our tasks. module.exports = { // Compile Sass. compileSass: function() { return src([ './src/patterns/**/**/*.scss', './src/styleguide/*.scss' ]) .pipe(sass().on('error', handleError)) .pipe( prefix({ cascade: false }) ) .pipe( rename(function(path) { path.dirname = ''; return path; }) ) .pipe(sourcemaps.write('./')) .pipe(dest('./dist/css')); }, // Compile JavaScript. compileJS: function() { return src(['./src/patterns/**/**/*.js'], { base: './' }) .pipe(sourcemaps.init()) .pipe(babel()) .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 = ''; return path; }) ) .pipe(sourcemaps.write('./')) .pipe(dest('./dist/js')); } };