UNPKG

1.1 kBPlain TextView Raw
1#!/usr/bin/env node
2
3"use strict";
4
5var fs = require('fs')
6var path = require('path')
7var program = require('commander')
8var spawn = require('win-fork')
9
10var pkg = require(path.resolve(__dirname, '../package.json'))
11
12
13program
14 .version(pkg.version)
15
16program.on('--help', function() {
17 console.log(' Examples:')
18 console.log('')
19 console.log(' $ mo server # start mosaics server')
20 console.log(' $ mo publish # publish your mosaic')
21 console.log(' $ mo install # download mosaic or any brick source')
22 console.log('')
23})
24
25program.parse(process.argv)
26
27
28var args = process.argv.slice(3)
29var cmd = program.args[0]
30
31
32var aliases = {
33 s: 'server',
34 serve: 'server'
35}
36
37function alias(cmd) {
38 return aliases[cmd] || cmd
39}
40
41
42var bin = 'mosaic-' + alias(cmd)
43var local = path.join(__dirname, bin)
44
45
46if (fs.existsSync(local)) bin = local
47else {
48 process.stdout.write(program.helpInformation());
49 program.emit('--help');
50 process.exit();
51}
52
53var proc = spawn(bin, args, { stdio: 'inherit', customFds: [0, 1, 2] })
54
55proc.on('close', function(code){
56 process.exit(code)
57})
\No newline at end of file