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

reporeadmerewriter

v1.0.1

Published

tool that rewrites repo relative asset links ( Gitlab / Github ) to absolute. Can also remove / replace

Readme

RepoReadmeRewriter (npm)

RepoReadmeRewriter packages the existing .NET ReadmeRewriter CLI as an npm module so it can be driven directly from JavaScript tooling. It rewrites README content by turning repository-relative links and images into absolute URLs and offers several cleanup utilities that the underlying CLI already supports.

Prerequisites

  • Node.js (18 or newer recommended)
  • The .NET runtime available on your PATH (the CLI runs as dotnet ReadmeRewriterCLI.dll). You can verify with dotnet --info.

Installation

npm install --save-dev reporeadmerewriter

After installation you can invoke the binary with npm scripts, npx, or the per-project shim under node_modules/.bin/reporeadmerewriter.

Configuration and option resolution

RepoReadmeRewriter operates relative to the directory you execute it from (the .NET tool defaults to the current working directory). Relative paths for readme, output, config are resolved against that folder.

RepoReadmeRewriter resolves CLI arguments for you before spawning the .NET executable. Resolution happens in the following order:

  1. Look for a repoReadmeRewriter block inside the nearest package.json.
  2. If that block is missing we try repoReadmeRewriter.config.json next to the same package.json.

If neither source is found the command exits with an error explaining that no configuration was detected.

The configuration object maps directly to CLI switches. Each camelCase property becomes a --kebab-case flag when passed to the executable (for example repoUrl becomes --repo-url). Refer to reporeadmerewriter --help for the authoritative meaning of each option exposed by the .NET tool.

Minimal examples

package.json:

{
  "name": "example",
  "repoReadmeRewriter": {
    "repoUrl": "https://github.com/owner/repo",
    "ref": "main",
    "output": "OUTPUT.md"
  }
}

repoReadmeRewriter.config.json (same directory as package.json):

{
  "repoUrl": "https://github.com/owner/repo",
  "ref": "main",
  "output": "OUTPUT.md"
}

If repoUrl is omitted we fall back to the repository URL declared in your package.json repository field (GitHub or GitLab). Other Boolean or string properties in the configuration object are forwarded verbatim to the CLI.

Usage

Once your configuration is in place you can run:

npx reporeadmerewriter

Passing a help flag (--help, -h, -?, /h, or /?) bypasses configuration and shows the CLI's built-in help text.

npx reporeadmerewriter --help

Programmatic API

The default export mirrors the CLI entry point so you can invoke the bundled .NET executable yourself:

import repoRepoReadmeRewrite from "reporeadmerewriter";

// Launch the .NET CLI directly when you already have the final argv array
const exitCode = await repoRepoReadmeRewrite([
  "--repo-url",
  "https://github.com/owner/repo",
  "--output",
  "outputreadme.md",
]);

repoRepoReadmeRewrite simply executes the embedded .NET binary with whatever arguments you supply.

License

ISC © Tony Hallett