Please ask questions on Stack Overflow instead of opening a Github Issue. There are more people on Stack Overflow who can answer questions, and good answers can be searchable and canonical.
We use GitHub issues to track bugs. Please ensure your bug description is clear and has sufficient instructions to be able to reproduce the issue.
The absolute best way to report a bug is to submit a pull request including a new failing test which describes the bug. When the bug is fixed, your pull request can then be merged!
The next best way to report a bug is to provide a reduced test case on jsFiddle or jsBin or produce exact code inline in the issue which will reproduce the bug.
Facebook has a bounty program for the safe disclosure of security bugs. In those cases, please go through the process outlined on that page and do not file a public issue.
All active development of Immutable JS happens on GitHub. We actively welcome your pull requests.
- Fork the repo and create your branch from
master
. - Install all dependencies. (
npm install
) - If you've added code, add tests.
- If you've changed APIs, update the documentation.
- Build generated JS, run tests and ensure your code passes lint. (
npm run build && npm run test
) - Be sure to commit the generated JS in
/dist
. - If you haven't already, complete the Contributor License Agreement ("CLA").
In order to accept your pull request, we need you to submit a CLA. You only need to do this once to work on any of Facebook's open source projects.
Complete your CLA here: https://code.facebook.com/cla
- 2 spaces for indentation (no tabs)
- 80 character line length strongly preferred.
- Prefer
'
over"
- ES6 Harmony when possible.
- Use semicolons;
- Trailing commas,
- Avd abbr wrds.
By contributing to Immutable.js, you agree that your contributions will be licensed under its BSD license.