Skip to content
Open
Show file tree
Hide file tree
Changes from 11 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 47 additions & 0 deletions .changeset/remove-immutable.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
---
'@talend/react-cmf': major
'@talend/react-containers': major
'@talend/react-cmf-cqrs': major
'@talend/react-components': major
'@talend/react-sagas': major
'@talend/react-stepper': patch
'@talend/react-flow-designer': major
---

feat: remove immutable dependency

## Breaking changes

### `@talend/react-cmf` (major)

The CMF Redux store no longer uses ImmutableJS. `state.cmf.collections` and `state.cmf.components` are now plain objects.

Migrate:
- `.get(key)` → `[key]`
- `.getIn([a, b])` → `lodash.get(state, [a, b])`
- `.toJS()` → identity (already plain JS)
- `.size` → `Object.keys(x).length`

The `cmf.selectors.collections.*` and `cmf.selectors.components.*` APIs still work and are the recommended way to access CMF state.

### `@talend/react-containers` (major)

`defaultState` is now a plain object. Selectors updated accordingly. Same migration as above.

### `@talend/react-cmf-cqrs` (major)

`state.ack` is now a plain object. Consumers reading ack state directly must migrate `.get(key)` → `[key]`.

### `@talend/react-sagas` (major)

Exported functions `findPenders(state)` and `findPenderById(state, id)` now return plain JS values instead of Immutable structures. Any consumer calling `.get()`, `.set()`, `.toJS()`, or `.size` on the return values must migrate to plain object access.
Comment thread
smouillour marked this conversation as resolved.
Outdated

### `@talend/react-components` (major)

The `Iterable.isIterable` backward-compat guard was removed from `ActionDropdown`. Consumers passing an Immutable List as `items` will no longer work — migrate to plain arrays.

`immutable` and `react-immutable-proptypes` removed from published `dependencies`.

### `@talend/react-flow-designer` (major)

`immutable` removed from `peerDependencies`. Consumers must no longer install `immutable` as a peer dependency.
Loading
Loading