Contributing
If you are looking to help to with a code contribution our project uses Node (with ES6 features). If you don't feel ready to make a code contribution yet, no problem! A great place to start is making sure with any holes in the documentation or adding to the examples.
Checkout the current projects to see what features need developed or are in progress.
Funcatron uses functional programming in JS. Here are some helpful places to learn functional programming in JS:
You'll also want to be familiar with ES6, especially arrow functions, rest and spread, and object destructuring. Here's a good summary.
Generally speaking, here are some the ways that Funcatron uses functional programming by convention:
- Never use
new
orthis
if at all possible (use closures instead) - Use
const
and rarelylet
when it's necessary to declare variables - ES6 arrow functions to succinctly create functions
- No side effects but
pipe
values through a sequence of functions - Rarely modify parameters (the one exception is the
req
,res
, andopt
objects) but return a new value
What does the Code of Conduct mean for me?
Our Code of Conduct means that you are responsible for treating everyone on the project with respect and courtesy regardless of their identity. If you are the victim of any inappropriate behavior or comments as described in our Code of Conduct, we are here for you and will do the best to ensure that the abuser is reprimanded appropriately, per our code.
Developing Funcatron
To setup the environment, you will need ...
- Clone the repository
- Node installed on your machine (verion 8 is preferable)
A couple developer tools are setup to make the work easier:
- Watch files for changes, run tests, and restart the example project:
node watcher.js
- run tests with mocha:
npm test
- For VS Code users: there's a few launch scripts bundled in
.vscode
directory
First Time contributing to Open Source?
Here's a handy guide to help get you started! And feel free to ask questions if you get stuck!