I'm super happy to announce that the new website is the continuation of the work that all of us who collaborate in Rematch have done altruistically because we love it.
Today we're announcing version 2.0.0 of Rematch. Almost 6 months passed since we opened the Roadmap V2 for Rematch. Here we are writing this post telling you guys all the incredible improvements and features we introduced to this new version of Rematch.
Bug fixesโ
- We're 100% compatible with
TypeScript
, YES!! UsingcreateModel()
helper we get autocomplete of effects, reducers, also the state, also we accept if the state is complex (like custom types) with a simpleas
. This is thanks to much people but Zhi Tian worked hard here with d.ts files, he's the type sorcerer.
tip
How to easily start with TypeScript + Rematch here
And no more bug fixes... because there aren't any. Rematch is consolidated as a stable alternative to Redux and other state-management solutions, it's fast, light, easy, and maintanaible. What else do we need?
New featuresโ
- We introduced a new method of directories,
MONOREPO
. Yes, we are usinglerna
to handle all the packages deployment and common dependencies. - We used
tsdx
for building our packages to UMD,CJS, and ES. That means we're compatible with all the formats that exists nowadays. - Now we collect all the errors you have on your configuration - (there's any?). And we throw all of them not just the first one. This avoids doing computation in production build, so we got some speed improvements.
- Added new hooks for custom plugins:
onReducer
, andonRootReducer
. Super useful if you pretend to migrate some native redux plugin to Rematch.
Choreโ
- We refactored the documentation to
Docusaurus
, now it contains a blog ;), also we have warnings if some link is broken, and a super cool landing page. - We worked hard to reduce bundle size a lot but still being compatible with Internet Explorer 11 is a must for us the results are incredible:
package | old version | latest version | diff |
---|---|---|---|
@rematch/core | -106.12% | ||
@rematch/loading | -76.36% | ||
@rematch/updated | -87.18% | ||
@rematch/select | -24.24% | ||
@rematch/persist | -44.33% | ||
@rematch/immer | -189.75% |
As you can see, holy moly, we reduced the size drastically.
- Also we migrated from
Travis.ci
toGithub Actions
, and we're really happy with the change because we have three workflows:- Size Testing: we avoid regressions of size on each pull-request.
- Pull Request title: we're using
semantic-release
to generate cool changelogs, we ensure that the title follows the angular convention. - Rematch CI: of course the main workflow that runs all the testing suite (also we test typescript types to avoid regressions).
In 2021 Redux isn't that cool as React.useContext, React.useReducer
, or other alternatives of state-management like jotai
, but we keep working hard inside Rematch to keep the essence of simplicity and still be in conjuntion with Redux to provide an easy and a powerful state-management solution to every project.
Happy new year to everyone!