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

@lidofinance/secret-guard-reporter

v1.1.0

Published

A Playwright reporter that automatically scrubs sensitive values (secrets, tokens, private keys) from all test output before it reaches other reporters or is written to disk.

Downloads

1,481

Readme

Secret Guard Reporter

A Playwright reporter that automatically scrubs sensitive values (secrets, tokens, private keys) from all test output before it reaches other reporters or is written to disk.

Install

yarn add @lidofinance/secret-guard-reporter

Usage

Use as the only top-level reporter and list all other reporters inside the reporters option. SecretGuard scrubs every piece of data before forwarding it to the inner reporters, and scrubs the report directory at the end of the run.

// playwright.config.ts
import { defineConfig } from '@playwright/test';

export default defineConfig({
  reporter: [
    [
      '@lidofinance/secret-guard-reporter',
      {
        sensitiveEnvKeys: ['WALLET_SECRET_PHRASE', 'WALLET_PASSWORD'],
        reporters: [
          ['html', { open: 'never' }],
          ['list'],
        ],
      },
    ],
  ],
});

Options

| Option | Type | Required | Default | Description | |--------------------|-------------------|----------|-----------------------|-------------| | sensitiveEnvKeys | string[] | ✅ | — | Env variable names whose runtime values will be redacted everywhere. | | reporters | [string, any?][]| — | [] | Inner reporters to wrap. Supports all built-in Playwright reporter names and third-party paths. | | reportDir | string | — | 'playwright-report' | Directory to scrub after the run (HTML report, traces, etc.). |

How it works

  1. During testsonStdOut/onStdErr scrub real-time output chunks before forwarding to inner reporters. onTestEnd scrubs stdout, stderr, error messages, stack traces, and attachment files in-place, then forwards the clean data.

  2. After all testsonEnd awaits each inner reporter's onEnd (so the HTML reporter finishes writing its files first), then scrubs every text-based file in reportDir and re-encodes any base64-embedded ZIP trace archives found in index.html.

Scrubbed surfaces:

  • Real-time stdout / stderr stream chunks
  • stdout / stderr chunks in TestResult
  • Error messages and stack traces
  • Text-based attachment files (.html, .json, .txt, .log, .har, .md, .xml)
  • ZIP trace archives (.zip attachments)
  • All text-based files in reportDir after the run
  • Base64-embedded ZIPs inside reportDir/index.html

reportDir should match the outputFolder of your HTML reporter (or wherever Playwright writes its report). Defaults to 'playwright-report'. Set it explicitly if you use a custom path:

['@lidofinance/secret-guard-reporter', {
  sensitiveEnvKeys: ['WALLET_SECRET_PHRASE'],
  reportDir: 'my-custom-report',
  reporters: [['html', { outputFolder: 'my-custom-report' }]],
}]

Safety: Values shorter than 5 characters are ignored to avoid false positives.

License

MIT