Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
#!/usr/bin/env node
'use strict';
const { prompt } = require('enquirer');
const { ReadStream } = require('tty');
prompt.on('prompt', prompt => {
// console.log(prompt);
process.send && process.send({ type: 'prompt' });
});
async function run() {
const stdin = new ReadStream(process.stdin.fd);
process.stdin.pipe(stdin);
const answers = await prompt([
{
type: 'input',
name: 'name',
message: 'What is your name?',
stdin,
},
{
type: 'select',
const {prompt} = require('enquirer');
// Check https://github.com/enquirer/enquirer/issues/13#issuecomment-447602031
prompt.on('cancel', () => process.exit());
/**
* @param {string} name - The name of the project
* @param {string} description - The description of the project
* @param {string} purpose - The purpose of the project
* @param {string} environment - The environment of the project's resources
* @returns {Promise} prompt - Returns a prompt
*/
const askProjectDetails = (name, description, purpose, environment) => {
return prompt({
type: 'form',
name: 'project',
message: 'Enter the missing values:',
choices: [
{name: 'name', value: 'Name', initial: name},
{
const {prompt} = require('enquirer');
// Check https://github.com/enquirer/enquirer/issues/13#issuecomment-447602031
prompt.on('cancel', () => process.exit());
/**
* @param {Array} sizes - Available droplet sizes
* @returns {Promise} prompt - Returns a prompt
*/
const askDropletSize = sizes =>
prompt({
type: 'select',
name: 'dropletSize',
message: 'Select droplet size',
choices: sizes
});
const askDropletImage = images => {
return prompt({
type: 'autocomplete',
const {prompt} = require('enquirer');
// Check https://github.com/enquirer/enquirer/issues/13#issuecomment-447602031
prompt.on('cancel', () => process.exit());
const askRecordID = records => {
return prompt({
type: 'select',
name: 'recordID',
choices: records
});
};
const askRecordType = () => {
return prompt({
type: 'select',
message: 'Select record type',
name: 'recordType',
choices: ['A', 'AAAA', 'CNAME', 'TXT', 'NS', 'MX', 'SRV']
});
const {prompt} = require('enquirer');
// Check https://github.com/enquirer/enquirer/issues/13#issuecomment-447602031
prompt.on('cancel', () => process.exit());
const askToken = () => {
return prompt({
type: 'input',
name: 'token',
message: 'What is your token?'
});
};
const askDomainName = () => {
return prompt({
type: 'input',
name: 'domainName',
message: 'Enter your domain name:'
});
};
'use strict';
const { prompt } = require('enquirer');
prompt.on('cancel', () => process.exit());
const contractor = async() => {
let register = async() => menu();
let menu = async() => {
let { action } = await prompt({
type: 'select',
name: 'action',
message: 'what would you like to do?',
choices: ['register', 'update', 'mine'],
initial: 'register'
});
switch (action) {
case 'register': {
await register();
break;