react-intl-flatten-webpack-plugin
v1.0.1
Published
Flattens internationalization messages generated from the react-intl-aggregate-webpack-plugin for use in react-intl v2
Downloads
487
Readme
react-intl-flatten-webpack-plugin
Small webpack plugin designed to take a set of json files that look like:
{
"translation-id" : {
"defaultMessage" : "I am a message",
"description" : "I am a description that helps translators"
}
}
and convert them to this:
{
"translation-id" : "I am a message"
}
Meant to be used in sequence with react-intl-aggregate-webpack-plugin
.
Installation
$ npm install react-intl-flatten-webpack-plugin
Usage
In your webpack config file:
var ReactIntlFlattenPlugin = require('react-intl-flatten-webpack-plugin');
var I18N_DIR = './some/i18n/directory/';
var PUBLIC_DIR = './some/public/directory/';
...
var config = {
...
output: {
path: PUBLIC_DIR
},
...
loaders: {
...
{
test: /\.json$/,
exclude: /node_modules/,
loader: 'json'
}
}
...
plugins: [
...
new ReactIntlFlattenPlugin({
aggregatePattern: I18N_DIR + '*.json',
langOutputDir: 'lang'
})
]
}
...
module.exports = config;
options
aggregatePattern
: The glob pattern used to retrieve the aggregate files for processing. Defaults to:../../i18n/aggregate/*.json
langOutputDir
: The target location where the plugin will output a.json
file of the same basename corresponding to each aggregate file processed. This is a subdirectory of the output.path defined in your webpack config. For example, iflangOutputDir
is set toi18n
andoutput.path
is set to/public/
, then the files will be output to/public/i18n
Defaults to:i18n
.