Browse Source

Fix sass-lint config (#10982)

tags/v2.9.0rc1
Yamagishi Kazutoshi 4 months ago
parent
commit
c672676c03

+ 31
- 258
.sass-lint.yml View File

@@ -4,261 +4,34 @@
4 4
 files:
5 5
   include: app/javascript/styles/**/*.scss
6 6
   ignore:
7
-    - app/javascript/styles/reset.scss
8
-
9
-linters:
10
-  # Reports when you use improper spacing around ! (the "bang") in !default,
11
-  # !global, !important, and !optional flags.
12
-  BangFormat:
13
-    enabled: false
14
-
15
-  # Whether or not to prefer `border: 0` over `border: none`.
16
-  BorderZero:
17
-    enabled: false
18
-
19
-  # Reports when you define a rule set using a selector with chained classes
20
-  # (a.k.a. adjoining classes).
21
-  ChainedClasses:
22
-    enabled: false
23
-
24
-  # Prefer hexadecimal color codes over color keywords.
25
-  # (e.g. `color: green` is a color keyword)
26
-  ColorKeyword:
27
-    enabled: false
28
-
29
-  # Prefer color literals (keywords or hexadecimal codes) to be used only in
30
-  # variable declarations. They should be referred to via variables everywhere
31
-  # else.
32
-  ColorVariable:
33
-    enabled: true
34
-
35
-  # Which form of comments to prefer in CSS.
36
-  Comment:
37
-    enabled: false
38
-
39
-  # Reports @debug statements (which you probably left behind accidentally).
40
-  DebugStatement:
41
-    enabled: false
42
-
43
-  # Rule sets should be ordered as follows:
44
-  # - @extend declarations
45
-  # - @include declarations without inner @content
46
-  # - properties, @include declarations with inner @content
47
-  # - nested rule sets.
48
-  DeclarationOrder:
49
-    enabled: false
50
-
51
-  # `scss-lint:disable` control comments should be preceded by a comment
52
-  # explaining why these linters are being disabled for this file.
53
-  # See https://github.com/brigade/scss-lint#disabling-linters-via-source for
54
-  # more information.
55
-  DisableLinterReason:
56
-    enabled: true
57
-
58
-  # Reports when you define the same property twice in a single rule set.
59
-  DuplicateProperty:
60
-    enabled: false
61
-
62
-  # Separate rule, function, and mixin declarations with empty lines.
63
-  EmptyLineBetweenBlocks:
64
-    enabled: true
65
-
66
-  # Reports when you have an empty rule set.
67
-  EmptyRule:
68
-    enabled: true
69
-
70
-  # Reports when you have an @extend directive.
71
-  ExtendDirective:
72
-    enabled: false
73
-
74
-  # Files should always have a final newline. This results in better diffs
75
-  # when adding lines to the file, since SCM systems such as git won't
76
-  # think that you touched the last line.
77
-  FinalNewline:
78
-    enabled: false
79
-
80
-  # HEX colors should use three-character values where possible.
81
-  HexLength:
82
-    enabled: false
83
-
84
-  # HEX color values should use lower-case colors to differentiate between
85
-  # letters and numbers, e.g. `#E3E3E3` vs. `#e3e3e3`.
86
-  HexNotation:
87
-    enabled: true
88
-
89
-  # Avoid using ID selectors.
90
-  IdSelector:
91
-    enabled: false
92
-
93
-  # The basenames of @imported SCSS partials should not begin with an
94
-  # underscore and should not include the filename extension.
95
-  ImportPath:
96
-    enabled: false
97
-
98
-  # Avoid using !important in properties. It is usually indicative of a
99
-  # misunderstanding of CSS specificity and can lead to brittle code.
100
-  ImportantRule:
101
-    enabled: false
102
-
103
-  # Indentation should always be done in increments of 2 spaces.
104
-  Indentation:
105
-    enabled: true
106
-    width: 2
107
-
108
-  # Don't write leading zeros for numeric values with a decimal point.
109
-  LeadingZero:
110
-    enabled: false
111
-
112
-  # Reports when you define the same selector twice in a single sheet.
113
-  MergeableSelector:
114
-    enabled: false
115
-
116
-  # Functions, mixins, variables, and placeholders should be declared
117
-  # with all lowercase letters and hyphens instead of underscores.
118
-  NameFormat:
119
-    enabled: false
120
-
121
-  # Avoid nesting selectors too deeply.
122
-  NestingDepth:
123
-    enabled: false
124
-
125
-  # Always use placeholder selectors in @extend.
126
-  PlaceholderInExtend:
127
-    enabled: false
128
-
129
-  # Sort properties in a strict order.
130
-  PropertySortOrder:
131
-    enabled: false
132
-
133
-  # Reports when you use an unknown or disabled CSS property
134
-  # (ignoring vendor-prefixed properties).
135
-  PropertySpelling:
136
-    enabled: false
137
-
138
-  # Configure which units are allowed for property values.
139
-  PropertyUnits:
140
-    enabled: false
141
-
142
-  # Pseudo-elements, like ::before, and ::first-letter, should be declared
143
-  # with two colons. Pseudo-classes, like :hover and :first-child, should
144
-  # be declared with one colon.
145
-  PseudoElement:
146
-    enabled: true
147
-
148
-  # Avoid qualifying elements in selectors (also known as "tag-qualifying").
149
-  QualifyingElement:
150
-    enabled: false
151
-
152
-  # Don't write selectors with a depth of applicability greater than 3.
153
-  SelectorDepth:
154
-    enabled: false
155
-
156
-  # Selectors should always use hyphenated-lowercase, rather than camelCase or
157
-  # snake_case.
158
-  SelectorFormat:
159
-    enabled: false
160
-    convention: hyphenated_lowercase
161
-
162
-  # Prefer the shortest shorthand form possible for properties that support it.
163
-  Shorthand:
164
-    enabled: true
165
-
166
-  # Each property should have its own line, except in the special case of
167
-  # single line rulesets.
168
-  SingleLinePerProperty:
169
-    enabled: true
170
-    allow_single_line_rule_sets: true
171
-
172
-  # Split selectors onto separate lines after each comma, and have each
173
-  # individual selector occupy a single line.
174
-  SingleLinePerSelector:
175
-    enabled: true
176
-
177
-  # Commas in lists should be followed by a space.
178
-  SpaceAfterComma:
179
-    enabled: false
180
-
181
-  # Properties should be formatted with a single space separating the colon
182
-  # from the property's value.
183
-  SpaceAfterPropertyColon:
184
-    enabled: true
185
-
186
-  # Properties should be formatted with no space between the name and the
187
-  # colon.
188
-  SpaceAfterPropertyName:
189
-    enabled: true
190
-
191
-  # Variables should be formatted with a single space separating the colon
192
-  # from the variable's value.
193
-  SpaceAfterVariableColon:
194
-    enabled: true
195
-
196
-  # Variables should be formatted with no space between the name and the
197
-  # colon.
198
-  SpaceAfterVariableName:
199
-    enabled: false
200
-
201
-  # Operators should be formatted with a single space on both sides of an
202
-  # infix operator.
203
-  SpaceAroundOperator:
204
-    enabled: true
205
-
206
-  # Opening braces should be preceded by a single space.
207
-  SpaceBeforeBrace:
208
-    enabled: true
209
-
210
-  # Parentheses should not be padded with spaces.
211
-  SpaceBetweenParens:
212
-    enabled: false
213
-
214
-  # Enforces that string literals should be written with a consistent form
215
-  # of quotes (single or double).
216
-  StringQuotes:
217
-    enabled: false
218
-
219
-  # Property values, @extend, @include, and @import directives, and variable
220
-  # declarations should always end with a semicolon.
221
-  TrailingSemicolon:
222
-    enabled: true
223
-
224
-  # Reports lines containing trailing whitespace.
225
-  TrailingWhitespace:
226
-    enabled: true
227
-
228
-  # Don't write trailing zeros for numeric values with a decimal point.
229
-  TrailingZero:
230
-    enabled: false
231
-
232
-  # Don't use the `all` keyword to specify transition properties.
233
-  TransitionAll:
234
-    enabled: false
235
-
236
-  # Numeric values should not contain unnecessary fractional portions.
237
-  UnnecessaryMantissa:
238
-    enabled: false
239
-
240
-  # Do not use parent selector references (&) when they would otherwise
241
-  # be unnecessary.
242
-  UnnecessaryParentReference:
243
-    enabled: false
244
-
245
-  # URLs should be valid and not contain protocols or domain names.
246
-  UrlFormat:
247
-    enabled: true
248
-
249
-  # URLs should always be enclosed within quotes.
250
-  UrlQuotes:
251
-    enabled: true
252
-
253
-  # Properties, like color and font, are easier to read and maintain
254
-  # when defined using variables rather than literals.
255
-  VariableForProperty:
256
-    enabled: false
257
-
258
-  # Avoid vendor prefixes. Or rather: don't write them yourself.
259
-  VendorPrefix:
260
-    enabled: false
261
-
262
-  # Omit length units on zero values, e.g. `0px` vs. `0`.
263
-  ZeroUnit:
264
-    enabled: true
7
+    - app/javascript/styles/mastodon/reset.scss
8
+
9
+rules:
10
+  # Disallows
11
+  no-color-literals: 0
12
+  no-css-comments: 0
13
+  no-duplicate-properties: 0
14
+  no-ids: 0
15
+  no-important: 0
16
+  no-mergeable-selectors: 0
17
+  no-misspelled-properties: 0
18
+  no-qualifying-elements: 0
19
+  no-transition-all: 0
20
+  no-vendor-prefixes: 0
21
+
22
+  # Nesting
23
+  force-element-nesting: 0
24
+  force-attribute-nesting: 0
25
+  force-pseudo-nesting: 0
26
+
27
+  # Name Formats
28
+  class-name-format: 0
29
+  leading-zero: 0
30
+
31
+  # Style Guide
32
+  attribute-quotes: 0
33
+  hex-length: 0
34
+  indentation: 0
35
+  nesting-depth: 0
36
+  property-sort-order: 0
37
+  quotes: 0

+ 1
- 1
app/javascript/styles/contrast/diff.scss View File

@@ -5,7 +5,7 @@
5 5
       &-description {
6 6
         input {
7 7
           &::placeholder {
8
-            opacity: 1.0;
8
+            opacity: 1;
9 9
           }
10 10
         }
11 11
       }

+ 1
- 1
app/javascript/styles/contrast/variables.scss View File

@@ -20,5 +20,5 @@ $highlight-text-color: $classic-highlight-color !default;
20 20
 $action-button-color: #8d9ac2;
21 21
 
22 22
 $inverted-text-color: $black !default;
23
-$lighter-text-color: darken($ui-base-color,6%) !default;
23
+$lighter-text-color: darken($ui-base-color, 6%) !default;
24 24
 $light-text-color: darken($ui-primary-color, 40%) !default;

+ 2
- 2
app/javascript/styles/mailer.scss View File

@@ -279,6 +279,8 @@ h5 {
279 279
 }
280 280
 
281 281
 .hero-with-button {
282
+  padding-bottom: 16px;
283
+
282 284
   h1 {
283 285
     margin-bottom: 4px;
284 286
   }
@@ -286,8 +288,6 @@ h5 {
286 288
   p.lead {
287 289
     margin-bottom: 32px;
288 290
   }
289
-
290
-  padding-bottom: 16px;
291 291
 }
292 292
 
293 293
 .header {

+ 5
- 5
app/javascript/styles/mastodon/_mixins.scss View File

@@ -1,21 +1,21 @@
1
-@mixin avatar-radius() {
1
+@mixin avatar-radius {
2 2
   border-radius: 4px;
3 3
   background: transparent no-repeat;
4 4
   background-position: 50%;
5 5
   background-clip: padding-box;
6 6
 }
7 7
 
8
-@mixin avatar-size($size:48px) {
8
+@mixin avatar-size($size: 48px) {
9 9
   width: $size;
10 10
   height: $size;
11 11
   background-size: $size $size;
12 12
 }
13 13
 
14
-@mixin search-input() {
14
+@mixin search-input {
15 15
   outline: 0;
16 16
   box-sizing: border-box;
17 17
   width: 100%;
18
-  border: none;
18
+  border: 0;
19 19
   box-shadow: none;
20 20
   font-family: inherit;
21 21
   background: $ui-base-color;
@@ -42,7 +42,7 @@
42 42
   }
43 43
 }
44 44
 
45
-@mixin search-popout() {
45
+@mixin search-popout {
46 46
   background: $simple-background-color;
47 47
   border-radius: 4px;
48 48
   padding: 10px 14px;

+ 1
- 1
app/javascript/styles/mastodon/admin.scss View File

@@ -171,7 +171,7 @@ $content-width: 840px;
171 171
       text-transform: none;
172 172
       padding-bottom: 0;
173 173
       margin-bottom: 0;
174
-      border-bottom: none;
174
+      border-bottom: 0;
175 175
     }
176 176
 
177 177
     & > p {

+ 3
- 2
app/javascript/styles/mastodon/basics.scss View File

@@ -2,7 +2,8 @@
2 2
   @if type-of($color) == 'color' {
3 3
     $color: str-slice(ie-hex-str($color), 4);
4 4
   }
5
-  @return '%23' + unquote($color)
5
+
6
+  @return '%23' + unquote($color);
6 7
 }
7 8
 
8 9
 body {
@@ -15,7 +16,7 @@ body {
15 16
   text-rendering: optimizelegibility;
16 17
   font-feature-settings: "kern";
17 18
   text-size-adjust: none;
18
-  -webkit-tap-highlight-color: rgba(0,0,0,0);
19
+  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
19 20
   -webkit-tap-highlight-color: transparent;
20 21
 
21 22
   &.system-font {

+ 29
- 28
app/javascript/styles/mastodon/components.scss View File

@@ -128,7 +128,7 @@
128 128
   display: inline-block;
129 129
   padding: 0;
130 130
   color: $action-button-color;
131
-  border: none;
131
+  border: 0;
132 132
   background: transparent;
133 133
   cursor: pointer;
134 134
   transition: color 100ms ease-in;
@@ -196,7 +196,7 @@
196 196
 
197 197
 .text-icon-button {
198 198
   color: $lighter-text-color;
199
-  border: none;
199
+  border: 0;
200 200
   background: transparent;
201 201
   cursor: pointer;
202 202
   font-weight: 600;
@@ -353,12 +353,12 @@
353 353
   .spoiler-input {
354 354
     height: 0;
355 355
     transform-origin: bottom;
356
-    opacity: 0.0;
356
+    opacity: 0;
357 357
 
358 358
     &.spoiler-input--visible {
359 359
       height: 36px;
360 360
       margin-bottom: 11px;
361
-      opacity: 1.0;
361
+      opacity: 1;
362 362
     }
363 363
   }
364 364
 
@@ -1193,7 +1193,7 @@
1193 1193
 }
1194 1194
 
1195 1195
 .account__avatar {
1196
-  @include avatar-radius();
1196
+  @include avatar-radius;
1197 1197
   position: relative;
1198 1198
 
1199 1199
   &-inline {
@@ -1203,11 +1203,11 @@
1203 1203
   }
1204 1204
 
1205 1205
   &-composite {
1206
-    @include avatar-radius();
1206
+    @include avatar-radius;
1207 1207
     overflow: hidden;
1208 1208
 
1209 1209
     & > div {
1210
-      @include avatar-radius();
1210
+      @include avatar-radius;
1211 1211
       float: left;
1212 1212
       position: relative;
1213 1213
       box-sizing: border-box;
@@ -1223,12 +1223,12 @@ a .account__avatar {
1223 1223
   @include avatar-size(48px);
1224 1224
 
1225 1225
   &-base {
1226
-    @include avatar-radius();
1226
+    @include avatar-radius;
1227 1227
     @include avatar-size(36px);
1228 1228
   }
1229 1229
 
1230 1230
   &-overlay {
1231
-    @include avatar-radius();
1231
+    @include avatar-radius;
1232 1232
     @include avatar-size(24px);
1233 1233
 
1234 1234
     position: absolute;
@@ -1606,13 +1606,13 @@ a.account__display-name {
1606 1606
     .icon-button.close {
1607 1607
       position: absolute;
1608 1608
       pointer-events: none;
1609
-      transform: scale(0.0, 1.0) translate(-100%, 0);
1609
+      transform: scale(0, 1) translate(-100%, 0);
1610 1610
       opacity: 0;
1611 1611
     }
1612 1612
 
1613 1613
     .compose__action-bar .icon-button {
1614 1614
       pointer-events: auto;
1615
-      transform: scale(1.0, 1.0) translate(0, 0);
1615
+      transform: scale(1, 1) translate(0, 0);
1616 1616
       opacity: 1;
1617 1617
     }
1618 1618
   }
@@ -2711,7 +2711,7 @@ a.account__display-name {
2711 2711
 .setting-text {
2712 2712
   color: $darker-text-color;
2713 2713
   background: transparent;
2714
-  border: none;
2714
+  border: 0;
2715 2715
   border-bottom: 2px solid $ui-primary-color;
2716 2716
   box-sizing: border-box;
2717 2717
   display: block;
@@ -3049,7 +3049,7 @@ a.status-card.compact:hover {
3049 3049
 
3050 3050
   & > button {
3051 3051
     margin: 0;
3052
-    border: none;
3052
+    border: 0;
3053 3053
     padding: 15px 0 15px 15px;
3054 3054
     color: inherit;
3055 3055
     background: transparent;
@@ -3214,11 +3214,11 @@ a.status-card.compact:hover {
3214 3214
 }
3215 3215
 
3216 3216
 .no-reduce-motion .loading-indicator span {
3217
-  animation: loader-label 1.15s infinite cubic-bezier(0.215, 0.610, 0.355, 1.000);
3217
+  animation: loader-label 1.15s infinite cubic-bezier(0.215, 0.61, 0.355, 1);
3218 3218
 }
3219 3219
 
3220 3220
 .no-reduce-motion .loading-indicator__figure {
3221
-  animation: loader-figure 1.15s infinite cubic-bezier(0.215, 0.610, 0.355, 1.000);
3221
+  animation: loader-figure 1.15s infinite cubic-bezier(0.215, 0.61, 0.355, 1);
3222 3222
 }
3223 3223
 
3224 3224
 @keyframes loader-figure {
@@ -3385,7 +3385,7 @@ a.status-card.compact:hover {
3385 3385
 
3386 3386
   .column-select {
3387 3387
     &__control {
3388
-      @include search-input();
3388
+      @include search-input;
3389 3389
     }
3390 3390
 
3391 3391
     &__placeholder {
@@ -3436,7 +3436,7 @@ a.status-card.compact:hover {
3436 3436
     }
3437 3437
 
3438 3438
     &__menu {
3439
-      @include search-popout();
3439
+      @include search-popout;
3440 3440
       padding: 0;
3441 3441
       background: $ui-secondary-color;
3442 3442
     }
@@ -3597,7 +3597,7 @@ a.status-card.compact:hover {
3597 3597
 
3598 3598
 .no-reduce-motion .shake-bottom {
3599 3599
   transform-origin: 50% 100%;
3600
-  animation: shake-bottom 0.8s cubic-bezier(0.455, 0.030, 0.515, 0.955) 2s 2 both;
3600
+  animation: shake-bottom 0.8s cubic-bezier(0.455, 0.03, 0.515, 0.955) 2s 2 both;
3601 3601
 }
3602 3602
 
3603 3603
 .emoji-picker-dropdown__menu {
@@ -3892,10 +3892,11 @@ a.status-card.compact:hover {
3892 3892
 }
3893 3893
 
3894 3894
 .search__input {
3895
+  @include search-input;
3896
+
3895 3897
   display: block;
3896 3898
   padding: 10px;
3897 3899
   padding-right: 30px;
3898
-  @include search-input();
3899 3900
 }
3900 3901
 
3901 3902
 .search__icon {
@@ -4503,14 +4504,14 @@ a.status-card.compact:hover {
4503 4504
 }
4504 4505
 
4505 4506
 .actions-modal {
4507
+  max-height: 80vh;
4508
+  max-width: 80vw;
4509
+
4506 4510
   .status {
4507 4511
     overflow-y: auto;
4508 4512
     max-height: 300px;
4509 4513
   }
4510 4514
 
4511
-  max-height: 80vh;
4512
-  max-width: 80vw;
4513
-
4514 4515
   .actions-modal__item-label {
4515 4516
     font-weight: 500;
4516 4517
   }
@@ -4725,7 +4726,7 @@ a.status-card.compact:hover {
4725 4726
 }
4726 4727
 
4727 4728
 .media-gallery__item {
4728
-  border: none;
4729
+  border: 0;
4729 4730
   box-sizing: border-box;
4730 4731
   display: block;
4731 4732
   float: left;
@@ -5185,7 +5186,7 @@ a.status-card.compact:hover {
5185 5186
 }
5186 5187
 
5187 5188
 .account-gallery__item {
5188
-  border: none;
5189
+  border: 0;
5189 5190
   box-sizing: border-box;
5190 5191
   display: block;
5191 5192
   position: relative;
@@ -5259,7 +5260,7 @@ a.status-card.compact:hover {
5259 5260
 }
5260 5261
 
5261 5262
 .search-popout {
5262
-  @include search-popout();
5263
+  @include search-popout;
5263 5264
 }
5264 5265
 
5265 5266
 noscript {
@@ -5361,14 +5362,14 @@ noscript {
5361 5362
         .icon-button.close {
5362 5363
           pointer-events: auto;
5363 5364
           opacity: 1;
5364
-          transform: scale(1.0, 1.0) translate(0, 0);
5365
+          transform: scale(1, 1) translate(0, 0);
5365 5366
           bottom: 5px;
5366 5367
         }
5367 5368
 
5368 5369
         .compose__action-bar .icon-button {
5369 5370
           pointer-events: none;
5370 5371
           opacity: 0;
5371
-          transform: scale(0.0, 1.0) translate(100%, 0);
5372
+          transform: scale(0, 1) translate(100%, 0);
5372 5373
         }
5373 5374
       }
5374 5375
     }
@@ -5398,7 +5399,7 @@ noscript {
5398 5399
       box-sizing: border-box;
5399 5400
       display: block;
5400 5401
       width: 100%;
5401
-      border: none;
5402
+      border: 0;
5402 5403
       padding: 10px;
5403 5404
       font-family: $font-monospace, monospace;
5404 5405
       background: $ui-base-color;

+ 2
- 2
app/javascript/styles/mastodon/containers.scss View File

@@ -121,7 +121,7 @@
121 121
   grid-auto-rows: max-content;
122 122
 
123 123
   .column-0 {
124
-    grid-column: 1/3;
124
+    grid-column: 1 / 3;
125 125
     grid-row: 1;
126 126
   }
127 127
 
@@ -136,7 +136,7 @@
136 136
   }
137 137
 
138 138
   .column-3 {
139
-    grid-column: 1/3;
139
+    grid-column: 1 / 3;
140 140
     grid-row: 3;
141 141
   }
142 142
 

+ 4
- 4
app/javascript/styles/mastodon/emoji_picker.scss View File

@@ -1,14 +1,14 @@
1 1
 .emoji-mart {
2
+  font-size: 13px;
3
+  display: inline-block;
4
+  color: $inverted-text-color;
5
+
2 6
   &,
3 7
   * {
4 8
     box-sizing: border-box;
5 9
     line-height: 1.15;
6 10
   }
7 11
 
8
-  font-size: 13px;
9
-  display: inline-block;
10
-  color: $inverted-text-color;
11
-
12 12
   .emoji-mart-emoji {
13 13
     padding: 6px;
14 14
   }

+ 1
- 1
app/javascript/styles/mastodon/forms.scss View File

@@ -553,7 +553,7 @@ code {
553 553
     box-sizing: border-box;
554 554
     display: block;
555 555
     width: 100%;
556
-    border: none;
556
+    border: 0;
557 557
     padding: 10px;
558 558
     font-family: $font-monospace, monospace;
559 559
     background: $ui-base-color;

+ 0
- 1
app/javascript/styles/mastodon/polls.scss View File

@@ -47,7 +47,6 @@
47 47
       width: 100%;
48 48
       font-size: 14px;
49 49
       color: $inverted-text-color;
50
-      display: block;
51 50
       outline: 0;
52 51
       font-family: inherit;
53 52
       background: $simple-background-color;

+ 0
- 1
app/javascript/styles/mastodon/rtl.scss View File

@@ -180,7 +180,6 @@ body.rtl {
180 180
   }
181 181
 
182 182
   .fa-ul {
183
-    margin-left: 0;
184 183
     margin-left: 2.14285714em;
185 184
   }
186 185
 

+ 4
- 3
package.json View File

@@ -10,9 +10,10 @@
10 10
     "build:production": "cross-env RAILS_ENV=production NODE_ENV=production ./bin/webpack",
11 11
     "manage:translations": "node ./config/webpack/translationRunner.js",
12 12
     "start": "node ./streaming/index.js",
13
-    "test": "${npm_execpath} run test:lint && ${npm_execpath} run test:jest",
14
-    "test:lint": "eslint --ext=js .",
15
-    "test:lint:sass": "sass-lint .",
13
+    "test": "${npm_execpath} run test:lint:js && ${npm_execpath} run test:jest",
14
+    "test:lint": "${npm_execpath} run test:lint:js && ${npm_execpath} run test:lint:sass",
15
+    "test:lint:js": "eslint --ext=js .",
16
+    "test:lint:sass": "sass-lint -v",
16 17
     "test:jest": "cross-env NODE_ENV=test jest --coverage"
17 18
   },
18 19
   "repository": {

Loading…
Cancel
Save