are-you-es5
Version:
A package to help you find out which of your `node_modules` aren't ES5 so you can add them to your transpilation steps.
42 lines • 2.14 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const commander_1 = __importDefault(require("commander"));
const babel_loader_regex_builder_1 = require("./babel-loader-regex-builder");
const cli_errors_1 = __importDefault(require("./cli-errors"));
const logger_1 = require("./logger");
const modules_checker_1 = require("./modules-checker");
commander_1.default
.version('1.3.3')
.command('check <path>')
.description('Checks if all node_modules (including monorepos) at <path> are ES5')
.option('-a, --all', 'Check all node_modules instead of just direct dependencies')
.option('-v, --verbose', 'Log all messages (including modules that are ES5)')
.option('--no-regex-filtering', 'Stops all filtering on babel-loader exclude regex (does not hide anything) ')
.option('-r, --regex', 'Get babel-loader exclude regex to ignore all node_modules except non-ES5 ones, by default does not show any babel or webpack modules, use with --no-regex-filtering if you want to see everything')
.option('--silent', 'Do not log messages in the console (except regex if --regex is used)')
.action((path, cmd) => {
const config = {
checkAllNodeModules: cmd.all === true,
ignoreBabelAndWebpackPackages: cmd.regexFiltering,
logEs5Packages: cmd.verbose === true,
silent: cmd.silent === true
};
const checker = new modules_checker_1.ModulesChecker(path, config);
const logger = new logger_1.Logger(config);
const { es6Modules } = checker.checkModules();
if (cmd.regex) {
console.log('\n\nBabel-loader exclude regex:');
console.log(babel_loader_regex_builder_1.getBabelLoaderIgnoreRegex(es6Modules));
}
if (es6Modules.length !== 0) {
const error = cli_errors_1.default.nonES5DependenciesDetected;
logger.log(error.message);
process.exitCode = error.code;
}
});
commander_1.default.parse(process.argv);
//# sourceMappingURL=cli.js.map