mirror of
https://github.com/bradtraversy/passgen.git
synced 2026-08-24 02:34:16 -05:00
34 lines
1000 B
JavaScript
Executable File
34 lines
1000 B
JavaScript
Executable File
#!/usr/bin/env node
|
|
const program = require('commander')
|
|
const chalk = require('chalk')
|
|
const clipboardy = require('clipboardy')
|
|
const log = console.log
|
|
const createPassword = require('./utils/createPassword')
|
|
const savePassword = require('./utils/savePassword')
|
|
|
|
program.version('1.0.0').description('Simple Password Generator')
|
|
|
|
program
|
|
.option('-l, --length <number>', 'length of password', '8')
|
|
.option('-s, --save', 'save password to passwords.txt')
|
|
.option('-nn, --no-numbers', 'remove numbers')
|
|
.option('-ns, --no-symbols', 'remove symbols')
|
|
.parse()
|
|
|
|
const { length, save, numbers, symbols } = program.opts()
|
|
|
|
// Get generated password
|
|
const generatedPassword = createPassword(length, numbers, symbols)
|
|
|
|
// Save to file
|
|
if (save) {
|
|
savePassword(generatedPassword)
|
|
}
|
|
|
|
// Copy to clipboard
|
|
clipboardy.writeSync(generatedPassword)
|
|
|
|
// Output generated password
|
|
log(chalk.blue('Generated Password: ') + chalk.bold(generatedPassword))
|
|
log(chalk.yellow('Password copied to clipboard'))
|