From c01b58176a97327e08c79930ee34c0e458c785fd Mon Sep 17 00:00:00 2001 From: Tanay Pant Date: Tue, 28 Apr 2020 11:50:20 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=85=20Added=20checklist=20to=20go=20throu?= =?UTF-8?q?gh=20before=20submitting=20a=20node?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CONTRIBUTING.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d07ff701a6..c8629a34ff 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -191,6 +191,24 @@ When developing n8n must get restarted and the browser reloaded every time param If only the code of the node changes (the execute method) than it is not needed as each workflow automatically starts a new process and so will always load the latest code. +## Checklist before submitting a node + +If you'd like to submit a new node, please go through the following checklist. This will help us be quicker to review and merge your PR. + +- [ ] Make failing requests to the API to ensure that the errors get displayed correctly (like malformed requests or requests with invalid credentials) +- [ ] Ensure that the default values do not change and that the parameters do not get renamed, as it would break the existing workflows of the users +- [ ] Ensure that all the top-level parameters use camelCase +- [ ] Ensure that all the options are ordered alphabetically, unless a different order is needed for a specific reason +- [ ] Ensure that the parameters have the correct type +- [ ] Make sure that the file-name and the Class name are identical (case sensitive). The name under "description" in the node-code should also be identical (except that it starts with a lower-case letter and that it will never have a space) +- [ ] Names of Trigger-Nodes always have to end with "Trigger" +- [ ] Add credentials and nodes to the `package.json` file in alphanumerical order +- [ ] Use tabs in all the files except in the `package.json` file, where 4-spaces have to get used +- [ ] To make it as simple as possible for the users, check other similar nodes to ensure that they all behave similarly +- [ ] Try to add as few parameters as possible on the main level to ensure that the node doesn't appear overwhelming. It should only contain the required parameters. All the other ones should be hidden on lower levels as "Additional Parameters" or "Options" +- [ ] Create only one node per service which can do everything from "Resource" and "Options" and not a separate one for each possible operation. + + ## Extend Documentation All the files which get used in the n8n documentation on [https://docs.n8n.io](https://docs.n8n.io)