haml_lint 0.26.0 → 0.27.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/config/default.yml +4 -5
- data/lib/haml_lint/cli.rb +1 -1
- data/lib/haml_lint/configuration.rb +1 -1
- data/lib/haml_lint/linter/rubocop.rb +22 -1
- data/lib/haml_lint/report.rb +2 -2
- data/lib/haml_lint/reporter/default_reporter.rb +2 -2
- data/lib/haml_lint/reporter/hooks.rb +2 -1
- data/lib/haml_lint/ruby_extractor.rb +6 -1
- data/lib/haml_lint/runner.rb +1 -1
- data/lib/haml_lint/version.rb +1 -1
- metadata +6 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 63d9c83c6270872c9610d48ba7991a6abfab6136
|
4
|
+
data.tar.gz: 4872ffed9f0136ef62050079f44afc0071991ae2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 22cd935ac273c2fbba890698ef0f472107fdbf65c33e6ba1cf7369ff58a31d73cf3380b14e5307669d3ac8bd7ee72a8d922afe64a15e30a0666a0d79e688282b
|
7
|
+
data.tar.gz: 119c20bece39c162f7e1c17c17dfcee007892003cb6b0eb0cf38b2637008a571015d3f5973e12f463c44524d1d79b33b39717b6ee5d310ad83b18ebc67e6063f
|
data/config/default.yml
CHANGED
@@ -92,16 +92,15 @@ linters:
|
|
92
92
|
- Lint/EndAlignment
|
93
93
|
- Lint/Void
|
94
94
|
- Layout/AlignParameters
|
95
|
+
- Layout/ElseAlignment
|
96
|
+
- Layout/EndOfLine
|
95
97
|
- Layout/IndentationWidth
|
96
98
|
- Layout/TrailingBlankLines
|
97
99
|
- Layout/TrailingWhitespace
|
98
100
|
- Metrics/BlockLength
|
101
|
+
- Metrics/BlockNesting
|
99
102
|
- Metrics/LineLength
|
100
|
-
-
|
101
|
-
- Style/ElseAlignment
|
102
|
-
- Style/EndOfLine
|
103
|
-
- Style/FileName
|
104
|
-
- Style/FinalNewline
|
103
|
+
- Naming/FileName
|
105
104
|
- Style/FrozenStringLiteralComment
|
106
105
|
- Style/IfUnlessModifier
|
107
106
|
- Style/Next
|
data/lib/haml_lint/cli.rb
CHANGED
@@ -97,7 +97,7 @@ module HamlLint
|
|
97
97
|
# Ensure `include` and `exclude` options for linters are arrays
|
98
98
|
# (since users can specify a single string glob pattern for convenience)
|
99
99
|
def ensure_linter_include_exclude_arrays_exist
|
100
|
-
@hash['linters'].
|
100
|
+
@hash['linters'].each_key do |linter_name|
|
101
101
|
%w[include exclude].each do |option|
|
102
102
|
linter_config = @hash['linters'][linter_name]
|
103
103
|
linter_config[option] = Array(linter_config[option])
|
@@ -6,6 +6,16 @@ module HamlLint
|
|
6
6
|
class Linter::RuboCop < Linter
|
7
7
|
include LinterRegistry
|
8
8
|
|
9
|
+
# Maps the ::RuboCop::Cop::Severity levels to our own levels.
|
10
|
+
SEVERITY_MAP = {
|
11
|
+
error: :error,
|
12
|
+
fatal: :error,
|
13
|
+
|
14
|
+
convention: :warning,
|
15
|
+
refactor: :warning,
|
16
|
+
warning: :warning,
|
17
|
+
}.freeze
|
18
|
+
|
9
19
|
def visit_root(_node)
|
10
20
|
extractor = HamlLint::RubyExtractor.new
|
11
21
|
extracted_source = extractor.extract(document)
|
@@ -58,10 +68,21 @@ module HamlLint
|
|
58
68
|
|
59
69
|
offenses.reject { |offense| Array(config['ignored_cops']).include?(offense.cop_name) }
|
60
70
|
.each do |offense|
|
61
|
-
record_lint(dummy_node.new(source_map[offense.line]), offense.message
|
71
|
+
record_lint(dummy_node.new(source_map[offense.line]), offense.message,
|
72
|
+
offense.severity.name)
|
62
73
|
end
|
63
74
|
end
|
64
75
|
|
76
|
+
# Record a lint for reporting back to the user.
|
77
|
+
#
|
78
|
+
# @param node [#line] node to extract the line number from
|
79
|
+
# @param message [String] error/warning to display to the user
|
80
|
+
# @param severity [Symbol] RuboCop severity level for the offense
|
81
|
+
def record_lint(node, message, severity)
|
82
|
+
@lints << HamlLint::Lint.new(self, @document.file, node.line, message,
|
83
|
+
SEVERITY_MAP.fetch(severity, :warning))
|
84
|
+
end
|
85
|
+
|
65
86
|
# Returns flags that will be passed to RuboCop CLI.
|
66
87
|
#
|
67
88
|
# @return [Array<String>]
|
data/lib/haml_lint/report.rb
CHANGED
@@ -16,7 +16,7 @@ module HamlLint
|
|
16
16
|
# @param files [Array<String>] files that were linted
|
17
17
|
# @param fail_level [Symbol] the severity level to fail on
|
18
18
|
# @param reporter [HamlLint::Reporter] the reporter for the report
|
19
|
-
def initialize(lints
|
19
|
+
def initialize(lints: [], files: [], fail_level: :warning, reporter: nil)
|
20
20
|
@lints = lints.sort_by { |l| [l.filename, l.line] }
|
21
21
|
@files = files
|
22
22
|
@fail_level = Severity.new(fail_level)
|
@@ -29,7 +29,7 @@ module HamlLint
|
|
29
29
|
# @return [void]
|
30
30
|
def add_lint(lint)
|
31
31
|
lints << lint
|
32
|
-
@reporter.added_lint(lint)
|
32
|
+
@reporter.added_lint(lint, self)
|
33
33
|
end
|
34
34
|
|
35
35
|
# Displays the report via the configured reporter.
|
@@ -5,8 +5,9 @@ module HamlLint
|
|
5
5
|
# A hook that is called for each lint as it is detected.
|
6
6
|
#
|
7
7
|
# @param _lint [HamlLint::Lint] the lint added to the report
|
8
|
+
# @param _report [HamlLint::Report] the report that contains the lint
|
8
9
|
# @return [void]
|
9
|
-
def added_lint(_lint); end
|
10
|
+
def added_lint(_lint, _report); end
|
10
11
|
|
11
12
|
# A hook that is called for each file as it is finished processing.
|
12
13
|
#
|
@@ -173,7 +173,7 @@ module HamlLint
|
|
173
173
|
|
174
174
|
indent = (' ' * 2 * indent_level)
|
175
175
|
|
176
|
-
@source_lines << indent
|
176
|
+
@source_lines << indent_code(code, indent)
|
177
177
|
|
178
178
|
original_line =
|
179
179
|
node_or_line.respond_to?(:line) ? node_or_line.line : node_or_line
|
@@ -187,6 +187,11 @@ module HamlLint
|
|
187
187
|
end
|
188
188
|
end
|
189
189
|
|
190
|
+
def indent_code(code, indent)
|
191
|
+
codes = code.split("\n")
|
192
|
+
codes.map { |c| indent + c }.join("\n")
|
193
|
+
end
|
194
|
+
|
190
195
|
def anonymous_block?(text)
|
191
196
|
text =~ /\bdo\s*(\|\s*[^\|]*\s*\|)?(\s*#.*)?\z/
|
192
197
|
end
|
data/lib/haml_lint/runner.rb
CHANGED
@@ -127,7 +127,7 @@ module HamlLint
|
|
127
127
|
# @option options :reporter [HamlLint::Reporter] the reporter to report with
|
128
128
|
# @return [HamlLint::Report]
|
129
129
|
def report(options)
|
130
|
-
report = HamlLint::Report.new(reporter: options[:reporter])
|
130
|
+
report = HamlLint::Report.new(reporter: options[:reporter], fail_level: options[:fail_level])
|
131
131
|
report.start(@files)
|
132
132
|
process_files(report)
|
133
133
|
report
|
data/lib/haml_lint/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: haml_lint
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.27.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brigade Engineering
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-
|
12
|
+
date: 2017-10-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: haml
|
@@ -71,14 +71,14 @@ dependencies:
|
|
71
71
|
requirements:
|
72
72
|
- - ">="
|
73
73
|
- !ruby/object:Gem::Version
|
74
|
-
version: 0.
|
74
|
+
version: 0.50.0
|
75
75
|
type: :runtime
|
76
76
|
prerelease: false
|
77
77
|
version_requirements: !ruby/object:Gem::Requirement
|
78
78
|
requirements:
|
79
79
|
- - ">="
|
80
80
|
- !ruby/object:Gem::Version
|
81
|
-
version: 0.
|
81
|
+
version: 0.50.0
|
82
82
|
- !ruby/object:Gem::Dependency
|
83
83
|
name: sysexits
|
84
84
|
requirement: !ruby/object:Gem::Requirement
|
@@ -197,7 +197,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
197
197
|
requirements:
|
198
198
|
- - ">="
|
199
199
|
- !ruby/object:Gem::Version
|
200
|
-
version: 1.
|
200
|
+
version: 2.1.0
|
201
201
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
202
202
|
requirements:
|
203
203
|
- - ">="
|
@@ -205,9 +205,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
205
205
|
version: '0'
|
206
206
|
requirements: []
|
207
207
|
rubyforge_project:
|
208
|
-
rubygems_version: 2.
|
208
|
+
rubygems_version: 2.6.14
|
209
209
|
signing_key:
|
210
210
|
specification_version: 4
|
211
211
|
summary: HAML lint tool
|
212
212
|
test_files: []
|
213
|
-
has_rdoc:
|