1.8 KiB
1.8 KiB
Contributing
Contributions are always welcome, no matter how large or small. Before contributing, please read the code of conduct.
Developing
Setup
$ git clone https://github.com/babel/babel
$ cd babel
$ make bootstrap
Then you need to run:
$ make watch-core
This will compile Babel and then sit in the background and on file modification recompile the necessary files.
Running tests
You can run tests via:
$ make test
This is mostly overkill and you can limit the tests to a select few by directly
running them with mocha:
$ mocha test/transformation.js
Use mocha's --grep option to run a subset of tests by name:
$ mocha test/transformation.js --grep es7
Workflow
- Fork the repository
- Clone your fork and change directory to it (
git clone git@github.com: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
Code Standards
- General
- 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