I have some gulp tasks that are generating the files shown in the image:
What I'm trying to achieve, is to combine these 3 files into a single one and minify the result.
Here's a snippet of my gulpfile:
gulp.task('clean-css', function (done) {
gulp
.src(publicPath + 'css/*.css')
.pipe(clean())
.on('error', log);
done();
});
gulp.task('css-deps', ['sass-min'], function(done){
gulp.src(resourcesPath + 'css/*.css')
.pipe(concat('deps.css'))
.pipe(gulp.dest(publicPath + '/css'))
.on('error', log);
done();
});
gulp.task('css-deps-min', function(done){
gulp.src(publicPath + 'css/*.css')
.pipe(concat('styles.min.css'))
.pipe(cleanCss())
.pipe(filesize())
.pipe(gulp.dest(publicPath + 'css'))
.on('error', log)
;
done();
});
gulp.task('css', function(done) {
sequence('sass-min', 'css-deps', 'css-deps-min', 'clean-css', done);
});
Output from Gulp:
docker@cli:/var/www$ gulp clean && gulp css
[05:25:01] Using gulpfile /var/www/gulpfile.js
[05:25:01] Starting 'clean'...
[05:25:01] Finished 'clean' after 6.61 ms
[05:25:03] Using gulpfile /var/www/gulpfile.js
[05:25:03] Starting 'css'...
[05:25:03] Starting 'sass-min'...
[05:25:03] Finished 'sass-min' after 7.36 ms
[05:25:03] Starting 'css-deps'...
[05:25:03] Finished 'css-deps' after 1.35 ms
[05:25:03] Starting 'css-deps-min'...
[05:25:03] Finished 'css-deps-min' after 1.05 ms
[05:25:03] Starting 'clean-css'...
[05:25:03] Finished 'clean-css' after 547 μs
[05:25:03] Finished 'css' after 14 ms
[05:25:04] Size deps.css : 4.96 kB
[05:25:04] Size app.css : 486 B
[05:25:04] Size react-components.css : 0 B
[05:25:04] Size app.css : 486 B
[05:25:04] Size react-components.css : 0 B
I'm very new to Gulp, so there are a few things I don't understand pretty well such as why these tasks can't be combined into a single one. No need to mention my code isn't producing the desired result.
I'd appreciate some help on this. Thanks!
The problem with the gulpfile was that tasks weren't being executed in order despite using gulp-senquence. I found the answer in the gulp-sequence documentation: A return keyword was missing. See the examples here https://www.npmjs.com/package/run-sequence#usage.