What is rollup-plugin-postcss?
rollup-plugin-postcss is a Rollup plugin that allows you to import and process CSS files with PostCSS. It supports various PostCSS plugins, CSS modules, and can even extract CSS into separate files.
What are rollup-plugin-postcss's main functionalities?
Importing CSS
This feature allows you to import CSS files directly into your JavaScript or TypeScript files. The imported styles can then be used within your components.
import styles from './styles.css';
Using PostCSS Plugins
This feature allows you to use PostCSS plugins like autoprefixer to process your CSS. The example demonstrates how to configure the plugin to use autoprefixer.
import postcss from 'rollup-plugin-postcss';
import autoprefixer from 'autoprefixer';
export default {
input: 'src/index.js',
output: {
file: 'dist/bundle.js',
format: 'cjs'
},
plugins: [
postcss({
plugins: [
autoprefixer()
]
})
]
};
Extracting CSS
This feature allows you to extract CSS into a separate file instead of including it in the JavaScript bundle. The example shows how to configure the plugin to extract CSS.
import postcss from 'rollup-plugin-postcss';
export default {
input: 'src/index.js',
output: {
file: 'dist/bundle.js',
format: 'cjs'
},
plugins: [
postcss({
extract: true
})
]
};
CSS Modules
This feature allows you to use CSS Modules, which scope CSS by automatically creating unique class names. The example demonstrates how to enable CSS Modules in the plugin configuration.
import postcss from 'rollup-plugin-postcss';
export default {
input: 'src/index.js',
output: {
file: 'dist/bundle.js',
format: 'cjs'
},
plugins: [
postcss({
modules: true
})
]
};
Other packages similar to rollup-plugin-postcss
rollup-plugin-css-only
rollup-plugin-css-only is a Rollup plugin that allows you to import CSS files and extract them into a separate file. Unlike rollup-plugin-postcss, it does not support PostCSS plugins or CSS Modules.
rollup-plugin-sass
rollup-plugin-sass is a Rollup plugin that allows you to import and compile Sass/SCSS files. It supports extracting CSS into separate files and can be used in conjunction with PostCSS plugins. However, it is specifically designed for Sass/SCSS rather than general CSS processing.
rollup-plugin-styles
rollup-plugin-styles is a versatile Rollup plugin that supports importing and processing CSS, Sass, Less, and Stylus files. It also supports PostCSS plugins and CSS Modules, making it a more comprehensive solution compared to rollup-plugin-postcss.
rollup-plugin-postcss
Seamless integration between Rollup and PostCSS.
Usage
You are viewing the docs for v1.0
, for v0.5
please see here.
import postcss from 'rollup-plugin-postcss'
export default {
plugins: [
postcss()
]
}
postcss({
extract: true
})
CSS modules
postcss({
modules: true,
modules: {}
})
With Sass/Stylus/Less
First add relevant dependency:
yarn add node-sass --dev
Then enable it in the plugin:
postcss({
use: [
['sass', {}]
]
})
Options
inject
Type: boolean
object
Default: true
Inject CSS into <head>
, it's always false
when extract: true
.
You can also use it as options for style-inject
.
Type: boolean
Default: false
Extract CSS into its own file.
minimize
Type: boolean
object
Default: false
Minimize CSS, boolean
or options for cssnano
.
sourceMap
Type: boolean
"inline"
Enable sourceMap.
use
Type: name[]
[name, options][]
Use a loader, currently built-in loaders are:
sass
(Support .scss
and .sass
)stylus
(TODO)less
(TODO)
loaders
Type: Loader[]
An array of custom loaders.
interface Loader {
name: string,
test: RegExp,
process: (this: Context, input: Payload) => Promise<Payload> | Payload
}
interface Context {
options: any
sourceMap: any
id: string
}
interface Payload {
code: string
map?: string | SourceMap
}
License
MIT © EGOIST