scss-lint 0.30.0 → 0.31.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/bin/scss-lint +1 -4
  3. data/config/default.yml +5 -4
  4. data/data/property-sort-orders/recess.txt +149 -0
  5. data/data/property-sort-orders/smacss.txt +138 -0
  6. data/lib/scss_lint.rb +1 -0
  7. data/lib/scss_lint/cli.rb +93 -153
  8. data/lib/scss_lint/config.rb +16 -13
  9. data/lib/scss_lint/control_comment_processor.rb +83 -0
  10. data/lib/scss_lint/engine.rb +21 -5
  11. data/lib/scss_lint/exceptions.rb +6 -0
  12. data/lib/scss_lint/linter.rb +6 -2
  13. data/lib/scss_lint/linter/bang_format.rb +20 -9
  14. data/lib/scss_lint/linter/duplicate_property.rb +35 -30
  15. data/lib/scss_lint/linter/empty_line_between_blocks.rb +1 -1
  16. data/lib/scss_lint/linter/id_selector.rb +10 -0
  17. data/lib/scss_lint/linter/indentation.rb +2 -1
  18. data/lib/scss_lint/linter/leading_zero.rb +6 -6
  19. data/lib/scss_lint/linter/name_format.rb +11 -0
  20. data/lib/scss_lint/linter/selector_format.rb +0 -4
  21. data/lib/scss_lint/linter/single_line_per_property.rb +13 -7
  22. data/lib/scss_lint/linter/single_line_per_selector.rb +19 -11
  23. data/lib/scss_lint/linter/trailing_semicolon.rb +5 -3
  24. data/lib/scss_lint/linter/trailing_zero.rb +4 -4
  25. data/lib/scss_lint/options.rb +113 -0
  26. data/lib/scss_lint/reporter/default_reporter.rb +15 -7
  27. data/lib/scss_lint/reporter/json_reporter.rb +15 -8
  28. data/lib/scss_lint/reporter/xml_reporter.rb +12 -6
  29. data/lib/scss_lint/runner.rb +4 -5
  30. data/lib/scss_lint/version.rb +1 -1
  31. data/spec/scss_lint/cli_spec.rb +9 -229
  32. data/spec/scss_lint/linter/bang_format_spec.rb +20 -0
  33. data/spec/scss_lint/linter/duplicate_property_spec.rb +13 -0
  34. data/spec/scss_lint/linter/empty_line_between_blocks_spec.rb +12 -11
  35. data/spec/scss_lint/linter/id_selector_spec.rb +62 -0
  36. data/spec/scss_lint/linter/indentation_spec.rb +11 -0
  37. data/spec/scss_lint/linter/name_format_spec.rb +147 -117
  38. data/spec/scss_lint/linter/selector_format_spec.rb +3 -66
  39. data/spec/scss_lint/linter/trailing_semicolon_spec.rb +20 -0
  40. data/spec/scss_lint/linter_spec.rb +248 -0
  41. data/spec/scss_lint/options_spec.rb +42 -0
  42. data/spec/spec_helper.rb +1 -1
  43. metadata +177 -183
  44. data/lib/scss_lint/linter/id_with_extraneous_selector.rb +0 -20
  45. data/spec/scss_lint/linter/id_with_extraneous_selector_spec.rb +0 -139
@@ -37,15 +37,6 @@ describe SCSSLint::Linter::SelectorFormat do
37
37
  it { should_not report_lint }
38
38
  end
39
39
 
40
- context 'when pseudo-selector has alphanumeric chars and is separated by hyphens' do
41
- let(:css) { <<-CSS }
42
- [foo-bar-77=text] {
43
- }
44
- CSS
45
-
46
- it { should_not report_lint }
47
- end
48
-
49
40
  context 'when selector has alphanumeric chars and is separated by underscores' do
50
41
  let(:css) { <<-CSS }
51
42
  .foo_bar {
@@ -73,15 +64,6 @@ describe SCSSLint::Linter::SelectorFormat do
73
64
  it { should report_lint line: 1 }
74
65
  end
75
66
 
76
- context 'psuedo-selector has alphanumeric chars and is separated by underscores' do
77
- let(:css) { <<-CSS }
78
- :foo_bar {
79
- }
80
- CSS
81
-
82
- it { should report_lint line: 1 }
83
- end
84
-
85
67
  context 'when attribute has alphanumeric chars and is separated by underscores' do
86
68
  let(:css) { <<-CSS }
87
69
  [data_text] {
@@ -121,7 +103,7 @@ describe SCSSLint::Linter::SelectorFormat do
121
103
  it { should report_lint line: 1 }
122
104
  end
123
105
 
124
- context 'when selector has is in camelCase' do
106
+ context 'when selector is in camelCase' do
125
107
  let(:css) { <<-CSS }
126
108
  .fooBar77 {
127
109
  }
@@ -219,9 +201,9 @@ describe SCSSLint::Linter::SelectorFormat do
219
201
  end
220
202
  end
221
203
 
222
- context 'when ignored types is set to id, element, placeholder, pseudo-selector' do
204
+ context 'when ignored types is set to id, element, placeholder' do
223
205
  let(:linter_config) do
224
- { 'ignored_types' => %w[id attribute element placeholder pseudo-selector] }
206
+ { 'ignored_types' => %w[id attribute element placeholder] }
225
207
  end
226
208
 
227
209
  context 'it ignores all invalid ids' do
@@ -259,15 +241,6 @@ describe SCSSLint::Linter::SelectorFormat do
259
241
 
260
242
  it { should_not report_lint }
261
243
  end
262
-
263
- context 'it ignores all invalid pseudo-selectors' do
264
- let(:css) { <<-CSS }
265
- :fooBar {
266
- }
267
- CSS
268
-
269
- it { should_not report_lint }
270
- end
271
244
  end
272
245
 
273
246
  context 'when using a unique `id_convention`' do
@@ -399,42 +372,6 @@ describe SCSSLint::Linter::SelectorFormat do
399
372
  end
400
373
  end
401
374
 
402
- context 'when using a unique `pseudo_convention`' do
403
- let(:linter_config) do
404
- {
405
- 'convention' => 'camel_case',
406
- 'pseudo_convention' => 'hyphenated-lowercase'
407
- }
408
- end
409
-
410
- context 'and actual pseudo is correct' do
411
- let(:css) { <<-CSS }
412
- :hyphenated-lowercase {}
413
- #camelCase {}
414
- CSS
415
-
416
- it { should_not report_lint }
417
- end
418
-
419
- context 'and actual pseudo is incorrect' do
420
- let(:css) { <<-CSS }
421
- :camelCase {}
422
- #camelCase {}
423
- CSS
424
-
425
- it { should report_lint line: 1 }
426
- end
427
-
428
- context 'and something else uses the `pseudo_convention`' do
429
- let(:css) { <<-CSS }
430
- :hyphenated-lowercase {}
431
- #hyphenated-lowercase {}
432
- CSS
433
-
434
- it { should report_lint line: 2 }
435
- end
436
- end
437
-
438
375
  context 'when using a unique `attribute_convention`' do
439
376
  let(:linter_config) do
440
377
  {
@@ -226,6 +226,26 @@ describe SCSSLint::Linter::TrailingSemicolon do
226
226
  it { should report_lint line: 1 }
227
227
  end
228
228
 
229
+ context 'when an import directive is split over multiple lines' do
230
+ context 'and is missing the trailing semicolon' do
231
+ let(:css) { <<-CSS }
232
+ @import 'functions/strip-units',
233
+ 'functions/pc'
234
+ CSS
235
+
236
+ it { should report_lint }
237
+ end
238
+
239
+ context 'and is not missing the trailing semicolon' do
240
+ let(:css) { <<-CSS }
241
+ @import 'functions/strip-units',
242
+ 'functions/pc';
243
+ CSS
244
+
245
+ it { should_not report_lint }
246
+ end
247
+ end
248
+
229
249
  context 'when variable declaration does not end with a semicolon' do
230
250
  let(:css) { <<-CSS }
231
251
  .foo {
@@ -0,0 +1,248 @@
1
+ require 'spec_helper'
2
+
3
+ describe SCSSLint::Linter do
4
+ describe 'control comments' do
5
+ let(:linter_config) { {} }
6
+ subject { SCSSLint::Linter::Fake.new }
7
+
8
+ module SCSSLint
9
+ class Linter::Fake < SCSSLint::Linter
10
+ def visit_prop(node)
11
+ return unless node.value.to_sass.strip == 'fail1'
12
+ add_lint(node, 'everything offends me')
13
+ end
14
+
15
+ # Bypasses the visit order so a control comment might not be reached before a lint is
16
+ # added
17
+ def visit_rule(node)
18
+ node.children
19
+ .select { |child| child.is_a?(Sass::Tree::PropNode) }
20
+ .reject { |prop| prop.name.any? { |item| item.is_a?(Sass::Script::Node) } }
21
+ .each do |prop|
22
+ add_lint(prop, 'everything offends me 2') if prop.value.to_sass.strip == 'fail2'
23
+ end
24
+
25
+ yield
26
+ end
27
+ end
28
+ end
29
+
30
+ context 'when a disable is not present' do
31
+ let(:css) { <<-CSS }
32
+ p {
33
+ border: fail1;
34
+
35
+ a {
36
+ border: fail1;
37
+ }
38
+ }
39
+ CSS
40
+
41
+ it { should report_lint }
42
+ end
43
+
44
+ context 'when a disable is present at the top level' do
45
+ let(:css) { <<-CSS }
46
+ // scss-lint:disable Fake
47
+ p {
48
+ border: fail1;
49
+
50
+ a {
51
+ border: fail1;
52
+ }
53
+ }
54
+ CSS
55
+
56
+ it { should_not report_lint }
57
+ end
58
+
59
+ context 'when a disable is present at the top level for another linter' do
60
+ let(:css) { <<-CSS }
61
+ // scss-lint:disable Bogus
62
+ p {
63
+ border: fail1;
64
+ }
65
+ p {
66
+ border: bogus;
67
+ }
68
+ CSS
69
+
70
+ it { should report_lint lint: 3 }
71
+ end
72
+
73
+ context 'when a linter is disabled then enabled again' do
74
+ let(:css) { <<-CSS }
75
+ // scss-lint:disable Fake
76
+ p {
77
+ border: fail1;
78
+ }
79
+ // scss-lint:enable Fake
80
+ p {
81
+ border: fail1;
82
+ }
83
+ CSS
84
+
85
+ it { should_not report_lint line: 3 }
86
+ it { should report_lint line: 7 }
87
+ end
88
+
89
+ context 'when a linter is disabled within a rule' do
90
+ let(:css) { <<-CSS }
91
+ p {
92
+ // scss-lint:disable Fake
93
+ border: fail1;
94
+
95
+ a {
96
+ border: fail1;
97
+ }
98
+ }
99
+
100
+ p {
101
+ border: fail1;
102
+ }
103
+ CSS
104
+
105
+ it { should_not report_lint line: 3 }
106
+ it { should_not report_lint line: 6 }
107
+ it { should report_lint line: 11 }
108
+ end
109
+
110
+ context 'when more than one linter is disabled' do
111
+ let(:css) { <<-CSS }
112
+ // scss-lint:disable Bogus, Fake
113
+ p {
114
+ border: fail1;
115
+ }
116
+
117
+ p {
118
+ border: bogus;
119
+ }
120
+ CSS
121
+
122
+ it { should_not report_lint }
123
+ end
124
+
125
+ context 'when more than one linter is disabled without spaces between the linter names' do
126
+ let(:css) { <<-CSS }
127
+ // scss-lint:disable Fake,Bogus
128
+ p {
129
+ border: fail1;
130
+ }
131
+
132
+ p {
133
+ border: Bogus;
134
+ }
135
+ CSS
136
+
137
+ it { should_not report_lint }
138
+ end
139
+
140
+ context 'when more than one linter is disabled without commas between the linter names' do
141
+ let(:css) { <<-CSS }
142
+ // scss-lint:disable Fake Bogus
143
+ p {
144
+ border: fail1;
145
+ }
146
+
147
+ p {
148
+ border: bogus;
149
+ }
150
+ CSS
151
+
152
+ it { should_not report_lint }
153
+ end
154
+
155
+ context 'when two linters are disabled and only one is reenabled' do
156
+ let(:css) { <<-CSS }
157
+ // scss-lint:disable Fake, Bogus
158
+ p {
159
+ border: fail1;
160
+ }
161
+ // scss-lint:enable Fake
162
+
163
+ p {
164
+ margin: fail1;
165
+ border: bogus;
166
+ }
167
+ CSS
168
+
169
+ it { should_not report_lint line: 3 }
170
+ it { should report_lint line: 8 }
171
+ end
172
+
173
+ context 'when all linters are disabled' do
174
+ let(:css) { <<-CSS }
175
+ // scss-lint:disable all
176
+ p {
177
+ border: fail1;
178
+ }
179
+
180
+ p {
181
+ margin: fail1;
182
+ border: bogus;
183
+ }
184
+ CSS
185
+
186
+ it { should_not report_lint }
187
+ end
188
+
189
+ context 'when all linters are disabled and then one is re-enabled' do
190
+ let(:css) { <<-CSS }
191
+ // scss-lint:disable all
192
+ p {
193
+ border: fail1;
194
+ }
195
+ // scss-lint:enable Fake
196
+
197
+ p {
198
+ margin: fail1;
199
+ border: bogus;
200
+ }
201
+ CSS
202
+
203
+ it { should_not report_lint line: 3 }
204
+ it { should report_lint line: 8 }
205
+ end
206
+
207
+ context 'when a linter is bypassing the visit tree order' do
208
+ let(:css) { <<-CSS }
209
+ p {
210
+ // scss-lint:disable Fake
211
+ border: fail2;
212
+ }
213
+ CSS
214
+
215
+ it { should_not report_lint }
216
+ end
217
+
218
+ context 'when the command comment is next to other comments' do
219
+ let(:css) { <<-CSS }
220
+ p {
221
+ // scss-lint:disable Fake
222
+ // more comments
223
+ border: fail2;
224
+ }
225
+
226
+ p {
227
+ // more comments
228
+ // scss-lint:disable Fake
229
+ border: fail2;
230
+ }
231
+ CSS
232
+
233
+ it { should_not report_lint }
234
+ end
235
+
236
+ context 'when the command comment is at the end of a statement' do
237
+ let(:css) { <<-CSS }
238
+ p {
239
+ border: fail1; // scss-lint:disable Fake
240
+ border: fail1;
241
+ }
242
+ CSS
243
+
244
+ it { should_not report_lint line: 2 }
245
+ it { should report_lint line: 3 }
246
+ end
247
+ end
248
+ end
@@ -0,0 +1,42 @@
1
+ require 'spec_helper'
2
+ require 'scss_lint/options'
3
+
4
+ describe SCSSLint::Options do
5
+ describe '#parse' do
6
+ subject { super().parse(args) }
7
+
8
+ context 'when no arguments are specified' do
9
+ let(:args) { [] }
10
+
11
+ it { should be_a Hash }
12
+
13
+ it 'defines no files to lint by default' do
14
+ subject[:files].should be_empty
15
+ end
16
+
17
+ it 'specifies the DefaultReporter by default' do
18
+ subject[:reporters].first.should include SCSSLint::Reporter::DefaultReporter
19
+ end
20
+
21
+ it 'outputs to STDOUT' do
22
+ subject[:reporters].first.should include :stdout
23
+ end
24
+ end
25
+
26
+ context 'when a non-existent flag is specified' do
27
+ let(:args) { ['--totally-made-up-flag'] }
28
+
29
+ it 'raises an error' do
30
+ expect { subject }.to raise_error SCSSLint::Exceptions::InvalidCLIOption
31
+ end
32
+ end
33
+
34
+ context 'when a non-existent reporter is specified' do
35
+ let(:args) { %w[--format NonExistentReporter] }
36
+
37
+ it 'raises an error' do
38
+ expect { subject }.to raise_error SCSSLint::Exceptions::InvalidCLIOption
39
+ end
40
+ end
41
+ end
42
+ end
@@ -16,7 +16,7 @@ RSpec.configure do |config|
16
16
  # If running a linter spec, run the described linter against the CSS code
17
17
  # for each example. This significantly DRYs up our linter specs to contain
18
18
  # only tests, since all the setup code is now centralized here.
19
- if described_class < SCSSLint::Linter
19
+ if described_class <= SCSSLint::Linter
20
20
  initial_indent = css[/\A(\s*)/, 1]
21
21
  normalized_css = css.gsub(/^#{initial_indent}/, '')
22
22
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scss-lint
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.30.0
4
+ version: 0.31.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Causes Engineering
@@ -9,78 +9,64 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-11-11 00:00:00.000000000 Z
12
+ date: 2014-12-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rainbow
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - ~>
18
+ - - "~>"
19
19
  - !ruby/object:Gem::Version
20
20
  version: '2.0'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - ~>
25
+ - - "~>"
26
26
  - !ruby/object:Gem::Version
27
27
  version: '2.0'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: sass
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - ~>
32
+ - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: 3.4.0
34
+ version: 3.4.1
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - ~>
39
+ - - "~>"
40
40
  - !ruby/object:Gem::Version
41
- version: 3.4.0
41
+ version: 3.4.1
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: nokogiri
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - ~>
46
+ - - "~>"
47
47
  - !ruby/object:Gem::Version
48
48
  version: 1.6.0
49
49
  type: :development
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - ~>
53
+ - - "~>"
54
54
  - !ruby/object:Gem::Version
55
55
  version: 1.6.0
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: rspec
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - ~>
60
+ - - "~>"
61
61
  - !ruby/object:Gem::Version
62
62
  version: '3.0'
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - ~>
67
+ - - "~>"
68
68
  - !ruby/object:Gem::Version
69
69
  version: '3.0'
70
- - !ruby/object:Gem::Dependency
71
- name: rubocop
72
- requirement: !ruby/object:Gem::Requirement
73
- requirements:
74
- - - '='
75
- - !ruby/object:Gem::Version
76
- version: 0.26.0
77
- type: :development
78
- prerelease: false
79
- version_requirements: !ruby/object:Gem::Requirement
80
- requirements:
81
- - - '='
82
- - !ruby/object:Gem::Version
83
- version: 0.26.0
84
70
  description: Configurable tool for writing clean and consistent SCSS
85
71
  email:
86
72
  - eng@causes.com
@@ -90,142 +76,148 @@ executables:
90
76
  extensions: []
91
77
  extra_rdoc_files: []
92
78
  files:
79
+ - bin/scss-lint
93
80
  - config/default.yml
94
- - data/properties.txt
95
- - data/property-sort-orders/concentric.txt
96
81
  - data/prefixed-identifiers/base.txt
97
82
  - data/prefixed-identifiers/bourbon.txt
98
- - lib/scss_lint/version.rb
83
+ - data/properties.txt
84
+ - data/property-sort-orders/concentric.txt
85
+ - data/property-sort-orders/recess.txt
86
+ - data/property-sort-orders/smacss.txt
87
+ - lib/scss_lint.rb
88
+ - lib/scss_lint/cli.rb
89
+ - lib/scss_lint/config.rb
99
90
  - lib/scss_lint/constants.rb
100
- - lib/scss_lint/utils.rb
101
- - lib/scss_lint/location.rb
102
- - lib/scss_lint/reporter/files_reporter.rb
103
- - lib/scss_lint/reporter/xml_reporter.rb
104
- - lib/scss_lint/reporter/default_reporter.rb
105
- - lib/scss_lint/reporter/json_reporter.rb
106
- - lib/scss_lint/reporter/config_reporter.rb
107
- - lib/scss_lint/runner.rb
108
- - lib/scss_lint/reporter.rb
91
+ - lib/scss_lint/control_comment_processor.rb
92
+ - lib/scss_lint/engine.rb
93
+ - lib/scss_lint/exceptions.rb
109
94
  - lib/scss_lint/lint.rb
110
95
  - lib/scss_lint/linter.rb
111
- - lib/scss_lint/rake_task.rb
112
- - lib/scss_lint/selector_visitor.rb
113
- - lib/scss_lint/sass/tree.rb
114
- - lib/scss_lint/sass/script.rb
115
- - lib/scss_lint/exceptions.rb
116
- - lib/scss_lint/config.rb
96
+ - lib/scss_lint/linter/bang_format.rb
97
+ - lib/scss_lint/linter/border_zero.rb
98
+ - lib/scss_lint/linter/color_keyword.rb
99
+ - lib/scss_lint/linter/comment.rb
117
100
  - lib/scss_lint/linter/compass.rb
118
- - lib/scss_lint/linter/space_after_comma.rb
119
- - lib/scss_lint/linter/nesting_depth.rb
120
- - lib/scss_lint/linter/trailing_zero.rb
121
- - lib/scss_lint/linter/space_before_brace.rb
101
+ - lib/scss_lint/linter/compass/property_with_mixin.rb
102
+ - lib/scss_lint/linter/debug_statement.rb
103
+ - lib/scss_lint/linter/declaration_order.rb
104
+ - lib/scss_lint/linter/duplicate_property.rb
105
+ - lib/scss_lint/linter/else_placement.rb
106
+ - lib/scss_lint/linter/empty_line_between_blocks.rb
107
+ - lib/scss_lint/linter/empty_rule.rb
108
+ - lib/scss_lint/linter/final_newline.rb
122
109
  - lib/scss_lint/linter/hex_length.rb
110
+ - lib/scss_lint/linter/hex_notation.rb
111
+ - lib/scss_lint/linter/hex_validation.rb
112
+ - lib/scss_lint/linter/id_selector.rb
113
+ - lib/scss_lint/linter/import_path.rb
123
114
  - lib/scss_lint/linter/indentation.rb
115
+ - lib/scss_lint/linter/leading_zero.rb
124
116
  - lib/scss_lint/linter/mergeable_selector.rb
125
- - lib/scss_lint/linter/single_line_per_property.rb
126
- - lib/scss_lint/linter/shorthand.rb
127
- - lib/scss_lint/linter/final_newline.rb
128
- - lib/scss_lint/linter/import_path.rb
129
- - lib/scss_lint/linter/id_with_extraneous_selector.rb
130
- - lib/scss_lint/linter/empty_line_between_blocks.rb
131
- - lib/scss_lint/linter/bang_format.rb
132
- - lib/scss_lint/linter/declaration_order.rb
133
- - lib/scss_lint/linter/zero_unit.rb
117
+ - lib/scss_lint/linter/name_format.rb
118
+ - lib/scss_lint/linter/nesting_depth.rb
134
119
  - lib/scss_lint/linter/placeholder_in_extend.rb
135
- - lib/scss_lint/linter/selector_depth.rb
136
- - lib/scss_lint/linter/else_placement.rb
120
+ - lib/scss_lint/linter/property_sort_order.rb
121
+ - lib/scss_lint/linter/property_spelling.rb
137
122
  - lib/scss_lint/linter/qualifying_element.rb
123
+ - lib/scss_lint/linter/selector_depth.rb
138
124
  - lib/scss_lint/linter/selector_format.rb
139
- - lib/scss_lint/linter/hex_validation.rb
140
- - lib/scss_lint/linter/compass/property_with_mixin.rb
125
+ - lib/scss_lint/linter/shorthand.rb
126
+ - lib/scss_lint/linter/single_line_per_property.rb
127
+ - lib/scss_lint/linter/single_line_per_selector.rb
128
+ - lib/scss_lint/linter/space_after_comma.rb
129
+ - lib/scss_lint/linter/space_after_property_colon.rb
141
130
  - lib/scss_lint/linter/space_after_property_name.rb
142
- - lib/scss_lint/linter/property_spelling.rb
143
- - lib/scss_lint/linter/url_quotes.rb
144
- - lib/scss_lint/linter/name_format.rb
145
- - lib/scss_lint/linter/unnecessary_parent_reference.rb
131
+ - lib/scss_lint/linter/space_before_brace.rb
146
132
  - lib/scss_lint/linter/space_between_parens.rb
147
- - lib/scss_lint/linter/border_zero.rb
148
- - lib/scss_lint/linter/space_after_property_colon.rb
149
- - lib/scss_lint/linter/debug_statement.rb
150
- - lib/scss_lint/linter/trailing_semicolon.rb
151
- - lib/scss_lint/linter/duplicate_property.rb
152
- - lib/scss_lint/linter/property_sort_order.rb
153
- - lib/scss_lint/linter/color_keyword.rb
154
133
  - lib/scss_lint/linter/string_quotes.rb
155
- - lib/scss_lint/linter/leading_zero.rb
134
+ - lib/scss_lint/linter/trailing_semicolon.rb
135
+ - lib/scss_lint/linter/trailing_zero.rb
156
136
  - lib/scss_lint/linter/unnecessary_mantissa.rb
157
- - lib/scss_lint/linter/comment.rb
158
- - lib/scss_lint/linter/empty_rule.rb
159
- - lib/scss_lint/linter/single_line_per_selector.rb
160
- - lib/scss_lint/linter/vendor_prefixes.rb
161
- - lib/scss_lint/linter/hex_notation.rb
137
+ - lib/scss_lint/linter/unnecessary_parent_reference.rb
162
138
  - lib/scss_lint/linter/url_format.rb
163
- - lib/scss_lint/cli.rb
164
- - lib/scss_lint/engine.rb
139
+ - lib/scss_lint/linter/url_quotes.rb
140
+ - lib/scss_lint/linter/vendor_prefixes.rb
141
+ - lib/scss_lint/linter/zero_unit.rb
165
142
  - lib/scss_lint/linter_registry.rb
166
- - lib/scss_lint.rb
167
- - spec/scss_lint/location_spec.rb
168
- - spec/scss_lint/reporter/files_reporter_spec.rb
169
- - spec/scss_lint/reporter/json_reporter_spec.rb
170
- - spec/scss_lint/reporter/xml_reporter_spec.rb
171
- - spec/scss_lint/reporter/config_reporter_spec.rb
172
- - spec/scss_lint/reporter/default_reporter_spec.rb
173
- - spec/scss_lint/selector_visitor_spec.rb
174
- - spec/scss_lint/runner_spec.rb
175
- - spec/scss_lint/engine_spec.rb
176
- - spec/scss_lint/reporter_spec.rb
177
- - spec/scss_lint/config_spec.rb
178
- - spec/scss_lint/linter_registry_spec.rb
143
+ - lib/scss_lint/location.rb
144
+ - lib/scss_lint/options.rb
145
+ - lib/scss_lint/rake_task.rb
146
+ - lib/scss_lint/reporter.rb
147
+ - lib/scss_lint/reporter/config_reporter.rb
148
+ - lib/scss_lint/reporter/default_reporter.rb
149
+ - lib/scss_lint/reporter/files_reporter.rb
150
+ - lib/scss_lint/reporter/json_reporter.rb
151
+ - lib/scss_lint/reporter/xml_reporter.rb
152
+ - lib/scss_lint/runner.rb
153
+ - lib/scss_lint/sass/script.rb
154
+ - lib/scss_lint/sass/tree.rb
155
+ - lib/scss_lint/selector_visitor.rb
156
+ - lib/scss_lint/utils.rb
157
+ - lib/scss_lint/version.rb
179
158
  - spec/scss_lint/cli_spec.rb
180
- - spec/scss_lint/linter/final_newline_spec.rb
181
- - spec/scss_lint/linter/color_keyword_spec.rb
182
- - spec/scss_lint/linter/import_path_spec.rb
183
- - spec/scss_lint/linter/single_line_per_selector_spec.rb
184
- - spec/scss_lint/linter/empty_rule_spec.rb
185
- - spec/scss_lint/linter/hex_notation_spec.rb
159
+ - spec/scss_lint/config_spec.rb
160
+ - spec/scss_lint/engine_spec.rb
186
161
  - spec/scss_lint/linter/bang_format_spec.rb
187
- - spec/scss_lint/linter/hex_length_spec.rb
188
- - spec/scss_lint/linter/vendor_prefixes_spec.rb
189
- - spec/scss_lint/linter/url_quotes_spec.rb
190
- - spec/scss_lint/linter/space_between_parens_spec.rb
191
- - spec/scss_lint/linter/selector_format_spec.rb
192
162
  - spec/scss_lint/linter/border_zero_spec.rb
193
- - spec/scss_lint/linter/property_spelling_spec.rb
194
- - spec/scss_lint/linter/property_sort_order_spec.rb
195
- - spec/scss_lint/linter/else_placement_spec.rb
196
- - spec/scss_lint/linter/qualifying_element_spec.rb
197
- - spec/scss_lint/linter/zero_unit_spec.rb
198
- - spec/scss_lint/linter/mergeable_selector_spec.rb
199
- - spec/scss_lint/linter/unnecessary_mantissa_spec.rb
200
- - spec/scss_lint/linter/name_format_spec.rb
201
- - spec/scss_lint/linter/duplicate_property_spec.rb
202
- - spec/scss_lint/linter/hex_validation_spec.rb
203
- - spec/scss_lint/linter/space_before_brace_spec.rb
163
+ - spec/scss_lint/linter/color_keyword_spec.rb
164
+ - spec/scss_lint/linter/comment_spec.rb
204
165
  - spec/scss_lint/linter/compass/property_with_mixin_spec.rb
205
- - spec/scss_lint/linter/placeholder_in_extend_spec.rb
206
166
  - spec/scss_lint/linter/debug_statement_spec.rb
207
- - spec/scss_lint/linter/string_quotes_spec.rb
208
- - spec/scss_lint/linter/indentation_spec.rb
209
- - spec/scss_lint/linter/unnecessary_parent_reference_spec.rb
210
- - spec/scss_lint/linter/empty_line_between_blocks_spec.rb
211
- - spec/scss_lint/linter/single_line_per_property_spec.rb
212
- - spec/scss_lint/linter/space_after_property_colon_spec.rb
213
167
  - spec/scss_lint/linter/declaration_order_spec.rb
168
+ - spec/scss_lint/linter/duplicate_property_spec.rb
169
+ - spec/scss_lint/linter/else_placement_spec.rb
170
+ - spec/scss_lint/linter/empty_line_between_blocks_spec.rb
171
+ - spec/scss_lint/linter/empty_rule_spec.rb
172
+ - spec/scss_lint/linter/final_newline_spec.rb
173
+ - spec/scss_lint/linter/hex_length_spec.rb
174
+ - spec/scss_lint/linter/hex_notation_spec.rb
175
+ - spec/scss_lint/linter/hex_validation_spec.rb
176
+ - spec/scss_lint/linter/id_selector_spec.rb
177
+ - spec/scss_lint/linter/import_path_spec.rb
178
+ - spec/scss_lint/linter/indentation_spec.rb
214
179
  - spec/scss_lint/linter/leading_zero_spec.rb
215
- - spec/scss_lint/linter/trailing_zero_spec.rb
216
- - spec/scss_lint/linter/url_format_spec.rb
217
- - spec/scss_lint/linter/comment_spec.rb
180
+ - spec/scss_lint/linter/mergeable_selector_spec.rb
181
+ - spec/scss_lint/linter/name_format_spec.rb
218
182
  - spec/scss_lint/linter/nesting_depth_spec.rb
219
- - spec/scss_lint/linter/trailing_semicolon_spec.rb
183
+ - spec/scss_lint/linter/placeholder_in_extend_spec.rb
184
+ - spec/scss_lint/linter/property_sort_order_spec.rb
185
+ - spec/scss_lint/linter/property_spelling_spec.rb
186
+ - spec/scss_lint/linter/qualifying_element_spec.rb
220
187
  - spec/scss_lint/linter/selector_depth_spec.rb
221
- - spec/scss_lint/linter/space_after_comma_spec.rb
188
+ - spec/scss_lint/linter/selector_format_spec.rb
222
189
  - spec/scss_lint/linter/shorthand_spec.rb
223
- - spec/scss_lint/linter/id_with_extraneous_selector_spec.rb
190
+ - spec/scss_lint/linter/single_line_per_property_spec.rb
191
+ - spec/scss_lint/linter/single_line_per_selector_spec.rb
192
+ - spec/scss_lint/linter/space_after_comma_spec.rb
193
+ - spec/scss_lint/linter/space_after_property_colon_spec.rb
224
194
  - spec/scss_lint/linter/space_after_property_name_spec.rb
225
- - spec/support/matchers/report_lint.rb
226
- - spec/support/isolated_environment.rb
195
+ - spec/scss_lint/linter/space_before_brace_spec.rb
196
+ - spec/scss_lint/linter/space_between_parens_spec.rb
197
+ - spec/scss_lint/linter/string_quotes_spec.rb
198
+ - spec/scss_lint/linter/trailing_semicolon_spec.rb
199
+ - spec/scss_lint/linter/trailing_zero_spec.rb
200
+ - spec/scss_lint/linter/unnecessary_mantissa_spec.rb
201
+ - spec/scss_lint/linter/unnecessary_parent_reference_spec.rb
202
+ - spec/scss_lint/linter/url_format_spec.rb
203
+ - spec/scss_lint/linter/url_quotes_spec.rb
204
+ - spec/scss_lint/linter/vendor_prefixes_spec.rb
205
+ - spec/scss_lint/linter/zero_unit_spec.rb
206
+ - spec/scss_lint/linter_registry_spec.rb
207
+ - spec/scss_lint/linter_spec.rb
208
+ - spec/scss_lint/location_spec.rb
209
+ - spec/scss_lint/options_spec.rb
210
+ - spec/scss_lint/reporter/config_reporter_spec.rb
211
+ - spec/scss_lint/reporter/default_reporter_spec.rb
212
+ - spec/scss_lint/reporter/files_reporter_spec.rb
213
+ - spec/scss_lint/reporter/json_reporter_spec.rb
214
+ - spec/scss_lint/reporter/xml_reporter_spec.rb
215
+ - spec/scss_lint/reporter_spec.rb
216
+ - spec/scss_lint/runner_spec.rb
217
+ - spec/scss_lint/selector_visitor_spec.rb
227
218
  - spec/spec_helper.rb
228
- - bin/scss-lint
219
+ - spec/support/isolated_environment.rb
220
+ - spec/support/matchers/report_lint.rb
229
221
  homepage: https://github.com/causes/scss-lint
230
222
  licenses:
231
223
  - MIT
@@ -236,80 +228,82 @@ require_paths:
236
228
  - lib
237
229
  required_ruby_version: !ruby/object:Gem::Requirement
238
230
  requirements:
239
- - - '>='
231
+ - - ">="
240
232
  - !ruby/object:Gem::Version
241
233
  version: 1.9.3
242
234
  required_rubygems_version: !ruby/object:Gem::Requirement
243
235
  requirements:
244
- - - '>='
236
+ - - ">="
245
237
  - !ruby/object:Gem::Version
246
238
  version: '0'
247
239
  requirements: []
248
240
  rubyforge_project:
249
- rubygems_version: 2.0.14
241
+ rubygems_version: 2.2.2
250
242
  signing_key:
251
243
  specification_version: 4
252
244
  summary: SCSS lint tool
253
245
  test_files:
254
- - spec/scss_lint/location_spec.rb
255
- - spec/scss_lint/reporter/files_reporter_spec.rb
256
- - spec/scss_lint/reporter/json_reporter_spec.rb
257
- - spec/scss_lint/reporter/xml_reporter_spec.rb
258
- - spec/scss_lint/reporter/config_reporter_spec.rb
259
- - spec/scss_lint/reporter/default_reporter_spec.rb
260
- - spec/scss_lint/selector_visitor_spec.rb
261
- - spec/scss_lint/runner_spec.rb
262
- - spec/scss_lint/engine_spec.rb
263
- - spec/scss_lint/reporter_spec.rb
264
- - spec/scss_lint/config_spec.rb
265
- - spec/scss_lint/linter_registry_spec.rb
266
246
  - spec/scss_lint/cli_spec.rb
267
- - spec/scss_lint/linter/final_newline_spec.rb
268
- - spec/scss_lint/linter/color_keyword_spec.rb
269
- - spec/scss_lint/linter/import_path_spec.rb
270
- - spec/scss_lint/linter/single_line_per_selector_spec.rb
271
- - spec/scss_lint/linter/empty_rule_spec.rb
272
- - spec/scss_lint/linter/hex_notation_spec.rb
247
+ - spec/scss_lint/config_spec.rb
248
+ - spec/scss_lint/engine_spec.rb
273
249
  - spec/scss_lint/linter/bang_format_spec.rb
274
- - spec/scss_lint/linter/hex_length_spec.rb
275
- - spec/scss_lint/linter/vendor_prefixes_spec.rb
276
- - spec/scss_lint/linter/url_quotes_spec.rb
277
- - spec/scss_lint/linter/space_between_parens_spec.rb
278
- - spec/scss_lint/linter/selector_format_spec.rb
279
250
  - spec/scss_lint/linter/border_zero_spec.rb
280
- - spec/scss_lint/linter/property_spelling_spec.rb
281
- - spec/scss_lint/linter/property_sort_order_spec.rb
282
- - spec/scss_lint/linter/else_placement_spec.rb
283
- - spec/scss_lint/linter/qualifying_element_spec.rb
284
- - spec/scss_lint/linter/zero_unit_spec.rb
285
- - spec/scss_lint/linter/mergeable_selector_spec.rb
286
- - spec/scss_lint/linter/unnecessary_mantissa_spec.rb
287
- - spec/scss_lint/linter/name_format_spec.rb
288
- - spec/scss_lint/linter/duplicate_property_spec.rb
289
- - spec/scss_lint/linter/hex_validation_spec.rb
290
- - spec/scss_lint/linter/space_before_brace_spec.rb
251
+ - spec/scss_lint/linter/color_keyword_spec.rb
252
+ - spec/scss_lint/linter/comment_spec.rb
291
253
  - spec/scss_lint/linter/compass/property_with_mixin_spec.rb
292
- - spec/scss_lint/linter/placeholder_in_extend_spec.rb
293
254
  - spec/scss_lint/linter/debug_statement_spec.rb
294
- - spec/scss_lint/linter/string_quotes_spec.rb
295
- - spec/scss_lint/linter/indentation_spec.rb
296
- - spec/scss_lint/linter/unnecessary_parent_reference_spec.rb
297
- - spec/scss_lint/linter/empty_line_between_blocks_spec.rb
298
- - spec/scss_lint/linter/single_line_per_property_spec.rb
299
- - spec/scss_lint/linter/space_after_property_colon_spec.rb
300
255
  - spec/scss_lint/linter/declaration_order_spec.rb
256
+ - spec/scss_lint/linter/duplicate_property_spec.rb
257
+ - spec/scss_lint/linter/else_placement_spec.rb
258
+ - spec/scss_lint/linter/empty_rule_spec.rb
259
+ - spec/scss_lint/linter/final_newline_spec.rb
260
+ - spec/scss_lint/linter/hex_length_spec.rb
261
+ - spec/scss_lint/linter/hex_notation_spec.rb
262
+ - spec/scss_lint/linter/hex_validation_spec.rb
263
+ - spec/scss_lint/linter/id_selector_spec.rb
264
+ - spec/scss_lint/linter/import_path_spec.rb
265
+ - spec/scss_lint/linter/indentation_spec.rb
301
266
  - spec/scss_lint/linter/leading_zero_spec.rb
302
- - spec/scss_lint/linter/trailing_zero_spec.rb
303
- - spec/scss_lint/linter/url_format_spec.rb
304
- - spec/scss_lint/linter/comment_spec.rb
267
+ - spec/scss_lint/linter/mergeable_selector_spec.rb
305
268
  - spec/scss_lint/linter/nesting_depth_spec.rb
306
- - spec/scss_lint/linter/trailing_semicolon_spec.rb
269
+ - spec/scss_lint/linter/placeholder_in_extend_spec.rb
270
+ - spec/scss_lint/linter/property_sort_order_spec.rb
271
+ - spec/scss_lint/linter/property_spelling_spec.rb
272
+ - spec/scss_lint/linter/qualifying_element_spec.rb
307
273
  - spec/scss_lint/linter/selector_depth_spec.rb
308
- - spec/scss_lint/linter/space_after_comma_spec.rb
274
+ - spec/scss_lint/linter/selector_format_spec.rb
309
275
  - spec/scss_lint/linter/shorthand_spec.rb
310
- - spec/scss_lint/linter/id_with_extraneous_selector_spec.rb
276
+ - spec/scss_lint/linter/single_line_per_property_spec.rb
277
+ - spec/scss_lint/linter/single_line_per_selector_spec.rb
278
+ - spec/scss_lint/linter/space_after_comma_spec.rb
279
+ - spec/scss_lint/linter/space_after_property_colon_spec.rb
311
280
  - spec/scss_lint/linter/space_after_property_name_spec.rb
312
- - spec/support/matchers/report_lint.rb
313
- - spec/support/isolated_environment.rb
281
+ - spec/scss_lint/linter/space_before_brace_spec.rb
282
+ - spec/scss_lint/linter/space_between_parens_spec.rb
283
+ - spec/scss_lint/linter/string_quotes_spec.rb
284
+ - spec/scss_lint/linter/trailing_semicolon_spec.rb
285
+ - spec/scss_lint/linter/trailing_zero_spec.rb
286
+ - spec/scss_lint/linter/unnecessary_mantissa_spec.rb
287
+ - spec/scss_lint/linter/unnecessary_parent_reference_spec.rb
288
+ - spec/scss_lint/linter/url_format_spec.rb
289
+ - spec/scss_lint/linter/url_quotes_spec.rb
290
+ - spec/scss_lint/linter/vendor_prefixes_spec.rb
291
+ - spec/scss_lint/linter/zero_unit_spec.rb
292
+ - spec/scss_lint/linter/name_format_spec.rb
293
+ - spec/scss_lint/linter/empty_line_between_blocks_spec.rb
294
+ - spec/scss_lint/linter_registry_spec.rb
295
+ - spec/scss_lint/location_spec.rb
296
+ - spec/scss_lint/options_spec.rb
297
+ - spec/scss_lint/reporter/config_reporter_spec.rb
298
+ - spec/scss_lint/reporter/default_reporter_spec.rb
299
+ - spec/scss_lint/reporter/files_reporter_spec.rb
300
+ - spec/scss_lint/reporter/json_reporter_spec.rb
301
+ - spec/scss_lint/reporter/xml_reporter_spec.rb
302
+ - spec/scss_lint/reporter_spec.rb
303
+ - spec/scss_lint/runner_spec.rb
304
+ - spec/scss_lint/selector_visitor_spec.rb
305
+ - spec/scss_lint/linter_spec.rb
314
306
  - spec/spec_helper.rb
307
+ - spec/support/isolated_environment.rb
308
+ - spec/support/matchers/report_lint.rb
315
309
  has_rdoc: