UNPKG

879 BJavaScriptView Raw
1'use strict';
2
3// Node.js built-ins
4
5var fs = require('graceful-fs');
6
7// 3rd-party modules
8
9var browserify = require('browserify');
10
11// this module
12
13/**
14 * @param {String} addPath to be passed to `browserify#add()`
15 * @param {String} outputPath to be passed to `fs.createWriteStream()`
16 * @param {Object} options to be passed to `browserify()`
17 * @returns {Promise} resolved when WriteStream "finish"es
18 */
19module.exports = function (addPath, outputPath, options) {
20 return new Promise(function (resolve, reject) {
21 var reader, writer;
22 var b = browserify(options);
23
24 reader = b.add(addPath);
25 b.bundle()
26 .on('error', function (err) {
27 reject(err);
28 });
29
30 writer = fs.createWriteStream(outputPath)
31 .on('finish', function () {
32 resolve();
33 })
34 .on('error', function (err) {
35 reject(err);
36 });
37
38 reader.pipe(writer);
39 });
40};