UNPKG

1.15 kBJavaScriptView Raw
1var Transform = require('stream').Transform;
2var collector = require('./service-collector');
3var license = require('./browser-builder').license;
4
5module.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 = Buffer.from(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};