const path = require('path'); const { src, dest } = require('gulp'); const scss = require('gulp-sass'); const rev = require('gulp-rev'); const asyncthrough = require('./lib/through'); const crass = require('./lib/crass'); const concat = require('gulp-concat'); const merge = require('merge-stream'); const postcss = require('gulp-postcss'); const autoprefixer = require('autoprefixer'); // const minifyCSS = require('gulp-minify-css'); const ROOT = path.dirname(__dirname); const DEST = 'dist/css'; module.exports = exports = function buildScss () { const scssStream = src([ 'scss/*.scss', '!scss/_*.scss' ]) .pipe(scss({ includePaths: [ path.join(ROOT, 'node_modules') ], })); return merge( scssStream, src([ require.resolve('magnific-popup/dist/magnific-popup.css'), ]), ) .pipe(concat('style.css')) .pipe(postcss([ autoprefixer(), ])) .pipe(dest(DEST)); }; exports.prod = function buildScssForProd () { return exports() .pipe(crass()) .pipe(dest(DEST)) .pipe(rev()) .pipe(dest(DEST)) .pipe(asyncthrough(async (stream, file) => { // Change rev's original base path back to the public root so that it uses the full // path as the original file name key in the manifest var base = path.resolve(ROOT, 'dist'); file.revOrigBase = base; file.base = base; stream.push(file); })) .pipe(rev.manifest({ merge: true, // Merge with the existing manifest if one exists })) .pipe(dest('.')) ; };