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

insomnia-plugin-collection-linter

v1.1.0

Published

Desktop-verified local-only Insomnia workspace/current-request linting with fix-priority report ordering, export diagnostics, quality score, risky URL checks, and redacted reports.

Readme

insomnia-plugin-collection-linter

npm version license: MIT

Local-only workspace linting for Insomnia. v1.1.0 adds a Fix Priority section that orders the most important cleanup actions before the full findings table.

Collection Linter exports a redacted Markdown report for duplicate names, risky URLs, auth query strings, empty bodies, production mutations, and environment hygiene issues.

Why

Insomnia workspaces grow messy over time: duplicate request names, copied prod URLs in dev folders, auth tokens in query strings, empty mutation bodies, and inconsistent environments.

This plugin gives teams a local hygiene report without sending workspace data anywhere.

Features

  • Adds a 0–100 workspace quality score
  • Adds a Fix Priority section that ranks the highest-impact fixes before the full table
  • Adds actionable remediation guidance for every finding
  • Adds clearer export diagnostics/current-request fallback for Insomnia menu actions that do not expose full workspace resources
  • Detects duplicate request/folder/environment names
  • Detects duplicate method + host + path routes
  • Flags auth-like query parameters: api_key, access_token, client_secret, token
  • Flags destructive methods targeting production-like hosts
  • Flags development-looking request names pointing at production hosts
  • Flags invalid/missing URLs
  • Flags empty mutation bodies
  • Flags environments with no obvious base URL/host key
  • Redacts secret-like values in reports
  • No cloud
  • No telemetry
  • No backend
  • No dependencies

Install

From Insomnia:

  1. Open Preferences
  2. Go to Plugins
  3. Enter:
insomnia-plugin-collection-linter
  1. Click Install Plugin

Manual local install:

cd "$HOME/Library/Application Support/Insomnia/plugins"
npm install insomnia-plugin-collection-linter

Linux plugin path:

~/.config/Insomnia/plugins/

Windows plugin path:

%APPDATA%\Insomnia\plugins\

Usage

Open an action menu in Insomnia and run:

Collection Linter: Export Report

The action is exposed through:

  • workspaceActions
  • requestGroupActions
  • requestActions

In Insomnia 13, this may appear in the New Request dropdown or request/folder action menus.

Example report

# Insomnia Collection Linter Report

Generated: 2026-07-28T00:00:00.000Z

Local-only report. Secrets are redacted.

## Summary

- High: 2
- Medium: 3
- Low: 4

## Fix Priority

1. [high] Move auth material from query string to Authorization headers or private environment variables.
   - Finding: query-auth at $.resources[0].url
   - Preview: api_key=reda…alue

## Findings

| Severity | Type | Location | Message | Preview | Fix |
|---|---|---|---|---|---|
| high | query-auth | $.resources[0].url | Auth-like value in query string | api_key=reda…alue |
| medium | duplicate-route | workspace.requests | Duplicate method+host+path route | get api.example.com/users (2) |

What it catches

High

  • auth-like values in query strings
  • secret-looking values in workspace export
  • destructive methods against production-like hosts

Medium

  • invalid URLs
  • missing URLs
  • duplicate method + host + path routes
  • dev/test request names pointing at production-like hosts

Low

  • duplicate names
  • empty mutation bodies
  • environments missing obvious base URL/host keys
  • many distinct hosts in one workspace
  • risky-sounding requests with no description

Privacy

Collection Linter is local-only.

  • It does not call a backend.
  • It does not use analytics.
  • It does not need credentials.
  • It exports with includePrivate: false.
  • It writes a local Markdown file.
  • It redacts secret-like values before writing the report.

Desktop verification

Verified in Insomnia Desktop on macOS:

  • plugin action appears and runs
  • report exports to Desktop
  • quality score drops below 100 on risky current request
  • detects query-auth, prod-mutation, and env-name-mismatch
  • raw test secret is redacted
  • notes export-scope-empty when Insomnia exposes current-request fallback instead of full workspace resources

Development

git clone https://github.com/oliviajohns5/insomnia-plugin-collection-linter.git
cd insomnia-plugin-collection-linter
npm test
npm run test:packaged
npm pack --dry-run

Verified QA

  • node --check main.js
  • node --check test.js
  • node --check real-insomnia-packaged-test.js
  • node --check qa-packaged.js
  • npm test
  • npm run test:packaged
  • npm pack --dry-run
  • isolated tarball install
  • package metadata validation
  • credential literal scan

Requirements

  • Insomnia
  • Node.js/npm only for development or publishing

License

MIT