Contributions are always welcome, no matter how large or small. Before contributing, please read the code of conduct.
$ 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.
You can run tests via:
$ make test
This will usually take around two minutes as it's compiling the entire
test262 test suite and validating it's AST.
This is mostly overkill and you can limit the tests to a select few by directly
running them with mocha
:
$ mocha test/transformation.js
- 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
- 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