UNPKG

penguins-eggs

Version:

A remaster system tool, compatible with Arch, Debian, Devuan, Ubuntu and others

41 lines (40 loc) 1.41 kB
/** * ./src/lib/get_luks-passphrase.ts * penguins-eggs v.10.0.0 / ecmascript 2020 * author: Piero Proietti * email: piero.proietti@gmail.com * license: MIT */ import inquirer from 'inquirer'; export default async function getLuksPassphrase(passphrase = '', confirm = '') { // console.log(`default passphrase= "3volution"`) // console.log(`Passphrase must contain at least one letter and one number`) const requireLetterAndNumber = (value) => { if (!(/\w/.test(value) && /\d/.test(value))) { return 'Passphrase must contain at least one letter and one number.'; } return true; }; const questions = [ { default: passphrase, message: `default passphrase= "3volution"\nChoose a passphrase to encrypt device: `, name: 'passphrase', type: 'password', validate: requireLetterAndNumber }, { default: confirm, message: `Confirm your passphrase: `, name: 'confirm', type: 'password', validate: requireLetterAndNumber } ]; const options = await inquirer.prompt(questions); if (options.passphrase !== options.confirm) { console.error('Error: Passphrases do not match. Please try again.'); return getLuksPassphrase(); // Richiede di nuovo l'input } return options.confirm; }