28 lines
970 B
Markdown
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)
|