npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

no-console-production

v2.0.1

Published

A React component to suppress console logs, warnings, errors, and debug messages in production.

Downloads

94

Readme

🚫🖥️ No Console Production

A React component to suppress console logs, warnings, errors, and debug messages in production or specific components.

📦 Installation

Install the package via npm, yarn, or bun:

    ⬇️ npm install no-console-production
    ⬇️ yarn add no-console-production
    ⬇️ bun add no-console-production
```

How it works

Environment Detection: The utility first determines whether the current environment is development by checking the value of process.env.NODE_ENV. This is used to conditionally apply console suppression based on the suppressAllInDev and suppressAllInProd flags.

⚙️ Condition for Suppression

The logic to suppress console methods depends on three key factors:

  • 🛑 If suppressAllInDev is true and the environment is development, all console methods are suppressed.
  • 🛑 If suppressAllInProd is true and the environment is production, all console methods are suppressed.
  • 📝 If suppress is provided and contains console methods to suppress, only the specified methods are suppressed.
  • 🔄 When either suppressAllInDev or suppressAllInProd is set to true, the suppress array is automatically overridden to suppress all console methods (log, warn, error, debug, info).

🔕 Suppress All Except Errors

✨ If you want to suppress all console methods except errors, you can pass all other methods in the suppress array and leave out "error". This will ensure that only console.error is logged in any environment, while all other console outputs are suppressed.


⚙️ Props

  • suppress (optional): An array of console methods to suppress. If suppressAllInDev (for development) or suppressAllInProd (for production) is set to true, all console methods (log, warn, error, debug, info) will be suppressed. If neither is true and no suppress array is provided, nothing will be suppressed by default. If specific console methods are passed in the suppress array (e.g., ['warn', 'error']), only those methods will be suppressed.

  • suppressAllInDev (optional): A boolean flag to specify whether all console outputs should be suppressed in development mode. If true, all console methods will be suppressed in the development environment. The default is false.

  • suppressAllInProd (optional): A boolean flag to specify whether all console outputs should be suppressed in production mode. If true, all console methods will be suppressed in the production environment. The default is false.


🛠️ Usage

Call suppressConsole() directly in your code to suppress console outputs:

import { suppressConsole, ConsoleType } from "no-console-production";

// Example usage in an application
const suppressedMethods: ConsoleType[] = ['log', 'warn', 'info'];

suppressConsole({
  suppress: suppressedMethods,
  suppressAllInDev: true, // suppress all in development
  suppressAllInProd: false // do not suppress all in production
});

// Now the console methods will be suppressed based on the configuration
console.log("This log will be suppressed");
console.warn("This warning will be suppressed");
console.error("This error will not be suppressed");

📜 License

MIT