-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.js
executable file
·35 lines (31 loc) · 1.15 KB
/
index.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
#!/usr/bin/env node
const program = require('commander')
const ssh = require('./src/ssh.js')
const sync = require('./src/sync.js')
const list = require('./src/list.js')
const pjson = require('./package.json')
const logger = require('./src/logger.js')
const snail = ` ___
// __\`\\ o o ~
ll ( .) l_) ) \`
__\\\\ \\__/ /
_________________/_/________/^^ sync your file at ease ...`
logger.rainbow(snail)
program
.version(pjson.version)
.option('-s, --sync', 'action: sync')
.option('-S, --ssh', 'action: ssh')
.option('-l, --list', 'list all session')
.option('-i, --init', 'sync first time')
.option('-n, --session-name [name]', 'session name')
.on('--help', () => {
console.log(' Examples')
console.log('')
console.log(' $ easy-sync -sn dev')
})
.parse(process.argv)
if (process.argv.length === 2) program.help()
if (program.ssh && !program.sync) ssh.login(program.sessionName)
if (program.sync && !program.ssh) sync.sync(program.sessionName)
if (program.list) list.ls(program.sessionName)
if (program.init) sync.sync(program.sessionName, program.init)