Skip to content

Commit

Permalink
Fix sass-lint config (mastodon#10982)
Browse files Browse the repository at this point in the history
  • Loading branch information
ykzts authored and multiple creatures committed Nov 19, 2019
1 parent 396a4e0 commit 968de2c
Show file tree
Hide file tree
Showing 14 changed files with 84 additions and 310 deletions.
289 changes: 31 additions & 258 deletions .sass-lint.yml
Expand Up @@ -4,261 +4,34 @@
files:
include: app/javascript/styles/**/*.scss
ignore:
- app/javascript/styles/reset.scss

linters:
# Reports when you use improper spacing around ! (the "bang") in !default,
# !global, !important, and !optional flags.
BangFormat:
enabled: false

# Whether or not to prefer `border: 0` over `border: none`.
BorderZero:
enabled: false

# Reports when you define a rule set using a selector with chained classes
# (a.k.a. adjoining classes).
ChainedClasses:
enabled: false

# Prefer hexadecimal color codes over color keywords.
# (e.g. `color: green` is a color keyword)
ColorKeyword:
enabled: false

# Prefer color literals (keywords or hexadecimal codes) to be used only in
# variable declarations. They should be referred to via variables everywhere
# else.
ColorVariable:
enabled: true

# Which form of comments to prefer in CSS.
Comment:
enabled: false

# Reports @debug statements (which you probably left behind accidentally).
DebugStatement:
enabled: false

# Rule sets should be ordered as follows:
# - @extend declarations
# - @include declarations without inner @content
# - properties, @include declarations with inner @content
# - nested rule sets.
DeclarationOrder:
enabled: false

# `scss-lint:disable` control comments should be preceded by a comment
# explaining why these linters are being disabled for this file.
# See https://github.com/brigade/scss-lint#disabling-linters-via-source for
# more information.
DisableLinterReason:
enabled: true

# Reports when you define the same property twice in a single rule set.
DuplicateProperty:
enabled: false

# Separate rule, function, and mixin declarations with empty lines.
EmptyLineBetweenBlocks:
enabled: true

# Reports when you have an empty rule set.
EmptyRule:
enabled: true

# Reports when you have an @extend directive.
ExtendDirective:
enabled: false

# Files should always have a final newline. This results in better diffs
# when adding lines to the file, since SCM systems such as git won't
# think that you touched the last line.
FinalNewline:
enabled: false

# HEX colors should use three-character values where possible.
HexLength:
enabled: false

# HEX color values should use lower-case colors to differentiate between
# letters and numbers, e.g. `#E3E3E3` vs. `#e3e3e3`.
HexNotation:
enabled: true

# Avoid using ID selectors.
IdSelector:
enabled: false

# The basenames of @imported SCSS partials should not begin with an
# underscore and should not include the filename extension.
ImportPath:
enabled: false

# Avoid using !important in properties. It is usually indicative of a
# misunderstanding of CSS specificity and can lead to brittle code.
ImportantRule:
enabled: false

# Indentation should always be done in increments of 2 spaces.
Indentation:
enabled: true
width: 2

# Don't write leading zeros for numeric values with a decimal point.
LeadingZero:
enabled: false

# Reports when you define the same selector twice in a single sheet.
MergeableSelector:
enabled: false

# Functions, mixins, variables, and placeholders should be declared
# with all lowercase letters and hyphens instead of underscores.
NameFormat:
enabled: false

# Avoid nesting selectors too deeply.
NestingDepth:
enabled: false

# Always use placeholder selectors in @extend.
PlaceholderInExtend:
enabled: false

# Sort properties in a strict order.
PropertySortOrder:
enabled: false

# Reports when you use an unknown or disabled CSS property
# (ignoring vendor-prefixed properties).
PropertySpelling:
enabled: false

# Configure which units are allowed for property values.
PropertyUnits:
enabled: false

# Pseudo-elements, like ::before, and ::first-letter, should be declared
# with two colons. Pseudo-classes, like :hover and :first-child, should
# be declared with one colon.
PseudoElement:
enabled: true

# Avoid qualifying elements in selectors (also known as "tag-qualifying").
QualifyingElement:
enabled: false

# Don't write selectors with a depth of applicability greater than 3.
SelectorDepth:
enabled: false

# Selectors should always use hyphenated-lowercase, rather than camelCase or
# snake_case.
SelectorFormat:
enabled: false
convention: hyphenated_lowercase

# Prefer the shortest shorthand form possible for properties that support it.
Shorthand:
enabled: true

# Each property should have its own line, except in the special case of
# single line rulesets.
SingleLinePerProperty:
enabled: true
allow_single_line_rule_sets: true

# Split selectors onto separate lines after each comma, and have each
# individual selector occupy a single line.
SingleLinePerSelector:
enabled: true

# Commas in lists should be followed by a space.
SpaceAfterComma:
enabled: false

# Properties should be formatted with a single space separating the colon
# from the property's value.
SpaceAfterPropertyColon:
enabled: true

# Properties should be formatted with no space between the name and the
# colon.
SpaceAfterPropertyName:
enabled: true

# Variables should be formatted with a single space separating the colon
# from the variable's value.
SpaceAfterVariableColon:
enabled: true

# Variables should be formatted with no space between the name and the
# colon.
SpaceAfterVariableName:
enabled: false

# Operators should be formatted with a single space on both sides of an
# infix operator.
SpaceAroundOperator:
enabled: true

# Opening braces should be preceded by a single space.
SpaceBeforeBrace:
enabled: true

# Parentheses should not be padded with spaces.
SpaceBetweenParens:
enabled: false

# Enforces that string literals should be written with a consistent form
# of quotes (single or double).
StringQuotes:
enabled: false

# Property values, @extend, @include, and @import directives, and variable
# declarations should always end with a semicolon.
TrailingSemicolon:
enabled: true

# Reports lines containing trailing whitespace.
TrailingWhitespace:
enabled: true

# Don't write trailing zeros for numeric values with a decimal point.
TrailingZero:
enabled: false

# Don't use the `all` keyword to specify transition properties.
TransitionAll:
enabled: false

# Numeric values should not contain unnecessary fractional portions.
UnnecessaryMantissa:
enabled: false

# Do not use parent selector references (&) when they would otherwise
# be unnecessary.
UnnecessaryParentReference:
enabled: false

# URLs should be valid and not contain protocols or domain names.
UrlFormat:
enabled: true

# URLs should always be enclosed within quotes.
UrlQuotes:
enabled: true

# Properties, like color and font, are easier to read and maintain
# when defined using variables rather than literals.
VariableForProperty:
enabled: false

# Avoid vendor prefixes. Or rather: don't write them yourself.
VendorPrefix:
enabled: false

# Omit length units on zero values, e.g. `0px` vs. `0`.
ZeroUnit:
enabled: true
- app/javascript/styles/mastodon/reset.scss

rules:
# Disallows
no-color-literals: 0
no-css-comments: 0
no-duplicate-properties: 0
no-ids: 0
no-important: 0
no-mergeable-selectors: 0
no-misspelled-properties: 0
no-qualifying-elements: 0
no-transition-all: 0
no-vendor-prefixes: 0

# Nesting
force-element-nesting: 0
force-attribute-nesting: 0
force-pseudo-nesting: 0

# Name Formats
class-name-format: 0
leading-zero: 0

# Style Guide
attribute-quotes: 0
hex-length: 0
indentation: 0
nesting-depth: 0
property-sort-order: 0
quotes: 0
2 changes: 1 addition & 1 deletion app/javascript/styles/contrast/diff.scss
Expand Up @@ -5,7 +5,7 @@
&-description {
input {
&::placeholder {
opacity: 1.0;
opacity: 1;
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion app/javascript/styles/contrast/variables.scss
Expand Up @@ -20,5 +20,5 @@ $highlight-text-color: $classic-highlight-color !default;
$action-button-color: #8d9ac2;

$inverted-text-color: $black !default;
$lighter-text-color: darken($ui-base-color,6%) !default;
$lighter-text-color: darken($ui-base-color, 6%) !default;
$light-text-color: darken($ui-primary-color, 40%) !default;
4 changes: 2 additions & 2 deletions app/javascript/styles/mailer.scss
Expand Up @@ -279,15 +279,15 @@ h5 {
}

.hero-with-button {
padding-bottom: 16px;

h1 {
margin-bottom: 4px;
}

p.lead {
margin-bottom: 32px;
}

padding-bottom: 16px;
}

.header {
Expand Down
10 changes: 5 additions & 5 deletions app/javascript/styles/mastodon/_mixins.scss
@@ -1,21 +1,21 @@
@mixin avatar-radius() {
@mixin avatar-radius {
border-radius: 4px;
background: transparent no-repeat;
background-position: 50%;
background-clip: padding-box;
}

@mixin avatar-size($size:48px) {
@mixin avatar-size($size: 48px) {
width: $size;
height: $size;
background-size: $size $size;
}

@mixin search-input() {
@mixin search-input {
outline: 0;
box-sizing: border-box;
width: 100%;
border: none;
border: 0;
box-shadow: none;
font-family: inherit;
background: $ui-base-color;
Expand All @@ -42,7 +42,7 @@
}
}

@mixin search-popout() {
@mixin search-popout {
background: $simple-background-color;
border-radius: 4px;
padding: 10px 14px;
Expand Down
2 changes: 1 addition & 1 deletion app/javascript/styles/mastodon/admin.scss
Expand Up @@ -171,7 +171,7 @@ $content-width: 840px;
text-transform: none;
padding-bottom: 0;
margin-bottom: 0;
border-bottom: none;
border-bottom: 0;
}

& > p {
Expand Down
5 changes: 3 additions & 2 deletions app/javascript/styles/mastodon/basics.scss
Expand Up @@ -2,7 +2,8 @@
@if type-of($color) == 'color' {
$color: str-slice(ie-hex-str($color), 4);
}
@return '%23' + unquote($color)

@return '%23' + unquote($color);
}

body {
Expand All @@ -15,7 +16,7 @@ body {
text-rendering: optimizelegibility;
font-feature-settings: "kern";
text-size-adjust: none;
-webkit-tap-highlight-color: rgba(0,0,0,0);
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
-webkit-tap-highlight-color: transparent;

&.system-font {
Expand Down

0 comments on commit 968de2c

Please sign in to comment.