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

unused-i18n

v0.1.29

Published

Simplifies managing and cleaning up unused translation keys in localization files

Downloads

1,487

Readme

Unused i18n

Simplifies managing and cleaning up unused translation keys in localization files

Features

  • Analyzes source files to identify used and unused translation keys.
  • Supports multiple scoped translation functions.
  • Can display or remove unused translation keys.
  • Configurable through a JSON, CJS, or JS config file.

Installation

You can install unused-i18n via npm:

npm install -g unused-i18n

or

npm install -D unused-i18n

Configuration

Create a unused-i18n.config.json or unused-i18n.config.js file in the root of your project. Here's an example configuration:

module.exports = {
  paths: [
    {
      srcPath: ['src/pages/products'],
      localPath: 'src/pages/products/locales',
    },
  ],
  localesExtensions: 'ts',
  localesNames: 'en',
  scopedNames: ['scopedT', 'scopedTOne'],
  ignorePaths: ['src/pages/products/ignoreThisFolder'],
  excludeKey: ['someKey'],
}

| Option | Type | Default | Required | Description | | ------------------- | ---------------- | ------- | -------- | ---------------------------------------------------------------------------- | | paths | Array of Objects | [] | Yes | An array of objects defining the source paths and local paths to be checked. | | paths.srcPath | Array of Strings | [] | Yes | Source paths to search for translations. | | paths.localPath | Strings | "" | Yes | Path to the translation files. | | localesExtensions | String | js | No | Extension of the locale files. | | localesNames | String | en | No | Name of the locale files without the extension. | | scopedNames | Array of Strings | [] | No | Names of the scoped translation functions used in your project. | | ignorePaths | Array of Strings | [] | No | Paths to be ignored during the search. | | excludeKey | Array of Strings | [] | No | Specific translation keys to be excluded from the removal process. |

Usage

Using with Config File

To use unused-i18n with your config file, simply run:

npx unused-i18n display

Using with Command Line Options

You can also specify the source and local paths directly in the command line:

Display Unused Translations
npx unused-i18n display --srcPath="src/folders/bla" --localPath="src/folders/bla/locales"
Remove Unused Translations
npx unused-i18n remove --srcPath="src/folders/bla" --localPath="src/folders/bla/locales"

API

processTranslations(paths, action) Processes translations based on the specified paths and action.

  • paths: Array of objects containing srcPath and localPath.
  • action: Action to perform, either 'display' or 'remove'.

Development

Building the Project

To build the project, run:

npm run build

Running Tests

To run the tests, use:

npm run test

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributing

Contributions are welcome! Please open an issue or submit a pull request if you have any improvements or suggestions.

Acknowledgements

  • Vite - Next Generation Frontend Tooling.
  • TypeScript - Typed JavaScript used in this project.
  • Vitest - Testing framework used in this project.
  • Commander - Node.js command-line interfaces.