UNPKG

1.07 kBJavaScriptView Raw
1const EventEmitter = require('events');
2const clean = require('./clean');
3const _build = require('./_build');
4const { logger } = require('./logger');
5
6module.exports = function build(pobrc, cwd, envs, watch = false, options) {
7 const envsSet = envs !== undefined;
8
9 if (!envs) {
10 envs = pobrc.envs;
11
12 if (envs.includes('node5')) {
13 logger.warn('node5 is deprecated.');
14 envs = envs.filter(env => env === 'node5');
15 }
16
17 envs = envs.reduce((res, env) => {
18 res.push(env, `${env}-dev`);
19 return res;
20 }, []);
21
22 clean(envs);
23 }
24
25
26 if (watch) {
27 watch = new EventEmitter();
28 }
29
30 return Promise.all([
31 _build(pobrc, cwd, pobrc.src || 'src', env => `lib-${env}`, envs, watch, options),
32 !envsSet && pobrc.testing && _build(pobrc, cwd, 'test/src', () => 'test/node6', ['node6'], watch, options),
33 !envsSet && pobrc.examples && _build(pobrc, cwd, 'examples/src', () => 'examples/node6', ['node6'], watch, options),
34 ]).then(() => watch);
35};