scss_lint 0.57.1 → 0.58.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/MIT-LICENSE +1 -2
- data/data/properties.txt +11 -0
- data/data/pseudo-elements.txt +2 -0
- data/lib/scss_lint/cli.rb +4 -4
- data/lib/scss_lint/config.rb +2 -5
- data/lib/scss_lint/constants.rb +1 -1
- data/lib/scss_lint/engine.rb +5 -5
- data/lib/scss_lint/linter.rb +1 -1
- data/lib/scss_lint/linter/color_variable.rb +0 -3
- data/lib/scss_lint/linter/disable_linter_reason.rb +3 -3
- data/lib/scss_lint/linter/hex_length.rb +1 -1
- data/lib/scss_lint/linter/hex_notation.rb +1 -1
- data/lib/scss_lint/linter/hex_validation.rb +2 -2
- data/lib/scss_lint/linter/indentation.rb +1 -1
- data/lib/scss_lint/linter/leading_zero.rb +1 -1
- data/lib/scss_lint/linter/length_variable.rb +1 -1
- data/lib/scss_lint/linter/property_units.rb +1 -1
- data/lib/scss_lint/linter/selector_depth.rb +1 -1
- data/lib/scss_lint/linter/shorthand.rb +1 -1
- data/lib/scss_lint/linter/space_around_operator.rb +1 -1
- data/lib/scss_lint/linter/space_between_parens.rb +2 -2
- data/lib/scss_lint/linter/string_quotes.rb +2 -2
- data/lib/scss_lint/linter/trailing_semicolon.rb +1 -1
- data/lib/scss_lint/linter/trailing_whitespace.rb +1 -1
- data/lib/scss_lint/linter/trailing_zero.rb +1 -1
- data/lib/scss_lint/linter/unnecessary_mantissa.rb +2 -2
- data/lib/scss_lint/linter/url_format.rb +2 -2
- data/lib/scss_lint/linter/url_quotes.rb +2 -2
- data/lib/scss_lint/linter/vendor_prefix.rb +1 -1
- data/lib/scss_lint/linter/zero_unit.rb +1 -1
- data/lib/scss_lint/options.rb +3 -3
- data/lib/scss_lint/rake_task.rb +1 -1
- data/lib/scss_lint/runner.rb +8 -8
- data/lib/scss_lint/utils.rb +1 -1
- data/lib/scss_lint/version.rb +1 -1
- data/spec/scss_lint/plugins/linter_dir_spec.rb +1 -1
- metadata +5 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 92e61fd011e43d17184d85050c0ade3bc1c523df0460690cd9bfb981a4e1e3eb
|
4
|
+
data.tar.gz: 57f90d69091f7da90fd470991011c28098622346f49e5ccdf42c44118e6f7c0c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ca68ec7818ecde8761f172cb23d0054280e6473a74f49b75dd3a424b8eede6effc2d8132006531da5c01800f8bc7d78661096d1ce151b8911d71d923da3a1ffd
|
7
|
+
data.tar.gz: 86824a7d4e3b21fb298a5a4e21668fa1c045a4691cfa0e0f967f279b49002fbf386919693d9f4dd3107db62fa8b1962389e3b01a99c2d6db5a7ceae6329d6fb6
|
data/MIT-LICENSE
CHANGED
data/data/properties.txt
CHANGED
@@ -125,6 +125,7 @@ break-before
|
|
125
125
|
break-inside
|
126
126
|
buffered-rendering
|
127
127
|
caption-side
|
128
|
+
caret-color
|
128
129
|
clear
|
129
130
|
clip
|
130
131
|
clip-path
|
@@ -155,6 +156,8 @@ counter-increment
|
|
155
156
|
counter-reset
|
156
157
|
crop
|
157
158
|
cursor
|
159
|
+
cx
|
160
|
+
cy
|
158
161
|
direction
|
159
162
|
display
|
160
163
|
dominant-baseline
|
@@ -198,6 +201,7 @@ font-stretch
|
|
198
201
|
font-style
|
199
202
|
font-variant
|
200
203
|
font-variant-ligatures
|
204
|
+
font-variant-numeric
|
201
205
|
font-weight
|
202
206
|
glyph-orientation-horizontal
|
203
207
|
glyph-orientation-vertical
|
@@ -390,11 +394,13 @@ perspective-origin
|
|
390
394
|
perspective-origin-x
|
391
395
|
perspective-origin-y
|
392
396
|
phonemes
|
397
|
+
place-content
|
393
398
|
pointer-events
|
394
399
|
position
|
395
400
|
print-color-adjust
|
396
401
|
punctuation-trim
|
397
402
|
quotes
|
403
|
+
r
|
398
404
|
region-break-after
|
399
405
|
region-break-before
|
400
406
|
region-break-inside
|
@@ -412,7 +418,10 @@ ruby-align
|
|
412
418
|
ruby-overhang
|
413
419
|
ruby-position
|
414
420
|
ruby-span
|
421
|
+
rx
|
422
|
+
ry
|
415
423
|
scroll-behavior
|
424
|
+
scrollbar-width
|
416
425
|
shape-image-threshold
|
417
426
|
shape-inside
|
418
427
|
shape-margin
|
@@ -524,5 +533,7 @@ word-wrap
|
|
524
533
|
wrap-flow
|
525
534
|
wrap-through
|
526
535
|
writing-mode
|
536
|
+
x
|
537
|
+
y
|
527
538
|
z-index
|
528
539
|
zoom
|
data/data/pseudo-elements.txt
CHANGED
@@ -29,6 +29,7 @@
|
|
29
29
|
-moz-viewport
|
30
30
|
-moz-viewport-scroll
|
31
31
|
-moz-xul-anonymous-block
|
32
|
+
-ms-backdrop
|
32
33
|
-ms-browse
|
33
34
|
-ms-check
|
34
35
|
-ms-clear
|
@@ -54,6 +55,7 @@
|
|
54
55
|
-webkit-datetime-edit-month-field
|
55
56
|
-webkit-datetime-edit-text
|
56
57
|
-webkit-datetime-edit-year-field
|
58
|
+
-webkit-details-marker
|
57
59
|
-webkit-file-upload-button
|
58
60
|
-webkit-full-page-media
|
59
61
|
-webkit-inner-spin-button
|
data/lib/scss_lint/cli.rb
CHANGED
@@ -31,8 +31,8 @@ module SCSSLint
|
|
31
31
|
def run(args)
|
32
32
|
options = SCSSLint::Options.new.parse(args)
|
33
33
|
act_on_options(options)
|
34
|
-
rescue StandardError =>
|
35
|
-
handle_runtime_exception(
|
34
|
+
rescue StandardError => e
|
35
|
+
handle_runtime_exception(e, options)
|
36
36
|
end
|
37
37
|
|
38
38
|
private
|
@@ -205,9 +205,9 @@ module SCSSLint
|
|
205
205
|
Array(options[:required_paths]).each do |path|
|
206
206
|
require path
|
207
207
|
end
|
208
|
-
rescue LoadError =>
|
208
|
+
rescue LoadError => e
|
209
209
|
raise SCSSLint::Exceptions::RequiredLibraryMissingError,
|
210
|
-
"Required library not found: #{
|
210
|
+
"Required library not found: #{e.message}"
|
211
211
|
end
|
212
212
|
|
213
213
|
def load_reporters(options)
|
data/lib/scss_lint/config.rb
CHANGED
@@ -64,9 +64,9 @@ module SCSSLint
|
|
64
64
|
else
|
65
65
|
{}
|
66
66
|
end
|
67
|
-
rescue StandardError =>
|
67
|
+
rescue StandardError => e
|
68
68
|
raise SCSSLint::Exceptions::InvalidConfiguration,
|
69
|
-
"Invalid configuration: #{
|
69
|
+
"Invalid configuration: #{e.message}"
|
70
70
|
end
|
71
71
|
|
72
72
|
options = convert_single_options_to_arrays(options)
|
@@ -94,8 +94,6 @@ module SCSSLint
|
|
94
94
|
# Merge options from wildcard linters into individual linter configs
|
95
95
|
def merge_wildcard_linter_options(options)
|
96
96
|
options = options.dup
|
97
|
-
|
98
|
-
# rubocop:disable Performance/HashEachMethods (FALSE POSITIVE)
|
99
97
|
# Cannot use `each_key` because the cycle adds new keys during iteration
|
100
98
|
options.fetch('linters', {}).keys.each do |class_name|
|
101
99
|
next unless class_name.include?('*')
|
@@ -103,7 +101,6 @@ module SCSSLint
|
|
103
101
|
wildcard_options = options['linters'].delete(class_name)
|
104
102
|
apply_options_to_matching_linters(class_name, options, wildcard_options)
|
105
103
|
end
|
106
|
-
# rubocop:enable Performance/HashEachMethods
|
107
104
|
|
108
105
|
options
|
109
106
|
end
|
data/lib/scss_lint/constants.rb
CHANGED
@@ -5,6 +5,6 @@ module SCSSLint
|
|
5
5
|
SCSS_LINT_HOME = File.realpath(File.join(File.dirname(__FILE__), '..', '..')).freeze
|
6
6
|
SCSS_LINT_DATA = File.join(SCSS_LINT_HOME, 'data').freeze
|
7
7
|
|
8
|
-
REPO_URL = 'https://github.com/
|
8
|
+
REPO_URL = 'https://github.com/sds/scss-lint'.freeze
|
9
9
|
BUG_REPORT_URL = "#{REPO_URL}/issues".freeze
|
10
10
|
end
|
data/lib/scss_lint/engine.rb
CHANGED
@@ -34,12 +34,12 @@ module SCSSLint
|
|
34
34
|
.lines
|
35
35
|
@tree = @engine.to_tree
|
36
36
|
find_any_control_commands
|
37
|
-
rescue Encoding::UndefinedConversionError, Sass::SyntaxError, ArgumentError =>
|
38
|
-
if
|
39
|
-
|
37
|
+
rescue Encoding::UndefinedConversionError, Sass::SyntaxError, ArgumentError => e
|
38
|
+
if e.is_a?(Encoding::UndefinedConversionError) ||
|
39
|
+
e.message.match(/invalid.*(byte sequence|character)/i)
|
40
40
|
raise FileEncodingError,
|
41
|
-
"Unable to parse SCSS file: #{
|
42
|
-
|
41
|
+
"Unable to parse SCSS file: #{e}",
|
42
|
+
e.backtrace
|
43
43
|
else
|
44
44
|
raise
|
45
45
|
end
|
data/lib/scss_lint/linter.rb
CHANGED
@@ -75,7 +75,7 @@ module SCSSLint
|
|
75
75
|
line_source.length - range.start_pos.offset + 1
|
76
76
|
end
|
77
77
|
|
78
|
-
# Workaround for https://github.com/
|
78
|
+
# Workaround for https://github.com/sds/scss-lint/issues/887 to acount for
|
79
79
|
# https://github.com/sass/sass/issues/2284.
|
80
80
|
length = 1 if length < 1
|
81
81
|
|
@@ -18,13 +18,10 @@ module SCSSLint
|
|
18
18
|
|
19
19
|
def visit_script_string(node)
|
20
20
|
return if literal_string?(node)
|
21
|
-
|
22
|
-
# rubocop:disable Performance/HashEachMethods (FALSE POSITIVE v0.50.0)
|
23
21
|
remove_quoted_strings(node.value)
|
24
22
|
.scan(/(^|\s)(#[a-f0-9]+|[a-z]+)(?=\s|$)/i)
|
25
23
|
.select { |_, word| color?(word) }
|
26
24
|
.each { |_, color| record_lint(node, color) }
|
27
|
-
# rubocop:enable Performance/HashEachMethods
|
28
25
|
end
|
29
26
|
|
30
27
|
def visit_script_funcall(node)
|
@@ -7,7 +7,7 @@ module SCSSLint
|
|
7
7
|
# No lint if the first line of the comment is not a command (because then
|
8
8
|
# either this comment has no commands, or the first line serves as a the
|
9
9
|
# reason for a command on a later line).
|
10
|
-
if comment_lines(node).first.match(COMMAND_REGEX)
|
10
|
+
if comment_lines(node).first.match?(COMMAND_REGEX)
|
11
11
|
visit_command_comment(node)
|
12
12
|
else
|
13
13
|
@previous_comment = node
|
@@ -21,7 +21,7 @@ module SCSSLint
|
|
21
21
|
end
|
22
22
|
|
23
23
|
# Not a "disable linter reason" if the last line of the previous comment is a command.
|
24
|
-
if comment_lines(@previous_comment).last.match(COMMAND_REGEX)
|
24
|
+
if comment_lines(@previous_comment).last.match?(COMMAND_REGEX)
|
25
25
|
report_lint(node)
|
26
26
|
return
|
27
27
|
end
|
@@ -48,7 +48,7 @@ module SCSSLint
|
|
48
48
|
(?<action>disable)\s+
|
49
49
|
(?<linters>.*?)
|
50
50
|
\s*(?:\*/|\n) # Comment end marker or end of line
|
51
|
-
}x
|
51
|
+
}x.freeze
|
52
52
|
|
53
53
|
def comment_lines(node)
|
54
54
|
node.value.join.split("\n")
|
@@ -4,7 +4,7 @@ module SCSSLint
|
|
4
4
|
class Linter::HexLength < Linter
|
5
5
|
include LinterRegistry
|
6
6
|
|
7
|
-
HEX_REGEX = /(#(\h{3}|\h{6}))(?!\h)
|
7
|
+
HEX_REGEX = /(#(\h{3}|\h{6}))(?!\h)/.freeze
|
8
8
|
|
9
9
|
def visit_script_color(node)
|
10
10
|
return unless hex = source_from_range(node.source_range)[HEX_REGEX, 1]
|
@@ -3,7 +3,7 @@ module SCSSLint
|
|
3
3
|
class Linter::HexNotation < Linter
|
4
4
|
include LinterRegistry
|
5
5
|
|
6
|
-
HEX_REGEX = /(#(\h{3}|\h{6}))(?!\h)
|
6
|
+
HEX_REGEX = /(#(\h{3}|\h{6}))(?!\h)/.freeze
|
7
7
|
|
8
8
|
def visit_script_color(node)
|
9
9
|
return unless hex = source_from_range(node.source_range)[HEX_REGEX, 1]
|
@@ -13,10 +13,10 @@ module SCSSLint
|
|
13
13
|
|
14
14
|
private
|
15
15
|
|
16
|
-
HEX_REGEX = /(#(\h{3}|\h{6}|\h{8}))(?!\h)
|
16
|
+
HEX_REGEX = /(#(\h{3}|\h{6}|\h{8}))(?!\h)/.freeze
|
17
17
|
|
18
18
|
def check_hex(hex, node)
|
19
|
-
return if HEX_REGEX.match(hex)
|
19
|
+
return if HEX_REGEX.match?(hex)
|
20
20
|
add_lint(node, "Colors must have either three or six digits: `#{hex}`")
|
21
21
|
end
|
22
22
|
end
|
@@ -47,7 +47,7 @@ module SCSSLint
|
|
47
47
|
# combinator, as these "combine" simple sequences such that they do not
|
48
48
|
# increase depth.
|
49
49
|
depth = simple_sequences.size -
|
50
|
-
separators.count { |item|
|
50
|
+
separators.count { |item| %w[~ +].include?(item) }
|
51
51
|
|
52
52
|
depth +=
|
53
53
|
if parent_selectors > 0
|
@@ -13,7 +13,7 @@ module SCSSLint
|
|
13
13
|
# (only selectors?), the source ranges are offset by two (probably not
|
14
14
|
# accounting for the `#{`. Slide everything to the left by 2, and maybe
|
15
15
|
# things will look sane this time.
|
16
|
-
unless operation_sources.operator_source
|
16
|
+
unless operation_sources.operator_source.match?(Sass::Script::Lexer::REGULAR_EXPRESSIONS[:op])
|
17
17
|
operation_sources.adjust_for_interpolation
|
18
18
|
operation_sources.adjust_sources
|
19
19
|
end
|
@@ -29,7 +29,7 @@ module SCSSLint
|
|
29
29
|
|
30
30
|
private
|
31
31
|
|
32
|
-
TRAILING_WHITESPACE = /\s
|
32
|
+
TRAILING_WHITESPACE = /\s*$/.freeze
|
33
33
|
|
34
34
|
def check(node, source) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
35
35
|
@spaces = config['spaces']
|
@@ -90,7 +90,7 @@ module SCSSLint
|
|
90
90
|
# those parens may be part of a parent function call. We don't care about
|
91
91
|
# such parens. This depends on whether the preceding character is part of
|
92
92
|
# a function name.
|
93
|
-
return original_source if character_at(range.start_pos, left_offset - 1)
|
93
|
+
return original_source if character_at(range.start_pos, left_offset - 1).match?(/[A-Za-z0-9_]/)
|
94
94
|
|
95
95
|
range.start_pos.offset += left_offset
|
96
96
|
range.end_pos.offset += right_offset
|
@@ -45,7 +45,7 @@ module SCSSLint
|
|
45
45
|
\s*\)?\s*;?\s* # Sometimes the Sass parser includes a trailing ) or ;
|
46
46
|
(//.*)? # Exclude any trailing comments that might have snuck in
|
47
47
|
\z
|
48
|
-
}x
|
48
|
+
}x.freeze
|
49
49
|
|
50
50
|
def extract_string_without_quotes(source)
|
51
51
|
return unless match = STRING_WITHOUT_QUOTES_REGEX.match(source)
|
@@ -66,7 +66,7 @@ module SCSSLint
|
|
66
66
|
if string =~ /(?<! \\) \\'/x && string !~ /"/
|
67
67
|
add_lint(node, 'Use double-quoted strings when writing single ' \
|
68
68
|
'quotes to avoid having to escape the single quotes')
|
69
|
-
elsif string
|
69
|
+
elsif string.match?(/(?<! \\) \\"/x)
|
70
70
|
add_lint(node, "Don't escape double quotes in single-quoted strings")
|
71
71
|
end
|
72
72
|
elsif string !~ /"/
|
@@ -45,7 +45,7 @@ module SCSSLint
|
|
45
45
|
|
46
46
|
def visit_import(node)
|
47
47
|
# Ignore all but the last import for comma-separated @imports
|
48
|
-
return if source_from_range(node.source_range)
|
48
|
+
return if source_from_range(node.source_range).match?(/,\s*$/)
|
49
49
|
check_semicolon(node)
|
50
50
|
end
|
51
51
|
|
@@ -22,7 +22,7 @@ module SCSSLint
|
|
22
22
|
|
23
23
|
private
|
24
24
|
|
25
|
-
FRACTIONAL_DIGIT_REGEX = /^-?(\d*\.\d+)
|
25
|
+
FRACTIONAL_DIGIT_REGEX = /^-?(\d*\.\d+)/.freeze
|
26
26
|
|
27
27
|
def check_for_trailing_zeros(node, original_number)
|
28
28
|
return unless match = /^(\d*\.(?:[0-9]*[1-9]|[1-9])*)0+$/.match(original_number)
|
@@ -8,7 +8,7 @@ module SCSSLint
|
|
8
8
|
|
9
9
|
def visit_script_string(node)
|
10
10
|
return unless node.type == :identifier
|
11
|
-
return if node.value
|
11
|
+
return if node.value.match?(/^'|"/)
|
12
12
|
return if url_literal?(node)
|
13
13
|
|
14
14
|
node.value.scan(REAL_NUMBER_REGEX) do |number, integer, mantissa, units|
|
@@ -35,7 +35,7 @@ module SCSSLint
|
|
35
35
|
(?<mantissa>\d+)
|
36
36
|
(?<units>\w*)
|
37
37
|
)\b
|
38
|
-
/ix
|
38
|
+
/ix.freeze
|
39
39
|
|
40
40
|
MESSAGE_FORMAT = '`%s` should be written without the mantissa as `%s%s`'.freeze
|
41
41
|
|
@@ -49,8 +49,8 @@ module SCSSLint
|
|
49
49
|
if uri.scheme || uri.host
|
50
50
|
add_lint(node, "URL `#{url}` should not contain protocol or domain")
|
51
51
|
end
|
52
|
-
rescue URI::Error =>
|
53
|
-
add_lint(node, "Invalid URL `#{url}`: #{
|
52
|
+
rescue URI::Error => e
|
53
|
+
add_lint(node, "Invalid URL `#{url}`: #{e}")
|
54
54
|
end
|
55
55
|
end
|
56
56
|
end
|
@@ -20,8 +20,8 @@ module SCSSLint
|
|
20
20
|
private
|
21
21
|
|
22
22
|
def check(node, string)
|
23
|
-
return unless string
|
24
|
-
return if string
|
23
|
+
return unless string.match?(/^\s*url\(\s*[^"']/)
|
24
|
+
return if string.match?(/^\s*url\(\s*data:/) # Ignore data URIs
|
25
25
|
|
26
26
|
add_lint(node, 'URLs should be enclosed in quotes')
|
27
27
|
end
|
@@ -27,7 +27,7 @@ module SCSSLint
|
|
27
27
|
private
|
28
28
|
|
29
29
|
def check_identifier(node, identifier)
|
30
|
-
return unless identifier
|
30
|
+
return unless identifier.match?(/^[_-]/)
|
31
31
|
|
32
32
|
# Strip vendor prefix to check against identifiers.
|
33
33
|
# (Also strip closing parentheticals from values like linear-gradient.)
|
@@ -35,7 +35,7 @@ module SCSSLint
|
|
35
35
|
(?<!\.|\#) # Ignore zeroes following `#` (colors) or `.` (decimals)
|
36
36
|
(0[a-z]+) # Zero followed by letters indicating some sort of unit
|
37
37
|
\b
|
38
|
-
/ix
|
38
|
+
/ix.freeze
|
39
39
|
|
40
40
|
MESSAGE_FORMAT = '`%s` should be written without units as `0`'.freeze
|
41
41
|
|
data/lib/scss_lint/options.rb
CHANGED
@@ -27,10 +27,10 @@ module SCSSLint
|
|
27
27
|
@options[:files] = args
|
28
28
|
|
29
29
|
@options
|
30
|
-
rescue OptionParser::InvalidOption =>
|
30
|
+
rescue OptionParser::InvalidOption => e
|
31
31
|
raise SCSSLint::Exceptions::InvalidCLIOption,
|
32
|
-
|
33
|
-
|
32
|
+
e.message,
|
33
|
+
e.backtrace
|
34
34
|
end
|
35
35
|
|
36
36
|
private
|
data/lib/scss_lint/rake_task.rb
CHANGED
data/lib/scss_lint/runner.rb
CHANGED
@@ -33,18 +33,18 @@ module SCSSLint
|
|
33
33
|
@linters.each do |linter|
|
34
34
|
begin
|
35
35
|
run_linter(linter, engine, file[:path])
|
36
|
-
rescue StandardError =>
|
36
|
+
rescue StandardError => e
|
37
37
|
raise SCSSLint::Exceptions::LinterError,
|
38
38
|
"#{linter.class} raised unexpected error linting file #{file[:path]}: " \
|
39
|
-
"'#{
|
40
|
-
|
39
|
+
"'#{e.message}'",
|
40
|
+
e.backtrace
|
41
41
|
end
|
42
42
|
end
|
43
|
-
rescue Sass::SyntaxError =>
|
44
|
-
@lints << Lint.new(Linter::Syntax.new,
|
45
|
-
"Syntax Error: #{
|
46
|
-
rescue FileEncodingError =>
|
47
|
-
@lints << Lint.new(Linter::Encoding.new, file[:path], Location.new,
|
43
|
+
rescue Sass::SyntaxError => e
|
44
|
+
@lints << Lint.new(Linter::Syntax.new, e.sass_filename, Location.new(e.sass_line),
|
45
|
+
"Syntax Error: #{e}", :error)
|
46
|
+
rescue FileEncodingError => e
|
47
|
+
@lints << Lint.new(Linter::Encoding.new, file[:path], Location.new, e.to_s, :error)
|
48
48
|
end
|
49
49
|
|
50
50
|
# For stubbing in tests.
|
data/lib/scss_lint/utils.rb
CHANGED
data/lib/scss_lint/version.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe SCSSLint::Plugins::LinterDir do
|
4
|
-
let(:plugin_directory) { File.expand_path('
|
4
|
+
let(:plugin_directory) { File.expand_path('../fixtures/plugins', __dir__) }
|
5
5
|
let(:subject) { described_class.new(plugin_directory) }
|
6
6
|
|
7
7
|
describe '#load' do
|
metadata
CHANGED
@@ -1,15 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: scss_lint
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.58.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
- Brigade Engineering
|
8
7
|
- Shane da Silva
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2019-05-03 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rake
|
@@ -53,7 +52,6 @@ dependencies:
|
|
53
52
|
version: 3.5.5
|
54
53
|
description: Configurable tool for writing clean and consistent SCSS
|
55
54
|
email:
|
56
|
-
- eng@brigade.com
|
57
55
|
- shane@dasilva.io
|
58
56
|
executables:
|
59
57
|
- scss-lint
|
@@ -260,7 +258,7 @@ files:
|
|
260
258
|
- spec/spec_helper.rb
|
261
259
|
- spec/support/isolated_environment.rb
|
262
260
|
- spec/support/matchers/report_lint.rb
|
263
|
-
homepage: https://github.com/
|
261
|
+
homepage: https://github.com/sds/scss-lint
|
264
262
|
licenses:
|
265
263
|
- MIT
|
266
264
|
metadata: {}
|
@@ -272,15 +270,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
272
270
|
requirements:
|
273
271
|
- - ">="
|
274
272
|
- !ruby/object:Gem::Version
|
275
|
-
version: '2.
|
273
|
+
version: '2.4'
|
276
274
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
277
275
|
requirements:
|
278
276
|
- - ">="
|
279
277
|
- !ruby/object:Gem::Version
|
280
278
|
version: '0'
|
281
279
|
requirements: []
|
282
|
-
|
283
|
-
rubygems_version: 2.7.6
|
280
|
+
rubygems_version: 3.0.3
|
284
281
|
signing_key:
|
285
282
|
specification_version: 4
|
286
283
|
summary: SCSS lint tool
|