1.1.1 ā€¢ Published 3 years ago

@kporten/intl-message-check v1.1.1

Weekly downloads
14
License
MIT
Repository
github
Last release
3 years ago

intl-message-check

This CLI tool can help you detect missing or unused react-intl messages (https://formatjs.io/docs/react-intl/api#formatmessage).

Run npx @kporten/intl-message-check in your JavaScript or TypeScript project to check your message definitions.

Requirements

  • Node.js LTS 14.x

Modes

  • Find missing -> Messages used in the code but not defined in the definition.
  • Find unused -> Messages not used in the code, but defined in the definition.

Example to find missing messages

Your JSON file with intl message definitions

{
  "language": "Language",
  "menu": "Menu",
  "notfound.back": "Back"
}

Your JS(X) or TS(X) code with formatMessage()

<div>{intl.formatMessage({ id: 'message' })}</div>

or

<div>
  {condition
    ? intl.formatMessage({ id: 'message1' })
    : intl.formatMessage({ id: 'message2' })}
</div>

or

<div>
  {intl.formatMessage(
    condition
      ? { id: 'message1' }
      : { id: 'message2' },
  )}
</div>

Run the tool

npx @kporten/intl-message-check
[1/3] What kind of messages do you want to find?

Find missing

[2/3] Please enter the path to your JS/TS project directory:

/path/to/your/project
āœ“ Path is valid

[3/3] Please enter the path to your JSON file with message definitions:

/path/to/your/project/src/i18n/en.json

languages.de
languages.en

Now you know that you should add the two missing messages to your definition file.

Note: Currently only static message IDs will be supported (id property and message string must be in the same line).


MIT License

Copyright (c) 2020 Kevin Porten