Setup haml-lint CI with todo config (#23524)
parent
a232a1feb8
commit
75131e7bf7
27 changed files with 248 additions and 145 deletions
@ -0,0 +1,17 @@ |
||||
{ |
||||
"problemMatcher": [ |
||||
{ |
||||
"owner": "haml-lint", |
||||
"severity": "warning", |
||||
"pattern": [ |
||||
{ |
||||
"regexp": "^(.*):(\\d+)\\s\\[W]\\s(.*):\\s(.*)$", |
||||
"file": 1, |
||||
"line": 2, |
||||
"code": 3, |
||||
"message": 4 |
||||
} |
||||
] |
||||
} |
||||
] |
||||
} |
@ -0,0 +1,44 @@ |
||||
name: Haml Linting |
||||
on: |
||||
push: |
||||
branches-ignore: |
||||
- 'dependabot/**' |
||||
paths: |
||||
- '.github/workflows/haml-lint-problem-matcher.json' |
||||
- '.github/workflows/lint-haml.yml' |
||||
- '.haml-lint*.yml' |
||||
- '.rubocop*.yml' |
||||
- '.ruby-version' |
||||
- '**/*.haml' |
||||
- 'Gemfile*' |
||||
|
||||
pull_request: |
||||
paths: |
||||
- '.github/workflows/haml-lint-problem-matcher.json' |
||||
- '.github/workflows/lint-haml.yml' |
||||
- '.haml-lint*.yml' |
||||
- '.rubocop*.yml' |
||||
- '.ruby-version' |
||||
- '**/*.haml' |
||||
- 'Gemfile*' |
||||
|
||||
jobs: |
||||
lint: |
||||
runs-on: ubuntu-latest |
||||
steps: |
||||
- name: Clone repository |
||||
uses: actions/checkout@v3 |
||||
|
||||
- name: Install native Ruby dependencies |
||||
run: sudo apt-get install -y libicu-dev libidn11-dev |
||||
|
||||
- name: Set up Ruby |
||||
uses: ruby/setup-ruby@v1 |
||||
with: |
||||
ruby-version: .ruby-version |
||||
bundler-cache: true |
||||
|
||||
- name: Run haml-lint |
||||
run: | |
||||
echo "::add-matcher::.github/workflows/haml-lint-problem-matcher.json" |
||||
bundle exec haml-lint |
@ -1,108 +1,9 @@ |
||||
# Whether to ignore frontmatter at the beginning of HAML documents for |
||||
# frameworks such as Jekyll/Middleman |
||||
skip_frontmatter: false |
||||
inherits_from: .haml-lint_todo.yml |
||||
|
||||
exclude: |
||||
- 'vendor/**/*' |
||||
- 'spec/**/*' |
||||
- 'lib/templates/**/*' |
||||
- 'app/views/kaminari/**/*' |
||||
- lib/templates/haml/scaffold/_form.html.haml |
||||
|
||||
linters: |
||||
AltText: |
||||
enabled: false |
||||
|
||||
ClassAttributeWithStaticValue: |
||||
enabled: true |
||||
|
||||
ClassesBeforeIds: |
||||
enabled: true |
||||
|
||||
ConsecutiveComments: |
||||
enabled: true |
||||
|
||||
ConsecutiveSilentScripts: |
||||
enabled: true |
||||
max_consecutive: 2 |
||||
|
||||
EmptyObjectReference: |
||||
enabled: true |
||||
|
||||
EmptyScript: |
||||
enabled: true |
||||
|
||||
FinalNewline: |
||||
enabled: true |
||||
present: true |
||||
|
||||
HtmlAttributes: |
||||
enabled: true |
||||
|
||||
ImplicitDiv: |
||||
enabled: true |
||||
|
||||
LeadingCommentSpace: |
||||
enabled: true |
||||
|
||||
LineLength: |
||||
enabled: false |
||||
max: 80 |
||||
|
||||
MultilinePipe: |
||||
enabled: true |
||||
|
||||
MultilineScript: |
||||
enabled: true |
||||
|
||||
ObjectReferenceAttributes: |
||||
enabled: true |
||||
|
||||
RuboCop: |
||||
enabled: true |
||||
# These cops are incredibly noisy when it comes to HAML templates, so we |
||||
# ignore them. |
||||
ignored_cops: |
||||
- Lint/BlockAlignment |
||||
- Lint/EndAlignment |
||||
- Lint/Void |
||||
- Metrics/BlockLength |
||||
- Metrics/LineLength |
||||
- Style/AlignParameters |
||||
- Style/BlockNesting |
||||
- Style/ElseAlignment |
||||
- Style/EndOfLine |
||||
- Style/FileName |
||||
- Style/FinalNewline |
||||
- Style/FrozenStringLiteralComment |
||||
- Style/IfUnlessModifier |
||||
- Style/IndentationWidth |
||||
- Style/Next |
||||
- Style/TrailingBlankLines |
||||
- Style/TrailingWhitespace |
||||
- Style/WhileUntilModifier |
||||
|
||||
RubyComments: |
||||
enabled: true |
||||
|
||||
SpaceBeforeScript: |
||||
enabled: true |
||||
|
||||
SpaceInsideHashAttributes: |
||||
enabled: true |
||||
style: space |
||||
|
||||
Indentation: |
||||
enabled: true |
||||
character: space # or tab |
||||
|
||||
TagName: |
||||
enabled: true |
||||
|
||||
TrailingWhitespace: |
||||
enabled: true |
||||
|
||||
UnnecessaryInterpolation: |
||||
enabled: true |
||||
|
||||
UnnecessaryStringOutput: |
||||
enabled: true |
||||
|
@ -0,0 +1,128 @@ |
||||
# This configuration was generated by |
||||
# `haml-lint --auto-gen-config` |
||||
# on 2023-02-11 02:16:03 -0500 using Haml-Lint version 0.45.0. |
||||
# The point is for the user to remove these configuration records |
||||
# one by one as the lints are removed from the code base. |
||||
# Note that changes in the inspected code, or installation of new |
||||
# versions of Haml-Lint, may require this file to be generated again. |
||||
|
||||
linters: |
||||
# Offense count: 76 |
||||
RuboCop: |
||||
exclude: |
||||
- 'app/views/accounts/_og.html.haml' |
||||
- 'app/views/admin/account_actions/new.html.haml' |
||||
- 'app/views/admin/account_warnings/_account_warning.html.haml' |
||||
- 'app/views/admin/accounts/index.html.haml' |
||||
- 'app/views/admin/accounts/show.html.haml' |
||||
- 'app/views/admin/action_logs/index.html.haml' |
||||
- 'app/views/admin/announcements/edit.html.haml' |
||||
- 'app/views/admin/announcements/new.html.haml' |
||||
- 'app/views/admin/change_emails/show.html.haml' |
||||
- 'app/views/admin/custom_emojis/index.html.haml' |
||||
- 'app/views/admin/dashboard/index.html.haml' |
||||
- 'app/views/admin/disputes/appeals/_appeal.html.haml' |
||||
- 'app/views/admin/domain_blocks/edit.html.haml' |
||||
- 'app/views/admin/domain_blocks/new.html.haml' |
||||
- 'app/views/admin/ip_blocks/new.html.haml' |
||||
- 'app/views/admin/reports/actions/preview.html.haml' |
||||
- 'app/views/admin/reports/index.html.haml' |
||||
- 'app/views/admin/reports/show.html.haml' |
||||
- 'app/views/admin/roles/_form.html.haml' |
||||
- 'app/views/admin/settings/about/show.html.haml' |
||||
- 'app/views/admin/settings/appearance/show.html.haml' |
||||
- 'app/views/admin/settings/registrations/show.html.haml' |
||||
- 'app/views/admin/statuses/show.html.haml' |
||||
- 'app/views/application/_card.html.haml' |
||||
- 'app/views/application/_sidebar.html.haml' |
||||
- 'app/views/auth/registrations/_sessions.html.haml' |
||||
- 'app/views/auth/registrations/new.html.haml' |
||||
- 'app/views/auth/sessions/new.html.haml' |
||||
- 'app/views/disputes/strikes/show.html.haml' |
||||
- 'app/views/filters/_filter_fields.html.haml' |
||||
- 'app/views/invites/_form.html.haml' |
||||
- 'app/views/layouts/application.html.haml' |
||||
- 'app/views/layouts/error.html.haml' |
||||
- 'app/views/layouts/mailer.html.haml' |
||||
- 'app/views/notification_mailer/_status.html.haml' |
||||
- 'app/views/notification_mailer/favourite.html.haml' |
||||
- 'app/views/notification_mailer/follow_request.html.haml' |
||||
- 'app/views/oauth/authorizations/new.html.haml' |
||||
- 'app/views/oauth/authorized_applications/index.html.haml' |
||||
- 'app/views/settings/applications/_fields.html.haml' |
||||
- 'app/views/settings/imports/show.html.haml' |
||||
- 'app/views/settings/login_activities/_login_activity.html.haml' |
||||
- 'app/views/settings/preferences/appearance/show.html.haml' |
||||
- 'app/views/settings/preferences/other/show.html.haml' |
||||
- 'app/views/settings/preferences/other/show.html.haml' |
||||
- 'app/views/statuses_cleanup/show.html.haml' |
||||
- 'app/views/statuses/_detailed_status.html.haml' |
||||
- 'app/views/statuses/_og_image.html.haml' |
||||
- 'app/views/statuses/_poll.html.haml' |
||||
- 'app/views/statuses/_status.html.haml' |
||||
- 'app/views/statuses/show.html.haml' |
||||
- 'app/views/user_mailer/suspicious_sign_in.html.haml' |
||||
- 'app/views/user_mailer/warning.html.haml' |
||||
- 'app/views/user_mailer/webauthn_credential_added.html.haml' |
||||
- 'app/views/user_mailer/webauthn_credential_deleted.html.haml' |
||||
|
||||
# Offense count: 918 |
||||
LineLength: |
||||
enabled: false |
||||
|
||||
# Offense count: 22 |
||||
UnnecessaryStringOutput: |
||||
exclude: |
||||
- 'app/views/accounts/show.html.haml' |
||||
- 'app/views/admin/custom_emojis/_custom_emoji.html.haml' |
||||
- 'app/views/admin/relays/_relay.html.haml' |
||||
- 'app/views/admin/rules/_rule.html.haml' |
||||
- 'app/views/admin/statuses/index.html.haml' |
||||
- 'app/views/auth/registrations/_sessions.html.haml' |
||||
- 'app/views/disputes/strikes/show.html.haml' |
||||
- 'app/views/notification_mailer/_status.html.haml' |
||||
- 'app/views/settings/two_factor_authentication_methods/index.html.haml' |
||||
- 'app/views/statuses/_detailed_status.html.haml' |
||||
- 'app/views/statuses/_poll.html.haml' |
||||
- 'app/views/statuses/_simple_status.html.haml' |
||||
- 'app/views/user_mailer/suspicious_sign_in.html.haml' |
||||
- 'app/views/user_mailer/webauthn_credential_added.html.haml' |
||||
- 'app/views/user_mailer/webauthn_credential_deleted.html.haml' |
||||
- 'app/views/user_mailer/welcome.html.haml' |
||||
|
||||
# Offense count: 3 |
||||
ViewLength: |
||||
exclude: |
||||
- 'app/views/admin/accounts/show.html.haml' |
||||
- 'app/views/admin/reports/show.html.haml' |
||||
- 'app/views/disputes/strikes/show.html.haml' |
||||
|
||||
# Offense count: 43 |
||||
InstanceVariables: |
||||
exclude: |
||||
- 'app/views/admin/reports/_actions.html.haml' |
||||
- 'app/views/admin/roles/_form.html.haml' |
||||
- 'app/views/admin/webhooks/_form.html.haml' |
||||
- 'app/views/application/_sidebar.html.haml' |
||||
- 'app/views/auth/registrations/_sessions.html.haml' |
||||
- 'app/views/auth/registrations/_status.html.haml' |
||||
- 'app/views/auth/sessions/two_factor/_otp_authentication_form.html.haml' |
||||
- 'app/views/authorize_interactions/_post_follow_actions.html.haml' |
||||
- 'app/views/invites/_form.html.haml' |
||||
- 'app/views/relationships/_account.html.haml' |
||||
- 'app/views/shared/_og.html.haml' |
||||
- 'app/views/statuses/_status.html.haml' |
||||
|
||||
# Offense count: 6 |
||||
ConsecutiveSilentScripts: |
||||
exclude: |
||||
- 'app/views/admin/settings/shared/_links.html.haml' |
||||
- 'app/views/settings/login_activities/_login_activity.html.haml' |
||||
- 'app/views/statuses/_poll.html.haml' |
||||
|
||||
# Offense count: 3 |
||||
IdNames: |
||||
exclude: |
||||
- 'app/views/authorize_interactions/error.html.haml' |
||||
- 'app/views/oauth/authorizations/error.html.haml' |
||||
- 'app/views/shared/_error_messages.html.haml' |
@ -1,9 +1,11 @@ |
||||
-# Link to the "Next" page |
||||
-# available local variables |
||||
-# url: url to the next page |
||||
-# current_page: a page object for the currently displayed page |
||||
-# total_pages: total number of pages |
||||
-# per_page: number of items to fetch per page |
||||
-# remote: data-remote |
||||
-# |
||||
Link to the "Next" page |
||||
available local variables |
||||
url: url to the next page |
||||
current_page: a page object for the currently displayed page |
||||
total_pages: total number of pages |
||||
per_page: number of items to fetch per page |
||||
remote: data-remote |
||||
|
||||
%span.next |
||||
= link_to_unless current_page.last?, safe_join([t('pagination.next'), fa_icon('chevron-right')], ' '), url, rel: 'next', remote: remote |
||||
|
@ -1,9 +1,10 @@ |
||||
-# Link to the "Previous" page |
||||
-# available local variables |
||||
-# url: url to the previous page |
||||
-# current_page: a page object for the currently displayed page |
||||
-# total_pages: total number of pages |
||||
-# per_page: number of items to fetch per page |
||||
-# remote: data-remote |
||||
-# |
||||
Link to the "Previous" page |
||||
available local variables |
||||
url: url to the previous page |
||||
current_page: a page object for the currently displayed page |
||||
total_pages: total number of pages |
||||
per_page: number of items to fetch per page |
||||
remote: data-remote |
||||
%span.prev |
||||
= link_to_unless current_page.first?, safe_join([fa_icon('chevron-left'), t('pagination.prev')], ' '), url, rel: 'prev', remote: remote |
||||
|
Loading…
Reference in new issue