less - gulp-changed with gulp-concat not working -


i want compile .less files have changed in order speed debug/coding workflow.

here gulp task:

gulp.src('core/**/*.less')   .pipe(changed('core'))   .pipe(less().on('error', handleerror))   .pipe(autoprefixer('last 2 version'))   .pipe(remember())   .pipe(concat('main.min.css'))   .pipe(gulp.dest('core'))   .on('end', resolve)   .on('error', reject); 

i used gulp-changed , because didn't work @ first, tried use gulp-remember well, no effect. watch works, compiles super fast, has no effect @ all.

if remove changed('core') , remember() works, it's slower (around 16 seconds).

gulp-changed poor fit use case, since meant compare input files output files on disk.

say have input file core/foo/bar.less pipe through changed('dist'). output file dist/foo/bar.less. if input file newer output file, passed through. otherwise filtered out.

that means using changed('core') cannot possibly work. compares input file core/foo/bar.less output file core/foo/bar.less. but they're same file. means input file can never newer output file , never passed through.

there's problem. don't have 1 output file each input file. .less files compiled one main.min.css file. while can make work using custom comparator doesn't work out of box.

what want gulp-cached. instead of comparing each input file output file on disk compares each input file previous version of same file has been cached in memory.

var cached = require('gulp-cached');  gulp.task('css', function() {   return gulp.src('core/**/*.less')     .pipe(cached('less'))     .pipe(less())     .pipe(autoprefixer('last 2 version'))     .pipe(remember('less'))     .pipe(concat('main.min.css'))     .pipe(gulp.dest('core')); }); 

Comments

Popular posts from this blog

ruby on rails - Permission denied @ sys_fail2 - (D:/RoR/projects/grp/public/uploads/ -

c++ - nodejs socket.io closes connection before upgrading to websocket -

python - PyQt: Label not showing correct number of length -