Skip to content

Update dependency purgecss-webpack-plugin to v4 (develop)

This MR contains the following updates:

Package Type Update Change
purgecss-webpack-plugin (source) devDependencies major 1.6.0 -> 4.1.3

Release Notes

FullHuman/purgecss

v4.1.3

Compare Source

v4.1.2

Compare Source

v4.1.1

Compare Source

v4.1.0

Compare Source

Bug Fixes
Features

v4.0.3

Compare Source

Features
  • add dynamic attributes option (9b0fdc3), closes #​588
  • add skippedContentGlobs option to webpack and gulp plugin (e3dce1a)

v4.0.2

Compare Source

v4.0.1

Compare Source

Bug Fixes
  • attribute selector with spaces being removed (418dc7e), closes #​392
  • webpack plugin option blocklist types (5b029c2)
Features

v4.0.0

Compare Source

Bug Fixes
  • test: webpack test type error (c41ad27)
Features
BREAKING CHANGES

v3.1.3

Compare Source

Changes
  • postcss-purgecss remove postcss 8 as peer dependency
  • purgecss-webpack-plugin fix backward compatibility with webpack 4
  • PurgeCSS Update to PostCSS 8
  • postcss-purgecss Add compatibility with PostCSS 8
  • purgecss-webpack-plugin Fix deprecation warning with Webpack 5
Bug Fixes

v3.1.2

Compare Source

v3.1.1

Compare Source

v3.1.0

Compare Source

v3.0.0

Compare Source

3.0.0

Simplifying whitelist option

Whitelist started as a simple option named whitelist but grew up with the different use-cases and needs that appear with time. Another option called whitelistPatterns appeared, then whitelistPatternsChildren, … It is now more complex and complicated, and somewhat difficult to remember how to use it with different options.

To summarize the changes, the whitelist options are now grouped in one option called safelist. And the most used options can be defined in one array.

Two forms are available. The simple form is:

safelist: ['invisibleClass', /^nav-/]

In this form, safelist is an array that can take a string or a regex.

The complex form is:

safelist: {
 standard: ['invisibleClass', /^nav-/],
 deep: [],
 greedy: [],
 keyframes: [],
 variables: []
}

In this form, safelist is an object taking optional properties: standard is the same as the simple form and replaces whitelist and whitelistPatterns deep replaces whitelistPatternsChildren greedy is a new option coming from https://github.com/FullHuman/purgecss/pull/424 keyframes can be used to add keyframes to the safelist, when using keyframes: true (https://github.com/FullHuman/purgecss/issues/418) variables can be used to add CSS variables to the safelist, when using variables: true

New Option: Blocklist

Blocklist will block the CSS selectors from appearing in the final output CSS. The selectors will be removed even when they are seen as used by PurgeCSS.

blocklist: ['usedClass', /^nav-/]

Even if nav-links and usedClass are found in your content files (HTML, Javascript), they will be removed.

CLI

PurgeCSS is using commander.js for its CLI. The recent version of commander.js introduced the possibility of making an option variadic. This means when specifying multiple option arguments, the parsed option value will be an array. A few options are now taking advantage of this new feature: content, css, and the newly introduced option safelist and blocklist. It is no longer necessary to separate the list items with a comma.

From changelog:
  • CLI: add blocklist option (3961afb)
  • add blocklist option (04223f7)
  • add safelist option, replace whitelist
  • add safelist keyframes and css variables (dc59d30), closes #​418 #​439

v2.3.0

Compare Source

v2.2.0

Compare Source

v2.1.2

Compare Source

v2.1.0

Compare Source

v2.0.6

Compare Source

v2.0.5

Compare Source

Changes:

  • Asynchronous
import PurgeCSS from "purgecss";

const purgecssResults = await new PurgeCSS().purge({
    // options
});
  • Extractor is a function
content => content.match(/[\w-/:]+(?<!:)/g) || []
  • variables option to remove unused CSS variables
  • Drop support of NodeJS < 8

v2.0.4

Compare Source

v2.0.3

Compare Source


Configuration

📅 Schedule: At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about this update again.


  • If you want to rebase/retry this MR, click this checkbox.

This MR has been generated by Renovate Bot.

Merge request reports