etherpad-lite/bin/plugins
John McLear 2fdc737355
bugfix, lint and refactor all bin scripts (#4617)
* bugfix, lint and refactor all bin scripts

* for squash: throw Error(message) rather than log(message); throw Error()

* for squash: Exit non-0 on unhandled Promise rejection

Many of the recent lint changes have converted normal functions to
async functions, and an error thrown in an async function does not
cause Node.js to exit by default.

* for squash: fix `require()` paths

* for squash: remove erroneous `Object.keys()` call

* for squash: fix missing `continue` statements

* for squash: Fix HTTP method for deleteSession

* for squash: delete erroneous throw

Throw is only for errors, not successful completion.

* for squash: redo migrateDirtyDBtoRealDB.js to fix async bugs

* for squash: fix erroneous use of `for..of`

* for squash: Add line break between statements

* for squash: put closing paren on same line as last arg

* for squash: Move `log()` back up where it was

to minimize the diff to develop

* for squash: indentation fixes

* for squash: typo fix

* for squash: wrap long lines

* for squash: use `util.callbackify` to silence promise/no-callback-in-promise warning

* for squash: use double quotes to improve readability

Co-authored-by: Richard Hansen <rhansen@rhansen.org>
2021-01-18 08:53:15 +00:00
..
lib Plugin publish workflow: Run git push before npm publish 2021-01-05 21:59:03 +00:00
checkPlugin.js bugfix, lint and refactor all bin scripts (#4617) 2021-01-18 08:53:15 +00:00
getCorePlugins.sh checkPlugins: Support adaptive npmpublish.yml (#4509) 2020-11-23 16:34:26 +00:00
README.md checkPlugin: Make autocommit imply autoupdate, autoupdate imply autofix 2021-01-11 08:51:04 +00:00
reTestAllPlugins.sh Plugin Developer Tools: Plugin check & fix tool 2020-07-26 13:18:02 +01:00
updateAllPluginsScript.sh Plugin Developer Tools: Plugin check & fix tool 2020-07-26 13:18:02 +01:00
updateCorePlugins.sh plugins: Various checkPlugins.js and associated file fixes. (#4439) 2020-11-02 16:13:24 +00:00

The files in this folder are for Plugin developers.

Get suggestions to improve your Plugin

This code will check your plugin for known usual issues and some suggestions for improvements. No changes will be made to your project.

node bin/plugins/checkPlugin.js $PLUGIN_NAME$

Basic Example:

node bin/plugins/checkPlugin.js ep_webrtc

Autofixing - will autofix any issues it can

node bin/plugins/checkPlugin.js ep_whatever autofix

Autocommitting, push, npm minor patch and npm publish (highly dangerous)

node bin/plugins/checkPlugin.js ep_whatever autocommit

All the plugins

Replace johnmclear with your github username

# Clones
cd node_modules
GHUSER=johnmclear; curl "https://api.github.com/users/$GHUSER/repos?per_page=1000" | grep -o 'git@[^"]*' | grep /ep_ | xargs -L1 git clone
cd ..

# autofixes and autocommits /pushes & npm publishes
for dir in node_modules/ep_*; do
  dir=${dir#node_modules/}
  [ "$dir" != ep_etherpad-lite ] || continue
  node bin/plugins/checkPlugin.js "$dir" autocommit
done

Automating update of ether organization plugins

getCorePlugins.sh
updateCorePlugins.sh