1
1
const mix = require ( 'laravel-mix' ) ;
2
+ const merge = require ( 'lodash/merge' ) ;
2
3
3
4
class Critical {
4
5
constructor ( ) {
@@ -7,10 +8,10 @@ class Critical {
7
8
8
9
dependencies ( ) {
9
10
this . requiresReload = `
10
- HTML Webpack critical has been installed. Please run "npm run dev" again.
11
+ Critical-Css- Webpack-Plugin has been installed. Please run "npm run dev" again.
11
12
` ;
12
13
13
- return [ 'html- critical-webpack-plugin' ] ;
14
+ return [ 'critical-css -webpack-plugin' ] ;
14
15
}
15
16
16
17
register ( config ) {
@@ -20,11 +21,13 @@ class Critical {
20
21
) ;
21
22
}
22
23
23
- const critical = Object . assign ( {
24
+ const critical = merge ( {
24
25
enabled : mix . inProduction ( ) ,
25
26
paths : { } ,
26
27
urls : [ ] ,
27
- options : { } ,
28
+ options : {
29
+ inline :false
30
+ } ,
28
31
} , config ) ;
29
32
30
33
if ( critical . paths . suffix == null ) critical . paths . suffix = '_critical.min' ;
@@ -34,14 +37,16 @@ class Critical {
34
37
35
38
webpackPlugins ( ) {
36
39
if ( this . criticals . map ( ( e ) => e . enabled ) . some ( Boolean ) ) {
37
- const HtmlCritical = require ( 'html-critical-webpack-plugin' ) ;
40
+
41
+ const CriticalCssPlugin = require ( "critical-css-webpack-plugin" ) ;
42
+
38
43
const plugins = [ ] ;
39
44
40
45
this . criticals . forEach ( ( critical ) => {
41
46
42
47
critical . enabled && critical . urls . forEach ( ( template ) => {
43
48
const criticalSrc = critical . paths . base + template . url ;
44
- const criticalDest = `${ critical . paths . templates + template . template + critical . paths . suffix } .css` ;
49
+ const criticalDest = `${ critical . paths . templates + template . template + critical . paths . suffix } .css` ;
45
50
46
51
if ( criticalSrc . indexOf ( 'amp_' ) !== - 1 ) {
47
52
@@ -50,9 +55,9 @@ class Critical {
50
55
51
56
}
52
57
53
- plugins . push ( new HtmlCritical ( Object . assign ( {
58
+ plugins . push ( new CriticalCssPlugin ( Object . assign ( {
54
59
src : criticalSrc ,
55
- dest : criticalDest ,
60
+ target : criticalDest ,
56
61
} , critical . options ) ) ) ;
57
62
} ) ;
58
63
0 commit comments