babel-preset-wtw-im
v2.5.0
Published
Babel preset for Willis Towers Watson Individual Marketplace
Downloads
1,110
Readme
babel-preset-wtw-im
Babel preset for Willis Towers Watson Individual Marketplace
Install
$ npm install --save-dev babel-preset-wtw-im
Usage
Via .babelrc
(Recommended)
.babelrc
{
"presets": ["wtw-im"]
}
Via CLI
$ babel script.js --presets wtw-im
The preset includes the following plugins and presets:
- babel-preset-react
- babel-preset-env
- babel-plugin-lodash
- babel-plugin-extract-format-message
- babel-plugin-transform-format-message
- babel-plugin-styled-components
The React preset is included by default, there is an option to turn it off
{
"presets": [["wtw-im", { "react": false }]]
}
babel-preset-env is included. To customize pass in your env options
For more information on available options, please refer to the babel-preset-env documentation.
.babelrc
{
"presets": [["wtw-im", {
"env": {
"targets": { "browsers": "IE11" }
}
}]]
}
Node API
require("babel-core").transform("code", {
presets: [ ["wtw-im", {
env: {
targets: { browsers: "IE11" }
}
}] ]
});
extract-format-message
The extract-format-message plugin writes
to locales/en.json
using the default id generator.
.babelrc
{
"presets": [["wtw-im", {
"extractFormatMessage": {
"generateId": "literal",
"outFile": "my/locales/path.json"
}
}] ]
}
Node API
require("babel-core").transform("code", {
presets: [ ["wtw-im", {
extractFormatMessage: {
generateId: message => messageId, // custom generator function
outFile: "my/locales/path.json"
}
}] ]
})
The plugin can be disabled by setting extractFormatMessage
to false
{
"presets": [["wtw-im", {
"extractFormatMessage": false
}]]
}
transform-format-message
The transform-format-message plugin will not inline the text by default. Modify this as translations are introduced
.babelrc
{
"presets": [ ["wtw-im", {
"transformFormatMessage": {
"inline": true
}
}] ]
}
Node API
require("babel-core").transform("code", {
presets: [ ["wtw-im", {
transformFormatMessage: {
generateId: message => messageId,
inline: true,
translations: require('path/to/translations'),
locale: 'es-US'
}
}] ]
})
The plugin can be disabled by setting transformFormatMessage
to false
{
"presets": [["wtw-im", {
"transformFormatMessage": false
}]]
}
babel-plugin-styled-components
The styled-components plugin provides support for better minification and style debugging. The default for this preset turns off server side rendering and using components' displayName in the generated class names. You can override this behavior as needed. Refer to the linked documentation for more information on the available options.
If your project does not use the styled-components
package this plugin will not be included with the preset.
.babelrc
{
"presets": [ ["wtw-im", {
"styledComponents": {
"ssr": true,
"displayName": true
}
}] ]
}
require("babel-core").transform("code", {
presets: [ ["wtw-im", {
styledComponents: {
ssr: true,
displayName: true
}
}] ]
})
code
Contributing
This package uses semantic-release
. Changes will be compiled into a changelog and the package versioned, tagged and published automatically.
Please ensure your commit messages adhere to the following structure:
<type>: <subject>
<BLANK LINE>
<body>
Only the header is mandatory. The supported types are based off of the ESLint Convention.