docs: function(tasksConfig) {
    /* ES6 Syntax transpilation */
    gulp.task('babelify', ['copy'], function () {
      return gulp.src([
        paths.src.es6
      ])
      .pipe($.babel())
      .on('error', handleError)
      .pipe($.jsvalidate())
      .on('error', handleError)
  
      // Needed to support IE8. Get rid of it ASAP.
      .pipe($.replace(/\.(catch|throw|return|default)\b/g, "['$1']"))
  
      .pipe(gulp.dest(paths.src.tmp));
    });
  
    /* JS modules bundling */
    gulp.task('bundle-js',
        extendDeps(['babelify'], tasksConfig['bundle-js']), function() {
      var
        ext = paths.src.esnextExt,
        extPrefix = ext.slice(0, ext.lastIndexOf('.'));
      return gulp.src(extendSrcs([
        paths.src.tmp + 'pages/**/*.js',
        paths.src.tmp + 'pages/**/*' + ext,
        '!' + paths.src.tmp + 'pages/**/*.test.js',
        '!' + paths.src.tmp + 'pages/**/*.test' + ext
      ], tasksConfig['bundle-js']))
      .pipe($.browserify({
        insertGlobals: false,
        debug: false
      }))
      .on('error', handleError)
      .pipe($.uglify())
      .pipe($.rename(function (path) {
        var n = path.basename;
        if (~n.lastIndexOf(extPrefix)) {
          path.basename = n.slice(0, n.lastIndexOf(extPrefix));
          path.extname = '.js';
        }
      }))
      .pipe(gulp.dest(paths.out.js));
    });
    gulp.task('bundle-js:dev',
        extendDeps(['babelify'], tasksConfig['bundle-js:dev']), function() {
      var
        ext = paths.src.esnextExt,
        extPrefix = ext.slice(0, ext.lastIndexOf('.'));
      return gulp.src(extendSrcs([
        paths.src.tmp + 'pages/**/*.js',
        paths.src.tmp + 'pages/**/*' + ext,
        '!' + paths.src.tmp + 'pages/**/*.test.js',
        '!' + paths.src.tmp + 'pages/**/*.test' + ext
      ], tasksConfig['bundle-js:dev']))
      .pipe($.browserify({
        insertGlobals: false,
        debug: true
      }))
      .on('error', handleError)
      .pipe($.rename(function (path) {
        var n = path.basename;
        if (~n.lastIndexOf(extPrefix)) {
          path.basename = n.slice(0, n.lastIndexOf(extPrefix));
          path.extname = '.js';
        }
      }))
      .pipe(gulp.dest(paths.out.js));
    });
  }