mirror of
https://git.proxmox.com/git/pve-eslint
synced 2025-08-11 20:23:34 +00:00
switch to using Command.opts()
to access options
this fixes an issue where the options where not properly passed to eslint, which rendered them useless. uses the `opts()` function to access them. see [1] for more on info on option parsing with commander. [1]: https://www.npmjs.com/package/commander#user-content-options Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
This commit is contained in:
parent
58b8a1a883
commit
79d6d3d106
@ -27,13 +27,14 @@ program.on('--help', function() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
program.parse(process.argv);
|
program.parse(process.argv);
|
||||||
|
let options = program.opts();
|
||||||
|
|
||||||
if (program.config && program.extend) {
|
if (options.config && options.extend) {
|
||||||
console.error('Cannot use both, --config and --extend, at the same time!');
|
console.error('Cannot use both, --config and --extend, at the same time!');
|
||||||
process.exit(1);
|
process.exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (program.args.length < 1 && !program.outputConfig) {
|
if (program.args.length < 1 && !options.outputConfig) {
|
||||||
program.help();
|
program.help();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -44,8 +45,8 @@ if (!paths.length) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let threadCount = 4;
|
let threadCount = 4;
|
||||||
if (program.threads) {
|
if (options.threads) {
|
||||||
threadCount = program.threads;
|
threadCount = options.threads;
|
||||||
}
|
}
|
||||||
|
|
||||||
const defaultConfig = {
|
const defaultConfig = {
|
||||||
@ -274,16 +275,16 @@ let pathExpand = (p) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
let config = defaultConfig;
|
let config = defaultConfig;
|
||||||
if (program.config) {
|
if (options.config) {
|
||||||
config = {
|
config = {
|
||||||
"extends": pathExpand(program.config),
|
"extends": pathExpand(options.config),
|
||||||
};
|
};
|
||||||
} else if (program.extend) {
|
} else if (options.extend) {
|
||||||
config.extends = pathExpand(program.extend);
|
config.extends = pathExpand(options.extend);
|
||||||
console.log(`Extend with path: ${config.extends}`);
|
console.log(`Extend with path: ${config.extends}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (program.outputConfig) {
|
if (options.outputConfig) {
|
||||||
let cfg = JSON.stringify(config, null, 2);
|
let cfg = JSON.stringify(config, null, 2);
|
||||||
console.log(cfg);
|
console.log(cfg);
|
||||||
process.exit(0);
|
process.exit(0);
|
||||||
@ -292,7 +293,7 @@ if (program.outputConfig) {
|
|||||||
const cliOptions = {
|
const cliOptions = {
|
||||||
baseConfig: config,
|
baseConfig: config,
|
||||||
useEslintrc: true,
|
useEslintrc: true,
|
||||||
fix: !!program.fix,
|
fix: !!options.fix,
|
||||||
cwd: process.cwd(),
|
cwd: process.cwd(),
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -322,7 +323,7 @@ results.forEach(function(result) {
|
|||||||
let filename = path.relative(process.cwd(), result.filePath);
|
let filename = path.relative(process.cwd(), result.filePath);
|
||||||
let msgs = result.messages;
|
let msgs = result.messages;
|
||||||
let max_sev = 0;
|
let max_sev = 0;
|
||||||
if (!!program.fix && result.output) {
|
if (!!options.fix && result.output) {
|
||||||
fixes++;
|
fixes++;
|
||||||
}
|
}
|
||||||
if (msgs.length <= 0) {
|
if (msgs.length <= 0) {
|
||||||
@ -337,7 +338,7 @@ results.forEach(function(result) {
|
|||||||
let msg = `: line ${color.bold(e.line)} col ${color.bold(e.column)}: ${e.ruleId}`;
|
let msg = `: line ${color.bold(e.line)} col ${color.bold(e.column)}: ${e.ruleId}`;
|
||||||
if (e.severity === 1) {
|
if (e.severity === 1) {
|
||||||
msg = color.yellow("WARN" + msg);
|
msg = color.yellow("WARN" + msg);
|
||||||
if (exitcode < 1 && !!program.strict) {
|
if (exitcode < 1 && !!options.strict) {
|
||||||
exitcode = 1;
|
exitcode = 1;
|
||||||
}
|
}
|
||||||
} else if (e.severity === 2) {
|
} else if (e.severity === 2) {
|
||||||
@ -351,7 +352,7 @@ results.forEach(function(result) {
|
|||||||
if (e.message) {
|
if (e.message) {
|
||||||
msg += ` - ${e.message}`;
|
msg += ` - ${e.message}`;
|
||||||
}
|
}
|
||||||
if (!program.fix && e.fix) {
|
if (!options.fix && e.fix) {
|
||||||
fixes++;
|
fixes++;
|
||||||
msg += ' (*)';
|
msg += ' (*)';
|
||||||
}
|
}
|
||||||
@ -386,7 +387,7 @@ if (results.length > 1) {
|
|||||||
}
|
}
|
||||||
console.log('------------------------------------------------------------');
|
console.log('------------------------------------------------------------');
|
||||||
|
|
||||||
if (program.fix) {
|
if (options.fix) {
|
||||||
if (fixes > 0) {
|
if (fixes > 0) {
|
||||||
console.log(`Writing ${color.bold(fixes)} fixed files...`);
|
console.log(`Writing ${color.bold(fixes)} fixed files...`);
|
||||||
await eslint.ESLint.outputFixes(results);
|
await eslint.ESLint.outputFixes(results);
|
||||||
|
Loading…
Reference in New Issue
Block a user