2025-03-24 22:56:10 +01:00

28 lines
970 B
Markdown

# esm-env
Uses export conditions to return environment information in a way that works with major bundlers and runtimes.
## Usage
Install with `npm install esm-env`, then import as needed:
```js
import { BROWSER, DEV, NODE } from 'esm-env';
```
Specify `conditions` in your bundler or runtime. For example:
- [Node.js](https://nodejs.org/api/cli.html#-c-condition---conditionscondition)
- [Bun](https://bun.sh/docs/runtime/modules#custom-conditions)
- [Vite/Vitest](https://vite.dev/config/shared-options#resolve-conditions)
- [webpack](https://webpack.js.org/configuration/resolve/#resolveconditionnames)
If `esm-env` is used in both bundled code and an externalized library, you will need to specify conditions both at build-time and run-time.
## Acknowledgements
Thank you to [dominikg](https://github.com/dominikg) for refining the approach used by this library to suggest a more scalable method for adding additional conditions.
## License
[MIT](LICENSE)