Skip to content

Commit

Permalink
add haml-lint to detect no localized stings in haml files
Browse files Browse the repository at this point in the history
  • Loading branch information
syphax-bouazzouni committed Mar 12, 2024
1 parent eeabe35 commit 19a4496
Show file tree
Hide file tree
Showing 6 changed files with 323 additions and 56 deletions.
39 changes: 30 additions & 9 deletions .github/workflows/rubocop.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,36 @@
name: Code style
name: Linters

on: [ pull_request ]
on: [push, pull_request]

jobs:
lint:
name: all linters
rubocop:
name: RuboCop
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: rubocop
run: bin/ontoportal run bundle exec rubocop --parallel
uses: actions/checkout@v2

- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.0.0

- name: Install dependencies
run: gem install rubocop rubocop-rails rubocop-i18n


- name: Run RuboCop
run: rubocop --parallel --format github

haml-lint:
name: HamlLint
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2

- name: Install HamlLint
run: gem install haml-lint

- name: Run HamlLint
run: haml-lint -r github
137 changes: 137 additions & 0 deletions .haml-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
require:
- './lib/lint/no_localized_string_haml.rb'

linters:
CustomLinter:
enabled: true
include: '**/*.haml'

# Default application configuration that all configurations inherit from.
#
# This is an opinionated list of which hooks are valuable to run and what their
# out of the box settings should be.

# Whether to ignore frontmatter at the beginning of HAML documents for
# frameworks such as Jekyll/Middleman
skip_frontmatter: false

linters:

MyFirstLinter:
enabled: true

NoPlainTextLinter:
enabled: true

AlignmentTabs:
enabled: true

AltText:
enabled: false

ClassAttributeWithStaticValue:
enabled: true

ClassesBeforeIds:
enabled: true

ConsecutiveComments:
enabled: true
max_consecutive: 1

ConsecutiveSilentScripts:
enabled: true
max_consecutive: 2

EmptyObjectReference:
enabled: true

EmptyScript:
enabled: true

FinalNewline:
enabled: true
present: true

HtmlAttributes:
enabled: true

IdNames:
enabled: true
style: lisp_case

ImplicitDiv:
enabled: true

Indentation:
enabled: true
character: space # or tab
width: 2 # ignored if character == tab

InlineStyles:
enabled: true

InstanceVariables:
enabled: true
file_types: partials
matchers:
all: .*
partials: \A_.*\.haml\z

LeadingCommentSpace:
enabled: true

LineLength:
enabled: true
max: 80

MultilinePipe:
enabled: true

MultilineScript:
enabled: true

NoPlaceholders:
enabled: false

ObjectReferenceAttributes:
enabled: true

RepeatedId:
enabled: true
severity: error

RuboCop:
enabled: true
# Users can ignore cops using this configuration instead of editing their rubocop configuration.
# Mostly there for backward compatibility.
ignored_cops: []

RubyComments:
enabled: true

SpaceBeforeScript:
enabled: true

SpaceInsideHashAttributes:
enabled: true
style: space

TagName:
enabled: true

TrailingEmptyLines:
enabled: true

TrailingWhitespace:
enabled: true

UnnecessaryInterpolation:
enabled: true

UnnecessaryStringOutput:
enabled: true

ViewLength:
enabled: true
max: 100
4 changes: 4 additions & 0 deletions .rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ AllCops:
require:
- rubocop-rails
- ./lib/lint/non_localized_string.rb
- rubocop-i18n
Lint/NonLocalizedString:
Enabled: true

Expand Down Expand Up @@ -76,3 +77,6 @@ Style/MissingRespondToMissing:
Lint/MissingSuper:
Enabled: true


Rails/I18nLocaleTexts:
Enabled: true
4 changes: 3 additions & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,8 @@ group :development do
gem 'deepl-rb'
gem 'letter_opener_web', '~> 2.0'
gem 'haml-rails'
gem "rubocop-i18n", "~> 3.0"
gem 'haml_lint', require: false
end

group :test, :development do
Expand All @@ -140,4 +142,4 @@ gem "net-http", "~> 0.3.2"



gem "bugsnag", "~> 6.26"
gem "bugsnag", "~> 6.26"
Loading

0 comments on commit 19a4496

Please sign in to comment.