<img src="images/immer-logo.svg" height="200px" align="right"/> # Immer [](https://www.npmjs.com/package/immer) [](https://travis-ci.org/immerjs/immer) [](https://coveralls.io/github/mweststrate/immer?branch=main) [](https://github.com/prettier/prettier) [](#backers) [](#sponsors) [](https://gitpod.io/#https://github.com/immerjs/immer) _Create the next immutable state tree by simply modifying the current tree_ Winner of the "Breakthrough of the year" [React open source award](https://osawards.com/react/) and "Most impactful contribution" [JavaScript open source award](https://osawards.com/javascript/) in 2019 ## Contribute using one-click online setup You can use Gitpod (a free online VS Code like IDE) for contributing online. With a single click it will launch a workspace and automatically: - clone the immer repo. - install the dependencies. - run `yarn run start`. so that you can start coding straight away. [](https://gitpod.io/from-referrer/) ## Documentation The documentation of this package is hosted at https://immerjs.github.io/immer/ ## Support Did Immer make a difference to your project? Join the open collective at https://opencollective.com/immer! ## Release notes https://github.com/immerjs/immer/releases