Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- "use strict";
- const gulp = require('gulp');
- const sass = require('gulp-sass');
- const autoPrefixer = require('gulp-autoprefixer');
- const cssComb = require('gulp-csscomb');
- const cssClean = require('gulp-clean-css');
- const plumber = require('gulp-plumber');
- const uglify = require('gulp-uglify');
- const rename = require('gulp-rename');
- const liveReload = require('gulp-livereload');
- const del = require('del');
- const path = {
- dev: {
- css: 'development/style.sass',
- js: 'development/scripts/**/*.js'
- },
- prod: {
- css: 'production/styles/',
- js: 'production/scripts/'
- },
- watch: {
- css: [
- 'development/styles/blocks/*.sass',
- 'development/styles/common/*.sass',
- 'development/styles/helpers/*.sass'
- ],
- js: 'development/scripts/**/*.js'
- }
- };
- // LiveReload
- function lReload() {
- liveReload.listen();
- }
- // Clean dir
- function clean() {
- return del([
- 'production/**',
- '!production',
- '!production/images/**',
- '!production/vendor/**',
- '!production/fonts/**'
- ]);
- }
- // Styles
- function styles() {
- return gulp
- .src(path.dev.css)
- .pipe(plumber())
- .pipe(sass())
- .pipe(autoPrefixer({browsers: ['last 2 versions'], cascade: false}))
- .pipe(cssComb())
- .pipe(cssClean())
- .pipe(rename({suffix: '.min'}))
- .pipe(gulp.dest(path.prod.css))
- .pipe(liveReload());
- }
- // Scripts
- function scripts() {
- return gulp.src(path.dev.js)
- .pipe(plumber())
- .pipe(uglify())
- .pipe(rename({suffix: '.min'}))
- .pipe(gulp.dest(path.prod.js))
- .pipe(liveReload());
- }
- // Watch files
- function watchFiles() {
- gulp.watch(path.watch.css, styles);
- gulp.watch(path.watch.js, scripts);
- }
- // Tasks
- exports.styles = gulp.series(styles);
- exports.scripts = gulp.series(scripts);
- exports.clean = gulp.series(clean);
- // Build
- exports.build = gulp.series(clean, gulp.parallel(styles, scripts));
- // Watch
- exports.watch = gulp.parallel(watchFiles, lReload);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement