UNPKG

firestudio

Version:

CLI for developing apps with NextJS and Firebase

53 lines (44 loc) 1.34 kB
const path = require('path') const fs = require('fs') const copyDir = require('./utils/copy-dir') const install = require('./utils/install') const messages = require('./messages') module.exports = function createFirestudioApp(opts) { const projectName = opts.projectName if (!projectName) { console.log(messages.missingProjectName()) process.exit(1) } if (fs.existsSync(projectName) && projectName !== '.') { console.log(messages.alreadyExists(projectName)) process.exit(1) } const projectPath = (opts.projectPath = process.cwd() + '/' + projectName) const templatePath = path.resolve(__dirname, './templates/' + opts.templateName) copyDir({ templatePath: templatePath, projectPath: projectPath, projectName: projectName }) .then(installWithMessageFactory(opts)) .catch(function(err) { throw err }) } function installWithMessageFactory(opts) { const projectName = opts.projectName const projectPath = opts.projectPath return function installWithMessage() { return install({ projectName: projectName, projectPath: projectPath, packages: ['react', 'react-dom', 'next', 'next-spa', 'next-fire'] }) .then(function() { console.log(messages.start(projectName)) }) .catch(function(err) { throw err }) } }