* 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
* Change languages build to use less memory
Add graceful-fs so no ned to worry about fs limits
* Specify encoding for fs.readFile
Use eachLimit since graceful-fs handles that now
* Better fix for #5993
Also a nice newline so the line doesn't get overwritten when running `./nodebb upgrade`
* Optimizations for custom homepage
Move it into a separate module
* Support npm@5 and yarn
Use package.default.json
Partial #6008
- Overwrite package.json with package.default.json values
- `dependencies` field is merged with package.default.json version taking precidence
- `./nodebb upgrade` automatically does those things and runs `git pull`
- use `./nodebb upgrade --dev` to avoid the `git pull`
* added logic to preserve extraneous plugins installed in node_modules/
* Don't automatically git pull
* Simplify package-install, run it on upgrade just in case
* Use relative linking
* Add copyFile method and tests
Closes#5988
* Fix relative linking on Windows
Hard links and junctions don't work with relative paths
* Fix tests
* Revert ghange to gitignore
Blacklist.test in blacklist.js to strip port from ipv4.
my site was passing in
24.18.192.75:52506
and nodebb was giving
28/10 04:34:41 [6680] - error: /login
Error: ipaddr: the address has neither IPv6 nor IPv4 format
So i updated the client Ip to strip the port number if its a v4 IP
* cache mongodb objects
remove user settings cache since it is cached at the object level
* removed indexOf from isMemberOfSets
* change has to get, change maxAge to 0
Bumping eslint & configs meant making some linting fixes
For future reference, the `xmlhttprequest-ssl` library must be of equal versioning to the one in `engine.io-client`, otherwise it won't be deduped which causes the socket.io tests to fail
* Use Benchpress
* Use Benchpress.compileParse
* Error for template load failure
* Use benchpressjs package
* Compile templates on demand
* Fix user settings page
* Fix admin search to exclude `.jst` files
* Fix 500-embed
So ajaxify can still show an error if the server goes down
- Target aliases and bundles
- More concurrency
- Use `--series` to force series processing
- Minifier self-hosted threading
- meta/css delegates to minifier