UNPKG

lib-tools

Version:

The lib-tools helps you simplify the build, bundle, test and npm packaging workflows for Typescript, JavaScript, Angular library projects and assets module projects.

84 lines 9.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.cliBuild = void 0; const helpers_1 = require("../../helpers"); const utils_1 = require("../../utils"); const configs_1 = require("../../webpack/configs"); async function cliBuild(argv) { const startTime = global.libCli && global.libCli.startTime > 0 ? global.libCli.startTime : Date.now(); let env; if (argv.environment) { env = argv.environment; delete argv.environment; } if (argv.env) { if (!env) { env = argv.env; } delete argv.env; } const logLevel = argv.logLevel ? argv.logLevel : 'info'; const logger = new utils_1.Logger({ logLevel }); const watch = argv.watch ? true : false; let webpackConfigs = []; try { webpackConfigs = await configs_1.getWebpackBuildConfig(env, argv); } catch (err) { if (logLevel === 'debug') { throw err; } logger.error(`${err.message || err}\n`); return -1; } if (!webpackConfigs.length) { logger.error('No project is available to build.\n'); return -1; } let hasError = false; try { if (watch) { await helpers_1.runWebpack(webpackConfigs, watch, logger); } else { for (const wpConfig of webpackConfigs) { await helpers_1.runWebpack(wpConfig, false, logger); } } const duration = Date.now() - startTime; logger.info(`\nBuild all completed in [${duration}ms]\n`); } catch (err) { hasError = true; if (err) { logger.error(`${toErrorString(err)}\n`); } } if (argv.beep && process.stdout.isTTY) { process.stdout.write('\x07'); } return hasError ? -1 : 0; } exports.cliBuild = cliBuild; function toErrorString(err) { let errMsg = '\n'; if (err.message && err.message.length && err.message !== err.stack) { errMsg += err.message; } if (err.details && err.details.length && err.details !== err.stack && err.details !== err.message) { if (errMsg.trim()) { errMsg += '\nError Details:\n'; } errMsg += err.details; } else if (err.stack && err.stack.length && err.stack !== err.message) { if (errMsg.trim()) { errMsg += '\nCall Stack:\n'; } errMsg += err.stack; } return errMsg; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLWJ1aWxkLmpzIiwic291cmNlUm9vdCI6Ii4vIiwic291cmNlcyI6WyJjbGkvYnVpbGQvY2xpLWJ1aWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLDJDQUEyQztBQUMzQyx1Q0FBcUM7QUFFckMsbURBQThEO0FBRXZELEtBQUssVUFBVSxRQUFRLENBQUMsSUFBc0Q7SUFDakYsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDdEcsSUFBSSxHQUFvRCxDQUFDO0lBRXpELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtRQUNsQixHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQWtELENBQUM7UUFDOUQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0tBQzNCO0lBRUQsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ1YsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNOLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBMEMsQ0FBQztTQUN6RDtRQUVELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztLQUNuQjtJQUVELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN4RCxNQUFNLE1BQU0sR0FBRyxJQUFJLGNBQU0sQ0FBQztRQUN0QixRQUFRO0tBQ1gsQ0FBQyxDQUFDO0lBRUgsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDeEMsSUFBSSxjQUFjLEdBQTRCLEVBQUUsQ0FBQztJQUVqRCxJQUFJO1FBQ0EsY0FBYyxHQUFHLE1BQU0sK0JBQXFCLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQzNEO0lBQUMsT0FBTyxHQUFHLEVBQUU7UUFDVixJQUFJLFFBQVEsS0FBSyxPQUFPLEVBQUU7WUFDdEIsTUFBTSxHQUFHLENBQUM7U0FDYjtRQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBSSxHQUFhLENBQUMsT0FBTyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFFbkQsT0FBTyxDQUFDLENBQUMsQ0FBQztLQUNiO0lBRUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUU7UUFDeEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO1FBRXBELE9BQU8sQ0FBQyxDQUFDLENBQUM7S0FDYjtJQUVELElBQUksUUFBUSxHQUFHLEtBQUssQ0FBQztJQUVyQixJQUFJO1FBQ0EsSUFBSSxLQUFLLEVBQUU7WUFDUCxNQUFNLG9CQUFVLENBQUMsY0FBYyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztTQUNuRDthQUFNO1lBQ0gsS0FBSyxNQUFNLFFBQVEsSUFBSSxjQUFjLEVBQUU7Z0JBQ25DLE1BQU0sb0JBQVUsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2FBQzdDO1NBQ0o7UUFFRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsU0FBUyxDQUFDO1FBQ3hDLE1BQU0sQ0FBQyxJQUFJLENBQUMsNkJBQTZCLFFBQVEsT0FBTyxDQUFDLENBQUM7S0FDN0Q7SUFBQyxPQUFPLEdBQUcsRUFBRTtRQUNWLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDaEIsSUFBSSxHQUFHLEVBQUU7WUFDTCxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsYUFBYSxDQUFDLEdBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNwRDtLQUNKO0lBRUQsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ25DLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQ2hDO0lBRUQsT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN0IsQ0FBQztBQXBFRCw0QkFvRUM7QUFFRCxTQUFTLGFBQWEsQ0FBQyxHQUFpQztJQUNwRCxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDbEIsSUFBSSxHQUFHLENBQUMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxPQUFPLEtBQUssR0FBRyxDQUFDLEtBQUssRUFBRTtRQUNoRSxNQUFNLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQztLQUN6QjtJQUVELElBQUksR0FBRyxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsT0FBTyxLQUFLLEdBQUcsQ0FBQyxLQUFLLElBQUksR0FBRyxDQUFDLE9BQU8sS0FBSyxHQUFHLENBQUMsT0FBTyxFQUFFO1FBQy9GLElBQUksTUFBTSxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2YsTUFBTSxJQUFJLG9CQUFvQixDQUFDO1NBQ2xDO1FBQ0QsTUFBTSxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUM7S0FDekI7U0FBTSxJQUFJLEdBQUcsQ0FBQyxLQUFLLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLEtBQUssS0FBSyxHQUFHLENBQUMsT0FBTyxFQUFFO1FBQ25FLElBQUksTUFBTSxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2YsTUFBTSxJQUFJLGlCQUFpQixDQUFDO1NBQy9CO1FBQ0QsTUFBTSxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUM7S0FDdkI7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgd2VicGFjayBmcm9tICd3ZWJwYWNrJztcblxuaW1wb3J0IHsgQnVpbGRDb21tYW5kT3B0aW9ucyB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBydW5XZWJwYWNrIH0gZnJvbSAnLi4vLi4vaGVscGVycyc7XG5pbXBvcnQgeyBMb2dnZXIgfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbmltcG9ydCB7IGdldFdlYnBhY2tCdWlsZENvbmZpZyB9IGZyb20gJy4uLy4uL3dlYnBhY2svY29uZmlncyc7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjbGlCdWlsZChhcmd2OiBCdWlsZENvbW1hbmRPcHRpb25zICYgeyBba2V5OiBzdHJpbmddOiB1bmtub3duIH0pOiBQcm9taXNlPG51bWJlcj4ge1xuICAgIGNvbnN0IHN0YXJ0VGltZSA9IGdsb2JhbC5saWJDbGkgJiYgZ2xvYmFsLmxpYkNsaS5zdGFydFRpbWUgPiAwID8gZ2xvYmFsLmxpYkNsaS5zdGFydFRpbWUgOiBEYXRlLm5vdygpO1xuICAgIGxldCBlbnY6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB8IHN0cmluZyB9IHwgdW5kZWZpbmVkO1xuXG4gICAgaWYgKGFyZ3YuZW52aXJvbm1lbnQpIHtcbiAgICAgICAgZW52ID0gYXJndi5lbnZpcm9ubWVudCBhcyB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfCBzdHJpbmcgfTtcbiAgICAgICAgZGVsZXRlIGFyZ3YuZW52aXJvbm1lbnQ7XG4gICAgfVxuXG4gICAgaWYgKGFyZ3YuZW52KSB7XG4gICAgICAgIGlmICghZW52KSB7XG4gICAgICAgICAgICBlbnYgPSBhcmd2LmVudiBhcyB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfCBzdHJpbmcgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRlbGV0ZSBhcmd2LmVudjtcbiAgICB9XG5cbiAgICBjb25zdCBsb2dMZXZlbCA9IGFyZ3YubG9nTGV2ZWwgPyBhcmd2LmxvZ0xldmVsIDogJ2luZm8nO1xuICAgIGNvbnN0IGxvZ2dlciA9IG5ldyBMb2dnZXIoe1xuICAgICAgICBsb2dMZXZlbFxuICAgIH0pO1xuXG4gICAgY29uc3Qgd2F0Y2ggPSBhcmd2LndhdGNoID8gdHJ1ZSA6IGZhbHNlO1xuICAgIGxldCB3ZWJwYWNrQ29uZmlnczogd2VicGFjay5Db25maWd1cmF0aW9uW10gPSBbXTtcblxuICAgIHRyeSB7XG4gICAgICAgIHdlYnBhY2tDb25maWdzID0gYXdhaXQgZ2V0V2VicGFja0J1aWxkQ29uZmlnKGVudiwgYXJndik7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGlmIChsb2dMZXZlbCA9PT0gJ2RlYnVnJykge1xuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICB9XG5cbiAgICAgICAgbG9nZ2VyLmVycm9yKGAkeyhlcnIgYXMgRXJyb3IpLm1lc3NhZ2UgfHwgZXJyfVxcbmApO1xuXG4gICAgICAgIHJldHVybiAtMTtcbiAgICB9XG5cbiAgICBpZiAoIXdlYnBhY2tDb25maWdzLmxlbmd0aCkge1xuICAgICAgICBsb2dnZXIuZXJyb3IoJ05vIHByb2plY3QgaXMgYXZhaWxhYmxlIHRvIGJ1aWxkLlxcbicpO1xuXG4gICAgICAgIHJldHVybiAtMTtcbiAgICB9XG5cbiAgICBsZXQgaGFzRXJyb3IgPSBmYWxzZTtcblxuICAgIHRyeSB7XG4gICAgICAgIGlmICh3YXRjaCkge1xuICAgICAgICAgICAgYXdhaXQgcnVuV2VicGFjayh3ZWJwYWNrQ29uZmlncywgd2F0Y2gsIGxvZ2dlcik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHdwQ29uZmlnIG9mIHdlYnBhY2tDb25maWdzKSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgcnVuV2VicGFjayh3cENvbmZpZywgZmFsc2UsIGxvZ2dlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkdXJhdGlvbiA9IERhdGUubm93KCkgLSBzdGFydFRpbWU7XG4gICAgICAgIGxvZ2dlci5pbmZvKGBcXG5CdWlsZCBhbGwgY29tcGxldGVkIGluIFske2R1cmF0aW9ufW1zXVxcbmApO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBoYXNFcnJvciA9IHRydWU7XG4gICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICAgIGxvZ2dlci5lcnJvcihgJHt0b0Vycm9yU3RyaW5nKGVyciBhcyBFcnJvcil9XFxuYCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoYXJndi5iZWVwICYmIHByb2Nlc3Muc3Rkb3V0LmlzVFRZKSB7XG4gICAgICAgIHByb2Nlc3Muc3Rkb3V0LndyaXRlKCdcXHgwNycpO1xuICAgIH1cblxuICAgIHJldHVybiBoYXNFcnJvciA/IC0xIDogMDtcbn1cblxuZnVuY3Rpb24gdG9FcnJvclN0cmluZyhlcnI6IEVycm9yICYgeyBkZXRhaWxzPzogc3RyaW5nIH0pOiBzdHJpbmcge1xuICAgIGxldCBlcnJNc2cgPSAnXFxuJztcbiAgICBpZiAoZXJyLm1lc3NhZ2UgJiYgZXJyLm1lc3NhZ2UubGVuZ3RoICYmIGVyci5tZXNzYWdlICE9PSBlcnIuc3RhY2spIHtcbiAgICAgICAgZXJyTXNnICs9IGVyci5tZXNzYWdlO1xuICAgIH1cblxuICAgIGlmIChlcnIuZGV0YWlscyAmJiBlcnIuZGV0YWlscy5sZW5ndGggJiYgZXJyLmRldGFpbHMgIT09IGVyci5zdGFjayAmJiBlcnIuZGV0YWlscyAhPT0gZXJyLm1lc3NhZ2UpIHtcbiAgICAgICAgaWYgKGVyck1zZy50cmltKCkpIHtcbiAgICAgICAgICAgIGVyck1zZyArPSAnXFxuRXJyb3IgRGV0YWlsczpcXG4nO1xuICAgICAgICB9XG4gICAgICAgIGVyck1zZyArPSBlcnIuZGV0YWlscztcbiAgICB9IGVsc2UgaWYgKGVyci5zdGFjayAmJiBlcnIuc3RhY2subGVuZ3RoICYmIGVyci5zdGFjayAhPT0gZXJyLm1lc3NhZ2UpIHtcbiAgICAgICAgaWYgKGVyck1zZy50cmltKCkpIHtcbiAgICAgICAgICAgIGVyck1zZyArPSAnXFxuQ2FsbCBTdGFjazpcXG4nO1xuICAgICAgICB9XG4gICAgICAgIGVyck1zZyArPSBlcnIuc3RhY2s7XG4gICAgfVxuXG4gICAgcmV0dXJuIGVyck1zZztcbn1cbiJdfQ==