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