* Replaces the old tokenizer with a new one which doesn't use any escaping.
* Replaces the old `@import` inlining with one on top of the new tokenizer.
* Simplifies URL rebasing with a single `rebaseTo` option in API or inferred from `--output` in CLI.
+* Fixed issue [#843](https://github.com/jakubpawlowicz/clean-css/issues/843) - regression in selector handling.
[3.4.22 / 2016-12-12](https://github.com/jakubpawlowicz/clean-css/compare/v3.4.21...v3.4.22)
==================
function removeQuotes(value) {
return value
- .replace(/([^\[])'([a-zA-Z][a-zA-Z\d\-_]+)([^\]])'/g, '$1$2$3')
- .replace(/([^\[])"([a-zA-Z][a-zA-Z\d\-_]+)([^\]])"/g, '$1$2$3');
+ .replace(/='([a-zA-Z][a-zA-Z\d\-_]+)'/g, '=$1')
+ .replace(/="([a-zA-Z][a-zA-Z\d\-_]+)"/g, '=$1');
}
function ruleSorter(s1, s2) {
a,a:visited{text-decoration:underline}
a[href]:after{content:" (" attr(href) ")"}
abbr[title]:after{content:" (" attr(title) ")"}
-a[href^="#"]:after,a[href^=javascript:]:after{content:""}
+a[href^="#"]:after,a[href^="javascript:"]:after{content:""}
blockquote,pre{border:1px solid #999}
thead{display:table-header-group}
img{max-width:100%!important}
'quotes #1': [
'.a[title="a b c\'s d e f"]{color:red}',
'.a[title="a b c\'s d e f"]{color:red}'
+ ],
+ 'quotes #2': [
+ '.b[data-json=\'"aaaa":"bbbb"\']{color:red}',
+ '.b[data-json=\'"aaaa":"bbbb"\']{color:red}'
]
}, { advanced: false })
)