Optimisations
What are optimisations?
An optimisation is a module that performs a transform on some CSS code in order to reduce its size, or failing this, the final gzip size of the CSS. Each optimisation is performed by either one module or a few modules working together.
Due to the nature of dividing cssnano's responsibilities across several modules, there will be some cases where using a transform standalone will not produce the most optimal output. For example, postcss-colormin will not trim whitespace inside color functions as this is handled by postcss-normalize-whitespace.
What optimisations do you support?
The optimisations are different depending on which preset cssnano is configured with; with the default preset, we offer safe transforms only.
Optimisation | default | advanced | lite |
---|---|---|---|
autoprefixer | ❌ | ✅ | ❌ |
cssDeclarationSorter | ✅ | ✅ | ❌ |
calc | ✅ | ✅ | ❌ |
colormin | ✅ | ✅ | ❌ |
convertValues | ✅ | ✅ | ❌ |
discardComments | ✅ | ✅ | ✅ |
discardDuplicates | ✅ | ✅ | ❌ |
discardEmpty | ✅ | ✅ | ✅ |
discardOverridden | ✅ | ✅ | ❌ |
discardUnused | ❌ | ✅ | ❌ |
mergeIdents | ❌ | ✅ | ❌ |
mergeLonghand | ✅ | ✅ | ❌ |
mergeRules | ✅ | ✅ | ❌ |
minifyFontValues | ✅ | ✅ | ❌ |
minifyGradients | ✅ | ✅ | ❌ |
minifyParams | ✅ | ✅ | ❌ |
minifySelectors | ✅ | ✅ | ❌ |
normalizeCharset | ✅ | ✅ | ❌ |
normalizeDisplayValues | ✅ | ✅ | ❌ |
normalizePositions | ✅ | ✅ | ❌ |
normalizeRepeatStyle | ✅ | ✅ | ❌ |
normalizeString | ✅ | ✅ | ❌ |
normalizeTimingFunctions | ✅ | ✅ | ❌ |
normalizeUnicode | ✅ | ✅ | ❌ |
normalizeUrl | ✅ | ✅ | ❌ |
normalizeWhitespace | ✅ | ✅ | ✅ |
orderedValues | ✅ | ✅ | ❌ |
reduceIdents | ❌ | ✅ | ❌ |
reduceInitial | ✅ | ✅ | ❌ |
reduceTransforms | ✅ | ✅ | ❌ |
svgo | ✅ | ✅ | ❌ |
uniqueSelectors | ✅ | ✅ | ❌ |
zindex | ❌ | ✅ | ❌ |
You can read more about presets in our presets guide.
Last updated on Wed, 05 Jun 2024 10:27:34 GMT