axept / babel-plugin-transform-prejss

Transform PreJSS constructions to plain JSS objects
https://github.com/axept/prejss
MIT License
0 stars 0 forks source link
babel babel-plugin css css-in-js jss prejss

babel-plugin-transform-prejss

Travis branch npm version npm downloads npm license

Babel plugin which turns PreJSS constructions into JSS objects.

Example

In

const button = ({selector}) => preJSS`
  button {
    color: ${props => props.disabled ? 'grey' : 'red'};
    width: 200px;
    height: 70px;
    &:hover {
      text-decoration: underline;
    }
  }
`

Out

var button = function button(_ref) {
  var selector = _ref.selector;
  return {
    'button': {
      'color': function color(props) {
        return props.disabled ? 'grey' : 'red';
      },
      'width': '200px',
      'height': '70px',
      '&:hover': {
        'textDecoration': 'underline'
      }
    }
  };
};

See more details here: https://github.com/axept/prejss

Installation

npm install babel-plugin-transform-prejss --save-dev

Usage

Options

Via .babelrc (Recommended)

.babelrc

{
  "plugins": ["transform-prejss"]
}

Via CLI

babel --plugins transform-prejss script.js

Via Node API

require("babel-core").transform("code", {
  plugins: ["transform-prejss"]
});