UNPKG

942 BJavaScriptView Raw
1const path = require('path')
2const glob = require('glob')
3const fs = require('fs')
4const fse = require('fs-extra')
5const mkdirp = require('mkdirp')
6const MODE_0755 = parseInt('0755', 8)
7
8const {
9 pathConfig: { template: tempatePath }
10} = require('./config.js')
11
12function mkdir (base, dir) {
13 var loc = path.join(base, dir)
14
15 console.log(' \x1b[36mcreate\x1b[0m : ' + loc + path.sep)
16 mkdirp.sync(loc, MODE_0755)
17}
18
19function createApp (name, dir) {
20 if (dir !== '.') {
21 mkdir(dir, '.')
22 }
23
24 glob
25 .sync(tempatePath + '/app/**')
26 .filter(v => {
27 let stat = fs.statSync(v)
28 return !stat.isDirectory()
29 })
30 .forEach(v => {
31 let filepath = v.slice((tempatePath + '/app').length)
32 let targetfile = path.join(dir, filepath)
33 fse.ensureFileSync(targetfile)
34 fse.copyFileSync(v, targetfile)
35 })
36
37 console.log('[Create App]: Success, 愉快的Coding吧!!!')
38}
39
40module.exports = createApp