Skip to content

thefrontside/effection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

b751bbd · Mar 11, 2025
Dec 21, 2024
Jan 28, 2025
Jan 28, 2025
Mar 7, 2025
Dec 20, 2024
Mar 7, 2025
Dec 20, 2024
Nov 2, 2018
Jun 11, 2020
Mar 10, 2025
Nov 2, 2018
Feb 15, 2024
Dec 20, 2024
Apr 3, 2023

Repository files navigation

npm bundle size (minified + gzip) 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:

$ 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:

$ 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.