Skip to content

Structured concurrency and effects for JavaScript

License

Notifications You must be signed in to change notification settings

lc-mm/effection

 
 

Repository files navigation

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

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.

About

Structured concurrency and effects for JavaScript

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 58.6%
  • MDX 36.4%
  • CSS 4.9%
  • JavaScript 0.1%