UNPKG

waveorb

Version:

Waveorb Javascript web app development framework

60 lines (49 loc) 1.48 kB
const path = require('path') const os = require('os') const extras = require('extras') const t = require('terminal-kit').terminal const name = process.argv[3] if (!name) { console.log(`\nUsage: waveorb create [name]`) console.log(`\nPlease specify a directory name.`) process.exit(1) } if (name != '.') { if (extras.exist(name)) { console.log(`\nThe ${name} directory already exists.`) console.log(`\nPlease remove it or use another name.`) process.exit(1) } else { extras.mkdir(name) process.chdir(name) } } // Clone the template repo const tmp = path.join(os.tmpdir(), extras.hex()) const template = process.argv[4] || 'default' let repo = 'https://github.com/eldoy/waveorb-templates.git' let dir = path.join(tmp, template) // Support http and git templates if (/^(https?:|\w+@)/.test(template)) { repo = template dir = tmp } extras.run(`git clone --quiet --depth 1 ${repo} ${tmp}`) if (!extras.exist(dir)) { console.log(`\nTemplate ${template} does not exist.`) process.exit(1) } var source = path.join(dir, '*') extras.run(`cp -r ${source} .`) t('\nInstalling packages, please wait...\n\n') extras.run('npm install', { silent: true }) t.bold(`\nWaveorb app created, now do:\n\n`) if (name != '.') t.green(`cd ${name}\n`) t.green(`npm run dev\n\n`) console.log( [ `Docs: https://waveorb.com/docs`, `Issues: https://github.com/eldoy/waveorb/issues\n`, `Created by Eldøy Projects, https://eldoy.com` ].join('\n') )