#!/usr/bin/env node 'use strict'; // This file is intentionally left compatible with older versions of // node for the following scenario: // * user runs node 0.12 // * user is still running an older node 0.12 compatible ember-cli locally // * user unintentionally installs ember-cli latest globally // Provide a title to the process in `ps` process.title = 'ember'; var resolve = require('resolve'); var logger = require('heimdalljs-logger')('ember-cli:bin'); var basedir = process.cwd(); logger.info('Resolving "ember-cli" from %j...', basedir); var projectLocalCli; try { projectLocalCli = resolve.sync('ember-cli', { basedir: basedir }); } catch(ignored) {} logger.info('Resolved "ember-cli" to %j', projectLocalCli); // Load `ember-cli` either from the project-local path, or if it could not // be resolved use the global version logger.info('Loading "ember-cli"...'); var cli = require(projectLocalCli || '../lib/cli'); logger.info('Starting "ember-cli"...'); cli({ cliArgs: process.argv.slice(2), inputStream: process.stdin, outputStream: process.stdout, errorStream: process.stderr }).then(function(result) { var exit = require('exit'); var exitCode = typeof result === 'object' ? result.exitCode : result; logger.info('Quitting "ember-cli" with exit code: %j', exitCode); exit(exitCode); });