transform.js (1146B)
1 var Transform = require('stream').Transform; 2 var collector = require('./service-collector'); 3 var license = require('./browser-builder').license; 4 5 module.exports = function(file) { 6 var stream = new Transform(); 7 8 var didDefineServices = !!process.env.AWS_SERVICES; 9 10 var isEntryPoint = !!file.match(/[\/\\]lib[\/\\]browser\.js$/); 11 12 stream._transform = function(data, encoding, callback) { 13 callback(null, data); 14 }; 15 16 if (isEntryPoint) { 17 if (didDefineServices) { 18 // We need to strip out the default requires statement 19 stream._transform = function(data, encoding, callback) { 20 var code = data.toString(); 21 code = code.trim(); 22 var lines = code.split('\n'); 23 lines = lines.filter(function(line) { 24 return !line.match(/^require\(.+browser_default['"]\);$/); 25 }); 26 27 code = lines.join('\n'); 28 data = new Buffer(code); 29 callback(null, data); 30 }; 31 32 var src = collector(process.env.AWS_SERVICES); 33 stream._flush = function(callback) { 34 stream.push(src); 35 callback(); 36 }; 37 } 38 39 stream.push(license); 40 } 41 42 return stream; 43 };