advanced-react-cli
Version:
NPM package which aims to provide a better way to install packages for your react application through an intuitive CLI
46 lines (39 loc) • 1.59 kB
JavaScript
const fs = require('fs')
const customCMD = require('../../customNodeCMD')
const errorLogging = require('../../customNodeCMD/customError')
// Cli Install Commands
const { createReactApp, reduxObj } = require('../../cliModel/install-commands')
const {
createReactAppYarn,
reduxObjYarn
} = require('../../cliModel/install-commands-yarn')
// Import Redux Boilerplate
const ReduxBoilerPlate = require('../../cliModel/starter-code/redux')
module.exports = (folderName, packageInstaller) => {
switch (packageInstaller) {
case 'NPM':
fs.appendFile('store.js', ReduxBoilerPlate, err => {
if (err) throw err
})
customCMD.get(
` mkdir ${folderName} && cd ${folderName} && ${createReactApp} . && ${
reduxObj.install
} && mkdir store && cd store && touch store.js && cat < ../../store.js > store.js && cd .. && cd .. && rm store.js `,
'install',
'Package(s): React (using npx create-react-app), and Redux have been installed successfully!'
)
break
case 'Yarn':
fs.appendFile('store.js', ReduxBoilerPlate, err => {
if (err) throw err
})
customCMD.get(
` mkdir ${folderName} && cd ${folderName} && ${createReactAppYarn} . && ${
reduxObjYarn.install
} && mkdir store && cd store && touch store.js && cat < ../../store.js > store.js && cd .. && cd .. && rm store.js `,
'install',
'Package(s): React (using yarn react-app), and Redux have been installed successfully!'
)
break
}
}