-
Notifications
You must be signed in to change notification settings - Fork 14
/
spore.es6
executable file
·110 lines (64 loc) · 3.06 KB
/
spore.es6
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
"use strict";
var docopt = require('docopt');
var fs = require('fs-extra');
var _ = require('underscore');
var CONFIG = require( './src/lib/config.es6' );
var __package = require('./package.json');
var cli = fs.readFileSync(__dirname + `/src/specs/cli_${__package.spore.cli_version}.docopt`,'utf8');
var app = docopt.docopt(cli, {
argv: process.argv.slice(2),
help: false,
version: __package.version
});
var config = CONFIG( app, {
cli: true
});
if( app.init ) { //======================================================== INIT
// true fir cli
require('./src/lib/init.es6')( config );
console.log('\ninit spore');
} else if( app.remote ) { //============================================= REMOTE
require('./src/lib/chain.es6')( config );
} else if( app.info ) { //================================================= INFO
var json = require('./src/lib/info.es6')( config );
console.log( JSON.stringify(json, false, 2) );
} else if( app.publish ) { //=========================================== PUBLISH
var hash = require('./src/lib/publish.es6')( config );
console.log( 'Package published: ' + hash );
} else if( app.install ) { //=========================================== INSTALL
require( './src/lib/install.es6' )( config );
} else if( !app.remote && !app.instance && app.add ) { //=================== ADD
let path_to_file = app['<path>'];
require('./src/lib/add.es6')( _.extend( config, {path_to_file} ) );
} else if( app.uninstall ) { //======================================= UNINSTALL
require('./src/lib/uninstall.es6')( config );
} else if( app.upgrade) { //============================================ UPGRADE
require('./src/lib/upgrade.es6')( config );
} else if( app.status ) { //============================================= STATUS
// TODO - implement
require('./src/lib/status.es6')( config );
} else if( app.update ) { //============================================= UPDATE
require('./src/lib/update.es6')( config );
} else if( app.search ) { //============================================= SEARCH
require('./src/lib/search.es6')( config );
} else if( app.clone ) { // ============================================== CLONE
var cloned = require('./src/lib/clone.es6')( config );
if( cloned ) console.log(`${config['<package>']} cloned!`);
} else if( app.instance && app.add ) { //========================== INSTANCE ADD
require('./src/lib/instanceadd.es6')( config );
} else if( app.instance && app.list ) { //======================== INSTANCE LIST
require('./src/lib/instancelist.es6')( config );
} else if( app.link ) { //================================================= LINK
require('./src/lib/link.es6')( config );
} else if( app.bin ) {
if( app.bundle ) {
require('./src/lib/bin/bundle.es6')( config );
} else if ( app.list ) {
require('./src/lib/bin/list.es6')( config );
} else if( app.call ) {
require('./src/lib/bin/call.es6')( config );
} else if( app.remove ) {
require('./src/lib/bin/remove.es6')( config );
}
}
// process.exit();