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 🙏

© 2026 – Pkg Stats / Ryan Hefner

co2-emissions-audit

v1.0.1

Published

Modern web applications can be energy-intensive, leading to higher carbon footprints. The CO2EmissionWebpackPlugin aims to quantify and reduce web-related carbon emissions by analyzing Webpack output files and their environmental impact.

Readme

CO2 Emission Audit

🌍 Purpose & Motivation

Modern web applications can be energy-intensive, leading to higher carbon footprints. The CO2 Emission Audit aims to quantify and reduce web-related carbon emissions by analyzing Webpack output files and their environmental impact.

By using this plugin, developers can:

  • Measure the carbon emissions of each file in a Webpack build.
  • Set thresholds to prevent excessive energy consumption.
  • Grade file emissions using the Digital Carbon Rating Scale.
  • Fail the build if emissions exceed a specified level.
  • Generate reports in JSON and CSV formats for sustainability tracking.

🚀 Features

  • CO₂ Emission Calculation per file & total build
  • Threshold Checking to flag oversized assets
  • Digital Carbon Rating Scale for grading sustainability
  • Build Failure Option for excessive CO₂ emissions
  • CSV & JSON Reports for tracking and optimization
  • Customizable thresholds and failure levels

📦 Installation

npm install --save-dev co2-emission-audit

or

yarn add -D co2-emission-audit

⚙️ Usage

Add the plugin to your Webpack configuration:

const CO2EmissionAudit = require('co2-emission-audit');

module.exports = {
  // Other webpack configurations...
  plugins: [
    new CO2EmissionAudit({
      thresholds: {
        '.js': 0.005, // Max CO₂ per byte for JavaScript files
        '.css': 0.002,
        '.png': 0.005
      },
      failThreshold: 'D', // Fail build if total grade is D or worse
    })
  ]
};

📊 Report Output

After a Webpack build, the plugin generates:

  • ``: A structured JSON report
  • ``: A CSV file for tracking sustainability

Example console output:

CO₂ Emission Report:
┌───────────────┬──────────────┬───────────┬───────────────────────────┐
│ File         │ Size (bytes) │ CO₂ (g)   │ Grade                     │
├───────────────┼──────────────┼───────────┼───────────────────────────┤
│ main.js       │ 152340       │ 0.001523  │ B 🟢 (Good)               │
│ image.png     │ 905230       │ 0.009052  │ E 🔴 (Very High)          │
└───────────────┴──────────────┴───────────┴───────────────────────────┘
Total Build Size: 1095804 bytes
Total CO₂ Emissions: 0.010977 g
Overall Build Grade: C 🟡 (Moderate)

If emissions exceed thresholds, the build can fail:

ERROR in CO2EmissionAudit
Build failed due to high CO₂ emissions. Grade: D 🟠 (High)

🤝 Contributing

We welcome contributions! To contribute:

  1. Fork the repository
  2. Create a new branch (feature/new-feature)
  3. Commit your changes
  4. Open a pull request

Development Setup

Clone the repo and install dependencies:

git clone https://github.com/your-repo/co2-emission-audit.git
cd co2-emission-audit
npm install

Run tests:

npm test

🛠️ Maintainers

This project is maintained by Paul McGann and the Open Source Community. If you have any questions, feel free to open an issue or submit a PR.

📄 License

This project is licensed under the MIT License. See LICENSE for details.


🚀 Let's build a more sustainable web, one optimized asset at a time!