forked from iHaD/asset-db
-
Notifications
You must be signed in to change notification settings - Fork 2
/
cli.js
56 lines (47 loc) · 1.34 KB
/
cli.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
var Commander = require('commander');
var AssetDB = require('./index');
var REPL = require('repl');
// ---------------------------
// initialize Commander
// ---------------------------
var pjson = require('./package.json');
// NOTE: commander only get things done barely in core level,
// it doesn't touch the page level, so it should not put into App.on('ready')
Commander
.version(pjson.version)
.option('--dev', 'Run in development mode')
;
// usage
Commander
.usage('[options] <library ...>')
;
// command
// Commander
// .command('foobar').action( function () {
// console.log('foobar!!!');
// // process.exit(1);
// })
// ;
Commander.parse(process.argv);
var library = Commander.args.length > 0 ? Commander.args[0] : 'library';
var assetDB = new AssetDB({
'cwd': process.cwd(),
'library': library,
});
// ---------------------------
// initialize REPL
// ---------------------------
// function dbEval( cmd, context, filename, callback ) {
// // FIXME: this is a bug come from io.js, without this, <Tab> complete will report error.
// if (cmd === '.scope')
// callback(null);
// else
// callback(null, cmd);
// }
var repl = REPL.start({
prompt: 'asset-db> ',
input: process.stdin,
output: process.stdout,
// eval: dbEval,
});
repl.context.db = assetDB;