diff --git a/History.md b/History.md index 630a2f912..12f43ad8b 100644 --- a/History.md +++ b/History.md @@ -1,3 +1,8 @@ +[4.2.3 / 2020-xx-xx](https://github.com/jakubpawlowicz/clean-css/compare/v4.2.2...4.2) +================== + +* Fixed issue [#1106](https://github.com/jakubpawlowicz/clean-css/issues/1106) - regression in handling RGBA/HSLA colors. + [4.2.2 / 2020-01-25](https://github.com/jakubpawlowicz/clean-css/compare/v4.2.1...v4.2.2) ================== diff --git a/lib/optimizer/level-1/optimize.js b/lib/optimizer/level-1/optimize.js index 5131be052..fe2aec040 100644 --- a/lib/optimizer/level-1/optimize.js +++ b/lib/optimizer/level-1/optimize.js @@ -106,7 +106,7 @@ function optimizeColors(name, value, compatibility) { } value = value - .replace(/(rgb|hsl)a?\((\-?\d+),(\-?\d+\%?),(\-?\d+\%?),(0*[1-9]+[0-9]*(.?\d*)?)\)/gi, function (match, colorFn, p1, p2, p3, alpha) { + .replace(/(rgb|hsl)a?\((\-?\d+),(\-?\d+\%?),(\-?\d+\%?),(0*[1-9]+[0-9]*(\.?\d*)?)\)/gi, function (match, colorFn, p1, p2, p3, alpha) { return (parseInt(alpha, 10) >= 1 ? colorFn + '(' + [p1,p2,p3].join(',') + ')' : match); }) .replace(/rgb\((\-?\d+),(\-?\d+),(\-?\d+)\)/gi, function (match, red, green, blue) { diff --git a/test/optimizer/level-1/optimize-test.js b/test/optimizer/level-1/optimize-test.js index 91d33261e..f12c3dcf7 100644 --- a/test/optimizer/level-1/optimize-test.js +++ b/test/optimizer/level-1/optimize-test.js @@ -412,6 +412,10 @@ vows.describe('level 1 optimizations') '8-value hex': [ '.block{color:#00ff0080}', '.block{color:#00ff0080}' + ], + 'rgba inside a function': [ + '.block{background-image:linear-gradient(to right,rgba(255,255,255,0),rgba(255,255,255,1))}', + '.block{background-image:linear-gradient(to right,rgba(255,255,255,0),#fff)}' ] }, { level: 1 }) )