pad.pub0.org/bin/plugins
John McLear 91c0848ede
Plugin Developer Tools: Plugin check & fix tool
Automated tool to discover and fix common plugin faults.

https://mclear.co.uk/2020/07/18/suggestions-for-improving-etherpad-plugins/

- [x] Adds CI and updates existing travis configs.
- [x] Adds a LICENSE
- [x] Adds a .gitignore
- [x] Adds a README and checks it includes a reference to the license
- [x] Recommends translations
- [x] Checks for files that shouldn't exist and removes them (.ep_initialized, npm-debug.log)

still to do in the distant future depending on usage.
- [ ] Check packages.json includes link to github repo
- [ ] Checks Etherpad is referred to as Etherpad Lite
- [ ] Checks README includes animated gif.
2020-07-26 13:18:02 +01:00
..
lib Plugin Developer Tools: Plugin check & fix tool 2020-07-26 13:18:02 +01:00
README.md Plugin Developer Tools: Plugin check & fix tool 2020-07-26 13:18:02 +01:00
checkPlugin.js Plugin Developer Tools: Plugin check & fix tool 2020-07-26 13:18:02 +01: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

README.md

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/checkPlugins.js ep_whatever autofix

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

node bin/plugins/checkPlugins.js ep_whatever autofix 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 `ls node_modules`;
do
# echo $0
if [[ $dir == *"ep_"* ]]; then
if [[ $dir != "ep_etherpad-lite" ]]; then
node bin/plugins/checkPlugin.js $dir autofix autocommit
fi
fi
# echo $dir
done