Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Gulp babel es2015 transform very slow

I am trying to run the babel-preset-es2015 on my JavaScript using gulp, but it takes forever even on one line of code. I originally tried with my script bundle that is about 700 loc, and then with a dummy script that is 1 line. The first case takes about 9s - with 1 line i takes 8.38s.

This is my exact setup:

package.json:

{
    "devDependencies": {
        "gulp": "^3.9.0",
        "gulp-babel": "^6.1.1",
        "babel": "^6.3.26",
        "babel-preset-es2015": "^6.3.13"
    }, 
   "babel": {
       "presets": [ "es2015" ]
    }
}

gulpfile.js:

gulp.task('js', function () {
    return gulp.src('dummyscript.js')
      .pipe(concat('site.bundle.js'))   
      .pipe(babel())  
      .pipe(gulp.dest(paths.dest.scripts));

});

dummy.js:

console.log('dummy script');

I'm running node v4.2.4 and npm v2.14.12.

Other operations like gulp-react and gulp-uglify all take about 180ms combined.

What is going on?

like image 442
severin Avatar asked Jan 21 '16 13:01

severin


1 Answers

Babel 6 has many highly-nested subdependencies. This can be quite slow if you have a non-flattened dependency tree. In your case, you are using npm 2, you will need to either npm dedupe or install npm@3 and reinstall so that your dependencies are flattened.

like image 86
loganfsmyth Avatar answered Oct 14 '22 07:10

loganfsmyth