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(
|
|
19
|
-
const glob = require(
|
|
20
|
-
const MiniCssExtractPlugin = require(
|
|
21
|
-
const PurgeCSSPlugin = require(
|
|
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,
|
|
25
|
-
}
|
|
25
|
+
src: path.join(__dirname, "src"),
|
|
26
|
+
};
|
|
26
27
|
|
|
27
28
|
module.exports = {
|
|
28
|
-
entry:
|
|
29
|
+
entry: "./src/index.js",
|
|
29
30
|
output: {
|
|
30
|
-
filename:
|
|
31
|
-
path: path.join(__dirname,
|
|
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:
|
|
38
|
+
name: "styles",
|
|
38
39
|
test: /\.css$/,
|
|
39
|
-
chunks:
|
|
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
|
-
|
|
51
|
-
|
|
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}/**/*`,
|
|
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
|
-
|
|
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(
|
|
87
|
-
const glob = require(
|
|
88
|
+
const { PurgeCSSPlugin } = require("purgecss-webpack-plugin");
|
|
89
|
+
const glob = require("glob");
|
|
88
90
|
const PATHS = {
|
|
89
|
-
src: path.join(__dirname,
|
|
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
|
-
|
|
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: [
|
|
113
|
-
})
|
|
115
|
+
only: ["bundle", "vendor"],
|
|
116
|
+
});
|
|
114
117
|
```
|
|
115
118
|
|
|
116
|
-
|
|
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: [
|
|
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
|
-
|
|
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<
|
|
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:
|
|
131
|
-
blocklist:
|
|
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
|
|
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
|
|
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": "
|
|
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": "^
|
|
40
|
+
"purgecss": "^6.0.0",
|
|
41
41
|
"webpack": ">=5.0.0"
|
|
42
42
|
},
|
|
43
43
|
"bugs": {
|