var browserify = require('../'); var vm = require('vm'); var through = require('through2'); var test = require('tap').test; var fs = require('fs'); var sources = { 1: fs.readFileSync(__dirname + '/entry/main.js', 'utf8'), 2: fs.readFileSync(__dirname + '/entry/one.js', 'utf8'), 3: fs.readFileSync(__dirname + '/entry/two.js', 'utf8') }; var deps = { 1: { './two': 3, './one': 2 }, 2: {}, 3: {} }; test('custom packer', function (t) { t.plan(7); var b = browserify(__dirname + '/entry/main.js'); b.pipeline.get('pack').splice(0,1, through.obj(function (row, enc, next) { t.equal(sources[row.id], row.source); t.deepEqual(deps[row.id], row.deps); this.push(row.id + '\n'); next(); })); b.pipeline.get('wrap').splice(0); b.bundle(function (err, src) { t.equal(src.toString('utf8'), '1\n2\n3\n'); }); });