🐛 Bug Report
In immer v10, non-draftable objects were not frozen, now in immer v10 they are
Link to repro
The following code throws an error immer v11, but not v10:
import { produce } from 'immer';
class MutableClass {
value = 5;
}
const myObject = { someValue: 5, mutableClass: new MutableClass() };
const modifiedObject = produce(myObject, draft => {
draft.someValue = 6;
});
modifiedObject.mutableClass.value = 6;
To Reproduce
Run the code above
Observed behavior
The code throws an error because modifiedObject.mutableClass has been frozen and is being mutated.
Expected behavior
immer doesn't freeze modifiedObject.mutableClass because it's not a draftable object.
Environment
We only accept bug reports against the latest Immer version.
🐛 Bug Report
In immer v10, non-draftable objects were not frozen, now in immer v10 they are
Link to repro
The following code throws an error immer v11, but not v10:
To Reproduce
Run the code above
Observed behavior
The code throws an error because
modifiedObject.mutableClasshas been frozen and is being mutated.Expected behavior
immer doesn't freeze
modifiedObject.mutableClassbecause it's not a draftable object.Environment
We only accept bug reports against the latest Immer version.
setUseProxies(true)setUseProxies(false)(ES5 only)