#!/usr/bin/env node "use strict"; var fs = require('fs') var path = require('path') var program = require('commander') var spawn = require('win-fork') var pkg = require(path.resolve(__dirname, '../package.json')) program .version(pkg.version) program.on('--help', function() { console.log(' Examples:') console.log('') console.log(' $ mo server # start mosaics server') console.log(' $ mo publish # publish your mosaic') console.log(' $ mo install # download mosaic or any brick source') console.log('') }) program.parse(process.argv) var args = process.argv.slice(3) var cmd = program.args[0] var aliases = { s: 'server', serve: 'server' } function alias(cmd) { return aliases[cmd] || cmd } var bin = 'mosaic-' + alias(cmd) var local = path.join(__dirname, bin) if (fs.existsSync(local)) bin = local else { process.stdout.write(program.helpInformation()); program.emit('--help'); process.exit(); } var proc = spawn(bin, args, { stdio: 'inherit', customFds: [0, 1, 2] }) proc.on('close', function(code){ process.exit(code) })