GitPedia

Effection

Structured concurrency and effects for JavaScript

From thefrontside·Updated June 19, 2026·View on GitHub·

Effection leverages the idea of [structured concurrency][structured concurrency] to ensure that you don't leak any resources, effects, and that cancellation is always properly handled. It helps you build concurrent code that feels rock solid _at scale_, and it does all of this while feeling like normal JavaScript. The project is written primarily in TypeScript, distributed under the MIT License license, first published in 2018. Key topics include: algebraic-effects, async-await, concurrency, effects, effects-management.

Latest release: effection-v3.0.23.0.2
February 12, 2024View Changelog →

npm
License: MIT
Created by Frontside
Chat on Discord

Effection

Structured concurrency and effects for JavaScript.

Why use Effection?

Effection leverages the idea of structured concurrency
to ensure that you don't leak any resources, effects, and that cancellation is
always properly handled. It helps you build concurrent code that feels rock
solid at scale, and it does all of this while feeling like normal JavaScript.

Learn how to use Effection in your own project

Platforms

Effection runs on all major JavaScript platforms including NodeJs, Browser, and
Deno. It is published on both npm and
deno.land.

Contributing to Website

Go to website's readme to learn how to contribute to the website.

Development

Deno is the primary tool used for development, testing, and packaging.

Testing

To run tests:

text
$ deno task test

Building NPM Packages

If you want to build a development version of the NPM package so that you can
link it locally, you can use the build:npm script and passing it a version
number. for example:

text
$ deno task build:npm 3.0.0-mydev-snapshot.0 Task build:npm deno run -A tasks/build-npm.ts "3.0.0-mydev-snapshot.0" [dnt] Transforming... [dnt] Running npm install... up to date, audited 1 package in 162ms found 0 vulnerabilities [dnt] Building project... [dnt] Emitting ESM package... [dnt] Emitting script package... [dnt] Complete!

Now, the built npm package can be found in the build/npm directory.

For AI Assistants

  • AGENTS.md — Behavioral contract for AI agents working with
    Effection
  • llms.txt — Machine-readable index
    with EffectionX packages

Contributors

Showing top 12 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from thefrontside/effection via the GitHub API.Last fetched: 6/24/2026