chore: make the name Linux-compatible

This commit is contained in:
Yue Yang
2025-01-03 08:21:12 +00:00
parent 6a644acdd9
commit 785c289327
2 changed files with 17 additions and 4 deletions

11
bin/cli.ts vendored
View File

@@ -22,9 +22,16 @@ program.addHelpText('beforeAll', logo).usage(`[url] [options]`).showHelpAfterErr
program
.argument('[url]', 'The web URL you want to package', validateUrlInput)
// Refer to https://github.com/tj/commander.js#custom-option-processing, turn string array into a string connected with custom connectors.
// If the platform is Linux, use `-` as the connector, and convert all characters to lowercase.
// For example, Google Translate will become google-translate.
.option('--name <string...>', 'Application name', (value, previous) => {
return previous === undefined ? value : `${previous} ${value}`
}) // Refer to https://github.com/tj/commander.js#custom-option-processing, turn string array into a string connected with spaces.
const platform = process.platform
const connector = platform === 'linux' ? '-' : ' '
const name = previous === undefined ? value : `${previous}${connector}${value}`
return platform === 'linux' ? name.toLowerCase() : name
})
.option('--icon <string>', 'Application icon', DEFAULT.icon)
.option('--width <number>', 'Window width', validateNumberInput, DEFAULT.width)
.option('--height <number>', 'Window height', validateNumberInput, DEFAULT.height)