<img src="images/immer-logo.svg" height="200px" align="right"/>

# Immer

[![npm](https://img.shields.io/npm/v/immer.svg)](https://www.npmjs.com/package/immer) [![Build Status](https://travis-ci.org/immerjs/immer.svg?branch=master)](https://travis-ci.org/immerjs/immer) [![Coverage Status](https://coveralls.io/repos/github/mweststrate/immer/badge.svg?branch=master)](https://coveralls.io/github/mweststrate/immer?branch=master) [![Minzipped size](https://img.shields.io/bundlephobia/minzip/immer.svg)](https://bundlephobia.com/result?p=immer) [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier) [![OpenCollective](https://opencollective.com/immer/backers/badge.svg)](#backers) [![OpenCollective](https://opencollective.com/immer/sponsors/badge.svg)](#sponsors)

_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

## 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
