diff --git a/patch.js b/patch.js index b898d68..b6e9610 100644 --- a/patch.js +++ b/patch.js @@ -5,7 +5,14 @@ const { asn1, pki, md } = require('node-forge'); const prompt = require('prompt'); const colors = require('@colors/colors/safe'); const dotenv = require('dotenv'); -const { program } = require('commander'); +const { program, Option } = require('commander'); + +class KebabCaseOption extends Option { + attributeName() { + // "this.name().replace(/^no-/, '')" is from commander source code + return this.name().replace(/^no-/, '').replace(/-/g, '_'); + } +} const optionsConfig = { nintendo_ca_g3_path: { @@ -57,7 +64,7 @@ async function main() { program.option('-i, --interactive', 'Interactively prompt for all configuration values'); for (const [option, config] of Object.entries(optionsConfig)) { - program.option(`-${config.shortOption}, --${option} `, config.description); + program.addOption(new KebabCaseOption(`-${config.shortOption}, --${option.replace(/_/g, '-')} `, config.description)); } program.parse(process.argv);