const dargs = require('./dargs');
-module.exports = function bundle(options, cache) {
- if (cache.bundle) return Promise.resolve(cache.bundle)
-
+module.exports = function bundle(options, bundleModules) {
const stdout = []
- const stderr = cache.bundle = []
+ const stderr = []
const bundleCommand = options.pscBundle || 'purs';
namespace: options.bundleNamespace,
}, options.pscBundleArgs)));
- cache.bundleModules.forEach(name => bundleArgs.push('--module', name))
+ bundleModules.forEach(name => bundleArgs.push('--module', name))
- debug('spawning bundler %s %o', bundleCommand, bundleArgs);
+ debug('bundle: %s %o', bundleCommand, bundleArgs);
return (new Promise((resolve, reject) => {
debug('bundling PureScript...')
if (code !== 0) {
const errorMessage = stderr.join('');
+
if (errorMessage.length) {
psModule.emitError(errorMessage);
}
- return reject(new Error('bundling failed'))
- }
- cache.bundle = stderr
-
- resolve(fs.appendFileAsync(options.bundleOutput, `module.exports = ${options.bundleNamespace}`))
+ reject(new Error('bundling failed'))
+ }
+ else {
+ resolve(fs.appendFileAsync(options.bundleOutput, `module.exports = ${options.bundleNamespace}`))
+ }
})
}))
};