UNPKG

@sern/cli

Version:

Official CLI for @sern/handler

93 lines (84 loc) 2.4 kB
import { blueBright } from 'colorette'; import type { PromptObject } from 'prompts'; export const lang: PromptObject = { message: 'What language do you want the project to be in?', name: 'lang', type: 'select', choices: [ { title: 'JavaScript', description: 'JS', value: 'javascript', }, { title: 'JavaScript (ESM)', description: 'JS', value: 'javascript-esm', }, { title: 'TypeScript', description: 'TS - (Recommended)', value: 'typescript', }, ], }; export const main_dir: PromptObject = { message: 'What is the main directory of your project?', name: 'main_dir', type: 'text', initial: 'src', }; export const cmds_dir: PromptObject = { message: 'What is the directory of your commands?', name: 'cmds_dir', type: 'text', initial: 'commands', validate: (dir: string) => (dir === 'src' ? 'You can not use src as a directory' : true), }; export const npmInit: PromptObject = { name: 'npm_init', type: 'confirm', message: `Do you want ${blueBright('me')} to initialize npm?`, initial: true, }; export const gitInit: PromptObject = { name: 'gitinit', type: 'confirm', message: `Do you want to ${blueBright('me')} to initialize git?`, initial: true, }; export const which_manager: PromptObject = { message: `Which manager do you want to use?`, name: 'manager', type: 'select', choices: [ { title: 'NPM', description: 'Default Package Manager', selected: true, value: 'npm', }, { title: 'Yarn', description: 'Yarn Package Manager', value: 'yarn', }, { title: 'Skip', description: 'Skip selection', value: 'skip', }, ], }; export const skip_install_dep: PromptObject = { name: 'skip_install_dep', type: 'confirm', message: `Do you want ${blueBright('me')} to install dependencies?`, initial: false, }; export const name: PromptObject = { message: 'What is your project name?', name: 'name', type: 'text', validate: (name: string) => (name.match('^(?:@[a-z0-9-*~][a-z0-9-*._~]*/)?[a-z0-9-~][a-z0-9-._~]*$') ? true : 'Invalid name'), };