UNPKG

611 BJavaScriptView Raw
1const path = require('path');
2const spawn = require('./spawn');
3const logger = require('./logger');
4
5module.exports = async (cmd, args = [], location) => {
6 const relPath = path.relative(process.cwd(), location);
7
8 try {
9 const logs = await spawn(cmd, args, { cwd: location });
10
11 logger.success(`Task succeeded in ${relPath}`);
12
13 logs.forEach(log => logger.debug(log));
14
15 logger.debug('\n');
16 } catch (error) {
17 logger.error(`Task failed in ${relPath}`);
18
19 if (Array.isArray(error.logs)) {
20 error.logs.forEach(log => logger.debug(log));
21 }
22
23 logger.debug('\n');
24
25 return Promise.reject(error);
26 }
27};