ID de dependencia de navegador y paquete de factores

Estoy usando browserify y factor-bundle para administrar las dependencias, y en teoría debería funcionar muy bien. Tenemos diferentes puntos finales en todas las páginas, y la ejecución de paquetes de factor se divide de manera realmente rápida y eficiente para el almacenamiento en caché.

El problema es que me encuentro con este problema: https://github.com/substack/factor-bundle/issues/13

A menos que haya una solución alternativa, esto parece hacer que el conjunto de factores sea completamente inútil hasta que se solucione el problema. ¿Hay una manera de dividir las dependencias comunes de forma manual en el ínterin? ¿O incluso una forma de usar el factor-paquete a una capacidad reducida?

EDITAR

Este es mi script de comstackción actual:

var browserify = require('browserify'); var bromote = require('bromote'); var PassThrough = require('stream').PassThrough; var gulp = require('gulp'); var streamify = require('gulp-streamify'); var handleErrors = require('../util/handleErrors'); var source = require('vinyl-source-stream'); gulp.task('browserify', function () { var remote = { google_maps: { exports: 'google_maps', url : '//maps.google.com/maps/api/js?v=3.12&sensor=false&key=xxx&libraries=places&callback=?' } }; var sources = { entries: [ './a.js', './b.js', './c.js' ], bundles: [ './build/a.js', './build/b.js', './build/c.js' ] }; bromote(null, remote, function (err) { if (err) { return console.error(err); } for (var i = 0; i < sources.entries.length; i++) { var passThrough = new PassThrough(); browserify({ debug: true, entries : sources.entries[i], basedir : './js/' }) .bundle() .pipe(passThrough) .on('error', handleErrors) .pipe(source(sources.bundles[i])) .pipe(gulp.dest('./')); } return true; }); }); 

Esta es la versión con factor-bundle:

 var browserify = require('browserify'); var bromote = require('bromote'); var PassThrough = require('stream').PassThrough; var gulp = require('gulp'); var streamify = require('gulp-streamify'); var factor = require('factor-bundle'); var handleErrors = require('../util/handleErrors'); var source = require('vinyl-source-stream'); gulp.task('browserify', function () { var remote = { google_maps: { exports: 'google_maps', url : '//maps.google.com/maps/api/js?v=3.12&sensor=false&key=xxx&libraries=places&callback=?' } }; var sources = { entries: [ './a.js', './b.js', './c.js' ], bundles: [ './build/a.js', './build/b.js', './build/c.js' ] }; bromote(null, remote, function (err) { if (err) { return console.error(err); } var passThrough = new PassThrough(); return browserify({ entries: sources.entries, basedir: './js/', fullPaths : false }) .plugin(factor, { o: sources.bundles }) .bundle({ debug: true }) .pipe(passThrough) .on('error', handleErrors) .pipe(source('common.js')) .pipe(gulp.dest('./build/')); }); });