How can you delete a folder and its contents after all tasks have been run in Gulp?

10,137

I figured it out. I had to return the stream's from the prior tasks to confirm they were completed.

var gulp = require('gulp');
var sass = require('gulp-sass');
var autoprefixer = require('gulp-autoprefixer');
var concat = require('gulp-concat');
var minifyCSS = require('gulp-minify-css');
var del = require('del');

gulp.task('default', ['compile-sass', 'process-css', 'clean-css']);

gulp.task('compile-sass', function () {
    var stream = gulp.src('resources/assets/sass/main.scss')

        // Compile Sass
        .pipe(sass({
            includePaths: ['resources/assets/bower/foundation/scss/foundation/components/']
        }))

        // Autoprefix CSS
        .pipe(autoprefixer({
            browsers: ['last 2 versions'],
            cascade: false
        }))

        // Move to Temp Destination
        .pipe(gulp.dest('resources/assets/css'));

    return stream;

});

gulp.task('process-css', ['compile-sass'], function () {
    var stream = gulp.src(['resources/assets/css/main.css', 'bower/slick/slick/slick.css'])

        // Concat CSS Files
        .pipe(concat('all.min.css'))

        // Minify CSS
        .pipe(minifyCSS())

        // Move to Final Destination
        .pipe(gulp.dest('public/assets/css/'));

    return stream;

});

gulp.task('clean-css', ['process-css'], function () {

    // Delete Temp Files & Folders
    del(['resources/assets/css/']);

});
Share:
10,137
ATLChris
Author by

ATLChris

I am a developer stuck in corporate america. Help me get out!

Updated on June 09, 2022

Comments

  • ATLChris
    ATLChris almost 2 years

    Here is what I have now, but it is not working. The css folder is not being cleaned out, but no errors are being thrown.

    var gulp = require('gulp');
    var sass = require('gulp-sass');
    var autoprefixer = require('gulp-autoprefixer');
    var concat = require('gulp-concat');
    var minifyCSS = require('gulp-minify-css');
    var del = require('del');
    
    gulp.task('default', ['compile-sass', 'process-css', 'clean-css']);
    
    gulp.task('compile-sass', function () {
        gulp.src('resources/assets/sass/main.scss')
    
            // Compile Sass
            .pipe(sass({
                includePaths: ['resources/assets/bower/foundation/scss/foundation/components/']
            }))
    
            // Autoprefix CSS
            .pipe(autoprefixer({
                browsers: ['last 2 versions'],
                cascade: false
            }))
    
            // Move to Temp Destination
            .pipe(gulp.dest('resources/assets/css'));
    
    });
    
    gulp.task('process-css', ['compile-sass'], function () {
        gulp.src(['resources/assets/css/main.css', 'bower/slick/slick/slick.css'])
    
            // Concat CSS Files
            .pipe(concat('all.min.css'))
    
            // Minify CSS
            .pipe(minifyCSS())
    
            // Move to Final Destination
            .pipe(gulp.dest('public/assets/css/'));
    
    });
    
    gulp.task('clean-css', ['process-css'], function () {
    
        // Delete Temp Files & Folders
        del(['resources/assets/css/']);
    
    });