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

deltalinse

v1.0.0

Published

The Git Diff for Test Results. See exactly what changed in your tests in seconds. No server. No config.

Readme

🔍 DeltaLinse

Build Status npm version npm downloads License: MIT Node.js Version

🎯 Like Git Diff, but for Test Results

See exactly what changed in your tests between two runs. In seconds. In a single HTML file. Zero setup.


The Problem: Test Result Blindness 🤔

You've just merged a pull request. CI runs. Tests pass/fail. You get an email notification. Then... what?

❌ Old Way: The Dashboard Hunting Game

❌ 150 tests ran - which ones matter?
❌ 8 failed - are these NEW failures?
❌ Were any tests FIXED in this PR?
❌ Is test X flaky or legitimately broken?
❌ Are tests slower than yesterday?
❌ Why are these 3 failures similar?
❌ Time spent: 15+ minutes
❌ Clarity: Confused

✅ New Way: DeltaLinse - Instant Clarity

✅ Compare two test runs in ONE command
✅ NEW failures highlighted in RED
✅ FIXED tests highlighted in GREEN  
✅ FLAKY tests marked immediately
✅ SIMILAR failures grouped together
✅ PERFORMANCE regressions flagged
✅ Time spent: 30 seconds
✅ Clarity: Crystal clear

Think of it this way:

| Traditional Tools | DeltaLinse | |---|---| | Git: Shows entire repo | Git Diff: Shows only changes ✨ | | Test Dashboards: Show all results | DeltaLinse: Show only changes ✨ |


Why This Tool Exists

The Real Problem We Solve

Dashboards show you EVERYTHING. DeltaLinse shows you what CHANGED.

When your CI runs tests:

  • Dashboard says: "150 total tests, 148 passed, 2 failed"
  • DeltaLinse answers: "Were those 2 failures NEW? Were any old failures FIXED? Are they FLAKY?"

Why Your Team Needs This

Your team doesn't care about all test results. Your team cares about:

  • ✅ "Did I break anything new?"
  • ✅ "Did I fix something?"
  • ✅ "Is this a real failure or flaky?"
  • ✅ "Are tests running slower?"

Existing tools miss this entirely.


How We're Different

How We're Different

🚀 vs. Test Dashboards (Allure, Kiln, TestNG)

Dashboard: "Here are 500 test results arranged nicely."
DeltaLinse: "Here are the differences. Focus on what changed." ✨

🚀 vs. CI Platforms (Jenkins, GitHub Actions)

CI Platform: "Your build passed/failed. Check the logs."
DeltaLinse: "Here's what CHANGED in test results between builds." ✨

🚀 vs. Metrics Tools (Grafana, Prometheus)

Metrics: "Test counts over the last 30 days."
DeltaLinse: "What changed THIS run vs LAST run?" ✨

🚀 vs. Log Aggregators (ELK, Splunk)

Aggregator: "Search through millions of test logs manually."
DeltaLinse: "Failures grouped by similarity. Your answers ready." ✨


What You Get

🎯 Automatic Regression Highlighting

Instantly see what changed:

✅ FIXED:        3 tests (were failing, now passing) - GREEN
🔴 NEW FAILURES: 5 tests (were passing, now failing) - RED
⚠️  FLAKY:       2 tests (unstable, fail/pass varies) - YELLOW
🐢 SLOW:         7 tests (now >20% slower) - ORANGE
🔗 GROUPED:      Similar failures clustered by cause

📊 Interactive Heatmap

Visual test suite health at a glance:

  • Color gradient from red (0% pass rate) to green (100% pass rate)
  • Shows top 15 test suites by health status
  • Hover for detailed pass/fail counts
  • Instantly spot failures in your test matrix

💾 Single HTML File

Everything embedded - nothing external needed:

  • ✅ CSS styling (no stylesheets)
  • ✅ JavaScript interactivity (works offline)
  • ✅ JSON data (all comparisons)
  • ✅ Heatmap visualization
  • ✅ Share via Slack, Email, S3, or Comments

🔗 Failure Clustering

Similar failures grouped together:

  • Groups by error message similarity (Levenshtein distance)
  • Identifies patterns across failures
  • Help you spot root causes faster

⚡ Zero Configuration

# That's literally it
deltalinse old_results.xml new_results.xml

No YAML files. No databases. No servers. No authentication.

💬 PR Comment Ready

Generate markdown for pull requests instantly:

deltalinse old_results.xml new_results.xml --pr-comment

Real-World Use Cases

Use Case 1: Pull Request Testing

Scenario: You just opened a PR with 50 test changes.

Old way:

  • CI dashboard shows 142/150 passing
  • You have no idea which tests changed status
  • You check logs manually (30 minutes)

With DeltaLinse:

deltalinse main-tests.xml feature-tests.xml
# Instant report shows:
# 🟢 5 tests FIXED
# 🔴 2 tests BROKE (investigate!)
# 🟡 1 test is FLAKY

Use Case 2: Performance Regression Detection

Scenario: Tests running slowly but you don't know which ones.

deltalinse baseline.xml current.xml
# Report highlights tests now >20% slower
# Helps catch performance regressions early

Use Case 3: Flaky Test Isolation

Scenario: "Is test X legitimately broken or just flaky?"

deltalinse yesterday-tests.xml today-tests.xml
# 🟡 Test marked as FLAKY if it fails sometimes, passes sometimes
# Ready to isolate and fix

Use Case 4: Release Verification

Scenario: "Did we break anything from the last version?"

deltalinse v1.0.0-tests.xml v1.1.0-tests.xml
# Compare test results between versions
# Ensure zero regressions before shipping

Installation

⚡ Quick Start (Global)

⚡ Quick Start (Global)

npm install -g deltalinse
deltalinse old_results.xml new_results.xml
# ✅ Opens report.html automatically

📦 Other Installation Methods

Local to Project (Recommended for CI)

npm install --save-dev deltalinse
npx deltalinse old_results.xml new_results.xml

Via npx (No Install Needed)

npx deltalinse old_results.xml new_results.xml

From GitHub Releases Download directly: github.com/iakshayubale/deltalinse/releases


Usage

Usage

# Basic usage
deltalinse old_results.xml new_results.xml

# Custom output file
deltalinse old_results.xml new_results.xml --output my-report.html

# Generate PR comment markdown
deltalinse old_results.xml new_results.xml --pr-comment

# Custom slow threshold (default: 20% slower)
deltalinse old_results.xml new_results.xml --threshold 30

Supported Formats

JUnit XML (Standard format from most CI systems)

Compatible with:

  • Jest
  • Pytest
  • Maven Surefire
  • Gradle Test Reports
  • GitHub Actions
  • GitLab CI
  • Jenkins
  • CircleCI
  • Azure DevOps

CI/CD Integration Examples

GitHub Actions

- name: Generate test report diff
  if: always()
  run: npx deltalinse old_results.xml new_results.xml --pr-comment

GitLab CI

test_report_diff:
  script:
    - npx deltalinse old_results.xml new_results.xml --pr-comment
  artifacts:
    paths:
      - report.html

Jenkins

stage('Test Report') {
  steps {
    sh 'npx deltalinse old.xml new.xml'
  }
}

Why Teams Choose DeltaLinse

Developers: Instant clarity on what your changes broke
QA: See exactly which tests regressed
CI/CD: Integrate in 30 seconds, zero config
Release Mgmt: Verify zero regressions before shipping
Team Leads: Beautiful reports to share


The Philosophy

Every dashboard tries to SHOW MORE.

DeltaLinse shows what CHANGED.

Just like git diff changed how we review code, DeltaLinse changes how we review test results.


Key Features

| | | |---|---| | 🎯 Regression Detection | See pass→fail instantly | | ✅ Fix Detection | See fail→pass with green | | ⚠️ Flaky Tests | Identify unstable tests | | 🐢 Performance Analysis | Find >20% slower tests | | 🔗 Error Clustering | Group similar failures | | 📊 Heatmap | Color-coded test health | | 💬 PR Comments | Ready-made markdown | | 📁 Single File | No server needed | | ⚡ Zero Config | Works out of the box | | 🔒 Private | Runs locally |


Contributing

We welcome contributions! See CONTRIBUTING.md for guidelines.

Want to help?

  • Report bugs
  • Suggest features
  • Improve documentation
  • Add format support
  • Optimize performance

Resources


License

MIT © 2026 - Free for commercial and personal use


Made with ❤️ for teams who care about test quality

DeltaLinse: The Git Diff for Test Results