Congrats🏆to the winners of the #JavaScript Open Source Awards! 💥Breakthrough of the Year: @rspack_dev 💥The Most Exciting Use of Technology: @EffectTS_ 💥Productivity Booster: @biomejs 💥Powered by AI: @LangChainAI This event is part of JSNation😊jsnation.com
This Week in Effect - 2024-06-28
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, below you’ll find links to our documentation as well as our guide for installing Effect. Enjoy!
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! In this blog post series, you’ll find all the significant developments from the previous week, such as Discord discussions, noteworthy posts, YouTube content, and technical advancements.
Recent major updates
- Effect is now API stable with the Effect 3.0 release.
- Effect 3.4 has been released.
- Our community on Discord reached 3110+ members!
- Published the last talk from Effect Days 2024 on the Effect YouTube channel.
Here are all the technical changes that occurred last week.
- Enhance JSDocs for error tapping APIs with examples (Documentation Update)
- Add missing TypeLambda to Micro module (Feature)
- Reuse centralized do-notation code in Micro module (Refactor)
- Update to typescript 5.5 (Optimization)
- Align the Micro.catchIf signature with Effect.catchIf (Refactor)
- Support unification for Micro module (Feature)
- Support this argument for Micro.gen (Feature)
- Cleanup signal “abort” event handler in Micro.runFork (Bug Fix)
- Micro: add zipWith (Feature)
- Micro: update fromOption to change the failure type to NoSuchElementException (Improvement)
- Remove global AbortController from Micro (Bug Fix)
- Fix using unions with Match.withReturnType (Bug Fix)
- Feat: add Config.Config.Success (Feature, next-minor)
- Add HttpMiddleware.cors (Feature)
- Coerce primitive types in UrlParams input (Improvement)
- Add Layer based api for creating HttpRouter’s (Feature)
- Platform README: Minor formatting changes (Documentation Update)
- Add HttpRouter.Tag.unwrap api (Feature)
- Update to typescript 5.5 (Optimization)
- Docs: remove adapter examples (Documentation Update)
- Add HttpServerRespondable trait (Feature)
- Add HttpClientResponse.matchStatus* apis (Feature)
- Add HttpServerRequest.toURL api (Feature)
- Add some common services to HttpRouter.Default (Feature)
- Add mount apis to HttpRouter.Service (Feature)
- Filter undefined from UrlParams Input (Improvement)
- Remove the stack from HttpServerError.RouteNotFound (Bug Fix)
- Fix assignability of HttpMiddleware in HttpRouter.use (Bug Fix)
- Update to typescript 5.5 (Optimization)
- Docs: remove adapter examples (Documentation Update)
- Update to typescript 5.5 (Optimization)
- Docs: remove adapter examples (Documentation Update)
- Fix deadlock in @effect/experimental dataLoader (Bug Fix)
- Update to typescript 5.5 (Optimization)
- Docs: remove adapter examples (Documentation Update)
- Feature: add cloudflare @effect/sql-d1 package (Feature, next-minor)
- Update to typescript 5.5 (Optimization)
- Docs: remove adapter examples (Documentation Update)
- Add make constructor to Class-based APIs (Feature)
- Fix error message display for composite errors when overwrite = false (Bug Fix)
- Update README.md with examples of extending schemas (Documentation Update)
- Add refineTypeId unique symbol to the refine interface to ensure correct inference of Fields in the Class APIs (Bug Fix)
- Revert the 0.67.22 patch as it is causing issues with other array filters (Bug Fix)
- Update to typescript 5.5 (Optimization)
- Special case S.parseJson to generate JSON Schemas by targeting the “to” side of transformations (Feature)
- Generate JSON Schemas correctly for a schema created by extending two refinements using the extend API, ensuring their JSON Schema annotations are preserved. (Enhancement)
- Update to typescript 5.5 (Optimization)
- Docs: remove adapter examples (Documentation Update)
- Ensure help documentation always respects the cli configuration (Bug Fix)
- Update to typescript 5.5 (Optimization)
- Update to typescript 5.5 (Optimization)
- Update to typescript 5.5 (Optimization)
- Update to typescript 5.5 (Optimization)
In the last week, we welcomed +50 new Effecters to our Discord community - we’re very excited to have you all on board!
- JSNation posted a recap of all the Open Source Awards Winners. We’re very grateful for the nomination and the community support that made it possible for Effect to win The Most Exciting Use of Technology award.
- Michael Arnaldi joined the London Node.js User Group at the Cloudflare offices, where he showcased a new feature of the Effect bot: the Dad Joke.
festive summer vibe at tonight’s LNUG meetup. @MichaelArnaldi is kicking things off with some APIs for dad jokes.
- This week, the Evryg team successfully organized the second Effect Paris Meetup, featuring a large turnout and excellent talks. We are thrilled to see such an active French-speaking Effect community, and look forward to future meetups!
- Milad Vafaeifard, creator of Sign Language Tech and Effect advocate, gave a talk about Effect at the JSConf Budapest. We can’t wait to watch it!
Full energy inside @NERDDISCO ! Wow 🤩 yay!!! He is organising the community lounge at @jsconfbp ! Great Idea! Love it! 🥰 thanks for my lighting talk that made in this time. @EffectTS_ the recording will be uploaded on @signlanguagete1
- Sandro Maglione reminded us of one of the main benefits of Effect: fewer packages installed, fewer dependencies to maintain.
One huge positive result of using @EffectTS_ in your app is the reduction in number of packages installed 🔥 Effect is a full standard library for typescript, with data structures and util functions included Less dependencies to maintain 😇
- The Effect Days conference closing keynote was released on Monday: ‘Effect: The Origin Story’ by Michael Arnaldi. In this talk, Michael reflects on the journey of creating the open-source library, Effect, and the vibrant community that has formed around it. Developed using TypeScript and functional programming concepts, Effect has thrived also thanks to the community’s organic growth and contributions.
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