@EffectTS_ just won the award for the most exciting use of technology 2024 at @thejsnation #jsnation 🏆 Thanks everyone for the support and the Effect team for the awesome work on the library 🙏
This Week in Effect - 2024-06-14
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! 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.3 has been released.
- Our community on Discord reached 3000+ members!
- We’re publishing new Effect Days talks every week on the Effect YouTube channel.
Here are all the technical changes that occurred last week.
- Change Config.array to return Array instead of ReadonlyArray (Feature)
- CatchTag: add more type-level tests (Feature)
- Fix runtime error in Struct.evolve by enhancing compile-time checks (Bug Fix)
- Updated Chunk.toArray and Chunk.toReadonlyArray. Improved function signatures to preserve non-empty status of chunks during conversion. (Improvement)
- Fix Unify for Stream (Bug Fix)
- Fix discard option in Effect.all (Bug Fix)
- Ensure multiline error messages are preserved in cause rendering (Bug Fix)
- Add lastNonEmpty function to Chunk module (Feature, next-minor)
- Feat(Stream): implement Success, Error, Context type accessors (Feature, next-minor)
- Make Option.liftPredicate dual (Feature, next-minor)
- Implement at method for tuples (Feature, next-minor)
- Fix KeyValueStore for react native by making constructors lazy (Bug Fix)
- Update example fix for workspaces (Refactor)
- Typo in Example Source Code in README.md (Documentation Update)
- Refactor Socket to use do notation (Refactor)
- The minItems filter now checks for an invalid argument n inferior to 1 and, when valid, refines the type to NonEmptyReadonlyArray”A”. (Feature)
- Clarify usage and behavior of Schema.is in documentation (Documentation Update)
- Update propertyOrder option in README to use “original” instead of “input” (Documentation Update)
- Remove stray bit of text in Italian (Documentation Update)
- Add Schema.NonEmptyChunkFromSelf and Schema.NonEmptyChunk (Feature)
- Add instructions for handling unsupported types in JSON Schema generation to README (Documentation Update)
- Enhance README with guidelines on schema transformations and arbitrary data generation best practices (Documentation Update)
In the last week, we welcomed +50 new Effecters to our Discord community, our community reached the outstanding milestone of 3000 Discord members! We’re very excited to have you all on board!
We have exciting news for this week! Effect has won the The Most Exciting Use of Technology 2024 award at the JSNation Conference 2024 as part of the JavaScript Open Source Award, and Sandro Maglione was in Amsterdam to collect the trophy 🏆. We’re very grateful to the community who supported Effect in winning this first official award.
- Gheorghe Pinzaru, who is building 3loop.io, shared some feedback about his choice of using Effect as the transaction decoder platform for his application.
1/ Now that the X hype around Effect has calmed down, I'd like to share why we chose @EffectTS_ last year as the go-to platform for the @3loop_io transaction decoder.
- Johannes Schickling, Effect DX and Power User, reminded us of one of the most important Effect fundamentals: “If it compiles, it works”.
Hard to beat the feeling when reaching 0 TypeScript errors after a massive refactor. 😌 @EffectTS_ giving me the confidence that when it compiles, it works. ✅
- Milad Vafaeifard, Software Engineer, Effect Advocate, and Creator of Sign Language Tech, will be giving a talk about Effect at the JSConf Budapest on June 27th: Navigating towards Production-Grade TypeScript at Scale: How Effect Helps You Reach Your Goals Without Drowning in Complexity.
I will be giving two lightning talks: ⚡️ Navigating towards Production-Grade TypeScript at Scale: How Effect Helps You Reach Your Goals Without Drowning in Complexity ⚡️ Inaccessible "Accessible" Tech: Real-life Stories Can't wait to see you there! @EffectTS_ @jsconfbp
Announcing the Community Lounge program: enjoy lightning talks, games, quizzes, panel discussions and Q&As in the breaks! buff.ly/4aYFMyk
- 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.
🇫🇷📣 @EffectTS_ Paris meetup is now opened to all speakers out there, you just need to open a new repo issue to submit a talk 👇🏻 github.com/evryg-org/effe…
- We released a new talk from the Effect Days Conference on Monday. ‘Effect CLI - A love letter to developers tired of settling for less’ by Maxwell Brown. In his presentation, Maxwell introduces Effect CLI, a library designed to improve the developer experience on the command line, and demonstrates its features with an example CLI application. Check out the video below.
- Convex, an all-in-one platform for open-source backend, did a livestream on their X(Twitter) account showing the Convex + Effect → Confect integration.
Convex + Effect → Confect with RJ x.com/i/broadcasts/1…
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