@digidem/extract-react-intl

0.10.0 • Public • Published

extract-react-intl

Build Status tested with jest styled with prettier All Contributors

This package allows you to extract all messages from a glob. It will return an object with a key for each locale you pass, which in turn contains an object with the ids of each message defined by the defineMessages function of react-intl. The value of each of these keys will be an empty string, except for your defaultLocale which will be populated with the defaultMessage.

Install

$ yarn add --dev extract-react-intl

Usage

const extractReactIntl = require('extract-react-intl')

const pattern = 'app/**/*.js'
const locales = ['en', 'ja']

extractReactIntl(locales, pattern).then(result => {
  console.log(result)
  /*
{
  en:
   { 'components/App/hello': 'hello',
     'components/App/welcome': 'welcome to extract-react-intl' }
  ja:
   { 'components/App/hello': '',
     'components/App/world': '' }
}
  */
})

API

extractReactIntl(locales, pattern, [options])

Return a Promise wrapped extracted messages.

locales

Type: Array<string>

Example: ['en', 'ja']

pattern

Type: string

File path with glob.

options

Additional options.

defaultLocale

Type: string
Default: en

Set default locale for your app.

moduleSourceName

Type: string
Example: ./path/to/module
Default: react-intl

The ES6 module source name of the React Intl package. Defines from where defineMessages, <FormattedMessage /> and <FormattedHTMLMessage /> are imported.

descriptions

Type: boolean
Default: false

Includes message descriptions in the returned object. Each message id property will be an object with properties message and description instead of a message string e.g.

const extractReactIntl = require('extract-react-intl')

const pattern = 'app/**/*.js'
const locales = ['en', 'ja']

extractReactIntl(locales, pattern).then(result => {
  console.log(result)
  /*
{
  en: {
    'components/App/hello': {
      message: 'hello',
      description: 'hello message description'
    },
    'components/App/welcome': {
      message: 'welcome to extract-react-intl',
      description: 'welcome message description
    }
  },
  ja: {
    'components/App/hello': {
      message: '',
      description: 'hello message description'
    },
    'components/App/welcome': {
      message: '',
      description: 'welcome message description
    }
  }
}
  */
})
cwd

Type: string
Default: .

You most likely don't need this.

Change run path.

Contributors

Thanks goes to these wonderful people (emoji key):

akameco
akameco

💻 📖 ⚠️ 🚇
nodaguti
nodaguti

💻 ⚠️
fix-fix
fix-fix

💻
enrique-ramirez
enrique-ramirez

📖
bradbarrow
bradbarrow

🐛 💻 ⚠️
<img src="https://avatars1.githubusercontent.com/u/4540538?v=4" width="100px;" alt="Filip "Filson" Pasternak"/>
Filip "Filson" Pasternak

💻
Gregor MacLennan
Gregor MacLennan

💻

This project follows the all-contributors specification. Contributions of any kind welcome!

License

MIT © akameco

Package Sidebar

Install

npm i @digidem/extract-react-intl

Weekly Downloads

8

Version

0.10.0

License

MIT

Unpacked Size

12.1 kB

Total Files

5

Last publish

Collaborators

  • andrew_chou
  • substack
  • karissa
  • digidem-admin
  • gmaclennan
  • noffle