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

@guineadog/normalize-typography

v0.4.1

Published

CLI tool to replace non-standard typography (smart quotes, dashes) with standard ASCII equivalents

Readme

@guineadog/normalize-typography

A CLI tool to replace non-standard typography with standard ASCII equivalents. It targets common "smart" characters often introduced by word processors or copy-pasting from styled text.

https://www.npmjs.com/package/@guineadog/normalize-typography

What it fixes:

  • Dashes: Replaces (em dash), (en dash), , with -.
  • Double Quotes: Replaces and with ".
  • Single Quotes: Replaces and with '.

Installation

As a dev dependency (recommended)

It is best to install the tool locally in your project as a dev dependency:

npm install --save-dev @guineadog/normalize-typography

Why local?

  • Easy Automation: You can use the short alias nrm-tpgr or normalize-typography directly in your package.json scripts without needing npx.
  • Team Consistency: The tool is automatically installed for everyone on the team when they run npm install.
  • Version Control: Everyone uses the same version of the tool, preventing "works on my machine" issues.

Run without installation

You can run it directly using npx:

npx @guineadog/normalize-typography

Usage

If installed locally, you can add it to your package.json scripts:

{
  "scripts": {
    "nrm-tpgr": "normalize-typography",
    "nrm-tpgr:check": "nrm-tpgr -- --check"
  }
}

Then run it using your package manager:

npm run nrm-tpgr

Result:

🔍 Searching for non-standard typography (dashes, smart quotes)...
path/fixme.txt       ✅ Fixed
fixme.ts       ✅ Fixed
ok.ts

✅ Fixed:
path/fixme.txt
fixme.txt

CLI Options

You can use the full command normalize-typography or the shortened alias: nrm-tpgr.

Auto-fix everything (respects .gitignore and .prettierignore)

npx @guineadog/normalize-typography

Only check (lint mode)

npx @guineadog/normalize-typography --check

Result:

🔍 Searching for non-standard typography (dashes, smart quotes)...
path/fixme.txt       ❗ Warning: Non-standard typography found.
fixme.ts       ❗ Warning: Non-standard typography found.
ok.ts

❗ Warning: Non-standard typography found. Use "npx normalize-typography" to auto-fix it:
path/fixme.txt
fixme.txt

Specific files

npx @guineadog/normalize-typography src/index.js README.md

If you use lint-staged (https://www.npmjs.com/package/lint-staged)

Add to the lint-staged section in the root package.json. Note: nrm-tpgr alias should be added to the scripts section in the root package.json.

  1. To auto fix files that need to be committed:

      "lint-staged": {
        "*": [
          ...,
          "npm run nrm-tpgr"
        ],
      },
  2. To check for files that need to be committed (and to prevent committing if non-standard typography is present):

      "lint-staged": {
        "*": [
          ...,
          "npm run nrm-tpgr:check"
        ],
      },

Update

To update the tool to the latest version:

Local installation

npm install --save-dev @guineadog/normalize-typography@latest

Global installation

npm install -g @guineadog/normalize-typography@latest

Known issues

None.

Roadmap

  • Add config file (https://github.com/GuineaDog/GuineaDog/issues/4)
  • Add the line number and text of the line containing the non-standard typographic characters to be replaced (https://github.com/GuineaDog/GuineaDog/issues/18)

Changelog

See the CHANGELOG for a history of changes.

Contributing

Please refer to the CONTRIBUTING.md file for information on how to report bugs, suggest features, or submit pull requests.

License

This project is licensed under the MIT License.