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 🙏

© 2024 – Pkg Stats / Ryan Hefner

textlint-rule-terminology

v5.2.12

Published

TextLint rule to check correct terms spelling

Downloads

18,339

Readme

textlint-rule-terminology

textlint fixable rule npm Node.js CI status

Textlint rule to check and fix terms, brands and technologies spelling in your tech writing in English.

For example:

  • Javascript → JavaScript
  • NPM → npm
  • front-end → frontend
  • website → site
  • Internet → internet

(You can customize the rules as you wish.)

Installation

npm install textlint-rule-terminology

Usage

textlint --fix --rule terminology Readme.md

Configuration

You can configure the rule in your .textlintrc:

{
  "rules": {
    "terminology": {
      // Your options here
    }
  }
}

Read more about configuring textlint.

defaultTerms (default: true)

Whether to load the default replacements (terms). Example:

{
  "rules": {
    "terminology": {
      // Don't load default replacements
      "defaultTerms": false,
    }
  }
}

skip (default ['BlockQuote'])

Syntax elements to skip. By default skips blockquotes. Example:

{
  "rules": {
    "terminology": {
      // Don't check terms inside links
      "skip": ["Link"],
    }
  }
}

See all available element types.

terms

Additional replacements.

Could be an array of replacements:

{
  "rules": {
    "terminology": {
      // List of terms
      "terms": [
        // Exact spelling including the case
        "JavaScript",
        "ESLint",
        "Sass",
        "Less",
        "npm",
        // RegExp (case-insensitive) → replacement
        ["front[- ]end(\\w*)", "frontend$1"],
        ["back[- ]end(\\w*)", "backend$1"],
        ["web[- ]?site(s?)", "site$1"],
        ["hot[- ]key", "hotkey"],
        ["repo\\b", "repository"],
        ["CLI tool(s?)", "command line tool$1"],
        ["build system(s?)", "build tool$1"],
        ["id['’]?s", "IDs"],
        ["(\\w+[^.?!]\\)? )webpack", "$1webpack"],
        ["(\\w+[^.?!]\\)? )internet", "$internet"]
      ],
    }
  }
}

A path to a JSON file:

{
  "rules": {
    "terminology": {
      // Load terms from a file
      "terms": "~/terms.jsonc",
    }
  }
}

Or an npm module:

{
  "rules": {
    "terminology": {
      // Load terms from npm
      "terms": "@chucknorris/terms",
    }
  }
}

Check out the default replacements.

exclude

If you don’t like any of the default replacements, you can exclude them. For example, to exclude these entries:

// terms.jsonc
[
  'JavaScript',
  'API',
  ['V[ -]?S[ -]?Code', 'Visual Studio Code'],
  ['walk-through', 'walkthrough'],
  ['(?<![\\.-])css\\b', 'CSS']
];

You need to copy the exact entry (for array, just the first element) to the exclude option of the terminology rule in your Textlint config:

{
  "rules": {
    "terminology": {
      // Excludes terms
      "exclude": [
        // Simple replacements, the casing should match terms.jsonc entry
        "JavaScript",
        "API",
        // Complex replacements, put only the first array element exactly as
        // in terms.jsonc
        "V[ -]?S[ -]?Code",
        "walk-through",
        "(?<![\\.-])css\\b"
      ]
    }
  }
}

Tips & tricks

Use textlint-filter-rule-comments to disable terminology check for particular paragraphs:

<!-- textlint-disable terminology -->

Oh my javascript!

<!-- textlint-enable -->

Other textlint rules

Change log

The change log can be found on the Releases page.

Contributing

Bug fixes are welcome, but not new features. Please take a moment to review the contributing guidelines.

Sponsoring

This software has been developed with lots of coffee, buy me one more cup to keep it going.

Authors and license

Artem Sapegin and contributors.

MIT License, see the included License.md file. Also see the project status.