Skip to content

dword-design/suppress-experimental-warnings

Repository files navigation

suppress-experimental-warnings

npm version Linux macOS Windows compatible Build status Coverage status Dependency status Renovate enabled
Open in Gitpod Buy Me a Coffee PayPal Patreon

Filters experimental warnings from Node.js CLI output.

When using experimental Node.js features like experimental loaders, Node.js outputs some annoying warnings that clutter the CLI:

(node:1710) ExperimentalWarning: Custom ESM Loaders is an experimental feature. This feature could change at any time
(Use `node --trace-warnings ...` to show where the warning was created)

This package filters those warnings but leaves the others where they are.

Install

# npm
$ npm install suppress-experimental-warnings

# Yarn
$ yarn add suppress-experimental-warnings

Usage

Via CLI

$ node --require=suppress-experimental-warnings --experimental-loader=node-esm-loader index.js

Via environment variable

$ NODE_OPTIONS="--require=suppress-experimental-warnings --experimental-loader=node-esm-loader" index.js

Via ESM

Since imports in ESM run async, we have to make sure that the import runs before all other imports. This is needed when you cannot pass suppress-experimental-warnings via a a CLI argument. Note that at the time of writing this documentation, the import order seems to be non-deterministic (also for sync import).

import 'suppress-experimental-warnings';

await import('./your-app.js');

Contribute

Are you missing something or want to contribute? Feel free to file an issue or a pull request! ⚙️

Support

Hey, I am Sebastian Landwehr, a freelance web developer, and I love developing web apps and open source packages. If you want to support me so that I can keep packages up to date and build more helpful tools, you can donate here:

Buy Me a Coffee  If you want to send me a one time donation. The coffee is pretty good 😊.
PayPal  Also for one time donations if you like PayPal.
Patreon  Here you can support me regularly, which is great so I can steadily work on projects.

Thanks a lot for your support! ❤️

License

MIT License © Sebastian Landwehr