-
-
Notifications
You must be signed in to change notification settings - Fork 127
Contributing
James Holding edited this page Aug 29, 2016
·
3 revisions
This guide refers to version 4.0 of the library, which is still in development
We use js-beautify to help simplify our code style.
If you are using VSCode, the plugin to automatically apply the correct style is here: https://github.com/HookyQR/VSCodeBeautify
Generally, the style is:
- 4 spaces for an indent
- UpperCamelCase for functions and properties
- lowerCamelCase for variables
- Use Symbol() for any class variables that shouldn't be altered post-construction
- It is fine to create a get property to return this if it is required
- Any data fetched from a network location should be cached
- We use cache-manager to cache data, so users can choose their storage method
- Defaults to memory cache
- Each file should expose one class/object or a collection of functions
- Don't expose an array of classes, it gets messy and IDEs can't auto-complete them easily
- Use Promises throughout the library
- It's OK to create a helper function to use the classic callback style on top of a Promise function
- Internally, make use of Promises
- Throw errors on construction errors
- Reject Promises on all other function errors
Run the following to test the library formatting
npm run lint
To test the library, run the following:
npm run lint && NODE_DEBUG=themeparks npm run testdev
This will run the code format check, and then run the unit tests (with NODE_DEBUG set, so we get debug output).
No code should be committed until this succeeds!
** TODO **
npm run docs