This Week in Effect - 2024-05-31
Hi Effecters!
Welcome back to This Week In Effect (TWIE), a weekly update to keep you in the loop with all the latest developments in the Effect community and ecosystem.
Effect is a powerful TypeScript library designed to help 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 with Effect, explore our quick-start guide and documentation below.
We want to make it easy for you to find everything you need to fully enjoy your Effect journey and actively engage with the community! Here, you'll find all the significant developments from the previous week, including community activities such as Discord discussions, noteworthy posts, YouTube content, and technical advancements.
Recent major updates
- Effect became API stable with the Effect 3.0 release.
- Effect 3.2 has been released.
- Our community on Discord reached 2900+ members!
- We're publishing new Effect Days talks every week on the Effect YouTube channel.
Technology
Here are all the technical changes that occurred last week.
Effect Core
- Update outdated RequestResolver description and remove redundant assignment in internal implementation (Refactor)
- Fix: DeepMutable tuples (Bug Fix)
- DeepMutable: remove redundant branch (Refactor)
- Gen context (Feature, next-minor)
- Add queuing strategy option for Stream.toReadableStream (Feature, next-minor)
- Introduce Redacted"T" module (Feature, next-minor)
- Ensure isTupleOf works with ReadonlyArray (Bug Fix, next-minor)
Effect Platform
- Platform: readme: add KeyValueStore section (Documentation Update)
- Docs: Add example for getting raw request in platform README (Documentation Update)
- Remove temp directory for FileSystem makeTempFileScoped (Bug Fix)
- Update platform README with example for streaming stdout (Documentation Update)
- Feat: added KeyValueStore.layerStorage (Feature)
Effect CLI
- Display a nicer message in the cli wizard when using Option (Bug Fix)
- CLI: README: Include Basic Usage and revise the Tutorial section (Documentation Update)
- Introduce Redacted"T" module (Feature, next-minor)
Effect SQL
- Ensure sqlite wasm type id is unique (Bug Fix)
- Fix(sql): mysql migrator (Bug Fix)
Effect Schema
- Schema: readme: refactor Transformations section (Documentation Update)
- Refactor Formatting Errors section (Documentation Update)
- Add tag and TaggedStruct constructors (Feature)
- Schema: readme: fix typo (Documentation Update)
- Add missing makePropertySignature constructor (Bug Fix)
- Add requiredToOptional function to Schema module, closes (Feature, Documentation Update)
- Introduce Redacted"T" module (Feature, next-minor)
Effect Vitest
- Update timeout parameter type in flakyTest function to accept DurationInput (Refactor)
- Vitest: add basic docs (Documentation Update)
General Chore
Community highlights
In the last week, we welcomed +50 new Effecters to our Discord community - we're excited to have you on board!
Our ever-growing community consistently shares their experiences and feedback on using Effect:
- André König, CEO & Solution Architect at Open Formation shared his feedback about learning the core concepts of Effect:
- Jean-Baptiste Musso and the Evryg team have been using Effect in production for 2 years, and shared how Effect led to a 10x performance improvement to one of their projects:
- Jess Martin gave a presentation at the LocalFirstConf in Berlin on May 30th, explaining how to share schemas between applications for interoperability with DXOS and Effect.
- The Evryg team has announced the date of the second Effect Paris Meetup: Tuesday, June 25th at 7:00 PM. Now accepting talk submissions—submit yours today! As a reminder, the meetup will be in French.
Content update
- Another talk from the Effect Days Conference was released on Monday, 'Next level type safety with Effect' by Aleksandra Sikora. In her presentation, Aleksandra discusses the benefits of using Effect, a meta-framework for TypeScript that takes it to the next level and helps handle code complexity, async code, dependency injection, and error handling in a type-safe manner.
- The second episode of Mattia Manzati's series on Effect Cluster Integration with Effect RPC is now available on the Effect Youtube Channel
- Michael Arnaldi, author of Effect, was featured on the nickyt.live podcast on Monday where he introduced Effect through a live coding session. Watch the full stream below and check out the repository with code demos from the episode.
Closing notes
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
Related Posts
This Week in Effect - 2024-05-24
May. 24th, 2024
By Davide Scognamiglio, Mirela Prifti, Michael Arnaldi
Effect 3.2 release. 'Durable Workflows with Effect Cluster' by Mattia Manzati. New Effect Paris Meetup date announcement. Effect nomination for Javascript Open Source Award.
Read more
This Week in Effect - 2024-06-07
Jun. 7th, 2024
By Davide Scognamiglio, Mirela Prifti, Michael Arnaldi
Effect 3.3 release. 'Building type-safe REST APIs powered by @effect/schema' by Anna DevMiner.
Read more