summaryrefslogtreecommitdiffstats
path: root/minifiers
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2020-09-16 19:41:43 +0200
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2020-09-19 21:17:02 +0200
commitb254532b52785954c98a473a635b9cea016d8565 (patch)
treec22fa7e40311c6b75e45320a53136b2b4720e881 /minifiers
parent05a22892921bd4618efe6135ce0d6fe2be545607 (diff)
deps: Update to github.com/tdewolff/minify v2.9.4
Diffstat (limited to 'minifiers')
-rw-r--r--minifiers/config.go27
-rw-r--r--minifiers/minifiers_test.go25
2 files changed, 45 insertions, 7 deletions
diff --git a/minifiers/config.go b/minifiers/config.go
index 5ee3aa2f9..0715344a7 100644
--- a/minifiers/config.go
+++ b/minifiers/config.go
@@ -18,6 +18,7 @@ import (
"github.com/gohugoio/hugo/config"
"github.com/gohugoio/hugo/docshelper"
"github.com/gohugoio/hugo/parser"
+ "github.com/spf13/cast"
"github.com/mitchellh/mapstructure"
"github.com/tdewolff/minify/v2/css"
@@ -35,18 +36,16 @@ var defaultTdewolffConfig = tdewolffConfig{
KeepEndTags: true,
KeepDefaultAttrVals: true,
KeepWhitespace: false,
- // KeepQuotes: false, >= v2.6.2
+ KeepQuotes: false,
},
CSS: css.Minifier{
- Decimals: -1, // will be deprecated
- // Precision: 0, // use Precision with >= v2.7.0
- KeepCSS2: true,
+ Precision: 0,
+ KeepCSS2: true,
},
JS: js.Minifier{},
JSON: json.Minifier{},
SVG: svg.Minifier{
- Decimals: -1, // will be deprecated
- // Precision: 0, // use Precision with >= v2.7.0
+ Precision: 0,
},
XML: xml.Minifier{
KeepWhitespace: false,
@@ -99,6 +98,22 @@ func decodeConfig(cfg config.Provider) (conf minifyConfig, err error) {
m := maps.ToStringMap(v)
+ // Handle upstream renames.
+ if td, found := m["tdewolff"]; found {
+ tdm := cast.ToStringMap(td)
+ for _, key := range []string{"css", "svg"} {
+ if v, found := tdm[key]; found {
+ vm := cast.ToStringMap(v)
+ if vv, found := vm["decimal"]; found {
+ vvi := cast.ToInt(vv)
+ if vvi > 0 {
+ vm["precision"] = vvi
+ }
+ }
+ }
+ }
+ }
+
err = mapstructure.WeakDecode(m, &conf)
if err != nil {
diff --git a/minifiers/minifiers_test.go b/minifiers/minifiers_test.go
index fb222fd6d..cbd2f40ac 100644
--- a/minifiers/minifiers_test.go
+++ b/minifiers/minifiers_test.go
@@ -34,7 +34,7 @@ func TestNew(t *testing.T) {
var rawJS string
var minJS string
rawJS = " var foo =1 ; foo ++ ; "
- minJS = "var foo=1;foo++;"
+ minJS = "var foo=1;foo++"
var rawJSON string
var minJSON string
@@ -168,3 +168,26 @@ func TestBugs(t *testing.T) {
}
}
+
+// Renamed to Precision in v2.7.0. Check that we support both.
+func TestDecodeConfigDecimalIsNowPrecision(t *testing.T) {
+ c := qt.New(t)
+ v := viper.New()
+ v.Set("minify", map[string]interface{}{
+ "disablexml": true,
+ "tdewolff": map[string]interface{}{
+ "css": map[string]interface{}{
+ "decimal": 3,
+ },
+ "svg": map[string]interface{}{
+ "decimal": 3,
+ },
+ },
+ })
+
+ conf, err := decodeConfig(v)
+
+ c.Assert(err, qt.IsNil)
+ c.Assert(conf.Tdewolff.CSS.Precision, qt.Equals, 3)
+
+}