Files
2023-03-26 18:07:53 -04:00

44 lines
1.2 KiB
JavaScript

'use strict';
var gulp = require( 'gulp' );
gulp.task( 'sass', () => {
var autoprefixer = require( 'autoprefixer' ),
postcss = require( 'gulp-postcss' ),
sass = require( 'gulp-sass' )( require( 'sass' ) ),
sassunicode = require( 'gulp-sass-unicode' ),
notify = require( 'gulp-notify' ),
atImport = require( 'postcss-import' ),
mqpacker = require( 'css-mqpacker' ),
config = require( '../config' ),
perfectionist = require( 'perfectionist' ),
browserSync = require( 'browser-sync' ),
processors = [
atImport,
autoprefixer( {
cascade: false,
remove: false
} ),
mqpacker( { sort: true } ),
perfectionist( {
cascade: true,
format: config.output.style,
indentSize: 4,
maxAtRuleLength: 80,
maxSelectorLength: 80,
maxValueLength: 80,
sourcemap: true
} )
];
return gulp.src( config.paths.sassPath )
.pipe( sass( { outputStyle: config.output.style } ).on( 'error', sass.logError ) )
.pipe( sassunicode() )
.pipe( postcss( processors ) )
.pipe( gulp.dest( config.output.styleDestination ) )
.pipe( browserSync.reload( {
stream: true
} ) )
.pipe( notify( { message: 'you sassed the shit out of that.', onLast: true } ) );
} );