@digidem/extract-react-intl
v0.10.0
Published
Extract react-intl messages
Downloads
12
Readme
extract-react-intl
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💻 📖 ⚠️ 🚇 | nodaguti💻 ⚠️ | fix-fix💻 | enrique-ramirez📖 | bradbarrow🐛 💻 ⚠️ | <img src="https://avatars1.githubusercontent.com/u/4540538?v=4" width="100px;" alt="Filip "Filson" Pasternak"/>Filip "Filson" Pasternak💻 | Gregor MacLennan💻 | | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
This project follows the all-contributors specification. Contributions of any kind welcome!
License
MIT © akameco