A use-case was presented that called for a theme to disable the
registration interstitials. However, the plugin hooks were always
fired first, and so the core interstitials could not be removed
at that time because they hadn't been added yet.
This change moved the interstitial adding to the earliest point
possible, right after plugins.loadedHooks is emptied in preparation
for plugin initialisation.
* feat: add enable/disable checkbox for plugin usage
* feat: submit plugin data to packages.nodebb.org
only submit in production mode
submit once every 24 hours
dont submit for plugins that have "private": true in plugin.json
enabled on new installs
disabled on existing installs
* fix: hash not working after first send
fix statusCode
* fix: remove url
* feat: show compatibilty
* feat: add install question for submit plugin usage
Used in authentication middleware. Instead of firing an action
hook, it now fires a response hook.
Response hooks are invoked serially, and if headers are sent from
one of the hook listeners, all subsequent hook methods are not
called.
Response hooks should only be used in situations where res.send
(or other like methods) are invoked. Existing plugin hooks that
pass in res purely for data retrieval purposes have not changed).
fixesnodebb/nodebb-plugin-write-api#101
* 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
* 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
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