Skip to content

steveblue/rollup-plugin-inline-postcss

Repository files navigation

rollup-plugin-inline-postcss

Rollup plugin that transforms inline styling with PostCSS

Install

npm i rollup-plugin-inline-postcss --save-dev

Usage

import resolve from 'rollup-plugin-node-resolve';
import inlinePostCSS from 'rollup-plugin-inline-postcss';

export default {
        input: 'src/main.js',
        plugins: [
            resolve(),
            inlinePostCSS()
        ]
    }

Options

Property Description
include Files to include
exclude Files to exclude
styleRegex Regex for selecting CSS in file

Template Literals in JavaScript

This plugin by default looks for a template literal in JavaScript (or TypeScript) and will process CSS found inside of the string. This is particularly useful for Web Components or other CSS in JavaScript situations. The default pattern is below. The regex can be configured by passing the styleRegex property in the plugin options.

css`
  :host {
    display: block;
    background: rgba(24, 24, 24, 1);
    width: 200px;
    height: 200px;
    color: white;
    padding: 1em;
    border-radius: 8px;
  }
`

The default regex for selecting this template literal is:

/css\`((?:\\.|[^"\\])*)\`/g

Config

This plugin honors postcss.config.js in the root directory and will look for environment variables based on the current NODE_ENV. The example postcss.config.js below demonstrates minifying CSS with the postcss-csso plugin only when the NODE_ENV is set to prod.

module.exports = ctx => ({
  plugins: {
    'postcss-csso': ctx.env === 'prod' ? {} : false
  }
})

About

Rollup plugin that transforms inline styling with PostCSS

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •