@lucasmeira/npmfix
Version:
A CLI to fix npm dependencies
68 lines (67 loc) • 2.6 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const i18next_1 = tslib_1.__importDefault(require("i18next"));
const yargs_1 = tslib_1.__importDefault(require("yargs"));
const helpers_1 = require("yargs/helpers");
require("module-alias/register");
const build_1 = require("./commands/build");
const clean_1 = require("./commands/clean");
const reinstall_1 = require("./commands/reinstall");
const run_1 = require("./commands/run");
const logger_1 = tslib_1.__importStar(require("./logger"));
(async function main() {
const logger = await logger_1.default.getInstance();
logger.info('Logger initialized successfully.');
await (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv))
.scriptName('npmfix')
.usage('$0 [options]', i18next_1.default.t('usage'))
.option('maxFiles', {
alias: 'm',
type: 'string',
description: i18next_1.default.t('maxFiles'),
default: '7d',
})
.option('run', {
alias: ['exec', 'e'],
type: 'string',
description: i18next_1.default.t('runDescription'),
demandOption: false,
})
.command('clean', i18next_1.default.t('cleanDescription'), () => (0, clean_1.cleanProject)())
.alias('clean', 'c')
.command('reinstall', i18next_1.default.t('reinstallDescription'), () => (0, reinstall_1.reinstallPackages)())
.alias('reinstall', 'r')
.command('build', i18next_1.default.t('buildDescription'), () => (0, build_1.buildProject)())
.alias('build', 'b')
.command('$0', i18next_1.default.t('defaultDescription'), () => { }, async (argv) => {
logger.info(`Default handler arguments: ${JSON.stringify(argv)}`);
if (argv.maxFiles) {
(0, logger_1.updateLoggerMaxFiles)(logger, argv.maxFiles);
}
if (argv.clean) {
await yargs_1.default.parse('clean');
}
else if (argv.reinstall) {
await yargs_1.default.parse('reinstall');
}
else if (argv.build) {
await yargs_1.default.parse('build');
}
else {
await (0, clean_1.cleanProject)();
await (0, reinstall_1.reinstallPackages)();
await (0, build_1.buildProject)();
if (argv.run) {
const script = argv.run;
await (0, run_1.runCommand)(script);
}
}
})
.help()
.alias('help', 'h')
.locale('en')
.strict()
.parse();
})();