🚀 Essential PostCSS Plugins
Purpose : Future CSS features today
Features : Custom selectors, custom media queries, nesting
Use Case : Modern CSS syntax support
// postcss.config.js
module . exports = {
plugins : [
require ( "postcss-preset-env" ) ( {
stage : 1 , // Use stage 1-4 features
features : {
"nesting-rules" : true ,
"custom-properties" : true ,
} ,
} ) ,
] ,
} ;
Purpose : Sass-like variables
Syntax : $variable: value;
Use Case : Variable management
$primary- color : # 667eea;
$font- size: 16px;
.button {
color: $primary- color ;
font- size: $font- size;
}
Purpose : CSS imports
Syntax : @import "./file.css";
Use Case : Modular CSS
Purpose : Vendor prefixes
Features : Automatic prefixing
Use Case : Browser compatibility
Purpose : CSS minification
Features : Remove whitespace, optimize code
Use Case : Production builds
Purpose : Remove unused CSS
Features : HTML-based CSS purging
Use Case : Bundle size optimization
Purpose : Nested CSS syntax
Syntax : Sass-like nesting
Use Case : Better organization
.container {
.header {
color : blue;
& : hover {
color : red;
}
}
}
Purpose : Placeholder selectors
Syntax : @extend .class;
Use Case : Code reuse
Purpose : CSS linting
Features : Code quality checks
Use Case : Code consistency
Purpose : BEM methodology
Features : Naming convention checks
Use Case : BEM compliance
postcss-preset-env - Future CSS
postcss-simple-vars - Variables
postcss-nested - Nesting
postcss-mixins - Mixins
postcss-import - CSS imports
postcss-modules - CSS modules
postcss-extend - Extends
cssnano - Minification
postcss-uncss - Unused CSS removal
postcss-purgecss - CSS purging
autoprefixer - Vendor prefixes
postcss-normalize - CSS normalization
postcss-flexbugs-fixes - Flexbox fixes
postcss-reporter - Error reporting
postcss-browser-reporter - Browser errors
postcss-inline-svg - SVG inline
plugins: [
require ( "postcss-preset-env" ) ( { stage : 1 } ) ,
require ( "postcss-simple-vars" ) ,
require ( "postcss-nested" ) ,
require ( "autoprefixer" ) ,
require ( "cssnano" ) ,
] ;
plugins: [
require ( "postcss-preset-env" ) ( {
stage : 3 , // More stable features
browsers : [ "> 1%" , "IE 11" ] ,
} ) ,
require ( "autoprefixer" ) ,
require ( "postcss-flexbugs-fixes" ) ,
] ;
plugins: [
require ( "postcss-import" ) ,
require ( "postcss-uncss" ) ( {
html : [ "src/**/*.html" ] ,
} ) ,
require ( "cssnano" ) ( { preset : "advanced" } ) ,
] ;
plugins: [
require ( "postcss-modules" ) ,
require ( "postcss-simple-vars" ) ,
require ( "postcss-nested" ) ,
require ( "postcss-extend" ) ,
require ( "stylelint" ) ( ) ,
] ;