- This package has now been deprecated.
Babel preset for Willis Towers Watson Individual Marketplace
$ npm install --save-dev babel-preset-wtw-im
{
"presets": ["wtw-im"]
}
$ 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
{
"presets": [["wtw-im", { "react": false }]]
}
For more information on available options, please refer to the babel-preset-env documentation.
{
"presets": [["wtw-im", {
"env": {
"targets": { "browsers": "IE11" }
}
}]]
}
require("babel-core").transform("code", {
presets: [ ["wtw-im", {
env: {
targets: { browsers: "IE11" }
}
}] ]
});
The extract-format-message plugin writes
to locales/en.json
using the default id generator.
{
"presets": [["wtw-im", {
"extractFormatMessage": {
"generateId": "literal",
"outFile": "my/locales/path.json"
}
}] ]
}
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
}]]
}
The transform-format-message plugin will not inline the text by default. Modify this as translations are introduced
{
"presets": [ ["wtw-im", {
"transformFormatMessage": {
"inline": true
}
}] ]
}
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
}]]
}
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.
{
"presets": [ ["wtw-im", {
"styledComponents": {
"ssr": true,
"displayName": true
}
}] ]
}
require("babel-core").transform("code", {
presets: [ ["wtw-im", {
styledComponents: {
ssr: true,
displayName: true
}
}] ]
})
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.