diff options
author | Robert Speicher <robert@gitlab.com> | 2016-09-13 20:10:04 +0000 |
---|---|---|
committer | Robert Speicher <robert@gitlab.com> | 2016-09-13 20:10:04 +0000 |
commit | acc7f7c6c19d70f37bea30ccc7e9469438959055 (patch) | |
tree | 5b0bb7416f0eb3259cee2828a4426b8b07b84dd1 | |
parent | 5fdd92df39030ba4297189a274b8055fbca4b580 (diff) | |
parent | bb406cadfeeee3f56ff046ec3013ce4b277d90d6 (diff) | |
download | gitlab-ce-acc7f7c6c19d70f37bea30ccc7e9469438959055.tar.gz |
Merge branch 'rc-use-haml_lint' into 'master'
Use `haml_lint` for views linting
## What does this MR do?
Add HAML-linting to the GitLab codebase.
## What are the relevant issue numbers?
Closes #19984.
See merge request !6307
-rw-r--r-- | .gitlab-ci.yml | 1 | ||||
-rw-r--r-- | .haml-lint.yml | 103 | ||||
-rw-r--r-- | Gemfile | 1 | ||||
-rw-r--r-- | Gemfile.lock | 9 | ||||
-rw-r--r-- | lib/tasks/haml-lint.rake | 5 |
5 files changed, 119 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f51d506f64a..b5eef681d0e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -206,6 +206,7 @@ spinach 9 10 ruby21: *spinach-knapsack-ruby21 - bundle exec $CI_BUILD_NAME rubocop: *exec +rake haml_lint: *exec rake scss_lint: *exec rake brakeman: *exec rake flog: *exec diff --git a/.haml-lint.yml b/.haml-lint.yml new file mode 100644 index 00000000000..da9a43d9c6d --- /dev/null +++ b/.haml-lint.yml @@ -0,0 +1,103 @@ +# Whether to ignore frontmatter at the beginning of HAML documents for +# frameworks such as Jekyll/Middleman +skip_frontmatter: false +exclude: + - 'vendor/**/*' + - 'spec/**/*' + +linters: + AltText: + enabled: false + + ClassAttributeWithStaticValue: + enabled: false + + ClassesBeforeIds: + enabled: false + + ConsecutiveComments: + enabled: false + + ConsecutiveSilentScripts: + enabled: false + max_consecutive: 2 + + EmptyObjectReference: + enabled: true + + EmptyScript: + enabled: true + + FinalNewline: + enabled: false + present: true + + HtmlAttributes: + enabled: false + + ImplicitDiv: + enabled: false + + LeadingCommentSpace: + enabled: false + + LineLength: + enabled: false + max: 80 + + MultilinePipe: + enabled: false + + MultilineScript: + enabled: true + + ObjectReferenceAttributes: + enabled: true + + RuboCop: + enabled: false + # These cops are incredibly noisy when it comes to HAML templates, so we + # ignore them. + ignored_cops: + - Lint/BlockAlignment + - Lint/EndAlignment + - Lint/Void + - Metrics/LineLength + - Style/AlignParameters + - Style/BlockNesting + - Style/ElseAlignment + - Style/FileName + - Style/FinalNewline + - Style/FrozenStringLiteralComment + - Style/IfUnlessModifier + - Style/IndentationWidth + - Style/Next + - Style/TrailingBlankLines + - Style/TrailingWhitespace + - Style/WhileUntilModifier + + RubyComments: + enabled: false + + SpaceBeforeScript: + enabled: false + + SpaceInsideHashAttributes: + enabled: false + style: space + + Indentation: + enabled: true + character: space # or tab + + TagName: + enabled: true + + TrailingWhitespace: + enabled: false + + UnnecessaryInterpolation: + enabled: false + + UnnecessaryStringOutput: + enabled: false @@ -298,6 +298,7 @@ group :development, :test do gem 'rubocop', '~> 0.41.2', require: false gem 'rubocop-rspec', '~> 1.5.0', require: false gem 'scss_lint', '~> 0.47.0', require: false + gem 'haml_lint', '~> 0.18.2', require: false gem 'simplecov', '0.12.0', require: false gem 'flog', '~> 4.3.2', require: false gem 'flay', '~> 2.6.1', require: false diff --git a/Gemfile.lock b/Gemfile.lock index c421713f6a1..b6307f72fa8 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -322,6 +322,13 @@ GEM grape-entity (0.4.8) activesupport multi_json (>= 1.3.2) + haml (4.0.7) + tilt + haml_lint (0.18.2) + haml (~> 4.0) + rake (>= 10, < 12) + rubocop (>= 0.36.0) + sysexits (~> 1.1) hamlit (2.6.1) temple (~> 0.7.6) thor @@ -723,6 +730,7 @@ GEM stringex (2.5.2) sys-filesystem (1.1.6) ffi + sysexits (1.2.0) systemu (2.6.5) task_list (1.0.2) html-pipeline @@ -866,6 +874,7 @@ DEPENDENCIES gon (~> 6.1.0) grape (~> 0.15.0) grape-entity (~> 0.4.2) + haml_lint (~> 0.18.2) hamlit (~> 2.6.1) health_check (~> 2.1.0) hipchat (~> 1.5.0) diff --git a/lib/tasks/haml-lint.rake b/lib/tasks/haml-lint.rake new file mode 100644 index 00000000000..609dfaa48e3 --- /dev/null +++ b/lib/tasks/haml-lint.rake @@ -0,0 +1,5 @@ +unless Rails.env.production? + require 'haml_lint/rake_task' + + HamlLint::RakeTask.new +end |