diff --git a/addon/ng2/commands/version.js b/addon/ng2/commands/version.js new file mode 100644 index 000000000000..95ff7dad8313 --- /dev/null +++ b/addon/ng2/commands/version.js @@ -0,0 +1,38 @@ +'use strict'; + +var Command = require('ember-cli/lib/models/command'); +var path = require('path'); + +module.exports = Command.extend({ + name: 'version', + description: 'outputs angular-cli version', + aliases: ['v', '--version', '-v'], + works: 'everywhere', + + availableOptions: [ + { name: 'verbose', type: Boolean, default: false } + ], + + run: function(options) { + var versions = process.versions; + var pkg = require(path.resolve(__dirname, '..', '..', '..', 'package.json')); + + versions['os'] = process.platform + ' ' + process.arch; + + var alwaysPrint = ['node', 'os']; + + this.printVersion('angular-cli', pkg.version); + + for (var module in versions) { + if (options.verbose || alwaysPrint.indexOf(module) > -1) { + this.printVersion(module, versions[module]); + } + } + }, + + printVersion: function(module, version) { + this.ui.writeLine(module + ': ' + version); + } +}); + +module.exports.overrideCore = true; diff --git a/addon/ng2/index.js b/addon/ng2/index.js index b71de74780ae..787b042c6a63 100644 --- a/addon/ng2/index.js +++ b/addon/ng2/index.js @@ -10,7 +10,8 @@ module.exports = { 'test' : require('./commands/test'), 'e2e' : require('./commands/e2e'), 'lint' : require('./commands/lint'), - 'format' : require('./commands/format') + 'format' : require('./commands/format'), + 'version' : require('./commands/version') }; } };