analyze-css
Advanced tools
Comparing version 0.9.6 to 0.10.0
@@ -27,2 +27,4 @@ #!/usr/bin/env node | ||
.describe('no-offenders', 'Show only the metrics without the offenders part').boolean('no-offenders').alias('no-offenders', 'N') | ||
.describe('auth-user', 'Sets the user name used for HTTP authentication').string('auth-user') | ||
.describe('auth-pass', 'Sets the password used for HTTP authentication').string('auth-pass') | ||
// version / help | ||
@@ -70,2 +72,4 @@ .describe('version', 'Show version number and quit').boolean('version').alias('version', 'V') | ||
runnerOpts.noOffenders = argv['no-offenders'] || (argv.offenders === false); | ||
runnerOpts.authUser = argv['auth-user']; | ||
runnerOpts.authPass = argv['auth-pass']; | ||
@@ -72,0 +76,0 @@ debug('opts: %j', runnerOpts); |
@@ -11,6 +11,6 @@ #!/usr/bin/env node | ||
fs = require('fs'), | ||
instance = new autoprefixer(), | ||
prefixes = instance.data.prefixes, | ||
prefixes = autoprefixer.data.prefixes, | ||
// data | ||
browsersByPrefix = {}, | ||
namesByVendor = {}, | ||
data; | ||
@@ -32,4 +32,4 @@ | ||
// [prefix] => [supported browsers] | ||
Object.keys(instance.data.browsers).forEach(function(vendor) { | ||
var vendorData = instance.data.browsers[vendor], | ||
Object.keys(autoprefixer.data.browsers).forEach(function(vendor) { | ||
var vendorData = autoprefixer.data.browsers[vendor], | ||
prefix = vendorData.prefix; | ||
@@ -52,5 +52,9 @@ | ||
}); | ||
// "and_uc" : "UC Browser for Android" | ||
namesByVendor[vendor] = vendorData.browser; | ||
}); | ||
debug('Browsers by prefix: %j' ,browsersByPrefix); | ||
debug('Names by vendor: %j', namesByVendor); | ||
@@ -79,3 +83,3 @@ function getLatestVersions(browsers, oldest) { | ||
Object.keys(latest).forEach(function(vendor) { | ||
ret.push(vendor + ' ' + latest[vendor]); | ||
ret.push((namesByVendor[vendor] || vendor) + ' ' + latest[vendor]); | ||
}); | ||
@@ -82,0 +86,0 @@ |
@@ -71,2 +71,3 @@ /** | ||
analyzer.EXIT_NEED_OPTIONS = 2; | ||
analyzer.EXIT_PARSING_FAILED = 251; | ||
analyzer.EXIT_EMPTY_CSS = 252; | ||
@@ -231,3 +232,4 @@ analyzer.EXIT_CSS_PASSED_IS_NOT_STRING = 253; | ||
if (typeof parsedSelector === 'undefined') { | ||
throw 'Unable to parse "' + selector + '" selector'; | ||
var positionDump = "Rule position start @ " + rule.position.start.line + ':' + rule.position.start.column + ", end @ " + rule.position.end.line + ':' + rule.position.end.column; | ||
throw this.error('Unable to parse "' + selector + '" selector. ' + positionDump, analyzer.EXIT_PARSING_FAILED); | ||
} | ||
@@ -325,3 +327,7 @@ | ||
// now go through parsed CSS tree and emit events for rules | ||
this.run(); | ||
try { | ||
this.run(); | ||
} catch (ex) { | ||
return ex; | ||
} | ||
@@ -328,0 +334,0 @@ this.emit('report'); |
@@ -87,2 +87,6 @@ /** | ||
if (options.authUser && options.authPass) { | ||
requestOptions.auth = options.authUser + ':' + options.authPass; | ||
} | ||
request(requestOptions, function(err, resp, css) { | ||
@@ -89,0 +93,0 @@ if (err || resp.statusCode !== 200) { |
{ | ||
"name": "analyze-css", | ||
"version": "0.9.6", | ||
"version": "0.10.0", | ||
"author": "Maciej Brencz <maciej.brencz@gmail.com> (https://github.com/macbre)", | ||
@@ -23,8 +23,9 @@ "description": "CSS selectors complexity and performance analyzer", | ||
"dependencies": { | ||
"cli": "~0.6.2", | ||
"cli": "0.8.x", | ||
"css": "2.2.x", | ||
"debug": "~2.1.0", | ||
"css-shorthand-properties": "1.0.x", | ||
"debug": "2.2.x", | ||
"fast-stats": "0.0.x", | ||
"glob": "4.4.x", | ||
"node-sass": "3.0.0-alpha.0", | ||
"glob": "5.0.x", | ||
"node-sass": "3.2.x", | ||
"onecolor": "2.4.x", | ||
@@ -36,8 +37,8 @@ "optimist": "0.6.x", | ||
"devDependencies": { | ||
"autoprefixer-core": "5.1.x", | ||
"browserslist": "0.2.x", | ||
"autoprefixer-core": "^5.2.1", | ||
"browserslist": "0.5.x", | ||
"istanbul": "0.3.x", | ||
"js-beautify": "~1.5.4", | ||
"jshint": "2.6.x", | ||
"mocha": "~2.1.0" | ||
"jshint": "2.8.x", | ||
"mocha": "2.2.x" | ||
}, | ||
@@ -44,0 +45,0 @@ "bin": "./bin/analyze-css.js", |
@@ -38,2 +38,4 @@ analyze-css | ||
Basic HTTP authentication can be provided through the options `--auth-user` and `--auth-pass`. | ||
### CommonJS module | ||
@@ -97,2 +99,3 @@ | ||
"oldPropertyPrefixes": 79, | ||
"propertyResets": 0, | ||
"qualifiedSelectors": 28, | ||
@@ -105,2 +108,4 @@ "specificityIdAvg": 0.04, | ||
"specificityTagTotal": 562, | ||
"selectors": 712, | ||
"selectorLengthAvg": 1.5722460658082975, | ||
"selectorsByAttribute": 92, | ||
@@ -114,3 +119,2 @@ "selectorsByClass": 600, | ||
"rules": 433, | ||
"selectors": 712, | ||
"declarations": 1288 | ||
@@ -147,2 +151,3 @@ }, | ||
* **oldPropertyPrefixes**: number of properties with no longer needed vendor prefix, powered by data provided by [autoprefixer](https://github.com/ai/autoprefixer) (e.g. ``--moz-border-radius``) | ||
* **propertyResets**: number of [accidental property resets](http://css-tricks.com/accidental-css-resets/) | ||
* **qualifiedSelectors**: number of [qualified selectors](https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Writing_efficient_CSS) (e.g. ``header#nav``, ``.foo#bar``, ``h1.title``) | ||
@@ -155,2 +160,4 @@ * **specificityIdAvg**: average [specificity](http://css-tricks.com/specifics-on-css-specificity/) for ID | ||
* **specificityTagTotal**: total [specificity](http://css-tricks.com/specifics-on-css-specificity/) for element | ||
* **selectors**: number of selectors (e.g. ``.foo, .bar { color: red }`` is counted as two selectors - ``.foo`` and ``.bar``) | ||
* **selectorLengthAvg**: average length of selector (e.g. for ``.foo .bar, #test div > span { color: red }`` will be set as 2.5) | ||
* **selectorsByAttribute**: number of selectors by attribute (e.g. ``.foo[value=bar]``) | ||
@@ -164,3 +171,2 @@ * **selectorsByClass**: number of selectors by class | ||
* **rules**: number of rules (e.g. ``.foo, .bar { color: red }`` is counted as one rule) | ||
* **selectors**: number of selectors (e.g. ``.foo, .bar { color: red }`` is counted as two selectors - ``.foo`` and ``.bar``) | ||
* **declarations**: number of declarations (e.g. ``.foo, .bar { color: red }`` is counted as one declaration - ``color: red``) | ||
@@ -167,0 +173,0 @@ |
@@ -14,2 +14,3 @@ 'use strict'; | ||
'table': ['tr', 'th'], // e.g. table can not be followed by any of tr / th | ||
'tr': ['td', 'th'], | ||
}; | ||
@@ -16,0 +17,0 @@ |
{ | ||
"generated": "2015-02-23 using autoprefixer-core v5.1.7", | ||
"generated": "2015-07-06 using autoprefixer-core v5.2.1", | ||
"browsers": [ | ||
"and_chr 40", | ||
"and_chr 42", | ||
"and_uc 9.9", | ||
@@ -9,7 +9,7 @@ "android 4.2-4.3", | ||
"android 4.4.3-4.4.4", | ||
"chrome 39", | ||
"chrome 40", | ||
"chrome 42", | ||
"chrome 43", | ||
"firefox 31", | ||
"firefox 34", | ||
"firefox 35", | ||
"firefox 38", | ||
"firefox 39", | ||
"ie 10", | ||
@@ -21,9 +21,8 @@ "ie 11", | ||
"ie_mob 11", | ||
"ios_saf 7.0-7.1", | ||
"ios_saf 8", | ||
"ios_saf 8.1", | ||
"ios_saf 8.1-8.3", | ||
"op_mini 5.0-8.0", | ||
"opera 12.1", | ||
"opera 26", | ||
"opera 27", | ||
"opera 29", | ||
"opera 30", | ||
"safari 7.1", | ||
@@ -39,7 +38,7 @@ "safari 8" | ||
"keep": false, | ||
"msg": "was required by firefox 3.6 and earlier" | ||
"msg": "was required by Firefox 3.6 and earlier" | ||
}, | ||
"-webkit-border-radius": { | ||
"keep": false, | ||
"msg": "was required by android 2.1, chrome 4, ios_saf 3.2, safari 4 and earlier" | ||
"msg": "was required by Android Browser 2.1, Chrome 4, iOS Safari 3.2, Safari 4 and earlier" | ||
}, | ||
@@ -56,7 +55,7 @@ "-o-border-radius": { | ||
"keep": false, | ||
"msg": "was required by firefox 3.6 and earlier" | ||
"msg": "was required by Firefox 3.6 and earlier" | ||
}, | ||
"-webkit-border-top-left-radius": { | ||
"keep": false, | ||
"msg": "was required by android 2.1, chrome 4, ios_saf 3.2, safari 4 and earlier" | ||
"msg": "was required by Android Browser 2.1, Chrome 4, iOS Safari 3.2, Safari 4 and earlier" | ||
}, | ||
@@ -73,7 +72,7 @@ "-o-border-top-left-radius": { | ||
"keep": false, | ||
"msg": "was required by firefox 3.6 and earlier" | ||
"msg": "was required by Firefox 3.6 and earlier" | ||
}, | ||
"-webkit-border-top-right-radius": { | ||
"keep": false, | ||
"msg": "was required by android 2.1, chrome 4, ios_saf 3.2, safari 4 and earlier" | ||
"msg": "was required by Android Browser 2.1, Chrome 4, iOS Safari 3.2, Safari 4 and earlier" | ||
}, | ||
@@ -90,7 +89,7 @@ "-o-border-top-right-radius": { | ||
"keep": false, | ||
"msg": "was required by firefox 3.6 and earlier" | ||
"msg": "was required by Firefox 3.6 and earlier" | ||
}, | ||
"-webkit-border-bottom-right-radius": { | ||
"keep": false, | ||
"msg": "was required by android 2.1, chrome 4, ios_saf 3.2, safari 4 and earlier" | ||
"msg": "was required by Android Browser 2.1, Chrome 4, iOS Safari 3.2, Safari 4 and earlier" | ||
}, | ||
@@ -107,7 +106,7 @@ "-o-border-bottom-right-radius": { | ||
"keep": false, | ||
"msg": "was required by firefox 3.6 and earlier" | ||
"msg": "was required by Firefox 3.6 and earlier" | ||
}, | ||
"-webkit-border-bottom-left-radius": { | ||
"keep": false, | ||
"msg": "was required by android 2.1, chrome 4, ios_saf 3.2, safari 4 and earlier" | ||
"msg": "was required by Android Browser 2.1, Chrome 4, iOS Safari 3.2, Safari 4 and earlier" | ||
}, | ||
@@ -124,7 +123,7 @@ "-o-border-bottom-left-radius": { | ||
"keep": false, | ||
"msg": "was required by firefox 3.6 and earlier" | ||
"msg": "was required by Firefox 3.6 and earlier" | ||
}, | ||
"-webkit-box-shadow": { | ||
"keep": false, | ||
"msg": "was required by android 3, chrome 9, ios_saf 4.2, safari 5 and earlier" | ||
"msg": "was required by Android Browser 3, Chrome 9, iOS Safari 4.2, Safari 5 and earlier" | ||
}, | ||
@@ -141,7 +140,7 @@ "-o-box-shadow": { | ||
"keep": false, | ||
"msg": "was required by firefox 15 and earlier" | ||
"msg": "was required by Firefox 15 and earlier" | ||
}, | ||
"-webkit-animation": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, android 4.2, and_chr 40, and_uc 9.9 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -158,7 +157,7 @@ "-o-animation": { | ||
"keep": false, | ||
"msg": "was required by firefox 15 and earlier" | ||
"msg": "was required by Firefox 15 and earlier" | ||
}, | ||
"-webkit-animation-name": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, android 4.2, and_chr 40, and_uc 9.9 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -175,7 +174,7 @@ "-o-animation-name": { | ||
"keep": false, | ||
"msg": "was required by firefox 15 and earlier" | ||
"msg": "was required by Firefox 15 and earlier" | ||
}, | ||
"-webkit-animation-duration": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, android 4.2, and_chr 40, and_uc 9.9 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -192,7 +191,7 @@ "-o-animation-duration": { | ||
"keep": false, | ||
"msg": "was required by firefox 15 and earlier" | ||
"msg": "was required by Firefox 15 and earlier" | ||
}, | ||
"-webkit-animation-delay": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, android 4.2, and_chr 40, and_uc 9.9 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -209,7 +208,7 @@ "-o-animation-delay": { | ||
"keep": false, | ||
"msg": "was required by firefox 15 and earlier" | ||
"msg": "was required by Firefox 15 and earlier" | ||
}, | ||
"-webkit-animation-direction": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, android 4.2, and_chr 40, and_uc 9.9 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -226,7 +225,7 @@ "-o-animation-direction": { | ||
"keep": false, | ||
"msg": "was required by firefox 15 and earlier" | ||
"msg": "was required by Firefox 15 and earlier" | ||
}, | ||
"-webkit-animation-fill-mode": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, android 4.2, and_chr 40, and_uc 9.9 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -243,7 +242,7 @@ "-o-animation-fill-mode": { | ||
"keep": false, | ||
"msg": "was required by firefox 15 and earlier" | ||
"msg": "was required by Firefox 15 and earlier" | ||
}, | ||
"-webkit-animation-iteration-count": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, android 4.2, and_chr 40, and_uc 9.9 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -260,7 +259,7 @@ "-o-animation-iteration-count": { | ||
"keep": false, | ||
"msg": "was required by firefox 15 and earlier" | ||
"msg": "was required by Firefox 15 and earlier" | ||
}, | ||
"-webkit-animation-play-state": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, android 4.2, and_chr 40, and_uc 9.9 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -277,7 +276,7 @@ "-o-animation-play-state": { | ||
"keep": false, | ||
"msg": "was required by firefox 15 and earlier" | ||
"msg": "was required by Firefox 15 and earlier" | ||
}, | ||
"-webkit-animation-timing-function": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, android 4.2, and_chr 40, and_uc 9.9 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -294,7 +293,7 @@ "-o-animation-timing-function": { | ||
"keep": false, | ||
"msg": "was required by firefox 15 and earlier" | ||
"msg": "was required by Firefox 15 and earlier" | ||
}, | ||
"-webkit-@keyframes": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, android 4.2, and_chr 40, and_uc 9.9 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -311,7 +310,7 @@ "-o-@keyframes": { | ||
"keep": false, | ||
"msg": "was required by firefox 15 and earlier" | ||
"msg": "was required by Firefox 15 and earlier" | ||
}, | ||
"-webkit-transition": { | ||
"keep": true, | ||
"msg": "required by android 4.2, and_uc 9.9 and later" | ||
"msg": "required by Android Browser 4.2, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -328,7 +327,7 @@ "-o-transition": { | ||
"keep": false, | ||
"msg": "was required by firefox 15 and earlier" | ||
"msg": "was required by Firefox 15 and earlier" | ||
}, | ||
"-webkit-transition-property": { | ||
"keep": true, | ||
"msg": "required by android 4.2, and_uc 9.9 and later" | ||
"msg": "required by Android Browser 4.2, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -345,7 +344,7 @@ "-o-transition-property": { | ||
"keep": false, | ||
"msg": "was required by firefox 15 and earlier" | ||
"msg": "was required by Firefox 15 and earlier" | ||
}, | ||
"-webkit-transition-duration": { | ||
"keep": true, | ||
"msg": "required by android 4.2, and_uc 9.9 and later" | ||
"msg": "required by Android Browser 4.2, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -362,7 +361,7 @@ "-o-transition-duration": { | ||
"keep": false, | ||
"msg": "was required by firefox 15 and earlier" | ||
"msg": "was required by Firefox 15 and earlier" | ||
}, | ||
"-webkit-transition-delay": { | ||
"keep": true, | ||
"msg": "required by android 4.2, and_uc 9.9 and later" | ||
"msg": "required by Android Browser 4.2, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -379,7 +378,7 @@ "-o-transition-delay": { | ||
"keep": false, | ||
"msg": "was required by firefox 15 and earlier" | ||
"msg": "was required by Firefox 15 and earlier" | ||
}, | ||
"-webkit-transition-timing-function": { | ||
"keep": true, | ||
"msg": "required by android 4.2, and_uc 9.9 and later" | ||
"msg": "required by Android Browser 4.2, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -392,11 +391,11 @@ "-o-transition-timing-function": { | ||
"keep": true, | ||
"msg": "required by ie 9 and later" | ||
"msg": "required by IE 9 and later" | ||
}, | ||
"-moz-transform": { | ||
"keep": false, | ||
"msg": "was required by firefox 15 and earlier" | ||
"msg": "was required by Firefox 15 and earlier" | ||
}, | ||
"-webkit-transform": { | ||
"keep": true, | ||
"msg": "required by safari 7.1, ios_saf 7, android 4.2, and_uc 9.9 and later" | ||
"msg": "required by Safari 7.1, iOS Safari 8, Android Browser 4.2, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -409,11 +408,11 @@ "-o-transform": { | ||
"keep": true, | ||
"msg": "required by ie 9 and later" | ||
"msg": "required by IE 9 and later" | ||
}, | ||
"-moz-transform-origin": { | ||
"keep": false, | ||
"msg": "was required by firefox 15 and earlier" | ||
"msg": "was required by Firefox 15 and earlier" | ||
}, | ||
"-webkit-transform-origin": { | ||
"keep": true, | ||
"msg": "required by safari 7.1, ios_saf 7, android 4.2, and_uc 9.9 and later" | ||
"msg": "required by Safari 7.1, iOS Safari 8, Android Browser 4.2, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -430,7 +429,7 @@ "-o-transform-origin": { | ||
"keep": false, | ||
"msg": "was required by firefox 15 and earlier" | ||
"msg": "was required by Firefox 15 and earlier" | ||
}, | ||
"-webkit-perspective": { | ||
"keep": true, | ||
"msg": "required by safari 7.1, ios_saf 7, android 4.2, and_uc 9.9 and later" | ||
"msg": "required by Safari 7.1, iOS Safari 8, Android Browser 4.2, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -447,7 +446,7 @@ "-o-perspective": { | ||
"keep": false, | ||
"msg": "was required by firefox 15 and earlier" | ||
"msg": "was required by Firefox 15 and earlier" | ||
}, | ||
"-webkit-perspective-origin": { | ||
"keep": true, | ||
"msg": "required by safari 7.1, ios_saf 7, android 4.2, and_uc 9.9 and later" | ||
"msg": "required by Safari 7.1, iOS Safari 8, Android Browser 4.2, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -464,7 +463,7 @@ "-o-perspective-origin": { | ||
"keep": false, | ||
"msg": "was required by firefox 15 and earlier" | ||
"msg": "was required by Firefox 15 and earlier" | ||
}, | ||
"-webkit-transform-style": { | ||
"keep": true, | ||
"msg": "required by safari 7.1, ios_saf 7, android 4.2, and_uc 9.9 and later" | ||
"msg": "required by Safari 7.1, iOS Safari 8, Android Browser 4.2, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -481,7 +480,7 @@ "-o-transform-style": { | ||
"keep": false, | ||
"msg": "was required by firefox 15 and earlier" | ||
"msg": "was required by Firefox 15 and earlier" | ||
}, | ||
"-webkit-backface-visibility": { | ||
"keep": true, | ||
"msg": "required by safari 7.1, ios_saf 7, android 4.2, and_uc 9.9 and later" | ||
"msg": "required by Safari 7.1, iOS Safari 8, Android Browser 4.2, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -498,7 +497,7 @@ "-o-backface-visibility": { | ||
"keep": false, | ||
"msg": "was required by firefox 28 and earlier" | ||
"msg": "was required by Firefox 28 and earlier" | ||
}, | ||
"-webkit-box-sizing": { | ||
"keep": false, | ||
"msg": "was required by android 3, chrome 9, ios_saf 4.2, safari 5 and earlier" | ||
"msg": "was required by Android Browser 3, Chrome 9, iOS Safari 4.2, Safari 5 and earlier" | ||
}, | ||
@@ -519,3 +518,3 @@ "-o-box-sizing": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, android 4.4, and_chr 40, and_uc 9.9 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.4, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -532,7 +531,7 @@ "-o-filter": { | ||
"keep": true, | ||
"msg": "required by firefox 31 and later" | ||
"msg": "required by Firefox 31 and later" | ||
}, | ||
"-webkit-columns": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, android 4.2, and_chr 40, and_uc 9.9 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -549,7 +548,7 @@ "-o-columns": { | ||
"keep": true, | ||
"msg": "required by firefox 31 and later" | ||
"msg": "required by Firefox 31 and later" | ||
}, | ||
"-webkit-column-width": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, android 4.2, and_chr 40, and_uc 9.9 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -566,7 +565,7 @@ "-o-column-width": { | ||
"keep": true, | ||
"msg": "required by firefox 31 and later" | ||
"msg": "required by Firefox 31 and later" | ||
}, | ||
"-webkit-column-gap": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, android 4.2, and_chr 40, and_uc 9.9 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -583,7 +582,7 @@ "-o-column-gap": { | ||
"keep": true, | ||
"msg": "required by firefox 31 and later" | ||
"msg": "required by Firefox 31 and later" | ||
}, | ||
"-webkit-column-rule": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, android 4.2, and_chr 40, and_uc 9.9 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -600,7 +599,7 @@ "-o-column-rule": { | ||
"keep": true, | ||
"msg": "required by firefox 31 and later" | ||
"msg": "required by Firefox 31 and later" | ||
}, | ||
"-webkit-column-rule-color": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, android 4.2, and_chr 40, and_uc 9.9 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -617,7 +616,7 @@ "-o-column-rule-color": { | ||
"keep": true, | ||
"msg": "required by firefox 31 and later" | ||
"msg": "required by Firefox 31 and later" | ||
}, | ||
"-webkit-column-rule-width": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, android 4.2, and_chr 40, and_uc 9.9 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -634,7 +633,7 @@ "-o-column-rule-width": { | ||
"keep": true, | ||
"msg": "required by firefox 31 and later" | ||
"msg": "required by Firefox 31 and later" | ||
}, | ||
"-webkit-column-count": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, android 4.2, and_chr 40, and_uc 9.9 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -651,7 +650,7 @@ "-o-column-count": { | ||
"keep": true, | ||
"msg": "required by firefox 31 and later" | ||
"msg": "required by Firefox 31 and later" | ||
}, | ||
"-webkit-column-rule-style": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, android 4.2, and_chr 40, and_uc 9.9 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -668,7 +667,7 @@ "-o-column-rule-style": { | ||
"keep": true, | ||
"msg": "required by firefox 31 and later" | ||
"msg": "required by Firefox 31 and later" | ||
}, | ||
"-webkit-column-span": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, android 4.2, and_chr 40, and_uc 9.9 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -685,7 +684,7 @@ "-o-column-span": { | ||
"keep": true, | ||
"msg": "required by firefox 31 and later" | ||
"msg": "required by Firefox 31 and later" | ||
}, | ||
"-webkit-column-fill": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, android 4.2, and_chr 40, and_uc 9.9 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -702,7 +701,7 @@ "-o-column-fill": { | ||
"keep": true, | ||
"msg": "required by firefox 31 and later" | ||
"msg": "required by Firefox 31 and later" | ||
}, | ||
"-webkit-break-before": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, android 4.2, and_chr 40, and_uc 9.9 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -719,7 +718,7 @@ "-o-break-before": { | ||
"keep": true, | ||
"msg": "required by firefox 31 and later" | ||
"msg": "required by Firefox 31 and later" | ||
}, | ||
"-webkit-break-after": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, android 4.2, and_chr 40, and_uc 9.9 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -736,7 +735,7 @@ "-o-break-after": { | ||
"keep": true, | ||
"msg": "required by firefox 31 and later" | ||
"msg": "required by Firefox 31 and later" | ||
}, | ||
"-webkit-break-inside": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, android 4.2, and_chr 40, and_uc 9.9 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -749,11 +748,11 @@ "-o-break-inside": { | ||
"keep": true, | ||
"msg": "required by ie 10, ie_mob 10 and later" | ||
"msg": "required by IE 10, IE Mobile 10 and later" | ||
}, | ||
"-moz-user-select": { | ||
"keep": true, | ||
"msg": "required by firefox 31 and later" | ||
"msg": "required by Firefox 31 and later" | ||
}, | ||
"-webkit-user-select": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, android 4.2, and_chr 40, and_uc 9.9 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -766,11 +765,11 @@ "-o-user-select": { | ||
"keep": true, | ||
"msg": "required by ie 10, ie_mob 10 and later" | ||
"msg": "required by IE 10, IE Mobile 10 and later" | ||
}, | ||
"-moz-flex": { | ||
"keep": false, | ||
"msg": "was required by firefox 21 and earlier" | ||
"msg": "was required by Firefox 21 and earlier" | ||
}, | ||
"-webkit-flex": { | ||
"keep": true, | ||
"msg": "required by safari 7.1, ios_saf 7 and later" | ||
"msg": "required by Safari 7.1, iOS Safari 8 and later" | ||
}, | ||
@@ -783,11 +782,11 @@ "-o-flex": { | ||
"keep": true, | ||
"msg": "required by ie 10, ie_mob 10 and later" | ||
"msg": "required by IE 10, IE Mobile 10 and later" | ||
}, | ||
"-moz-flex-grow": { | ||
"keep": false, | ||
"msg": "was required by firefox 21 and earlier" | ||
"msg": "was required by Firefox 21 and earlier" | ||
}, | ||
"-webkit-flex-grow": { | ||
"keep": true, | ||
"msg": "required by safari 7.1, ios_saf 7 and later" | ||
"msg": "required by Safari 7.1, iOS Safari 8 and later" | ||
}, | ||
@@ -800,11 +799,11 @@ "-o-flex-grow": { | ||
"keep": true, | ||
"msg": "required by ie 10, ie_mob 10 and later" | ||
"msg": "required by IE 10, IE Mobile 10 and later" | ||
}, | ||
"-moz-flex-shrink": { | ||
"keep": false, | ||
"msg": "was required by firefox 21 and earlier" | ||
"msg": "was required by Firefox 21 and earlier" | ||
}, | ||
"-webkit-flex-shrink": { | ||
"keep": true, | ||
"msg": "required by safari 7.1, ios_saf 7 and later" | ||
"msg": "required by Safari 7.1, iOS Safari 8 and later" | ||
}, | ||
@@ -817,11 +816,11 @@ "-o-flex-shrink": { | ||
"keep": true, | ||
"msg": "required by ie 10, ie_mob 10 and later" | ||
"msg": "required by IE 10, IE Mobile 10 and later" | ||
}, | ||
"-moz-flex-basis": { | ||
"keep": false, | ||
"msg": "was required by firefox 21 and earlier" | ||
"msg": "was required by Firefox 21 and earlier" | ||
}, | ||
"-webkit-flex-basis": { | ||
"keep": true, | ||
"msg": "required by safari 7.1, ios_saf 7 and later" | ||
"msg": "required by Safari 7.1, iOS Safari 8 and later" | ||
}, | ||
@@ -834,11 +833,11 @@ "-o-flex-basis": { | ||
"keep": true, | ||
"msg": "required by ie 10, ie_mob 10 and later" | ||
"msg": "required by IE 10, IE Mobile 10 and later" | ||
}, | ||
"-moz-flex-direction": { | ||
"keep": false, | ||
"msg": "was required by firefox 21 and earlier" | ||
"msg": "was required by Firefox 21 and earlier" | ||
}, | ||
"-webkit-flex-direction": { | ||
"keep": true, | ||
"msg": "required by safari 7.1, ios_saf 7 and later" | ||
"msg": "required by Safari 7.1, iOS Safari 8 and later" | ||
}, | ||
@@ -851,11 +850,11 @@ "-o-flex-direction": { | ||
"keep": true, | ||
"msg": "required by ie 10, ie_mob 10 and later" | ||
"msg": "required by IE 10, IE Mobile 10 and later" | ||
}, | ||
"-moz-flex-wrap": { | ||
"keep": false, | ||
"msg": "was required by firefox 21 and earlier" | ||
"msg": "was required by Firefox 21 and earlier" | ||
}, | ||
"-webkit-flex-wrap": { | ||
"keep": true, | ||
"msg": "required by safari 7.1, ios_saf 7 and later" | ||
"msg": "required by Safari 7.1, iOS Safari 8 and later" | ||
}, | ||
@@ -868,11 +867,11 @@ "-o-flex-wrap": { | ||
"keep": true, | ||
"msg": "required by ie 10, ie_mob 10 and later" | ||
"msg": "required by IE 10, IE Mobile 10 and later" | ||
}, | ||
"-moz-flex-flow": { | ||
"keep": false, | ||
"msg": "was required by firefox 21 and earlier" | ||
"msg": "was required by Firefox 21 and earlier" | ||
}, | ||
"-webkit-flex-flow": { | ||
"keep": true, | ||
"msg": "required by safari 7.1, ios_saf 7 and later" | ||
"msg": "required by Safari 7.1, iOS Safari 8 and later" | ||
}, | ||
@@ -885,11 +884,11 @@ "-o-flex-flow": { | ||
"keep": true, | ||
"msg": "required by ie 10, ie_mob 10 and later" | ||
"msg": "required by IE 10, IE Mobile 10 and later" | ||
}, | ||
"-moz-justify-content": { | ||
"keep": false, | ||
"msg": "was required by firefox 21 and earlier" | ||
"msg": "was required by Firefox 21 and earlier" | ||
}, | ||
"-webkit-justify-content": { | ||
"keep": true, | ||
"msg": "required by safari 7.1, ios_saf 7 and later" | ||
"msg": "required by Safari 7.1, iOS Safari 8 and later" | ||
}, | ||
@@ -902,11 +901,11 @@ "-o-justify-content": { | ||
"keep": true, | ||
"msg": "required by ie 10, ie_mob 10 and later" | ||
"msg": "required by IE 10, IE Mobile 10 and later" | ||
}, | ||
"-moz-order": { | ||
"keep": false, | ||
"msg": "was required by firefox 21 and earlier" | ||
"msg": "was required by Firefox 21 and earlier" | ||
}, | ||
"-webkit-order": { | ||
"keep": true, | ||
"msg": "required by safari 7.1, ios_saf 7 and later" | ||
"msg": "required by Safari 7.1, iOS Safari 8 and later" | ||
}, | ||
@@ -919,11 +918,11 @@ "-o-order": { | ||
"keep": true, | ||
"msg": "required by ie 10, ie_mob 10 and later" | ||
"msg": "required by IE 10, IE Mobile 10 and later" | ||
}, | ||
"-moz-align-items": { | ||
"keep": false, | ||
"msg": "was required by firefox 21 and earlier" | ||
"msg": "was required by Firefox 21 and earlier" | ||
}, | ||
"-webkit-align-items": { | ||
"keep": true, | ||
"msg": "required by safari 7.1, ios_saf 7 and later" | ||
"msg": "required by Safari 7.1, iOS Safari 8 and later" | ||
}, | ||
@@ -936,11 +935,11 @@ "-o-align-items": { | ||
"keep": true, | ||
"msg": "required by ie 10, ie_mob 10 and later" | ||
"msg": "required by IE 10, IE Mobile 10 and later" | ||
}, | ||
"-moz-align-self": { | ||
"keep": false, | ||
"msg": "was required by firefox 21 and earlier" | ||
"msg": "was required by Firefox 21 and earlier" | ||
}, | ||
"-webkit-align-self": { | ||
"keep": true, | ||
"msg": "required by safari 7.1, ios_saf 7 and later" | ||
"msg": "required by Safari 7.1, iOS Safari 8 and later" | ||
}, | ||
@@ -953,11 +952,11 @@ "-o-align-self": { | ||
"keep": true, | ||
"msg": "required by ie 10, ie_mob 10 and later" | ||
"msg": "required by IE 10, IE Mobile 10 and later" | ||
}, | ||
"-moz-align-content": { | ||
"keep": false, | ||
"msg": "was required by firefox 21 and earlier" | ||
"msg": "was required by Firefox 21 and earlier" | ||
}, | ||
"-webkit-align-content": { | ||
"keep": true, | ||
"msg": "required by safari 7.1, ios_saf 7 and later" | ||
"msg": "required by Safari 7.1, iOS Safari 8 and later" | ||
}, | ||
@@ -974,7 +973,7 @@ "-o-align-content": { | ||
"keep": false, | ||
"msg": "was required by firefox 3.6 and earlier" | ||
"msg": "was required by Firefox 3.6 and earlier" | ||
}, | ||
"-webkit-background-clip": { | ||
"keep": false, | ||
"msg": "was required by android 2.3, opera 10 and earlier" | ||
"msg": "was required by Android Browser 2.3, Opera 10 and earlier" | ||
}, | ||
@@ -991,7 +990,7 @@ "-o-background-clip": { | ||
"keep": false, | ||
"msg": "was required by firefox 3.6 and earlier" | ||
"msg": "was required by Firefox 3.6 and earlier" | ||
}, | ||
"-webkit-background-origin": { | ||
"keep": false, | ||
"msg": "was required by android 2.3, opera 10 and earlier" | ||
"msg": "was required by Android Browser 2.3, Opera 10 and earlier" | ||
}, | ||
@@ -1008,7 +1007,7 @@ "-o-background-origin": { | ||
"keep": false, | ||
"msg": "was required by firefox 3.6 and earlier" | ||
"msg": "was required by Firefox 3.6 and earlier" | ||
}, | ||
"-webkit-background-size": { | ||
"keep": false, | ||
"msg": "was required by android 2.3, opera 10 and earlier" | ||
"msg": "was required by Android Browser 2.3, Opera 10 and earlier" | ||
}, | ||
@@ -1025,7 +1024,7 @@ "-o-background-size": { | ||
"keep": true, | ||
"msg": "required by firefox 31 and later" | ||
"msg": "required by Firefox 31 and later" | ||
}, | ||
"-webkit-font-feature-settings": { | ||
"keep": true, | ||
"msg": "required by chrome 39, opera 26, android 4.4, and_chr 40, and_uc 9.9 and later" | ||
"msg": "required by Chrome 42, Opera 29, Android Browser 4.4, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -1042,7 +1041,7 @@ "-o-font-feature-settings": { | ||
"keep": true, | ||
"msg": "required by firefox 31 and later" | ||
"msg": "required by Firefox 31 and later" | ||
}, | ||
"-webkit-font-variant-ligatures": { | ||
"keep": true, | ||
"msg": "required by chrome 39, opera 26, android 4.4, and_chr 40, and_uc 9.9 and later" | ||
"msg": "required by Chrome 42, Opera 29, Android Browser 4.4, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -1059,7 +1058,7 @@ "-o-font-variant-ligatures": { | ||
"keep": true, | ||
"msg": "required by firefox 31 and later" | ||
"msg": "required by Firefox 31 and later" | ||
}, | ||
"-webkit-font-language-override": { | ||
"keep": true, | ||
"msg": "required by chrome 39, opera 26, android 4.4, and_chr 40, and_uc 9.9 and later" | ||
"msg": "required by Chrome 42, Opera 29, Android Browser 4.4, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -1076,7 +1075,7 @@ "-o-font-language-override": { | ||
"keep": true, | ||
"msg": "required by firefox 31 and later" | ||
"msg": "required by Firefox 31 and later" | ||
}, | ||
"-webkit-font-kerning": { | ||
"keep": true, | ||
"msg": "required by chrome 39, opera 26, android 4.4, and_chr 40, and_uc 9.9 and later" | ||
"msg": "required by Chrome 42, Opera 29, Android Browser 4.4, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -1093,23 +1092,23 @@ "-o-font-kerning": { | ||
"keep": false, | ||
"msg": "was required by firefox 14 and earlier" | ||
"msg": "was required by Firefox 14 and earlier" | ||
}, | ||
"-webkit-border-image": { | ||
"keep": true, | ||
"msg": "required by opera 12.1, android 4.2 and later" | ||
"msg": "required by Opera 12.1, Android Browser 4.2 and later" | ||
}, | ||
"-o-border-image": { | ||
"keep": false, | ||
"msg": "prefix is no longer supported" | ||
"keep": true, | ||
"msg": "required by Opera Mini 5 and later" | ||
}, | ||
"-ms-hyphens": { | ||
"keep": true, | ||
"msg": "required by ie 10 and later" | ||
"msg": "required by IE 10 and later" | ||
}, | ||
"-moz-hyphens": { | ||
"keep": true, | ||
"msg": "required by firefox 31 and later" | ||
"msg": "required by Firefox 31 and later" | ||
}, | ||
"-webkit-hyphens": { | ||
"keep": true, | ||
"msg": "required by safari 7.1, ios_saf 7, and_uc 9.9 and later" | ||
"msg": "required by Safari 7.1, iOS Safari 8, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -1126,15 +1125,15 @@ "-o-hyphens": { | ||
"keep": true, | ||
"msg": "required by firefox 31 and later" | ||
"msg": "required by Firefox 31 and later" | ||
}, | ||
"-webkit-tab-size": { | ||
"keep": true, | ||
"msg": "required by opera 12.1 and later" | ||
"msg": "required by Opera 12.1 and later" | ||
}, | ||
"-o-tab-size": { | ||
"keep": true, | ||
"msg": "required by op_mini 5 and later" | ||
"msg": "required by Opera Mini 5 and later" | ||
}, | ||
"-ms-touch-action": { | ||
"keep": true, | ||
"msg": "required by ie 10, ie_mob 10 and later" | ||
"msg": "required by IE 10, IE Mobile 10 and later" | ||
}, | ||
@@ -1159,7 +1158,7 @@ "-moz-touch-action": { | ||
"keep": true, | ||
"msg": "required by firefox 31 and later" | ||
"msg": "required by Firefox 31 and later" | ||
}, | ||
"-webkit-text-decoration-style": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, ios_saf 8 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, iOS Safari 8 and later" | ||
}, | ||
@@ -1176,7 +1175,7 @@ "-o-text-decoration-style": { | ||
"keep": true, | ||
"msg": "required by firefox 31 and later" | ||
"msg": "required by Firefox 31 and later" | ||
}, | ||
"-webkit-text-decoration-line": { | ||
"keep": false, | ||
"msg": "prefix is no longer supported" | ||
"keep": true, | ||
"msg": "required by Chrome 42, Safari 7.1, iOS Safari 8 and later" | ||
}, | ||
@@ -1193,7 +1192,7 @@ "-o-text-decoration-line": { | ||
"keep": true, | ||
"msg": "required by firefox 31 and later" | ||
"msg": "required by Firefox 31 and later" | ||
}, | ||
"-webkit-text-decoration-color": { | ||
"keep": false, | ||
"msg": "prefix is no longer supported" | ||
"keep": true, | ||
"msg": "required by Chrome 42, Safari 7.1, iOS Safari 8 and later" | ||
}, | ||
@@ -1206,3 +1205,3 @@ "-o-text-decoration-color": { | ||
"keep": true, | ||
"msg": "required by ie_mob 10 and later" | ||
"msg": "required by IE Mobile 10 and later" | ||
}, | ||
@@ -1215,3 +1214,3 @@ "-moz-text-size-adjust": { | ||
"keep": true, | ||
"msg": "required by ios_saf 7, and_uc 9.9 and later" | ||
"msg": "required by iOS Safari 8, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -1232,3 +1231,3 @@ "-o-text-size-adjust": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, android 4.2, and_chr 40, and_uc 9.9 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -1249,3 +1248,3 @@ "-o-mask-clip": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, android 4.2, and_chr 40, and_uc 9.9 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -1266,3 +1265,3 @@ "-o-mask-composite": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, android 4.2, and_chr 40, and_uc 9.9 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -1283,3 +1282,3 @@ "-o-mask-image": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, android 4.2, and_chr 40, and_uc 9.9 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -1300,3 +1299,3 @@ "-o-mask-origin": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, android 4.2, and_chr 40, and_uc 9.9 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -1317,3 +1316,3 @@ "-o-mask-repeat": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, android 4.2, and_chr 40, and_uc 9.9 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -1334,3 +1333,3 @@ "-o-clip-path": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, android 4.2, and_chr 40, and_uc 9.9 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -1351,3 +1350,3 @@ "-o-mask": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, android 4.2, and_chr 40, and_uc 9.9 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -1368,3 +1367,3 @@ "-o-mask-position": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, android 4.2, and_chr 40, and_uc 9.9 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -1385,3 +1384,3 @@ "-o-mask-size": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, android 4.4, and_chr 40 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.4, Chrome for Android 42 and later" | ||
}, | ||
@@ -1402,7 +1401,7 @@ "-o-box-decoration-break": { | ||
"keep": true, | ||
"msg": "required by opera 12.1 and later" | ||
"msg": "required by Opera 12.1 and later" | ||
}, | ||
"-o-object-fit": { | ||
"keep": true, | ||
"msg": "required by op_mini 5 and later" | ||
"msg": "required by Opera Mini 5 and later" | ||
}, | ||
@@ -1419,7 +1418,7 @@ "-ms-object-position": { | ||
"keep": true, | ||
"msg": "required by opera 12.1 and later" | ||
"msg": "required by Opera 12.1 and later" | ||
}, | ||
"-o-object-position": { | ||
"keep": true, | ||
"msg": "required by op_mini 5 and later" | ||
"msg": "required by Opera Mini 5 and later" | ||
}, | ||
@@ -1436,3 +1435,3 @@ "-ms-shape-margin": { | ||
"keep": true, | ||
"msg": "required by safari 7.1, ios_saf 8 and later" | ||
"msg": "required by Safari 7.1, iOS Safari 8 and later" | ||
}, | ||
@@ -1453,3 +1452,3 @@ "-o-shape-margin": { | ||
"keep": true, | ||
"msg": "required by safari 7.1, ios_saf 8 and later" | ||
"msg": "required by Safari 7.1, iOS Safari 8 and later" | ||
}, | ||
@@ -1470,3 +1469,3 @@ "-o-shape-outside": { | ||
"keep": true, | ||
"msg": "required by safari 7.1, ios_saf 8 and later" | ||
"msg": "required by Safari 7.1, iOS Safari 8 and later" | ||
}, | ||
@@ -1487,3 +1486,3 @@ "-o-shape-image-threshold": { | ||
"keep": false, | ||
"msg": "was required by opera 10.6 and earlier" | ||
"msg": "was required by Opera 10.6 and earlier" | ||
}, | ||
@@ -1504,3 +1503,3 @@ "-o-text-overflow": { | ||
"keep": true, | ||
"msg": "required by chrome 39, opera 26, android 4.4, and_chr 40, and_uc 9.9 and later" | ||
"msg": "required by Chrome 42, Opera 29, Android Browser 4.4, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -1513,3 +1512,3 @@ "-o-text-emphasis": { | ||
"keep": true, | ||
"msg": "required by ie 10, ie_mob 10 and later" | ||
"msg": "required by IE 10, IE Mobile 10 and later" | ||
}, | ||
@@ -1526,3 +1525,3 @@ "-moz-@viewport": { | ||
"keep": true, | ||
"msg": "required by op_mini 5 and later" | ||
"msg": "required by Opera Mini 5 and later" | ||
}, | ||
@@ -1535,7 +1534,7 @@ "-ms-@resolution": { | ||
"keep": false, | ||
"msg": "was required by firefox 15 and earlier" | ||
"msg": "prefix is no longer supported" | ||
}, | ||
"-webkit-@resolution": { | ||
"keep": true, | ||
"msg": "required by safari 7.1, ios_saf 7, android 4.2, and_uc 9.9 and later" | ||
"msg": "required by Safari 7.1, iOS Safari 8, Android Browser 4.2, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -1552,3 +1551,3 @@ "-o-@resolution": { | ||
"keep": true, | ||
"msg": "required by firefox 31 and later" | ||
"msg": "required by Firefox 31 and later" | ||
}, | ||
@@ -1565,3 +1564,3 @@ "-webkit-text-align-last": { | ||
"keep": true, | ||
"msg": "required by ie 8, ie_mob 10 and later" | ||
"msg": "required by IE 8, IE Mobile 10 and later" | ||
}, | ||
@@ -1573,4 +1572,4 @@ "-moz-image-rendering": { | ||
"-webkit-image-rendering": { | ||
"keep": true, | ||
"msg": "required by and_uc 9.9 and later" | ||
"keep": false, | ||
"msg": "prefix is no longer supported" | ||
}, | ||
@@ -1587,7 +1586,7 @@ "-o-image-rendering": { | ||
"keep": true, | ||
"msg": "required by firefox 31 and later" | ||
"msg": "required by Firefox 31 and later" | ||
}, | ||
"-webkit-border-inline-start": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, and_chr 40 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -1604,7 +1603,7 @@ "-o-border-inline-start": { | ||
"keep": true, | ||
"msg": "required by firefox 31 and later" | ||
"msg": "required by Firefox 31 and later" | ||
}, | ||
"-webkit-border-inline-end": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, and_chr 40 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -1621,7 +1620,7 @@ "-o-border-inline-end": { | ||
"keep": true, | ||
"msg": "required by firefox 31 and later" | ||
"msg": "required by Firefox 31 and later" | ||
}, | ||
"-webkit-margin-inline-start": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, and_chr 40 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -1638,7 +1637,7 @@ "-o-margin-inline-start": { | ||
"keep": true, | ||
"msg": "required by firefox 31 and later" | ||
"msg": "required by Firefox 31 and later" | ||
}, | ||
"-webkit-margin-inline-end": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, and_chr 40 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -1655,7 +1654,7 @@ "-o-margin-inline-end": { | ||
"keep": true, | ||
"msg": "required by firefox 31 and later" | ||
"msg": "required by Firefox 31 and later" | ||
}, | ||
"-webkit-padding-inline-start": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, and_chr 40 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -1672,7 +1671,7 @@ "-o-padding-inline-start": { | ||
"keep": true, | ||
"msg": "required by firefox 31 and later" | ||
"msg": "required by Firefox 31 and later" | ||
}, | ||
"-webkit-padding-inline-end": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, and_chr 40 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -1693,3 +1692,3 @@ "-o-padding-inline-end": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, and_chr 40 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -1710,3 +1709,3 @@ "-o-border-block-start": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, and_chr 40 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -1727,3 +1726,3 @@ "-o-border-block-end": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, and_chr 40 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -1744,3 +1743,3 @@ "-o-margin-block-start": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, and_chr 40 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -1761,3 +1760,3 @@ "-o-margin-block-end": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, and_chr 40 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -1778,3 +1777,3 @@ "-o-padding-block-start": { | ||
"keep": true, | ||
"msg": "required by chrome 39, safari 7.1, opera 26, ios_saf 7, and_chr 40 and later" | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
@@ -1784,4 +1783,20 @@ "-o-padding-block-end": { | ||
"msg": "prefix is no longer supported" | ||
}, | ||
"-ms-appearance": { | ||
"keep": false, | ||
"msg": "prefix is no longer supported" | ||
}, | ||
"-moz-appearance": { | ||
"keep": true, | ||
"msg": "required by Firefox 31 and later" | ||
}, | ||
"-webkit-appearance": { | ||
"keep": true, | ||
"msg": "required by Chrome 42, Safari 7.1, Opera 29, iOS Safari 8, Android Browser 4.2, Chrome for Android 42, UC Browser for Android 9.9 and later" | ||
}, | ||
"-o-appearance": { | ||
"keep": false, | ||
"msg": "prefix is no longer supported" | ||
} | ||
} | ||
} |
'use strict'; | ||
function rule(analyzer) { | ||
var selectors = 0, | ||
selectorsLength = 0; | ||
analyzer.setMetric('selectors'); | ||
analyzer.setMetric('selectorLengthAvg'); | ||
analyzer.setMetric('selectorsByAttribute'); | ||
@@ -14,4 +20,5 @@ analyzer.setMetric('selectorsByClass'); | ||
analyzer.on('selector', function() { | ||
analyzer.incrMetric('selectors'); | ||
analyzer.on('selector', function(rule, selector, expressions) { | ||
selectors += 1; | ||
selectorsLength += expressions.length; | ||
}); | ||
@@ -49,2 +56,7 @@ | ||
}); | ||
analyzer.on('report', function() { | ||
analyzer.setMetric('selectors', selectors); | ||
analyzer.setMetric('selectorLengthAvg', selectorsLength / selectors); | ||
}); | ||
} | ||
@@ -51,0 +63,0 @@ |
@@ -26,2 +26,9 @@ /*global describe, it */ | ||
code: analyzer.EXIT_CSS_PASSED_IS_NOT_STRING | ||
}, | ||
// issue #98 | ||
{ | ||
name: 'Invalid CSS selector', | ||
css: 'foo, bar, {color: red}', | ||
check: /Unable to parse "" selector. Rule position start @ 1:1, end @ 1:23/, | ||
code: analyzer.EXIT_PARSING_FAILED | ||
} | ||
@@ -35,4 +42,10 @@ ]; | ||
new analyzer(test.css, function(err, res) { | ||
assert.equal(test.check.test(err && err.toString()), true, err); | ||
assert.equal(err instanceof Error, true, 'Error should be thrown'); | ||
if (!test.check.test(err.toString())) { | ||
assert.fail(err.toString(), test.check); | ||
} | ||
assert.equal(err.code, test.code); | ||
assert.equal(res, null); | ||
done(); | ||
@@ -39,0 +52,0 @@ }); |
@@ -95,2 +95,34 @@ exports.tests = [ | ||
}, | ||
// tr + td | ||
{ | ||
css: '.foo tr td {}', | ||
metrics: { | ||
redundantChildNodesSelectors: 1 | ||
} | ||
}, | ||
{ | ||
css: '.foo tr th {}', | ||
metrics: { | ||
redundantChildNodesSelectors: 1 | ||
} | ||
}, | ||
// table + tr & tr + td | ||
{ | ||
css: 'table.recommended tr td {}', | ||
metrics: { | ||
redundantChildNodesSelectors: 2 | ||
} | ||
}, | ||
{ | ||
css: 'table.tableborder tr.first td {}', | ||
metrics: { | ||
redundantChildNodesSelectors: 2 | ||
} | ||
}, | ||
{ | ||
css: 'table tr th.first {}', | ||
metrics: { | ||
redundantChildNodesSelectors: 2 | ||
} | ||
}, | ||
]; |
@@ -7,2 +7,3 @@ exports.tests = [ | ||
selectors: 2, | ||
selectorLengthAvg: 1, | ||
declarations: 2 | ||
@@ -27,3 +28,4 @@ } | ||
selectorsByClass: 1, | ||
selectorsByTag: 3 | ||
selectorsByTag: 3, | ||
selectorLengthAvg: 1.5 | ||
} | ||
@@ -41,2 +43,3 @@ }, | ||
selectorsByAttribute: 1, | ||
selectorLengthAvg: 1 | ||
} | ||
@@ -65,3 +68,10 @@ }, | ||
} | ||
}, | ||
{ | ||
css: 'div .foo, div .bar, div .foo .bar, div#foo .bar span.test {}', | ||
metrics: { | ||
selectors: 4, | ||
selectorLengthAvg: 2.5 | ||
} | ||
} | ||
]; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
183283
69
4393
190
11
+ Addedamdefine@1.0.1(transitive)
+ Addedasync-foreach@0.1.3(transitive)
+ Addedcall-bind@1.0.7(transitive)
+ Addedcamelcase@3.0.0(transitive)
+ Addedcli@0.8.0(transitive)
+ Addedcliui@3.2.0(transitive)
+ Addedcode-point-at@1.1.0(transitive)
+ Addedcss-shorthand-properties@1.0.0(transitive)
+ Addeddebug@2.2.0(transitive)
+ Addeddefine-data-property@1.1.4(transitive)
+ Addeddefine-properties@1.2.1(transitive)
+ Addedes-define-property@1.0.0(transitive)
+ Addedes-errors@1.3.0(transitive)
+ Addedfs.realpath@1.0.0(transitive)
+ Addedget-caller-file@1.0.3(transitive)
+ Addedget-intrinsic@1.2.4(transitive)
+ Addedglob@5.0.157.2.3(transitive)
+ Addedgopd@1.0.1(transitive)
+ Addedhas-property-descriptors@1.0.2(transitive)
+ Addedhas-proto@1.0.3(transitive)
+ Addedhas-symbols@1.0.3(transitive)
+ Addedinvert-kv@1.0.0(transitive)
+ Addedis-fullwidth-code-point@1.0.0(transitive)
+ Addedjs-base64@2.6.4(transitive)
+ Addedlcid@1.0.0(transitive)
+ Addedlodash@4.17.21(transitive)
+ Addedminimatch@3.1.2(transitive)
+ Addedms@0.7.1(transitive)
+ Addednode-sass@3.2.0(transitive)
+ Addednumber-is-nan@1.0.1(transitive)
+ Addedobject-keys@1.1.1(transitive)
+ Addedobject.assign@4.1.5(transitive)
+ Addedos-locale@1.4.0(transitive)
+ Addedpath-is-absolute@1.0.1(transitive)
+ Addedrequire-directory@2.1.1(transitive)
+ Addedrequire-main-filename@1.0.1(transitive)
+ Addedsass-graph@2.2.6(transitive)
+ Addedscss-tokenizer@0.2.3(transitive)
+ Addedset-blocking@2.0.0(transitive)
+ Addedset-function-length@1.2.2(transitive)
+ Addedsource-map@0.4.4(transitive)
+ Addedstring-width@1.0.2(transitive)
+ Addedwhich-module@1.0.0(transitive)
+ Addedwrap-ansi@2.1.0(transitive)
+ Addedy18n@3.2.2(transitive)
+ Addedyargs@7.1.2(transitive)
+ Addedyargs-parser@5.0.1(transitive)
- Removedcli@0.6.6(transitive)
- Removedcommander@2.20.3(transitive)
- Removeddebug@2.1.3(transitive)
- Removedglob@3.2.114.4.2(transitive)
- Removedlodash@2.4.2(transitive)
- Removedminimatch@0.3.0(transitive)
- Removedms@0.7.0(transitive)
- Removednode-sass@3.0.0-alpha.0(transitive)
- Removedsass-graph@1.3.0(transitive)
Updatedcli@0.8.x
Updateddebug@2.2.x
Updatedglob@5.0.x
Updatednode-sass@3.2.x