UNPKG

1.89 kBtext/coffeescriptView Raw
1program = require 'commander'
2shell = require 'shelljs'
3nconf = require 'nconf'
4path = require 'path'
5
6nconf.file '.coco'
7setConfig = (name, value) ->
8 if value?
9 if typeof value is 'string'
10 nconf.set name, value
11 else
12 nconf.clear name
13
14gulpdir = path.join __dirname, '..', 'gulp'
15templatedir = path.join __dirname, '..', 'template'
16
17program
18 .version('0.0.1')
19
20program
21 .command('create <name>')
22 .description('create a coco project.')
23 .action (name) ->
24 oldDir = path.join templatedir, '*'
25 newDir = path.join './', name
26 shell.cp '-R', oldDir, newDir
27 console.log 'To view coco project:'
28 console.log " cd #{name}"
29
30program
31 .command('compile')
32 .description('compile app/*.coffee to app.js and copy files to cocos project folder.')
33 .action ->
34 shell.exec "gulp compile --cwd #{gulpdir} --silent --color", async: true
35
36program
37 .command('clean')
38 .description('clean cocos project folder.')
39 .action ->
40 shell.exec "gulp clean --cwd #{gulpdir} --silent --color", async: true
41
42program
43 .command('publish')
44 .description('publish cocos html5 project to folder.')
45 .action ->
46 shell.exec "gulp publish --cwd #{gulpdir} --silent --color", async: true
47
48program
49 .command('doctor')
50 .description('check coco project.')
51 .action ->
52 shell.exec "gulp doctor --cwd #{gulpdir} --silent --color", async: true
53 # cocosDir = nconf.get 'compile'
54 #
55 # console.log "cocosDir is : #{cocosDir}"
56
57program
58 .command 'config'
59 .description 'set config'
60 .option '-c, --compile [value]', '*.coffee will compile to cocos2d project folder.'
61 .option '-p, --publish [value]', 'cocos2d html5 release folder.'
62 .action (command) ->
63 setConfig 'compile', command.compile
64 setConfig 'publish', command.publish
65 nconf.save()
66 console.log 'Project config done:'
67 console.log nconf.load()
68
69program.parse(process.argv);