Skip to content

pi0/warning.wtf

Repository files navigation

⚠️ warning.wtf ⚠️

Every day, we developers see dozens of warnings and choose to ignore them (or do we have a choice?).

This started as a random tweet X but then I thought, if we don't don't do anything, would it be an eternal fight between library authors that care to add those warning lines and developers that either ignore them or have no choice but to ignore them. And we love to know why. And who is to point fingers to?

Note

The proposed solution in this project is only for fun not intended to be used in any production package.

🙇 Have you come from a console warning here?

We love to hear your opinion. Please share them in this discussion.

And sorry for disturbing you 🙇. You can disable this if you want just set NO_WTF_WARN environment variable or put this in your code

globalThis.NO_WTF_WARN = true;

🧙 How to shameuse?

// Dynamic import
// Works in both CJS and ESM
import("warntf/setup");

// ESM
import "warntf/setup";

// CJS
require("warntf/setup");

❓ How it works

When warntf/setup is imported, we hook to console.warn calls from any library, and after every 5 warnings by default, we show a warning to users. (source)

image

⚙️ Configuration

There is not much but there are two:

  • NO_WTF_WARN environment variable or global constant to disable this
  • WTF_WARN_FREQ environment variable or global constant to set frequency (default is 5)

🙌 Join the effort!

Do you have ideas to improve this project or how else we can approach it?

Use issues or discussions to join the crew!

we are hiring meme

Development

  • Clone this repository
  • Install the latest LTS version of Node.js
  • Enable Corepack using corepack enable
  • Install dependencies using pnpm install
  • Test with pnpm play

License

Made with 💛 Published under MIT License.