Contributions are always welcome, no matter how large or small. Before contributing, please read the code of conduct.
NOTE: Please do not send pull requests that fix linting issues. It's highly likely that they've already been fixed by the time it's submitted and it just pollutes the git tree.
- Fork the repository
- Clone your fork and change directory to it (
git clone [email protected]:yourUserName/babel.git && cd babel
) - Install the project dependencies (
make bootstrap
) - Link your forked clone (
npm link
) - Develop your changes ensuring you're fetching updates from upstream often
- Ensure the test are passing (
make test
) - Create new pull request explaining your proposed change or reference an issue in your commit message
- General
- No ES6 syntax features or methods, exclusively ES5.
- Max of five arguments for functions
- Max depth of four nested blocks
- 2-spaced soft tabs
- Naming
- CamelCase all class names
- camelBack all variable names
- Spacing
- Spaces after all keywords
- Spaces before all left curly braces
- Comments
- Use JSDoc-style comments for methods
- Single-line comments for ambiguous code
- Quotes
- Always use double quotes
- Only use single quotes when the string contains a double quote
- Declaration
- No unused variables
- No pollution of global variables and prototypes
$ make test
$ make lint