forked from saurabhbatra96/drive-sync
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
executable file
·50 lines (42 loc) · 1.5 KB
/
index.js
File metadata and controls
executable file
·50 lines (42 loc) · 1.5 KB
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
#!/usr/bin/env node
// drive-sync
// Copyright (C) 2016 Saurabh Batra
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
// This is the flagship CLI wrapper on top of the scripts.
// Resolve paths to absolutes.
var path = require('path');
global.appRoot = path.resolve(__dirname);
var program = require('commander');
var fs = require('fs');
// Current directory (pwd) state control.
try {
var pwdjson = fs.readFileSync(appRoot+'/config.json');
} catch(e) {
var defaultPwd = "{ \"pwd\": \"root\"}";
fs.writeFileSync(appRoot+'/config.json', defaultPwd);
var pwdjson = defaultPwd;
}
var pwdcontents = JSON.parse(pwdjson);
global.pwd = pwdcontents.pwd;
// Our command resolver.
var resolver = require(appRoot+'/util/resolver.js');
// Send the command to our resolver.
program
.version('0.0.1')
.arguments('<cmd> [value] [opt]')
.action(function(cmd, value, opt) {
resolver(cmd, value, opt);
});
program.parse(process.argv);