UNPKG

esmodule-builder

Version:

ECMAScript-Module (ES Module) builder.

82 lines 6.71 kB
import meta from './meta.mjs'; import { FILENAME as CONFIG_FILENAME } from './config.mjs'; import { load as loadProject, build as buildProject } from './project.mjs'; import P from './platform.mjs'; import chalk, { supportsColor } from 'chalk'; import log from 'npmlog'; import { Command } from 'commander'; const LOG_LEVELS = [ "silly", "verbose", "info", // "timing", // "http", "notice", "warn", "error", "silent", ]; function processCommandLine(args) { const program = new Command(); let config = '.'; let logLevel = 'info'; program .version(meta.version, '-v, --version') .arguments('[config]') .action(arg1 => { if (arg1) { config = arg1; } }) .option('-l, --log <level>', 'Log level', value => { let level = value.toLowerCase(); if (!LOG_LEVELS.includes(level)) { log.warn(meta.program, chalk.red('invalid log-level:'), chalk.white.bgRed(value)); return; } logLevel = level; }) .option('--color <mode>', 'Color Mode') .parse(args); return { configFilePath: P.testDirectoryExists(config) ? P.joinPath(config, CONFIG_FILENAME) : config, logLevel: logLevel, }; } async function run(program) { configureLogLibrary(program); const configFilePath = P.resolvePath(program.configFilePath); log.info(meta.program, chalk.green('ES Module builder')); log.info(meta.program, chalk.yellow('Version: ') + meta.version); log.info(meta.program, chalk.yellow('CWD: ') + process.cwd()); log.info(meta.program, chalk.yellow('Config: ') + configFilePath); if (!P.testFileExists(configFilePath)) { log.error(meta.program, chalk.red('Config file not found:'), chalk.white.bgRed(configFilePath)); return false; } const project = loadProject(configFilePath); log.verbose(meta.program, "...config loaded"); log.silly(meta.program, JSON.stringify(project.config, null, 2)); log.verbose(meta.program, chalk.yellow('Path: '), configFilePath); log.verbose(meta.program, chalk.yellow('Version: '), project.config.version); log.verbose(meta.program, chalk.yellow('Files: '), project.codePaths); await buildProject(project); return true; } function configureLogLibrary(program) { // Configure color mode if (supportsColor !== false) { log.enableColor(); } else { log.disableColor(); } log.level = program.logLevel || 'info'; } export default { processCommandLine, run, }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLm1qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NvdXJjZS9jbGkubXRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sSUFBSSxNQUFNLFlBQVksQ0FBQTtBQUM3QixPQUFPLEVBQUUsUUFBUSxJQUFJLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUMxRCxPQUFPLEVBQUUsSUFBSSxJQUFJLFdBQVcsRUFBRSxLQUFLLElBQUksWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFFLE9BQU8sQ0FBQyxNQUFNLGdCQUFnQixDQUFBO0FBQzlCLE9BQU8sS0FBSyxFQUFFLEVBQUUsYUFBYSxFQUFFLE1BQU0sT0FBTyxDQUFBO0FBQzVDLE9BQU8sR0FBRyxNQUFNLFFBQVEsQ0FBQTtBQUN4QixPQUFrQixFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQVM5QyxNQUFNLFVBQVUsR0FBRztJQUNsQixPQUFPO0lBQ1AsU0FBUztJQUNULE1BQU07SUFDTixZQUFZO0lBQ1osVUFBVTtJQUNWLFFBQVE7SUFDUixNQUFNO0lBQ04sT0FBTztJQUNQLFFBQVE7Q0FDUixDQUFBO0FBRUQsU0FBUyxrQkFBa0IsQ0FDMUIsSUFBYztJQUVkLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUE7SUFFN0IsSUFBSSxNQUFNLEdBQVcsR0FBRyxDQUFBO0lBQ3hCLElBQUksUUFBUSxHQUFXLE1BQU0sQ0FBQTtJQUU3QixPQUFPO1NBQ0wsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDO1NBQ3RDLFNBQVMsQ0FBQyxVQUFVLENBQUM7U0FDckIsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ2QsSUFBSSxJQUFJLEVBQUU7WUFBRSxNQUFNLEdBQUcsSUFBSSxDQUFBO1NBQUU7SUFDNUIsQ0FBQyxDQUFDO1NBQ0QsTUFBTSxDQUFDLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsRUFBRTtRQUNqRCxJ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