appcelerator/titanium — pull request #50 by cb1kenobi (2013-07-26 01:41:37+00:00)
Title: Lots of updates

* Added code coverage reporting
* Added unit tests for contexts and hooks (currently 67% code coverage) (fixes TIMOB-14516)
* Update readme with latest info
* Major refactor of argument parser (fixes TIMOB-11869 and TIMOB-13511)
* Integrated new prompt library (and ripped out old prompt library) (fixes TIMOB-11267, TIMOB-12283, TIMOB-13645, and TIMOB-13633)
* Added better error verbiage when there are no Titanium SDKs installed or selected (fixes TIMOB-12367)
* Added cli.progressBars config option and --no-progress-bars option to suppress progress bars (useful when piping output to another app)
* Added cli.ignoreDirs and cli.ignoreFiles options to globally control ignored dirs/files (fixes TIMOB-14398)
* Added JSDoc comments for nearly entire code base
* Added support for full i18n text files for command extended help
* Added support for --config-file to load an arbitrary CLI config file
* Added support for --config {json-object} override of CLI config options
* Config file loading and saving improvements including better default value handling an a new get() helper function
* Added support for command "validate()" and "run()" functions to be async
* Added error message if trying to run the Titanium CLI on Node.js 0.6.x or older
* Better error handling for commands and hooks that have JavaScript syntax errors
* Added event hooks throughout the Titanium CLI
* Added CLI config option overrides for ALL non-Appcelerator 3rd party dependency applications (javac, keytool, ndk-build, security, etc)
* Updated hook API to be more Node-like
"config" command updates
* Fixed bug with "cli.prompt" and "cli.quiet" settings not saving properly (fixes TIMOB-13079 and TIMOB-13077)
* Added new "json-object" output type
* Updated command to use logger instead of console for output
* "info" command updates
* Added support for Titanium SDK 3.2 and newer to use proper Android and iOS detection libraries
* Added HAXM detection
* Added node-appc version for Titanium CLI and each Titanium SDK 3.0 and newer
* Now identifies which iOS certs are expired
* Added installation issue reporting (requires selected Titanium SDK to be 3.2 or newer)
* "module" command updates
* Fixed bug with incorrectly displaying installed modules (fixes TIMOB-13599)
* "plugin" command updates
* Complete refactor
* Properly reports all detected CLI plugins
* Displays each plugins commands and hooks
* "sdk" command updates
* Now checks if the Titanium SDK install location is writeable (fixes TIMOB-14026)
* Added config option to all users to set the Titanium SDK install location (fixes TIMOB-11988)
* Added ability to install a Titanium SDK by specifying the git hash of a CI build, a URL, or a local path to the zip file (fixes TIMOB-13593)
* Removed "update" subcommand, now just use "install"
* "setup" command updates
* Fixed bug when saving the settings (fixes TIMOB-12168 and TIMOB-12282)
* Broke up setup wizard questions into categories