purgecss-webpack-plugin 5.0.0 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -6,6 +6,7 @@
6
6
  [Webpack](https://github.com/webpack/webpack) plugin to remove unused css.
7
7
 
8
8
  ## Install
9
+
9
10
  ```sh
10
11
  npm i purgecss-webpack-plugin -D
11
12
  ```
@@ -15,56 +16,56 @@ npm i purgecss-webpack-plugin -D
15
16
  ### With mini-css-extract-plugin
16
17
 
17
18
  ```js
18
- const path = require('path')
19
- const glob = require('glob')
20
- const MiniCssExtractPlugin = require('mini-css-extract-plugin')
21
- const PurgeCSSPlugin = require('purgecss-webpack-plugin')
19
+ const path = require("path");
20
+ const glob = require("glob");
21
+ const MiniCssExtractPlugin = require("mini-css-extract-plugin");
22
+ const { PurgeCSSPlugin } = require("purgecss-webpack-plugin");
22
23
 
23
24
  const PATHS = {
24
- src: path.join(__dirname, 'src')
25
- }
25
+ src: path.join(__dirname, "src"),
26
+ };
26
27
 
27
28
  module.exports = {
28
- entry: './src/index.js',
29
+ entry: "./src/index.js",
29
30
  output: {
30
- filename: 'bundle.js',
31
- path: path.join(__dirname, 'dist')
31
+ filename: "bundle.js",
32
+ path: path.join(__dirname, "dist"),
32
33
  },
33
34
  optimization: {
34
35
  splitChunks: {
35
36
  cacheGroups: {
36
37
  styles: {
37
- name: 'styles',
38
+ name: "styles",
38
39
  test: /\.css$/,
39
- chunks: 'all',
40
- enforce: true
41
- }
42
- }
43
- }
40
+ chunks: "all",
41
+ enforce: true,
42
+ },
43
+ },
44
+ },
44
45
  },
45
46
  module: {
46
47
  rules: [
47
48
  {
48
49
  test: /\.css$/,
49
- use: [
50
- MiniCssExtractPlugin.loader,
51
- "css-loader"
52
- ]
53
- }
54
- ]
50
+ use: [MiniCssExtractPlugin.loader, "css-loader"],
51
+ },
52
+ ],
55
53
  },
56
54
  plugins: [
57
55
  new MiniCssExtractPlugin({
58
56
  filename: "[name].css",
59
57
  }),
60
58
  new PurgeCSSPlugin({
61
- paths: glob.sync(`${PATHS.src}/**/*`, { nodir: true }),
59
+ paths: glob.sync(`${PATHS.src}/**/*`, { nodir: true }),
62
60
  }),
63
- ]
64
- }
61
+ ],
62
+ };
65
63
  ```
64
+
66
65
  ### Multiple paths
66
+
67
67
  If you need multiple paths use the npm package `glob-all` instead of `glob`, then you can use this syntax:
68
+
68
69
  ```javascript
69
70
  new PurgeCSSPlugin({
70
71
  paths: glob.sync([
@@ -72,67 +73,69 @@ new PurgeCSSPlugin({
72
73
  ])
73
74
  }),
74
75
  ```
76
+
75
77
  to filter out directories see the glob-all documentation [here](https://www.npmjs.com/package/glob-all#filtering-out-directories).
76
78
 
77
79
  ### Options
78
80
 
79
81
  The options available in purgecss [Configuration](https://www.purgecss.com/configuration.html) are also available in the webpack plugin with the exception of css and content.
80
82
 
81
- * #### paths
83
+ - #### paths
82
84
 
83
85
  With the webpack plugin, you can specify the content that should be analyzed by purgecss with an array of filename. It can be html, pug, blade, ... files. You can use a module like `glob` or `glob-all` to easily get a list of files.
84
86
 
85
87
  ```js
86
- const PurgeCSSPlugin = require('purgecss-webpack-plugin')
87
- const glob = require('glob')
88
+ const { PurgeCSSPlugin } = require("purgecss-webpack-plugin");
89
+ const glob = require("glob");
88
90
  const PATHS = {
89
- src: path.join(__dirname, 'src')
90
- }
91
+ src: path.join(__dirname, "src"),
92
+ };
91
93
 
92
94
  // In the webpack configuration
93
95
  new PurgeCSSPlugin({
94
- paths: glob.sync(`${PATHS.src}/**/*`, { nodir: true })
95
- })
96
+ paths: glob.sync(`${PATHS.src}/**/*`, { nodir: true }),
97
+ });
96
98
  ```
97
99
 
98
100
  If you want to regenerate the paths list on every compilation (e.g. with `--watch`), then you can also pass a function:
101
+
99
102
  ```js
100
103
  new PurgeCSSPlugin({
101
- paths: () => glob.sync(`${PATHS.src}/**/*`, { nodir: true })
102
- })
104
+ paths: () => glob.sync(`${PATHS.src}/**/*`, { nodir: true }),
105
+ });
103
106
  ```
104
107
 
105
- * #### only
108
+ - #### only
106
109
 
107
110
  You can specify entrypoints to the purgecss-webpack-plugin with the option only:
108
111
 
109
112
  ```js
110
113
  new PurgeCSSPlugin({
111
114
  paths: glob.sync(`${PATHS.src}/**/*`, { nodir: true }),
112
- only: ['bundle', 'vendor']
113
- })
115
+ only: ["bundle", "vendor"],
116
+ });
114
117
  ```
115
118
 
116
- * #### safelist
119
+ - #### safelist
117
120
 
118
121
  Similar as for the `paths` option, you also can define a function for this option:
119
122
 
120
123
  ```js
121
124
  function collectSafelist() {
122
125
  return {
123
- standard: ['safelisted', /^safelisted-/],
126
+ standard: ["safelisted", /^safelisted-/],
124
127
  deep: [/^safelisted-deep-/],
125
- greedy: [/^safelisted-greedy/]
126
- }
128
+ greedy: [/^safelisted-greedy/],
129
+ };
127
130
  }
128
131
 
129
132
  // In the webpack configuration
130
133
  new PurgeCSSPlugin({
131
- safelist: collectSafelist
132
- })
134
+ safelist: collectSafelist,
135
+ });
133
136
  ```
134
137
 
135
- * #### rejected
138
+ - #### rejected
136
139
 
137
140
  If `true` all removed selectors are added to the [Stats Data](https://webpack.js.org/api/stats/) as `purged`.
138
141
 
@@ -10,7 +10,7 @@ export declare type BlocklistFunction = () => StringRegExpArray;
10
10
  /**
11
11
  * @public
12
12
  */
13
- declare type ComplexSafelist = {
13
+ export declare type ComplexSafelist = {
14
14
  standard?: StringRegExpArray;
15
15
  /**
16
16
  * You can safelist selectors and their children based on a regular
@@ -41,17 +41,17 @@ declare type ComplexSafelist = {
41
41
  /**
42
42
  * @public
43
43
  */
44
- declare type ExtractorFunction<T = string> = (content: T) => ExtractorResult;
44
+ export declare type ExtractorFunction<T = string> = (content: T) => ExtractorResult;
45
45
 
46
46
  /**
47
47
  * @public
48
48
  */
49
- declare type ExtractorResult = ExtractorResultDetailed | string[];
49
+ export declare type ExtractorResult = ExtractorResultDetailed | string[];
50
50
 
51
51
  /**
52
52
  * @public
53
53
  */
54
- declare interface ExtractorResultDetailed {
54
+ export declare interface ExtractorResultDetailed {
55
55
  attributes: {
56
56
  names: string[];
57
57
  values: string[];
@@ -65,7 +65,7 @@ declare interface ExtractorResultDetailed {
65
65
  /**
66
66
  * @public
67
67
  */
68
- declare interface Extractors {
68
+ export declare interface Extractors {
69
69
  extensions: string[];
70
70
  extractor: ExtractorFunction;
71
71
  }
@@ -87,6 +87,48 @@ export declare class PurgeCSSPlugin {
87
87
  runPluginHook(compilation: Compilation, entryPaths: string[]): Promise<void>;
88
88
  }
89
89
 
90
+ /**
91
+ * Options used by PurgeCSS to remove unused CSS
92
+ *
93
+ * @public
94
+ */
95
+ export declare interface PurgeCSSUserDefinedOptions {
96
+ /** {@inheritDoc purgecss#Options.content} */
97
+ content: Array<string | RawContent>;
98
+ /** {@inheritDoc purgecss#Options.css} */
99
+ css: Array<string | RawCSS>;
100
+ /** {@inheritDoc purgecss#Options.defaultExtractor} */
101
+ defaultExtractor?: ExtractorFunction;
102
+ /** {@inheritDoc purgecss#Options.extractors} */
103
+ extractors?: Array<Extractors>;
104
+ /** {@inheritDoc purgecss#Options.fontFace} */
105
+ fontFace?: boolean;
106
+ /** {@inheritDoc purgecss#Options.keyframes} */
107
+ keyframes?: boolean;
108
+ /** {@inheritDoc purgecss#Options.output} */
109
+ output?: string;
110
+ /** {@inheritDoc purgecss#Options.rejected} */
111
+ rejected?: boolean;
112
+ /** {@inheritDoc purgecss#Options.rejectedCss} */
113
+ rejectedCss?: boolean;
114
+ /** {@inheritDoc purgecss#Options.sourceMap } */
115
+ sourceMap?: boolean | (postcss.SourceMapOptions & { to?: string });
116
+ /** {@inheritDoc purgecss#Options.stdin} */
117
+ stdin?: boolean;
118
+ /** {@inheritDoc purgecss#Options.stdout} */
119
+ stdout?: boolean;
120
+ /** {@inheritDoc purgecss#Options.variables} */
121
+ variables?: boolean;
122
+ /** {@inheritDoc purgecss#Options.safelist} */
123
+ safelist?: UserDefinedSafelist;
124
+ /** {@inheritDoc purgecss#Options.blocklist} */
125
+ blocklist?: StringRegExpArray;
126
+ /** {@inheritDoc purgecss#Options.skippedContentGlobs} */
127
+ skippedContentGlobs?: Array<string>;
128
+ /** {@inheritDoc purgecss#Options.dynamicAttributes} */
129
+ dynamicAttributes?: string[];
130
+ }
131
+
90
132
  /**
91
133
  * @public
92
134
  */
@@ -97,7 +139,7 @@ export declare type PurgedStats = {
97
139
  /**
98
140
  * @public
99
141
  */
100
- declare interface RawContent<T = string> {
142
+ export declare interface RawContent<T = string> {
101
143
  extension: string;
102
144
  raw: T;
103
145
  }
@@ -105,7 +147,7 @@ declare interface RawContent<T = string> {
105
147
  /**
106
148
  * @public
107
149
  */
108
- declare interface RawCSS {
150
+ export declare interface RawCSS {
109
151
  raw: string;
110
152
  name?: string;
111
153
  }
@@ -118,65 +160,23 @@ export declare type SafelistFunction = () => ComplexSafelist;
118
160
  /**
119
161
  * @public
120
162
  */
121
- declare type StringRegExpArray = Array<RegExp | string>;
163
+ export declare type StringRegExpArray = Array<RegExp | string>;
122
164
 
123
165
  /**
124
166
  * @public
125
167
  */
126
- export declare type UserDefinedOptions = Omit<UserDefinedOptions_2, "css" | "content" | "safelist" | "blocklist" | "sourceMap"> & {
168
+ export declare type UserDefinedOptions = Omit<PurgeCSSUserDefinedOptions, "css" | "content" | "safelist" | "blocklist" | "sourceMap"> & {
127
169
  paths: string[] | PathFunction;
128
170
  moduleExtensions?: string[];
129
171
  verbose?: boolean;
130
- safelist: UserDefinedOptions_2["safelist"] | SafelistFunction;
131
- blocklist: UserDefinedOptions_2["blocklist"] | BlocklistFunction;
172
+ safelist: PurgeCSSUserDefinedOptions["safelist"] | SafelistFunction;
173
+ blocklist: PurgeCSSUserDefinedOptions["blocklist"] | BlocklistFunction;
132
174
  only?: string[];
133
175
  };
134
176
 
135
- /**
136
- * Options used by PurgeCSS to remove unused CSS
137
- *
138
- * @public
139
- */
140
- declare interface UserDefinedOptions_2 {
141
- /** {@inheritDoc Options.content} */
142
- content: Array<string | RawContent>;
143
- /** {@inheritDoc Options.css} */
144
- css: Array<string | RawCSS>;
145
- /** {@inheritDoc Options.defaultExtractor} */
146
- defaultExtractor?: ExtractorFunction;
147
- /** {@inheritDoc Options.extractors} */
148
- extractors?: Array<Extractors>;
149
- /** {@inheritDoc Options.fontFace} */
150
- fontFace?: boolean;
151
- /** {@inheritDoc Options.keyframes} */
152
- keyframes?: boolean;
153
- /** {@inheritDoc Options.output} */
154
- output?: string;
155
- /** {@inheritDoc Options.rejected} */
156
- rejected?: boolean;
157
- /** {@inheritDoc Options.rejectedCss} */
158
- rejectedCss?: boolean;
159
- /** {@inheritDoc Options.sourceMap } */
160
- sourceMap?: boolean | (postcss.SourceMapOptions & { to?: string });
161
- /** {@inheritDoc Options.stdin} */
162
- stdin?: boolean;
163
- /** {@inheritDoc Options.stdout} */
164
- stdout?: boolean;
165
- /** {@inheritDoc Options.variables} */
166
- variables?: boolean;
167
- /** {@inheritDoc Options.safelist} */
168
- safelist?: UserDefinedSafelist;
169
- /** {@inheritDoc Options.blocklist} */
170
- blocklist?: StringRegExpArray;
171
- /** {@inheritDoc Options.skippedContentGlobs} */
172
- skippedContentGlobs?: Array<string>;
173
- /** {@inheritDoc Options.dynamicAttributes} */
174
- dynamicAttributes?: string[];
175
- }
176
-
177
177
  /**
178
178
  * @public
179
179
  */
180
- declare type UserDefinedSafelist = StringRegExpArray | ComplexSafelist;
180
+ export declare type UserDefinedSafelist = StringRegExpArray | ComplexSafelist;
181
181
 
182
182
  export { }
@@ -1 +1 @@
1
- import*as t from"fs";import*as s from"path";import{PurgeCSS as o,defaultOptions as e}from"purgecss";import{sources as i}from"webpack";const n=[".css",".scss",".styl",".sass",".less"];function r(t,s,o,i,n){const r={...e,...t,content:s,css:[{raw:o.source().toString()}]};return"function"==typeof r.safelist&&(r.safelist=r.safelist()),"function"==typeof r.blocklist&&(r.blocklist=r.blocklist()),{content:r.content,css:r.css,defaultExtractor:r.defaultExtractor,extractors:r.extractors,fontFace:r.fontFace,keyframes:r.keyframes,output:r.output,rejected:r.rejected,variables:r.variables,safelist:r.safelist,blocklist:r.blocklist,sourceMap:!!n&&{inline:!1,to:i}}}function c(t,s,o,e){if(!e||!o.sourceMap)return new i.RawSource(o.css);const{source:n,map:r}=s.sourceAndMap();return new i.SourceMapSource(o.css,t,o.sourceMap,n.toString(),r,!1)}class PurgeCSSPlugin{constructor(t){this.purgedStats={},this.options=t}apply(t){t.hooks.compilation.tap("PurgeCSS",this.initializePlugin.bind(this))}initializePlugin(o){o.hooks.additionalAssets.tapPromise("PurgeCSS",(async()=>{let e;try{const t=s.resolve(process.cwd(),"purgecss.config.js");e=await import(t)}catch{}this.options={...e||{},...this.options};const i="function"==typeof this.options.paths?this.options.paths():this.options.paths;return i.forEach((s=>{if(!t.existsSync(s))throw new Error(`Path ${s} does not exist.`)})),this.runPluginHook(o,i)}))}async runPluginHook(t,e){const i=Object.entries(t.assets).filter((([t])=>function(t,o){const e=s.extname((i=t).includes("?")?i.split("?").slice(0,-1).join(""):i);var i;return o.includes(e)}(t,[".css"])));for(const s of t.chunks){const a=i.filter((([t])=>!(this.options.only&&!this.options.only.some((s=>t.includes(s))))&&s.files.has(t)));for(const[s,i]of a){const a=e.filter((t=>!n.some((s=>t.endsWith(s))))),l=!!t.compiler.options.devtool,u=r(this.options,a,i,s,l),p=(await(new o).purge(u))[0];p.rejected&&(this.purgedStats[s]=p.rejected),t.updateAsset(s,c(s,i,p,l))}}}}export{PurgeCSSPlugin};
1
+ import*as t from"fs";import*as s from"path";import{PurgeCSS as o,defaultOptions as e}from"purgecss";import{sources as i}from"webpack";const n=[".css",".scss",".styl",".sass",".less"],r="PurgeCSS";function c(t,s,o,i,n){const r={...e,...t,content:s,css:[{raw:o.source().toString()}]};return"function"==typeof r.safelist&&(r.safelist=r.safelist()),"function"==typeof r.blocklist&&(r.blocklist=r.blocklist()),{content:r.content,css:r.css,defaultExtractor:r.defaultExtractor,extractors:r.extractors,fontFace:r.fontFace,keyframes:r.keyframes,output:r.output,rejected:r.rejected,variables:r.variables,safelist:r.safelist,blocklist:r.blocklist,sourceMap:!!n&&{inline:!1,to:i}}}function a(t,s,o,e){if(!e||!o.sourceMap)return new i.RawSource(o.css);const{source:n,map:r}=s.sourceAndMap();return new i.SourceMapSource(o.css,t,o.sourceMap,n.toString(),r,!1)}class PurgeCSSPlugin{constructor(t){this.purgedStats={},this.options=t}apply(t){t.hooks.compilation.tap(r,this.initializePlugin.bind(this))}initializePlugin(o){o.hooks.additionalAssets.tapPromise(r,(async()=>{let e;try{const t=s.resolve(process.cwd(),"purgecss.config.js");e=await import(t)}catch{}this.options={...e||{},...this.options};const i="function"==typeof this.options.paths?this.options.paths():this.options.paths;return i.forEach((s=>{if(!t.existsSync(s))throw new Error(`Path ${s} does not exist.`)})),this.runPluginHook(o,i)}))}async runPluginHook(t,e){const i=Object.entries(t.assets).filter((([t])=>function(t,o){const e=s.extname((i=t).includes("?")?i.split("?").slice(0,-1).join(""):i);var i;return o.includes(e)}(t,[".css"])));for(const s of t.chunks){const r=i.filter((([t])=>!(this.options.only&&!this.options.only.some((s=>t.includes(s))))&&s.files.has(t)));for(const[s,i]of r){const r=e.filter((t=>!n.some((s=>t.endsWith(s))))),l=!!t.compiler.options.devtool,u=c(this.options,r,i,s,l),p=(await(new o).purge(u))[0];p.rejected&&(this.purgedStats[s]=p.rejected),t.updateAsset(s,a(s,i,p,l))}}}}export{PurgeCSSPlugin};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("fs"),e=require("path"),s=require("purgecss"),o=require("webpack");function r(t){if(t&&t.__esModule)return t;var e=Object.create(null);return t&&Object.keys(t).forEach((function(s){if("default"!==s){var o=Object.getOwnPropertyDescriptor(t,s);Object.defineProperty(e,s,o.get?o:{enumerable:!0,get:function(){return t[s]}})}})),e.default=t,Object.freeze(e)}var n=r(t),i=r(e);const c=[".css",".scss",".styl",".sass",".less"];function u(t,e,o,r,n){const i={...s.defaultOptions,...t,content:e,css:[{raw:o.source().toString()}]};return"function"==typeof i.safelist&&(i.safelist=i.safelist()),"function"==typeof i.blocklist&&(i.blocklist=i.blocklist()),{content:i.content,css:i.css,defaultExtractor:i.defaultExtractor,extractors:i.extractors,fontFace:i.fontFace,keyframes:i.keyframes,output:i.output,rejected:i.rejected,variables:i.variables,safelist:i.safelist,blocklist:i.blocklist,sourceMap:!!n&&{inline:!1,to:r}}}function a(t,e,s,r){if(!r||!s.sourceMap)return new o.sources.RawSource(s.css);const{source:n,map:i}=e.sourceAndMap();return new o.sources.SourceMapSource(s.css,t,s.sourceMap,n.toString(),i,!1)}exports.PurgeCSSPlugin=class PurgeCSSPlugin{constructor(t){this.purgedStats={},this.options=t}apply(t){t.hooks.compilation.tap("PurgeCSS",this.initializePlugin.bind(this))}initializePlugin(t){t.hooks.additionalAssets.tapPromise("PurgeCSS",(async()=>{let e;try{const t=i.resolve(process.cwd(),"purgecss.config.js");e=await function(t){return Promise.resolve().then((function(){return r(require(t))}))}(t)}catch{}this.options={...e||{},...this.options};const s="function"==typeof this.options.paths?this.options.paths():this.options.paths;return s.forEach((t=>{if(!n.existsSync(t))throw new Error(`Path ${t} does not exist.`)})),this.runPluginHook(t,s)}))}async runPluginHook(t,e){const o=Object.entries(t.assets).filter((([t])=>function(t,e){const s=i.extname((o=t).includes("?")?o.split("?").slice(0,-1).join(""):o);var o;return e.includes(s)}(t,[".css"])));for(const r of t.chunks){const n=o.filter((([t])=>!(this.options.only&&!this.options.only.some((e=>t.includes(e))))&&r.files.has(t)));for(const[o,r]of n){const n=e.filter((t=>!c.some((e=>t.endsWith(e))))),i=!!t.compiler.options.devtool,l=u(this.options,n,r,o,i),f=(await(new s.PurgeCSS).purge(l))[0];f.rejected&&(this.purgedStats[o]=f.rejected),t.updateAsset(o,a(o,r,f,i))}}}};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("fs"),e=require("path"),s=require("purgecss"),o=require("webpack");function r(t){if(t&&t.__esModule)return t;var e=Object.create(null);return t&&Object.keys(t).forEach((function(s){if("default"!==s){var o=Object.getOwnPropertyDescriptor(t,s);Object.defineProperty(e,s,o.get?o:{enumerable:!0,get:function(){return t[s]}})}})),e.default=t,Object.freeze(e)}var n=r(t),i=r(e);const c=[".css",".scss",".styl",".sass",".less"],u="PurgeCSS";function a(t,e,o,r,n){const i={...s.defaultOptions,...t,content:e,css:[{raw:o.source().toString()}]};return"function"==typeof i.safelist&&(i.safelist=i.safelist()),"function"==typeof i.blocklist&&(i.blocklist=i.blocklist()),{content:i.content,css:i.css,defaultExtractor:i.defaultExtractor,extractors:i.extractors,fontFace:i.fontFace,keyframes:i.keyframes,output:i.output,rejected:i.rejected,variables:i.variables,safelist:i.safelist,blocklist:i.blocklist,sourceMap:!!n&&{inline:!1,to:r}}}function l(t,e,s,r){if(!r||!s.sourceMap)return new o.sources.RawSource(s.css);const{source:n,map:i}=e.sourceAndMap();return new o.sources.SourceMapSource(s.css,t,s.sourceMap,n.toString(),i,!1)}exports.PurgeCSSPlugin=class PurgeCSSPlugin{constructor(t){this.purgedStats={},this.options=t}apply(t){t.hooks.compilation.tap(u,this.initializePlugin.bind(this))}initializePlugin(t){t.hooks.additionalAssets.tapPromise(u,(async()=>{let e;try{const t=i.resolve(process.cwd(),"purgecss.config.js");e=await function(t){return Promise.resolve().then((function(){return r(require(t))}))}(t)}catch{}this.options={...e||{},...this.options};const s="function"==typeof this.options.paths?this.options.paths():this.options.paths;return s.forEach((t=>{if(!n.existsSync(t))throw new Error(`Path ${t} does not exist.`)})),this.runPluginHook(t,s)}))}async runPluginHook(t,e){const o=Object.entries(t.assets).filter((([t])=>function(t,e){const s=i.extname((o=t).includes("?")?o.split("?").slice(0,-1).join(""):o);var o;return e.includes(s)}(t,[".css"])));for(const r of t.chunks){const n=o.filter((([t])=>!(this.options.only&&!this.options.only.some((e=>t.includes(e))))&&r.files.has(t)));for(const[o,r]of n){const n=e.filter((t=>!c.some((e=>t.endsWith(e))))),i=!!t.compiler.options.devtool,u=a(this.options,n,r,o,i),f=(await(new s.PurgeCSS).purge(u))[0];f.rejected&&(this.purgedStats[o]=f.rejected),t.updateAsset(o,l(o,r,f,i))}}}};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "purgecss-webpack-plugin",
3
- "version": "5.0.0",
3
+ "version": "6.0.0",
4
4
  "description": "PurgeCSS plugin for webpack - Remove unused css",
5
5
  "author": "Ffloriel",
6
6
  "homepage": "https://purgecss.com",
@@ -37,7 +37,7 @@
37
37
  "test": "jest"
38
38
  },
39
39
  "dependencies": {
40
- "purgecss": "^5.0.0",
40
+ "purgecss": "^6.0.0",
41
41
  "webpack": ">=5.0.0"
42
42
  },
43
43
  "bugs": {