diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..cbe5db2 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,131 @@ +{ + "parserOptions": { + "ecmaVersion": 6, + "sourceType": "module", + "ecmaFeatures": { + "jsx": true + } + }, + "rules": { + "no-empty": [ + 2, + { + "allowEmptyCatch": true + } + ], + "brace-style": [ + 2, + "1tbs", + { + "allowSingleLine": true + } + ], + "no-multiple-empty-lines": 2, + "one-var": [ + 2, + { + "uninitialized": "always", + "initialized": "never" + } + ], + "key-spacing": [ + 2, + { + "beforeColon": false, + "afterColon": true + } + ], + "space-unary-ops": [ + 2, + { + "words": false, + "nonwords": false + } + ], + "semi-spacing": [ + 2, + { + "before": false, + "after": true + } + ], + "space-before-function-paren": [ + 2, + "never" + ], + "space-in-parens": [ + 2, + "never" + ], + "no-spaced-func": 2, + "comma-dangle": [ + 2, + "always-multiline" + ], + "no-trailing-spaces": 2, + "no-var": 2, + "camelcase": 0, + "comma-style": [ + 2, + "last" + ], + "curly": [ + 2, + "all" + ], + "dot-notation": 2, + "object-shorthand": 2, + "operator-linebreak": [ + 2, + "after" + ], + "arrow-parens": 0, + "semi": [ + 2, + "always" + ], + "space-infix-ops": 2, + "keyword-spacing": [ + 2, + { + "overrides": { + "else": { + "before": true + }, + "while": { + "before": true + }, + "catch": { + "before": true + } + } + } + ], + "spaced-comment": [ + 2, + "always" + ], + "space-before-blocks": [ + 2, + "always" + ], + "array-bracket-spacing": [ + 2, + "always" + ], + "indent": [ + 2, + 2, + { + "SwitchCase": 1 + } + ], + "quotes": [ + 2, + "single", + { + "avoidEscape": true + } + ] + } +} diff --git a/.hound.yml b/.hound.yml index f283ada..a3e3032 100644 --- a/.hound.yml +++ b/.hound.yml @@ -1,2 +1,10 @@ credo: enabled: true +eslint: + enabled: true + config_file: .eslintrc.json +javascript: + enabled: false +scss: + enabled: true + config_file: .scss-lint.yml diff --git a/.jshintrc b/.jshintrc deleted file mode 100644 index e688987..0000000 --- a/.jshintrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "esversion": 6 -} diff --git a/.scss-lint.yml b/.scss-lint.yml new file mode 100644 index 0000000..c57fa15 --- /dev/null +++ b/.scss-lint.yml @@ -0,0 +1,248 @@ +# Up-to-date with SCSS-Lint v0.50 + +scss_files: "**/*.scss" + +severity: warning + +linters: + BangFormat: + enabled: true + space_before_bang: true + space_after_bang: false + + BemDepth: + enabled: false + + BorderZero: + enabled: true + convention: zero + + ChainedClasses: + enabled: false + + ColorKeyword: + enabled: true + + ColorVariable: + enabled: true + + Comment: + enabled: true + style: silent + + DebugStatement: + enabled: true + + DeclarationOrder: + enabled: true + + DisableLinterReason: + enabled: false + + DuplicateProperty: + enabled: true + + ElsePlacement: + enabled: true + style: same_line + + EmptyLineBetweenBlocks: + enabled: true + ignore_single_line_blocks: true + + EmptyRule: + enabled: true + + ExtendDirective: + enabled: true + + FinalNewline: + enabled: true + present: true + + HexLength: + enabled: true + style: short + + HexNotation: + enabled: false + + HexValidation: + enabled: true + + IdSelector: + enabled: true + + ImportantRule: + enabled: true + + ImportPath: + enabled: true + leading_underscore: false + filename_extension: false + + Indentation: + enabled: true + allow_non_nested_indentation: false + character: space + width: 2 + + LeadingZero: + enabled: true + style: include_zero + + LengthVariable: + enabled: false + + MergeableSelector: + enabled: true + force_nesting: true + + NameFormat: + enabled: true + allow_leading_underscore: true + convention: hyphenated_lowercase + + NestingDepth: + enabled: true + max_depth: 3 + ignore_parent_selectors: false + + PlaceholderInExtend: + enabled: true + + PrivateNamingConvention: + enabled: false + + PropertyCount: + enabled: false + + PropertySortOrder: + enabled: true + ignore_unspecified: false + min_properties: 2 + separate_groups: false + + PropertySpelling: + enabled: true + extra_properties: + - text-decoration-skip + disabled_properties: [] + + PropertyUnits: + enabled: true + global: [ + 'ch', 'em', 'ex', 'rem', + 'cm', 'in', 'mm', 'pc', 'pt', 'px', 'q', + 'vh', 'vw', 'vmin', 'vmax', + 'deg', 'grad', 'rad', 'turn', + 'ms', 's', + 'Hz', 'kHz', + 'dpi', 'dpcm', 'dppx', + '%'] + properties: + line-height: [] + + PseudoElement: + enabled: true + + QualifyingElement: + enabled: true + allow_element_with_attribute: false + allow_element_with_class: false + allow_element_with_id: false + + SelectorDepth: + enabled: true + max_depth: 3 + + SelectorFormat: + enabled: false + + Shorthand: + enabled: true + allowed_shorthands: [1, 2, 3, 4] + + SingleLinePerProperty: + enabled: true + allow_single_line_rule_sets: true + + SingleLinePerSelector: + enabled: true + + SpaceAfterComma: + enabled: true + style: one_space + + SpaceAfterComment: + enabled: true + style: at_least_one_space + allow_empty_comments: true + + SpaceAfterPropertyColon: + enabled: true + style: one_space + + SpaceAfterPropertyName: + enabled: true + + SpaceAfterVariableColon: + enabled: true + style: one_space + + SpaceAfterVariableName: + enabled: true + + SpaceAroundOperator: + enabled: true + style: one_space + + SpaceBeforeBrace: + enabled: true + style: space + allow_single_line_padding: false + + SpaceBetweenParens: + enabled: true + spaces: 0 + + StringQuotes: + enabled: true + style: double_quotes + + TrailingSemicolon: + enabled: true + + TrailingWhitespace: + enabled: true + + TrailingZero: + enabled: true + + TransitionAll: + enabled: true + + UnnecessaryMantissa: + enabled: true + + UnnecessaryParentReference: + enabled: true + + UrlFormat: + enabled: false + + UrlQuotes: + enabled: true + + VariableForProperty: + enabled: false + + VendorPrefix: + enabled: true + identifier_list: base + + ZeroUnit: + enabled: true + + Compass::*: + enabled: false