Skip to content

Instantly share code, notes, and snippets.

@jgillman
Created October 18, 2017 16:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jgillman/daae86195607253a836faa0238ef072c to your computer and use it in GitHub Desktop.
Save jgillman/daae86195607253a836faa0238ef072c to your computer and use it in GitHub Desktop.
Goldbely Linters (a work in progress, 2017-10-18)
# haml-lint explanations can be found in their documentation:
# https://github.com/brigade/haml-lint/blob/master/lib/haml_lint/linter/README.md
linters:
AltText:
enabled: true
ClassAttributeWithStaticValue:
enabled: true
ClassesBeforeIds:
enabled: false
ConsecutiveComments:
enabled: true
ConsecutiveSilentScripts:
enabled: true
max_consecutive: 2
EmptyScript:
enabled: true
FinalNewline:
enabled: true
HtmlAttributes:
enabled: true
ImplicitDiv:
enabled: true
Indentaion:
enabled: true
character: space
LeadingCommentSpace:
enabled: true
LineLength:
enabled: false
# Github's default diff view is 112 chars wide
max: 112
MultilinePipe:
enabled: true
MultilineScript:
enabled: true
ObjectReferenceAttributes:
enabled: true
RuboCop:
# TODO: Enable after installing RuboCop
enabled: false
RubyComments:
enabled: true
SpaceBeforeScript:
enabled: true
SpaceInsideHashAttributes:
enabled: true
style: space
TagName:
enabled: true
TrailingWhitespace:
enabled: true
UnnecessaryInterpolation:
enabled: true
UnnecessaryStringOutput:
enabled: true
options:
formatter: stylish
files:
include: 'app/assets/stylesheets/**/*.s+(a|c)ss'
rules:
# Extends
extends-before-mixins: 1
extends-before-declarations: 1
placeholder-in-extend: 1
# Mixins
mixins-before-declarations: 1
# Line Spacing
one-declaration-per-line: 1
empty-line-between-blocks: 1
single-line-per-selector: 1
# Disallows
no-attribute-selectors: 0
no-color-hex: 0
no-color-keywords: 0
no-color-literals: 0
no-combinators: 0
no-css-comments: 1
no-debug: 1
no-disallowed-properties: 0
no-duplicate-properties: 1
no-empty-rulesets: 1
no-extends: 0
no-ids: 1
no-important: 1
no-invalid-hex: 1
no-mergeable-selectors: 1
no-misspelled-properties: 1
no-qualifying-elements: 1
no-trailing-whitespace: 1
no-trailing-zero: 1
no-transition-all: 1
no-universal-selectors: 0
no-url-domains: 1
no-url-protocols: 1
no-vendor-prefixes: 1
no-warn: 1
property-units: 0
# Nesting
declarations-before-nesting: 1
force-attribute-nesting: 1
force-element-nesting: 1
force-pseudo-nesting: 1
# Name Formats
class-name-format:
- 1
-
convention: 'hyphenatedbem'
function-name-format: 1
id-name-format: 0
mixin-name-format: 1
placeholder-name-format: 1
variable-name-format: 1
# Style Guide
attribute-quotes: 1
bem-depth: 0
border-zero: 1
brace-style: 1
clean-import-paths: 1
empty-args: 1
hex-length: 1
hex-notation: 1
indentation: 1
leading-zero: 1
max-line-length: 0
max-file-line-count: 0
nesting-depth: 1
property-sort-order: 0
pseudo-element: 1
quotes: 1
shorthand-values: 1
url-quotes: 1
variable-for-property: 1
zero-unit: 1
# Inner Spacing
space-after-comma: 1
space-before-colon: 1
space-after-colon: 1
space-before-brace: 1
space-before-bang: 1
space-after-bang: 1
space-between-parens:
- 1
-
include: true
space-around-operator: 1
# Final Items
trailing-semicolon: 1
final-newline: 1
{
"arrow_spacing": {
"level": "error"
},
"camel_case_classes": {
"level": "error"
},
"coffeescript_error": {
"level": "error"
},
"colon_assignment_spacing": {
"level": "ignore",
"spacing": {
"left": 0,
"right": 1
}
},
"cyclomatic_complexity": {
"value": 10,
"level": "warn"
},
"duplicate_key": {
"level": "error"
},
"empty_constructor_needs_parens": {
"level": "ignore"
},
"indentation": {
"value": 2,
"level": "error"
},
"line_endings": {
"value": "unix",
"level": "warn"
},
"max_line_length": {
"value": 120,
"level": "warn",
"limitComments": true
},
"missing_fat_arrows": {
"level": "ignore"
},
"newlines_after_classes": {
"value": 3,
"level": "error"
},
"no_backticks": {
"level": "error"
},
"no_debugger": {
"level": "error"
},
"no_empty_functions": {
"level": "warn"
},
"no_empty_param_list": {
"level": "error"
},
"no_implicit_braces": {
"strict": true,
"level": "ignore"
},
"no_implicit_parens": {
"strict": true,
"level": "ignore"
},
"no_interpolation_in_single_quotes": {
"level": "ignore"
},
"no_plusplus": {
"level": "warn"
},
"no_stand_alone_at": {
"level": "warn"
},
"no_tabs": {
"level": "error"
},
"no_throwing_strings": {
"level": "error"
},
"no_trailing_semicolons": {
"level": "error"
},
"no_trailing_whitespace": {
"level": "error",
"allowed_in_comments": false,
"allowed_in_empty_lines": true
},
"no_unnecessary_double_quotes": {
"level": "error"
},
"no_unnecessary_fat_arrows": {
"level": "warn"
},
"non_empty_constructor_needs_parens": {
"level": "ignore"
},
"space_operators": {
"level": "error"
},
"spacing_after_comma": {
"level": "error"
}
}
@jgillman
Copy link
Author

Note: One of the configs says that Github's default diff view is 112 characters wide. I believe it's actually 120 now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment