advanced-react-cli
Version:
NPM package which aims to provide a better way to install packages for your react application through an intuitive CLI
78 lines (64 loc) • 1.95 kB
JavaScript
const inquirer = require('inquirer')
const customCMD = require('../../../customNodeCMD')
const errorLogging = require('../../../customNodeCMD/customError')
// CLI Model
const cliModel = require('../../../cliModel/index')
const installOption = cliModel.installOption
// Cli Install Commands
const { TypeScriptReactObj } = require('../../../cliModel/install-commands')
const { typesNode } = TypeScriptReactObj
const {
TypeScriptReactObjYarn
} = require('../../../cliModel/install-commands-yarn')
const { typesNodeYarn } = TypeScriptReactObjYarn
const prompt = inquirer.createPromptModule()
/*
Installs @types/nodes
*/
module.exports = class TypesNodes {
installOrUninstall (packageInstaller) {
prompt(installOption).then(({ decision }) => {
if (decision === 'Install') {
this.install(packageInstaller)
} else if (decision === 'Uninstall') {
this.uninstall(packageInstaller)
}
})
}
install (packageInstaller) {
switch (packageInstaller) {
case 'NPM':
customCMD.get(
`${typesNode.install}`,
'install',
`Package(s): @types/node has been installed successfully!`
)
break
case 'Yarn':
customCMD.get(
`${typesNodeYarn.install}`,
'install',
`Package(s): @types/node has been installed successfully!`
)
break
}
}
uninstall (packageInstaller) {
switch (packageInstaller) {
case 'NPM':
customCMD.get(
`${typesNode.uninstall}`,
'uninstall',
`Package(s): @types/node has been uninstalled successfully!`
)
break
case 'Yarn':
customCMD.get(
`${typesNodeYarn.uninstall}`,
'uninstall',
`Package(s): @types/node has been uninstalled successfully!`
)
break
}
}
}