Outil CLI
Effect-TS/effect avatar
Effect-TS/effect

Effect v4 en release candidate : erreurs typées et concurrence structurée en TypeScript

Créez des applications prêtes pour la production dans TypeScript. Effect Effect est une bibliothèque permettant de créer des applications fiables, maintenables, sécurisées et de qualité production dans TypeScript.

16 037 étoiles740 forksTypeScriptMIT

En bref

De quoi s’agit-il ?
La bibliothèque Effect-TS/effect traite erreurs typées, injection de dépendances et validation de schéma en TypeScript ; sa v4 arrive en release candidate sous le tag npm rc, avec un monorepo d'intégrations plateforme, SQL et IA.
À qui s’adresse-t-il ?
Effect v4 en release candidate s'adresse aux équipes TypeScript prêtes à suivre un tag rc et à adopter un style orienté effets, avec erreurs typées et concurrence structurée dès la conception. Il ne convient pas à une base sans le flag strict ni bloquée sous TypeScript 5.8.
Puis-je l’utiliser commercialement ?
Oui. MIT est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
Est-il encore maintenu ?
Oui. Les derniers commits datent d’il y a 1 jour.
En quel langage est-il écrit ?
Principalement TypeScript, d’après les statistiques de langage de GitHub.

Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 14 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.

ANALYSE OPEN SOURCE APPROFONDIE

La v4 passe en release candidate sur la branche main

Le README l'annonce en tête de dépôt : Effect V4 est actuellement une release candidate, et la branche main porte le développement de la v4. L'installation passe par npm install effect@rc, tous les paquets v4 étant publiés sous le tag rc sur npm. Les versions consultées datent du 25 août 2026, avec effect@4.0.0-rc.112 et ses déclinaisons @effect/vitest ou @effect/sql-sqlite-wasm au même numéro.

Cette situation impose une discipline de version : une base de code qui veut rester stable n'installe pas le tag rc par défaut, et le README ne promet pas encore d'API figée. Le site effect.website reste l'entrée documentaire officielle, et le dépôt s'appuie sur pkg.pr.new pour les builds de preview, dont le badge statique du README signale les limites de délai de réponse.

Erreurs typées, concurrence structurée, schémas unifiés : le cahier des charges

Effect se présente comme une bibliothèque pour construire des applications fiables, maintenables, sûres au niveau des types et prêtes pour la production en TypeScript. Le README énumère les problèmes visés à grande échelle : erreurs typées, injection de dépendances, concurrence structurée, ordonnancement, traçage et validation de schéma unifiée.

Autrement dit, la bibliothèque traite d'un bloc ce que beaucoup de projets TypeScript assemblent pièce par pièce : un canal d'erreurs typé à la place des exceptions, un conteneur de dépendances explicite, une concurrence contrôlée et un schéma commun à la validation et à la sérialisation. Le README ne décrit pas les mécanismes internes, comme le moteur d'exécution des effets ou le coût des abstractions ; ces points relèvent de la documentation du site et du code source du monorepo.

TypeScript 5.9, Node 18 et le flag strict : les prérequis exacts

Les prérequis sont précis. TypeScript 5.9 ou plus récent est exigé, avec une recommandation de TypeScript 7 pour de meilleures performances et la compatibilité avec les outils TypeScript du projet, documentés dans le dépôt Effect-TS/tsgo. Le flag strict doit être activé dans le tsconfig.json, sans quoi les garanties de types ne s'appliquent pas pleinement.

Sur l'exécution, Node.js 18 constitue le minimum général, mais des paquets d'intégration exigent davantage : le README cite @effect/sql-sqlite-node, qui requiert Node.js 22.16 ou plus récent. Avant de monter une application, alignez donc deux vérifications : la version de TypeScript déclarée dans le tsconfig et la version de Node exigée par chaque paquet d'intégration utilisé, faute de quoi l'installation réussit et l'exécution échoue plus tard.

Plateformes, SQL et IA : l'étendue du monorepo v4

Le dépôt est un monorepo qui regroupe le paquet coeur effect et des intégrations. Les paquets @effect/platform couvrent le navigateur, Bun, Deno, Node.js et un noyau partagé node-shared pour les runtimes compatibles. Côté données, la famille @effect/sql fournit des clients pour ClickHouse, Cloudflare D1, libSQL, SQL Server, MySQL, PostgreSQL, PGlite et plusieurs variantes SQLite, de bun:sqlite à node:sqlite, en passant par React Native et une version compilée en WebAssembly.

La vague v4 ajoute des modules IA avec des fournisseurs Anthropic, OpenAI, un adaptateur OpenAI-compatible et OpenRouter, ainsi que des liaisons Effect Atom pour React, Solid et Vue et un paquet OpenTelemetry pour le traçage. Ce périmètre fait de la v4 un écosystème, pas une bibliothèque isolée ; le choix d'un paquet d'intégration doit donc suivre la matrice de runtimes de votre propre projet, sous peine de sélectionner par exemple un client SQLite exigeant un Node trop récent.

La branche v3 reste la voie des corrections pour la ligne stable

Le README réserve une section à la v3 : son code source vit sur la branche v3 du dépôt, et les issues comme les pull requests destinées à la v3 doivent y être ciblées. La ligne v3 n'est donc ni abandonnée ni fondue dans le flux rc : elle reçoit ses correctifs sur une branche dédiée.

Pour une équipe déjà en production sur la v3, la règle d'action se lit directement : ouvrir les tickets contre la branche v3, tester la migration vers la v4 dans une branche séparée et surveiller les releases rc du monorepo. Le README ne fournit ni calendrier de sortie stable de la v4 ni guide de migration ; la distance entre les deux lignes se juge sur le code et sur les changements publiés à chaque rc.

Licence MIT, communauté et limites du dossier public

Les métadonnées affichent une licence MIT, environ 15 500 étoiles, 700 forks et 232 tickets ouverts, avec une dernière poussée le 25 août 2026. La licence MIT autorise l'usage commercial et la modification sans obligation de publier son propre code, mais elle ne dit rien de la stabilité d'API pendant la période de release candidate, qui reste la vraie contrainte du moment.

Le dossier public ne contient ni benchmark ni engagement de support ; les promesses de performance autour de TypeScript 7 et de tsgo demandent une mesure dans votre base de code. Un premier tour de vérification tient en trois gestes : npm install effect@rc dans un projet jetable, activation du flag strict, puis compilation avec TypeScript 5.9 pour voir comment les types traversent votre code réel et où les refactorisations commencent.

Conclusion éditoriale

Effect v4 en release candidate s'adresse aux équipes TypeScript prêtes à suivre un tag rc et à adopter un style orienté effets, avec erreurs typées et concurrence structurée dès la conception. Il ne convient pas à une base sans le flag strict ni bloquée sous TypeScript 5.8. Avant d'engager une migration, lancez npm install effect@rc dans un projet jetable, activez le flag strict, compilez avec TypeScript 5.9 et mesurez l'impact sur votre code ; les projets encore en v3 doivent cibler la branche v3 pour leurs correctifs.

Sources officielles

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Notes de la communauté

Notes de la communauté