UNPKG

2.08 kBJavaScriptView Raw
1import { Option as CommanderOption, program } from 'commander';
2import { satisfies as semverSatisfies } from 'semver';
3import { commandCheck } from './commandCheck.js';
4import { commandLink } from './commandLink.js';
5import { commandLint } from './commandLint.js';
6import { commandSuggestion } from './commandSuggestion.js';
7import { commandTrace } from './commandTrace.js';
8import { npmPackage } from './pkgInfo.js';
9import { ApplicationError } from './util/errors.js';
10export { ApplicationError, CheckFailed } from './util/errors.js';
11export async function run(command, argv) {
12 const prog = command || program;
13 const args = argv || process.argv;
14 prog.exitOverride();
15 prog.version(npmPackage.version).description('Spelling Checker for Code').name('cspell');
16 if (!semverSatisfies(process.versions.node, npmPackage.engines.node)) {
17 throw new ApplicationError(`Unsupported NodeJS version (${process.versions.node}); ${npmPackage.engines.node} is required`);
18 }
19 const optionFlags = new CommanderOption('-f,--flag <flag:value>', 'Declare an execution flag value')
20 .hideHelp()
21 .argParser((value, prev) => prev?.concat(value) || [value]);
22 commandLint(prog).addOption(optionFlags);
23 commandTrace(prog).addOption(optionFlags);
24 commandCheck(prog).addOption(optionFlags);
25 commandSuggestion(prog).addOption(optionFlags);
26 commandLink(prog);
27 /*
28 program
29 .command('init')
30 .description('(Alpha) Initialize a cspell.json file.')
31 .option('-o, --output <cspell.json>', 'define where to write file.')
32 .option('--extends <cspell.json>', 'extend an existing cspell.json file.')
33 .action((options: InitOptions) => {
34 showHelp = false;
35 CSpellApplication.createInit(options).then(
36 () => process.exit(0),
37 () => process.exit(1)
38 );
39 console.log('Init');
40 });
41 */
42 prog.exitOverride();
43 await prog.parseAsync(args);
44}
45//# sourceMappingURL=app.mjs.map
\No newline at end of file