]> git.maquefel.me Git - brevno-suite/hugo/commitdiff
deps: Update github.com/tdewolff/minify/v2 v2.20.9 => v2.20.13
authorJames Tatum <jtatum@gmail.com>
Thu, 11 Jan 2024 21:30:42 +0000 (13:30 -0800)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Thu, 25 Jan 2024 18:33:14 +0000 (19:33 +0100)
KeepConditionalComments was deprecated in the upstream library and replaced with KeepSpecialComments. This new option reflects that both conditional comments and Server Side Include comments can be optionally stripped by the minifier. As with KeepConditionalComments, the minifier is configured not to strip them by default.

docs/data/docs.yaml
go.mod
go.sum
minifiers/config.go
minifiers/config_test.go
minifiers/minifiers_test.go

index f599747242a1d1ecfa8d888b3e7a3fce9c4fd1cf..fb399fa867c7388206d5bd99a064f34cd6471e1b 100644 (file)
@@ -1265,7 +1265,7 @@ config:
         precision: 0
       html:
         keepComments: false
-        keepConditionalComments: true
+        keepSpecialComments: true
         keepDefaultAttrVals: true
         keepDocumentTags: true
         keepEndTags: true
diff --git a/go.mod b/go.mod
index 5a7af842bf87eef0d4e4634f79094dc6f4dda929..2e9aa01878d5d46844d7938eada73ddacc5c4efc 100644 (file)
--- a/go.mod
+++ b/go.mod
@@ -61,8 +61,8 @@ require (
        github.com/spf13/cobra v1.8.0
        github.com/spf13/fsync v0.9.0
        github.com/spf13/pflag v1.0.5
-       github.com/tdewolff/minify/v2 v2.20.9
-       github.com/tdewolff/parse/v2 v2.7.6
+       github.com/tdewolff/minify/v2 v2.20.13
+       github.com/tdewolff/parse/v2 v2.7.8
        github.com/yuin/goldmark v1.6.0
        github.com/yuin/goldmark-emoji v1.0.2
        go.uber.org/atomic v1.11.0
@@ -143,7 +143,7 @@ require (
        golang.org/x/crypto v0.17.0 // indirect
        golang.org/x/mod v0.14.0 // indirect
        golang.org/x/oauth2 v0.15.0 // indirect
-       golang.org/x/sys v0.15.0 // indirect
+       golang.org/x/sys v0.16.0 // indirect
        golang.org/x/time v0.5.0 // indirect
        golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
        google.golang.org/appengine v1.6.7 // indirect
diff --git a/go.sum b/go.sum
index d461f12c35db21b9d0315f24b18894edd0aac38e..1e8b04a2b5b48fd6aeaa48c390bfd6e3a52cacb2 100644 (file)
--- a/go.sum
+++ b/go.sum
@@ -328,8 +328,12 @@ github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcU
 github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
 github.com/tdewolff/minify/v2 v2.20.9 h1:0RGsL+jBpm77obkuNCjNZ2eiN81CZzTnjeVmTqxCmYk=
 github.com/tdewolff/minify/v2 v2.20.9/go.mod h1:hZnNtFqXVQ5QIAR05tdgvS7h6E80jyRwHSGVmM4jbzQ=
+github.com/tdewolff/minify/v2 v2.20.13 h1:TDWS1orkBJjq6Sz9NjEvHEeUnAvlfU7jgStGQBwBPGM=
+github.com/tdewolff/minify/v2 v2.20.13/go.mod h1:qnIJbnG2dSzk7LIa/UUwgN2OjS8ir6RRlqc0T/1q2xY=
 github.com/tdewolff/parse/v2 v2.7.6 h1:PGZH2b/itDSye9RatReRn4GBhsT+KFEMtAMjHRuY1h8=
 github.com/tdewolff/parse/v2 v2.7.6/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA=
+github.com/tdewolff/parse/v2 v2.7.8 h1:1cnVqa8L63xFkc2vfRsZTM6Qy35nJpTvQ2Uvdv3vbvs=
+github.com/tdewolff/parse/v2 v2.7.8/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA=
 github.com/tdewolff/test v1.0.11-0.20231101010635-f1265d231d52 h1:gAQliwn+zJrkjAHVcBEYW/RFvd2St4yYimisvozAYlA=
 github.com/tdewolff/test v1.0.11-0.20231101010635-f1265d231d52/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE=
 github.com/ugorji/go/codec v1.2.7 h1:YPXUKf7fYbp/y8xloBqZOw2qaVggbfwMlI8WM3wZUJ0=
@@ -401,6 +405,8 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc
 golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc=
 golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU=
+golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
index 8ebcaa5c9b705f27db2ea3b6983503dba29574fb..1ebbd1e059d1ecd4238b11c55cfa9ff570f7d887 100644 (file)
@@ -28,11 +28,11 @@ import (
 
 var defaultTdewolffConfig = TdewolffConfig{
        HTML: html.Minifier{
-               KeepDocumentTags:        true,
-               KeepConditionalComments: true,
-               KeepEndTags:             true,
-               KeepDefaultAttrVals:     true,
-               KeepWhitespace:          false,
+               KeepDocumentTags:    true,
+               KeepSpecialComments: true,
+               KeepEndTags:         true,
+               KeepDefaultAttrVals: true,
+               KeepWhitespace:      false,
        },
        CSS: css.Minifier{
                Precision: 0,
@@ -90,17 +90,39 @@ func DecodeConfig(v any) (conf MinifyConfig, err error) {
        // Handle upstream renames.
        if td, found := m["tdewolff"]; found {
                tdm := maps.ToStringMap(td)
+
                for _, key := range []string{"css", "svg"} {
                        if v, found := tdm[key]; found {
                                vm := maps.ToStringMap(v)
-                               if vv, found := vm["decimal"]; found {
-                                       vvi := cast.ToInt(vv)
-                                       if vvi > 0 {
-                                               vm["precision"] = vvi
+                               ko := "decimal"
+                               kn := "precision"
+                               if vv, found := vm[ko]; found {
+                                       if _, found = vm[kn]; !found {
+                                               vvi := cast.ToInt(vv)
+                                               if vvi > 0 {
+                                                       vm[kn] = vvi
+                                               }
                                        }
+                                       delete(vm, ko)
+                               }
+                       }
+               }
+
+               // keepConditionalComments was renamed to keepSpecialComments
+               if v, found := tdm["html"]; found {
+                       vm := maps.ToStringMap(v)
+                       ko := "keepconditionalcomments"
+                       kn := "keepspecialcomments"
+                       if vv, found := vm[ko]; found {
+                               // Set keepspecialcomments, if not already set
+                               if _, found := vm[kn]; !found {
+                                       vm[kn] = cast.ToBool(vv)
                                }
+                               // Remove the old key to prevent deprecation warnings
+                               delete(vm, ko)
                        }
                }
+
        }
 
        err = mapstructure.WeakDecode(m, &conf)
index 7169d3fce85087fb4ee064824d7cfe1e78a06e2b..9dc20c65562b005c65fb06dd186450fb04f9f2ce 100644 (file)
@@ -59,3 +59,45 @@ func TestConfigLegacy(t *testing.T) {
        conf := testconfig.GetTestConfigs(nil, v).Base.Minify
        c.Assert(conf.MinifyOutput, qt.Equals, true)
 }
+
+func TestConfigNewCommentOptions(t *testing.T) {
+       c := qt.New(t)
+       v := config.New()
+
+       // setting the old options should automatically set the new options
+       v.Set("minify", map[string]any{
+               "tdewolff": map[string]any{
+                       "html": map[string]any{
+                               "keepConditionalComments": false,
+                       },
+                       "svg": map[string]any{
+                               "decimal": "5",
+                       },
+               },
+       })
+
+       conf := testconfig.GetTestConfigs(nil, v).Base.Minify
+
+       c.Assert(conf.Tdewolff.HTML.KeepSpecialComments, qt.Equals, false)
+       c.Assert(conf.Tdewolff.SVG.Precision, qt.Equals, 5)
+
+       // the new values should win, regardless of the contents of the old values
+       v = config.New()
+       v.Set("minify", map[string]any{
+               "tdewolff": map[string]any{
+                       "html": map[string]any{
+                               "keepConditionalComments": false,
+                               "keepSpecialComments":     true,
+                       },
+                       "svg": map[string]any{
+                               "decimal":   "5",
+                               "precision": "10",
+                       },
+               },
+       })
+
+       conf = testconfig.GetTestConfigs(nil, v).Base.Minify
+
+       c.Assert(conf.Tdewolff.HTML.KeepSpecialComments, qt.Equals, true)
+       c.Assert(conf.Tdewolff.SVG.Precision, qt.Equals, 10)
+}
index 4d5d9feb5e0c423d6c9d0d9ca0b37959be4f327d..af1b5d996c1a2a5fb3ae8d2632273f00146722eb 100644 (file)
@@ -203,13 +203,13 @@ func TestDecodeConfigKeepWhitespace(t *testing.T) {
 
        c.Assert(conf.Tdewolff.HTML, qt.DeepEquals,
                html.Minifier{
-                       KeepComments:            false,
-                       KeepConditionalComments: true,
-                       KeepDefaultAttrVals:     true,
-                       KeepDocumentTags:        true,
-                       KeepEndTags:             false,
-                       KeepQuotes:              false,
-                       KeepWhitespace:          false},
+                       KeepComments:        false,
+                       KeepSpecialComments: true,
+                       KeepDefaultAttrVals: true,
+                       KeepDocumentTags:    true,
+                       KeepEndTags:         false,
+                       KeepQuotes:          false,
+                       KeepWhitespace:      false},
        )
 
 }