-
Notifications
You must be signed in to change notification settings - Fork 7
/
medium
executable file
·58 lines (46 loc) · 1.29 KB
/
medium
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
#!/usr/bin/env node
var exists = require('fs').existsSync;
var logger = require('../lib/logger');
var program = require('commander');
var resolve = require('path').resolve;
var spawn = require('child_process').spawn;
/**
* Usage.
*/
program
.version(require('../package').version)
.usage('<command> [options]');
/**
* Help.
*/
program.on('--help', function(){
console.log(' Commands:');
console.log();
console.log(' medium create create a local blog for the first time');
console.log(' medium login authenticate Medium account with an access token');
console.log(' medium publish publish new blog posts to Medium');
console.log(' medium open open your Medium in the browser');
console.log(' medium publications lists your publications');
console.log();
});
/**
* Parse.
*/
program.parse(process.argv);
if (!program.args.length) program.help();
/**
* Settings.
*/
var cmd = program.args[0];
var args = process.argv.slice(3);
var bin = resolve(__dirname, 'medium-' + cmd);
if (!exists(bin)) {
logger.log('There is no `%s` command.', cmd);
console.log();
program.help();
}
/**
* Spawn a new, forwarded child process for the subcommand.
*/
var child = spawn(bin, args, { stdio: 'inherit' });
child.on('close', process.exit.bind(process));