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 key feature 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.10 has been released.
- The Effect community on Discord reached 3710+ members!
Technology
Here are all the technical changes from this week.
Effect Core
- Layer.ts jsdoc - grammar fix (Documentation Update)
- Upgrade to typescript 5.7 (and latest dtslint) (Optimization)
- Ensure fiber observers are cleared after exit to prevent memory leaks (Bug Fix)
- Add JSDocs to Effect module (Documentation Update)
- Fix behavior of Stream.partition to match the types (Bug Fix)
- Wrap JSDoc @example tags with a TypeScript fence (Bug Fix)
- Remove reference to non-existent function (Documentation Update)
- Preserve scopes in stream operations (Bug Fix, next-minor)
- Inherit child fibers created by merged streams (Bug Fix, next-minor)
Effect CLI
- Fix multi-select prompt not displaying descriptions (Bug Fix)
- Upgrade to typescript 5.7 (and latest dtslint) (Optimization)
- Wrap JSDoc @example tags with a TypeScript fence (Bug Fix)
Effect Cluster
- Upgrade to typescript 5.7 (and latest dtslint) (Optimization)
Effect Experimental
Effect Platform
- Upgrade to typescript 5.7 (and latest dtslint) (Optimization)
- Switch to @types/bun (Refactor)
- HttpApiClient.group & HttpApiClient.endpoint (Feature)
- Fix HttpApiBuilder.middleware when used multiple times (Bug Fix)
- Wrap JSDoc @example tags with a TypeScript fence (Bug Fix)
- Consider TimeoutException a transient error in HttpClient.retryTransient (Improvement)
- Allow using HttpApiSchema.Multipart in a union (Feature)
- Try encode defects that match an Error schema in HttpApi (Feature)
- Support array of values in /platform url param schemas (Feature, next-minor)
Effect Printer
Effect SQL
- Upgrade to typescript 5.7 (and latest dtslint) (Optimization)
- Switch to @types/bun (Refactor)
- Wrap JSDoc @example tags with a TypeScript fence (Bug Fix)
- Allow cloning a SqlClient with transforms disabled (Feature)
- Add .reactive method to SqlClient interface (Feature)
Effect Typeclass
General Chores
Cause & Effect Podcast Lauch
We’re excited to announce the launch of our new podcast, Cause & Effect, hosted by Johannes Schickling!
This podcast highlights stories from software engineers and companies using Effect in production. Each episode explores their journey of adopting Effect, exploring the learning process, challenges faced, and the benefits they’ve gained by integrating Effect into their tech stack.
Cause & Effect is available on Youtube, X(Twitter), and audio platforms like Spotify and Apple Podcast.
The guest of the first episode is Attila Večerek, Tech Lead & Staff Engineer, who discusses how Zendesk incrementally adopted Effect in a polyglot environment with a large codebase. Give it a listen and let us know what you think on our social media or Discord!
Reminder: Effect Days is coming!
Don’t forget to grab your tickets for Effect Days, happening on March 19-21, 2025. It’s the perfect chance to connect with the Effect community and celebrate the Effect ecosystem in person! Get your ticket! 🎟️
This week, we announced Dillon Mulroy, a Software Engineer at Vercel, as a speaker for Effect Days 2025! With over a decade of experience in the JavaScript and TypeScript ecosystem, Dillon is also a regular Twitch streamer of tech content and Effect.
Community highlights
Mihael Konjević, CTO at Very Big Things unveiled his latest project: a library that can best be described as a durable component system for building live, multi-player, multi-agent workflows, with a backend powered by Effect.
Michael Newton quick and detailed intro to Effect, specifically adopting it in a greenfield TypeScript project in his article: A gentle introduction to Effect TS.
Effect Job Opportunities
More and more companies are adopting Effect in their projects, and we’re excited to introduce this new section to help our community stay updated on Effect-related job opportunities.
Disclaimer: Please note that these job postings are shared for informational purposes, and we encourage applicants to verify details directly with the hiring companies.
Superwall : Full-stack TS developer with backend & infrastructure experience.
Expand.ai : Software Engineer
Platonic Systems : Remote Effect Engineers
Inato : Senior Product Engineer
Medbill.ai : Founding Software Engineers (full-stack and backend)
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
Top comments (0)