* test: add failing test for if package.json is non-existant, fix tests' beforeEach method
* Revert "fix: #10289, remove lodash dependency in src/cli/package-install.js"
This reverts commit 81fa2e22bc.
* fix: regression caused by 94b79ce402
`./nodebb setup` was no longer able to be called without arguments or env vars
* fix: .updatePackageFile() throwing if no package.json
* fix: removing unneeded code in src/cli/index.js that seemed to be used to handle cases where package.json was missing (initial install)
... However, as .updatePackageFile() now handled cases where there is no package.json, it should be ok to remove this code
* fix: handle missing package.json or node_modules/
* feat: remove colors in favour of chalk
* fix: bad conversion from colors to chalk in src/cli/index.js
* fix: padWidth calculation to account for control characters
* fix: termWidth calculation, but swapped one problem for another
* fix: formatItem, implement my own padRight to take control characters into account
* `setup` command fixes and improvements
- Enable using the `./nodebb setup` command for auto-setup with a JSON argument
- Change CLI so package-install and dependency install are separate steps
- Fix#6142
* Prevent compiling templates multiple times
- Multiple requests for same template get pooled
- Hopefully fixes the "templateFunction is not a function" error which happens if site is restarted during high-traffic times
* More helpful upgrade template
* 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