**Effection** can be used in any JavaScript environment including Deno, Node and browsers. Effection packages are side-effect free and do not pollute your environment in any way, making it compatible with most JavaScript runtimes.
If you encounter obstacles integrating with your environment, please create a [GitHub Issue in the Effection repository](https://github.com/thefrontside/effection/issues/new).

## Node.js & Browser

Effection is available on [NPM][npm], as well as derived registries such as [Yarn][yarn] and [UNPKG][unpkg]. It comes with TypeScript types and can be consumed as both ESM and CommonJS.

```bash
# install with npm
npm install effection

# install with yarn
yarn add effection
```

## Deno

Effection has first class support for Deno because it is developed with [Deno](https://deno.land). Releases are published to [JSR](https://jsr.io/@effection/effection) and [https://deno.land/x/effection](https://deno.land/x/effection). For example, to import the `main()` function:

```ts
import { main } from "jsr:@effection/effection@3";
```

> 💡 If you're curious how we keep NPM/YARN and Deno packages in-sync, you can [checkout the blog post on how publish Deno packages to NPM.][deno-npm-publish].

[deno-npm-publish]: https://frontside.com/blog/2023-04-27-deno-is-the-easiest-way-to-author-npm-packages/
[unpkg]: https://unpkg.com/effection
[yarn]: https://yarnpkg.com/package?q=effection&name=effection
[npm]: https://www.npmjs.com/package/effection
[bundlephobia]: https://bundlephobia.com/package/effection
