|
1 | 1 | module CC
|
2 | 2 | module Engine
|
3 | 3 | class CSSlint
|
4 |
| - # https://github.com/CSSLint/csslint/wiki/Rules |
5 | 4 | class CheckDetails
|
| 5 | + ALL_RULES = { |
| 6 | + # https://github.com/CSSLint/csslint/wiki/Rules |
| 7 | + "net.csslint.Adjoiningclasses" => { categories: "Compatability" }, |
| 8 | + "net.csslint.Boxmodel" => { categories: "Bug Risk" }, |
| 9 | + "net.csslint.Boxsizing" => { categories: "Compatability" }, |
| 10 | + "net.csslint.Bulletprooffontface" => { categories: "Compatability" }, |
| 11 | + "net.csslint.Compatiblevendorprefixes" => { categories: "Compatability" }, |
| 12 | + "net.csslint.Displaypropertygrouping" => { categories: "Bug Risk" }, |
| 13 | + "net.csslint.Duplicatebackgroundimages" => { categories: "Bug Risk" }, |
| 14 | + "net.csslint.Duplicateproperties" => { categories: "Bug Risk" }, |
| 15 | + "net.csslint.Emptyrules" => { categories: "Bug Risk" }, |
| 16 | + "net.csslint.Fallbackcolors" => { categories: "Compatability" }, |
| 17 | + "net.csslint.Fontfaces" => { categories: "Bug Risk" }, |
| 18 | + "net.csslint.Gradients" => { categories: "Compatability" }, |
| 19 | + "net.csslint.Import" => { categories: "Bug Risk" }, |
| 20 | + "net.csslint.Knownproperties" => { categories: "Bug Risk" }, |
| 21 | + "net.csslint.Overqualifiedelements" => { categories: "Bug Risk" }, |
| 22 | + "net.csslint.Regexselectors" => { categories: "Bug Risk" }, |
| 23 | + "net.csslint.Shorthand" => { categories: "Bug Risk" }, |
| 24 | + "net.csslint.Starpropertyhack" => { categories: "Compatability" }, |
| 25 | + "net.csslint.Textindent" => { categories: "Compatability" }, |
| 26 | + "net.csslint.Underscorepropertyhack" => { categories: "Compatability" }, |
| 27 | + "net.csslint.Uniqueheadings" => { categories: "Duplication" }, |
| 28 | + "net.csslint.Universalselector" => { categories: "Bug Risk" }, |
| 29 | + "net.csslint.Unqualifiedattributes" => { categories: "Bug Risk" }, |
| 30 | + "net.csslint.Vendorprefix" => { categories: "Compatability" }, |
| 31 | + "net.csslint.Zerounits" => { categories: "Bug Risk" }, |
| 32 | + }.freeze |
| 33 | + |
6 | 34 | DEFAULT_CATEGORY = "Style".freeze
|
7 | 35 | DEFAULT_REMEDIATION_POINTS = 50_000.freeze
|
8 | 36 |
|
9 | 37 | attr_reader :categories, :remediation_points
|
10 | 38 |
|
11 |
| - def self.all |
12 |
| - @all ||= { |
13 |
| - "net.csslint.Adjoiningclasses" => new(categories: "Compatability"), |
14 |
| - "net.csslint.Boxmodel" => new(categories: "Bug Risk"), |
15 |
| - "net.csslint.Boxsizing" => new(categories: "Compatability"), |
16 |
| - "net.csslint.Bulletprooffontface" => new(categories: "Compatability"), |
17 |
| - "net.csslint.Compatiblevendorprefixes" => new(categories: "Compatability"), |
18 |
| - "net.csslint.Displaypropertygrouping" => new(categories: "Bug Risk"), |
19 |
| - "net.csslint.Duplicatebackgroundimages" => new(categories: "Bug Risk"), |
20 |
| - "net.csslint.Duplicateproperties" => new(categories: "Bug Risk"), |
21 |
| - "net.csslint.Emptyrules" => new(categories: "Bug Risk"), |
22 |
| - "net.csslint.Fallbackcolors" => new(categories: "Compatability"), |
23 |
| - "net.csslint.Fontfaces" => new(categories: "Bug Risk"), |
24 |
| - "net.csslint.Gradients" => new(categories: "Compatability"), |
25 |
| - "net.csslint.Import" => new(categories: "Bug Risk"), |
26 |
| - "net.csslint.Knownproperties" => new(categories: "Bug Risk"), |
27 |
| - "net.csslint.Overqualifiedelements" => new(categories: "Bug Risk"), |
28 |
| - "net.csslint.Regexselectors" => new(categories: "Bug Risk"), |
29 |
| - "net.csslint.Shorthand" => new(categories: "Bug Risk"), |
30 |
| - "net.csslint.Starpropertyhack" => new(categories: "Compatability"), |
31 |
| - "net.csslint.Textindent" => new(categories: "Compatability"), |
32 |
| - "net.csslint.Underscorepropertyhack" => new(categories: "Compatability"), |
33 |
| - "net.csslint.Uniqueheadings" => new(categories: "Duplication"), |
34 |
| - "net.csslint.Universalselector" => new(categories: "Bug Risk"), |
35 |
| - "net.csslint.Unqualifiedattributes" => new(categories: "Bug Risk"), |
36 |
| - "net.csslint.Vendorprefix" => new(categories: "Compatability"), |
37 |
| - "net.csslint.Zerounits" => new(categories: "Bug Risk"), |
38 |
| - } |
39 |
| - end |
40 |
| - |
41 | 39 | def self.fetch(check_name)
|
42 |
| - all.fetch(check_name) { new } |
| 40 | + new(ALL_RULES.fetch(check_name, {})) |
43 | 41 | end
|
44 | 42 |
|
45 | 43 | def initialize(
|
|
0 commit comments