inherits_from: - .haml-lint_todo.yml # Whether to ignore frontmatter at the beginning of HAML documents for # frameworks such as Jekyll/Middleman skip_frontmatter: false exclude: - 'vendor/**/*' - 'spec/**/*' - 'ee/spec/**/*' require: - './haml_lint/linter/documentation_links.rb' - './haml_lint/linter/inline_javascript.rb' - './haml_lint/linter/no_plain_nodes.rb' linters: AltText: enabled: true ClassAttributeWithStaticValue: enabled: true ClassesBeforeIds: enabled: false ConsecutiveComments: enabled: false ConsecutiveSilentScripts: enabled: false max_consecutive: 2 DocumentationLinks: enabled: true include: - 'app/views/**/*.haml' - 'ee/app/views/**/*.haml' EmptyObjectReference: enabled: true EmptyScript: enabled: true FinalNewline: enabled: true present: true HtmlAttributes: enabled: true IdNames: enabled: false ImplicitDiv: enabled: true InlineJavaScript: enabled: true InlineStyles: enabled: false InstanceVariables: enabled: false LeadingCommentSpace: enabled: false LineLength: enabled: false max: 80 MultilinePipe: enabled: true MultilineScript: enabled: true ObjectReferenceAttributes: enabled: true RepeatedId: enabled: false RuboCop: enabled: true ignored_cops: # These cops are incredibly noisy when it comes to HAML templates, so we # ignore them. - Layout/BlockAlignment - Layout/EndAlignment - Layout/LineLength - Lint/Void - Naming/FileName - Style/AlignParameters - Style/BlockNesting - Style/ElseAlignment - Style/FileName - Style/FinalNewline - Style/FrozenStringLiteralComment - Style/IfUnlessModifier - Style/IndentationWidth - Style/Next - Style/SoleNestedConditional - Style/TrailingWhitespace - Style/WhileUntilModifier - Cop/StaticTranslationDefinition # These cops should eventually get enabled - Cop/LineBreakAfterGuardClauses - Cop/ProjectPathHelper - Gitlab/FeatureAvailableUsage - Gitlab/Json - GitlabSecurity/PublicSend - Layout/EmptyLineAfterGuardClause - Layout/LeadingCommentSpace - Layout/SpaceAroundOperators - Layout/SpaceBeforeComma - Layout/SpaceBeforeFirstArg - Layout/SpaceInsideHashLiteralBraces - Layout/SpaceInsideStringInterpolation - Layout/TrailingEmptyLines - Lint/AmbiguousOperatorPrecedence - Lint/LiteralInInterpolation - Lint/ParenthesesAsGroupedExpression - Lint/SafeNavigationConsistency - Lint/SymbolConversion - Lint/UnusedBlockArgument - Metrics/BlockNesting - Naming/VariableName - Performance/RedundantMatch - Performance/StringReplacement - Rails/LinkToBlank - Rails/RequestReferer - Style/ColonMethodCall - Style/ConditionalAssignment - Style/FormatString - Style/HashSyntax - Style/IfInsideElse - Style/IdenticalConditionalBranches - Style/NegatedIf - Style/NestedTernaryOperator - Style/RedundantInterpolation - Style/SelfAssignment - Style/StringConcatenation - Style/TernaryParentheses - Style/TrailingCommaInHashLiteral - Style/UnlessElse - Style/UnneededCondition - Style/WordArray - Style/ZeroLengthPredicate # WIP See https://gitlab.com/gitlab-org/gitlab/-/issues/207950 - Cop/UserAdmin RubyComments: enabled: true SpaceBeforeScript: enabled: true SpaceInsideHashAttributes: enabled: true style: space Syntax: enabled: true Indentation: enabled: true character: space # or tab TagName: enabled: true TrailingWhitespace: enabled: true UnnecessaryInterpolation: enabled: true UnnecessaryStringOutput: enabled: true ViewLength: enabled: false