CLI refactor with commander (#6058)

* CLI refactor with commander

- Modularized the functionality
- All functionality done directly from `./nodebb` now
(still available from `app` for backwards compatibility)
- Moved all CLI code from `./nodebb` to `src/cli`
- Fixed `nodebb.bat` to work from any location, like `./nodebb`, and
also hides command output
- Overwrite some commander methods to add CLI color support
- Added `./nodebb info` for quick info including git hash, NodeBB
version, node version, and some database info
- Refactored `./nodebb reset` to allow multiple resets at once
- Changed `./nodebb restart` to essentially stop and start, as Windows
doesn't support signals
- Added `-l, --log` option which works on `./nodebb start` and `./nodebb
restart` to show logging, like `./nodebb slog`
- Expanded `-d, --dev` option which works on them as well, like
`./nodebb dev`
- Improvements to self-help. `./nodebb build -h` will output all
possible targets
- `./nodebb reset` explains usage better

* Fix some style inconsistencies

* Fix prestart being required before modules installed

* Fix travis failures

* Fix `help` command to output help for subcommands

* Pick steps of the upgrade process to run

* Fix formatting for upgrade help

* Fix web installer
This commit is contained in:
Peter Jaszkowiak
2017-11-23 08:55:03 -07:00
committed by Barış Soner Uşaklı
parent c731661a39
commit ae24bca16e
16 changed files with 1233 additions and 847 deletions

View File

@@ -18,7 +18,7 @@ var file = require('../src/file');
* 3. Add your script under the "method" property
*/
var Upgrade = {};
var Upgrade = module.exports;
Upgrade.getAll = function (callback) {
async.waterfall([
@@ -212,4 +212,3 @@ Upgrade.incrementProgress = function (value) {
process.stdout.write(' [' + (filled ? new Array(filled).join('#') : '') + new Array(unfilled).join(' ') + '] (' + this.current + '/' + (this.total || '??') + ') ' + percentage + ' ');
};
module.exports = Upgrade;