Skip to content
This repository has been archived by the owner on Jul 25, 2022. It is now read-only.

im-archive/babel-preset-wtw-im

Repository files navigation

- This package has now been deprecated.

babel-preset-wtw-im

Build Status npm version dependencies Status devDependencies Status

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:

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.