How I replaced tRPC with @EffectTS_ in a Next.js app router application : dev.to/titouancreach/…
This Week in Effect - 2024-08-23
Hi Effecters!
Welcome back to This Week In Effect (TWIE) – your weekly update of the latest developments in the Effect community and ecosystem.
Effect is a powerful TypeScript library that helps developers create complex, synchronous, and asynchronous programs. One of the key features that sets Effect apart is how it leverages structured concurrency to provide features such as async cancellation and safe resource management, making it easier to build robust, scalable, and efficient programs.
To get started, below you’ll find links to our documentation as well as our guide for installing Effect. Enjoy!
Recent major updates:
- Effect is API stable with the Effect 3.0 release.
- Effect 3.6 has been released.
- The Effect community on Discord reached 3430+ members!
Here are all the technical changes that occurred last week.
- Add support for incrementing / decrementing a gauge (Feature)
- Fix type error when .pipe() has no arguments (Bug Fix)
- Fix Array.replaceOption signature (Bug Fix, next-minor)
- Refactor(Stream): left/right parameters and generic names (Refactor)
- Fix nested Config.array (Bug Fix)
- Preserve Array.replace Array.replaceOption non emptiness (Feature, next-minor)
- Preserve Array.modify and Array.modifyOption non emptiness (Feature, next-minor)
- Add VariantSchema.fields for accessing the fields (Feature)
- Guard against stale values in Model.DateTime fields (Feature)
- Add VariantSchema.fieldEvolve api (Feature)
- Make VariantSchema constructor apis internal (Enhancement)
- Ensure VariantSchema preserves opaque types (Bug Fix)
- Move VariantSchema.extract to factory, and copy type level behaviour (Bug Fix)
- Add VariantSchema.Union constructor (Feature)
- Respond with 404 for NoSuchElementException in HttpServerRespondable (Bug Fix)
- Add binary support to KeyValueStore (Feature)
- Add VariantSchema.fields for accessing the fields (Feature)
- Guard against stale values in Model.DateTime fields (Feature)
- Add Model.FieldOption & Model.Date (Feature)
- Update Model doc categories (Bug Fix)
- Add Model.makeRepository, for deriving a simple CRUD repo (Feature)
- Add Model.makeDataLoaders, for deriving CRUD data loaders (Feature)
- Infer Model repository id schema from id column name (Enhancement)
- Move VariantSchema.extract to factory, and copy type level behaviour (Bug Fix)
- Use DurationInput for Model makeDataLoaders window (Improvement)
- Enable multiple statements for sql-mysql2 (Feature)
- Add VariantSchema.Union constructor (Feature)
- Typeclass: add let example (Documentation Update)
In the last week, we welcomed +50 new Effecters to our Discord community - we’re very excited to have you all on board!
- Titouan Créac’h wrote about how he replaced tRPC with Effect/RPC in a Next.js app router application.
- Maxwell Brown and Michael Arnaldi aired two new episodes of ‘Effect Cluster - Design Sync Session’ on Twitch. The videos will soon be uploaded on the Effect YouTube Channel.
Quick @EffectTS_ Cluster design session with @MichaelArnaldi happening now! twitch.tv/maxwellbrown19…
-
Michael Arnaldi, author of Effect, blogged about the symmetries of the Effect and React mental models, emphasizing that as a React developer, you already know Effect to a great extent. Check out the blog post at the link below: → From React to Effect
-
Meanwhile, the second episode of Effect Cluster - Design Sync Sessions is already available on YouTube:
That’s all for this week. Thank you for being a vital part of our community. Your feedback is highly valued as we fine-tune this format. Feel free to share your thoughts, and we’ll do our best to tailor it to the needs of our community.
Effect Community Team