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 |
|
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 | };
|