From 9340afd844658a81cbc8fcc208b9a02bb3f2856f Mon Sep 17 00:00:00 2001 From: Matthew Lopez <73856503+MatthewL246@users.noreply.github.com> Date: Wed, 5 Jun 2024 16:06:49 -0400 Subject: [PATCH] chore: convert options to kebab-case --- patch.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) 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);