Gulp + browserify + 6to5 + mapas fuente

Estoy tratando de escribir una tarea de trago que me permita usar módulos en JS (CommonJS está bien), usando browserify + 6to5. También quiero que funcione la asignación de fuente.

Entonces: 1. Escribo módulos usando la sintaxis ES6. 2. 6to5 transpila estos módulos a la sintaxis CommonJS (u otra). 3. Browserify agrupa los módulos. 4. Los mapas de origen hacen referencia a los archivos ES6 originales.

¿Cómo escribir una tarea así?

Editar: Esto es lo que tengo hasta ahora:

tarea de trago

gulp.task('browserify', function() {
    var source = require('vinyl-source-stream');
    var browserify = require('browserify');
    var to5ify = require('6to5ify');

    browserify({
        debug: true
    })
    .transform(to5ify)
    .require('./app/webroot/js/modules/main.js', {
        entry: true
    })
    .bundle()
    .on('error', function(err) {
        console.log('Error: ' + err.message);
    })
    .pipe(source('bundle.js'))
    .pipe(gulp.dest(destJs));
});

módulos / A.js

function foo() {
    console.log('Hello World');

    let x = 10;

    console.log('x is', x);
}

export {
    foo
};

módulos / B.js

import {
    foo
}
from './A';

function bar() {
    foo();
}

export {
    bar
};

modules / main.js

import {
    bar
}
from './B';

bar();

El código parece estar funcionando, pero no está minimizado y el mapa fuente está en línea (lo que realmente no funciona para la producción).

Respuestas a la pregunta(2)

Su respuesta a la pregunta