This Week in Effect - 2024-09-13
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.
Get started with Effect with our quick-start guide and documentation below:
Recent major updates:
- Effect is API stable with the Effect 3.0 release.
- Effect 3.7 has been released.
- The Effect community on Discord reached 3540+ members!
Technology
- We are thrilled to announce the release of a brand new command-line tool for the Effect-TS ecosystem - create-effect-app!
This handy tool streamlines the process of setting up new Effect projects, allowing you to quickly bootstrap either an official Effect example or a project template with Effect and all our recommended developer tooling pre-configured for you. Read the full release post by Maxwell Brown for further details.
Here are all the technical changes from this week.
Effect Core
- TestClock yield with setTimeout(0) (Enhancement)
- Add RcMap.keys and MutableHashMap.keys lookup functions (Feature, next-minor)
- Deferred is subtype of Effect (Feature, next-minor)
- FiberRef'A' subtype of Effect'A' (Feature, next-minor)
- Make Fiber subtype of Effect (Feature, next-minor)
- Add Semaphore.withPermitsIfAvailable (Feature, next-minor)
Effect CLI
- Add Options.withFallbackPrompt to CLI (Feature)
- Ensure QuitException terminates command-line processing (Bug Fix)
Effect Experimental
- Fix VariantSchema variant validation (Bug Fix)
Effect Platform
- Add HttpApiBuilder.toWebHandler api (Feature)
- Fix HttpPlatform dependency cycle (Bug Fix)
- Add Socket.toChannelString api (Feature)
- Update platform-* READMEs (Documentation Update)
- Add missing encoding argument to Command.streamLines (Bug Fix)
- Focus the platform README on unstable modules (Documentation Update)
- Add filter refinement overloads to http client (Feature, next-minor)
Effect Schema
- Enhanced the generation of recursive Arbitraries to prevent infinite nesting (Bug Fix)
- Relax constraints for members within a union from Schema.Any to Schema.All (Enhancement)
Effect SQL
- Add webpack ignore to dynamic import to address resolution issues (Bug Fix)
- Fix mysql support for Model.makeRepository (Bug Fix)
- Remove network roundtrip from mysql update in Model repository (Bug Fix)
General Chores
Community highlights
This past week, we welcomed 40+ new Effecters to our Discord community - we're very excited to have you all on board!
- This week we celebrate another community milestone: Effect reached 7k stars on GitHubπ
- Effect is heading to San Francisco! The meetup will take place on Monday, October 21st at 5:00 PM SF time. ποΈ Register now!
-
Alessandro Maclaine wrote three new guides about Effect. He recently published about Combining Options, Folding Options, and Filtering Options.
-
Dillon Mulroy, Software Engineer at Vercel, aired four new episodes about Building a Job Queue with EffectTS:
- Dillon also shared his perspective about Effect as the best approach for writing backend TypeScript, highlighting its reliability, comprehensive error handling, seamless OTEL integrations, and efficient concurrency with fibers.
Effect content updates
- Michael Arnaldi and Maxwell Brown were live on X(Twitter) and Twitch on Tuesday with the 6th episode of Effect Cluster - Design Sync Session.
- The fourth episode of the series is available on the Effect YouTube Channel.
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-09-06
Sep. 6th, 2024
By Davide Scognamiglio, Mirela Prifti, Michael Arnaldi
Effect technical updates 'Effect Cluster - Design Sync Session ep. 5' by Michael Arnaldi and Maxwell Brown.
Read more
This Week in Effect - 2024-09-20
Sep. 20th, 2024
By Davide Scognamiglio, Mirela Prifti, Michael Arnaldi
Effect 3.8 release. VSCode extension update. Effect Cluster Development - Re-Thinking the Entity Manager by Maxwell Brown.
Read more