]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
Switch to stylelint. (#23572)
authorXhmikosR <xhmikosr@gmail.com>
Tue, 3 Oct 2017 03:34:56 +0000 (06:34 +0300)
committerMark Otto <markd.otto@gmail.com>
Tue, 3 Oct 2017 03:34:56 +0000 (20:34 -0700)
53 files changed:
.gitignore
.hound.yml
.scss-lint.yml [deleted file]
Gemfile
Gemfile.lock
assets/scss/_ads.scss
assets/scss/_algolia.scss
assets/scss/_anchor.scss
assets/scss/_component-examples.scss
assets/scss/_content.scss
assets/scss/_masthead.scss
assets/scss/_page-header.scss
assets/scss/_responsive-tests.scss
assets/scss/_sidebar.scss
assets/scss/_skiplink.scss
assets/scss/_syntax.scss
build/.stylelintrc [new file with mode: 0644]
package-lock.json
package.json
scss/_breadcrumb.scss
scss/_button-group.scss
scss/_buttons.scss
scss/_close.scss
scss/_custom-forms.scss
scss/_forms.scss
scss/_input-group.scss
scss/_modal.scss
scss/_navbar.scss
scss/_print.scss
scss/_reboot.scss
scss/_transitions.scss
scss/_type.scss
scss/_variables.scss
scss/bootstrap-grid.scss
scss/mixins/_background-variant.scss
scss/mixins/_float.scss
scss/mixins/_grid.scss
scss/mixins/_hover.scss
scss/mixins/_image.scss
scss/mixins/_list-group.scss
scss/mixins/_navbar-align.scss
scss/mixins/_reset-text.scss
scss/mixins/_text-emphasis.scss
scss/mixins/_visibility.scss
scss/utilities/_align.scss
scss/utilities/_background.scss
scss/utilities/_borders.scss
scss/utilities/_display.scss
scss/utilities/_flex.scss
scss/utilities/_position.scss
scss/utilities/_sizing.scss
scss/utilities/_spacing.scss
scss/utilities/_text.scss

index 02b12a78fb682200f5d72e8f6ec722d805269fc3..2ea8867b2dc10c6014e109d5aefc6135e30d2bee 100644 (file)
@@ -38,9 +38,6 @@ Thumbs.db
 .komodotools
 *.komodoproject
 
-# SCSS-Lint
-scss-lint-report.xml
-
 # Jekyll metadata and extra config file for `github` script
 docs/.jekyll-metadata
 twbsconfig.yml
index 7449ea3f95402ffd8eb7fe121ef5859061209d8b..39dfd0815ccddcaf3ff8f59d8cc7b147cf5fa68e 100644 (file)
@@ -1,7 +1,7 @@
 fail_on_violations: true
 
-scss:
-  config_file: .scss-lint.yml
+stylelint:
+  config_file: build/.stylelintrc
 
 jshint:
   enabled: false
diff --git a/.scss-lint.yml b/.scss-lint.yml
deleted file mode 100644 (file)
index 552168d..0000000
+++ /dev/null
@@ -1,540 +0,0 @@
-# Default application configuration that all configurations inherit from.
-scss_files:
-  - "scss/**/*.scss"
-  - "docs/assets/scss/**/*.scss"
-
-exclude:
-  - "scss/_root.scss"
-
-plugin_directories: ['.scss-linters']
-
-# List of gem names to load custom linters from (make sure they are already
-# installed)
-plugin_gems: []
-
-# Default severity of all linters.
-severity: warning
-
-linters:
-  BangFormat:
-    enabled: true
-    space_before_bang: true
-    space_after_bang: false
-
-  BemDepth:
-    enabled: false
-    max_elements: 1
-
-  BorderZero:
-    enabled: true
-    convention: zero # or `none`
-
-  ChainedClasses:
-    enabled: false
-
-  ColorKeyword:
-    enabled: true
-
-  ColorVariable:
-    enabled: false
-
-  Comment:
-    enabled: true
-    exclude:
-      - scss/bootstrap.scss
-    style: silent
-
-  DebugStatement:
-    enabled: true
-
-  DeclarationOrder:
-    enabled: false
-
-  DisableLinterReason:
-    enabled: false
-
-  DuplicateProperty:
-    enabled: true
-
-  ElsePlacement:
-    enabled: true
-    style: same_line # or 'new_line'
-
-  EmptyLineBetweenBlocks:
-    enabled: false
-    ignore_single_line_blocks: true
-
-  EmptyRule:
-    enabled: true
-
-  ExtendDirective:
-    enabled: false
-
-  FinalNewline:
-    enabled: true
-    present: true
-
-  HexLength:
-    enabled: true
-    style: short # or 'long'
-
-  HexNotation:
-    enabled: true
-    style: lowercase # or 'uppercase'
-
-  HexValidation:
-    enabled: true
-
-  IdSelector:
-    enabled: true
-
-  ImportantRule:
-    enabled: false
-
-  ImportPath:
-    enabled: true
-    leading_underscore: false
-    filename_extension: false
-
-  Indentation:
-    enabled: true
-    allow_non_nested_indentation: false
-    character: space # or 'tab'
-    width: 2
-
-  LeadingZero:
-    enabled: true
-    style: exclude_zero # or 'include_zero'
-
-  MergeableSelector:
-    enabled: false
-    force_nesting: true
-
-  NameFormat:
-    enabled: true
-    allow_leading_underscore: true
-    convention: hyphenated_lowercase # or 'camel_case', or 'snake_case', or a regex pattern
-
-  NestingDepth:
-    enabled: true
-    max_depth: 5
-    ignore_parent_selectors: false
-
-  PlaceholderInExtend:
-    enabled: false
-
-  PropertyCount:
-    enabled: false
-    include_nested: false
-    max_properties: 10
-
-  PropertySortOrder:
-    enabled: true
-    ignore_unspecified: false
-    min_properties: 2
-    separate_groups: false
-    order:
-      - position
-      - top
-      - right
-      - bottom
-      - left
-      - z-index
-      - -webkit-box-sizing
-      - -moz-box-sizing
-      - box-sizing
-      - display
-      - flex
-      - flex-align
-      - flex-basis
-      - flex-direction
-      - flex-wrap
-      - flex-flow
-      - flex-grow
-      - flex-order
-      - flex-pack
-      - align-items
-      - align-self
-      - justify-content
-      - order
-      - float
-      - width
-      - min-width
-      - max-width
-      - height
-      - min-height
-      - max-height
-      - padding
-      - padding-top
-      - padding-right
-      - padding-bottom
-      - padding-left
-      - margin
-      - margin-top
-      - margin-right
-      - margin-bottom
-      - margin-left
-      - overflow
-      - overflow-x
-      - overflow-y
-      - -webkit-overflow-scrolling
-      - -ms-overflow-x
-      - -ms-overflow-y
-      - -ms-overflow-style
-      - clip
-      - clear
-      - font
-      - font-family
-      - font-size
-      - font-style
-      - font-weight
-      - font-variant
-      - font-size-adjust
-      - font-stretch
-      - font-effect
-      - font-emphasize
-      - font-emphasize-position
-      - font-emphasize-style
-      - font-smooth
-      - -webkit-hyphens
-      - -moz-hyphens
-      - hyphens
-      - line-height
-      - color
-      - text-align
-      - -webkit-text-align-last
-      - -moz-text-align-last
-      - -ms-text-align-last
-      - text-align-last
-      - text-emphasis
-      - text-emphasis-color
-      - text-emphasis-style
-      - text-emphasis-position
-      - text-decoration
-      - text-indent
-      - text-justify
-      - text-outline
-      - -ms-text-overflow
-      - text-overflow
-      - text-overflow-ellipsis
-      - text-overflow-mode
-      - text-shadow
-      - text-transform
-      - text-wrap
-      - -webkit-text-size-adjust
-      - -ms-text-size-adjust
-      - letter-spacing
-      - -ms-word-break
-      - word-break
-      - word-spacing
-      - -ms-word-wrap
-      - word-wrap
-      - overflow-wrap
-      - -moz-tab-size
-      - -o-tab-size
-      - tab-size
-      - white-space
-      - vertical-align
-      - list-style
-      - list-style-position
-      - list-style-type
-      - list-style-image
-      - pointer-events
-      - -ms-touch-action
-      - touch-action
-      - cursor
-      - visibility
-      - zoom
-      - table-layout
-      - empty-cells
-      - caption-side
-      - border-spacing
-      - border-collapse
-      - content
-      - quotes
-      - counter-reset
-      - counter-increment
-      - resize
-      - -webkit-user-select
-      - -moz-user-select
-      - -ms-user-select
-      - -o-user-select
-      - user-select
-      - nav-index
-      - nav-up
-      - nav-right
-      - nav-down
-      - nav-left
-      - background
-      - background-color
-      - background-image
-      - -ms-filter:\\'progid:DXImageTransform.Microsoft.gradient
-      - filter:progid:DXImageTransform.Microsoft.gradient
-      - filter:progid:DXImageTransform.Microsoft.AlphaImageLoader
-      - filter
-      - background-repeat
-      - background-attachment
-      - background-position
-      - background-position-x
-      - background-position-y
-      - -webkit-background-clip
-      - -moz-background-clip
-      - background-clip
-      - background-origin
-      - -webkit-background-size
-      - -moz-background-size
-      - -o-background-size
-      - background-size
-      - border
-      - border-color
-      - border-style
-      - border-width
-      - border-top
-      - border-top-color
-      - border-top-style
-      - border-top-width
-      - border-right
-      - border-right-color
-      - border-right-style
-      - border-right-width
-      - border-bottom
-      - border-bottom-color
-      - border-bottom-style
-      - border-bottom-width
-      - border-left
-      - border-left-color
-      - border-left-style
-      - border-left-width
-      - border-radius
-      - border-top-left-radius
-      - border-top-right-radius
-      - border-bottom-right-radius
-      - border-bottom-left-radius
-      - -webkit-border-image
-      - -moz-border-image
-      - -o-border-image
-      - border-image
-      - -webkit-border-image-source
-      - -moz-border-image-source
-      - -o-border-image-source
-      - border-image-source
-      - -webkit-border-image-slice
-      - -moz-border-image-slice
-      - -o-border-image-slice
-      - border-image-slice
-      - -webkit-border-image-width
-      - -moz-border-image-width
-      - -o-border-image-width
-      - border-image-width
-      - -webkit-border-image-outset
-      - -moz-border-image-outset
-      - -o-border-image-outset
-      - border-image-outset
-      - -webkit-border-image-repeat
-      - -moz-border-image-repeat
-      - -o-border-image-repeat
-      - border-image-repeat
-      - outline
-      - outline-width
-      - outline-style
-      - outline-color
-      - outline-offset
-      - -webkit-box-shadow
-      - -moz-box-shadow
-      - box-shadow
-      - filter:progid:DXImageTransform.Microsoft.Alpha(Opacity
-      - -ms-filter:\\'progid:DXImageTransform.Microsoft.Alpha
-      - opacity
-      - -ms-interpolation-mode
-      - -webkit-transition
-      - -moz-transition
-      - -ms-transition
-      - -o-transition
-      - transition
-      - -webkit-transition-delay
-      - -moz-transition-delay
-      - -ms-transition-delay
-      - -o-transition-delay
-      - transition-delay
-      - -webkit-transition-timing-function
-      - -moz-transition-timing-function
-      - -ms-transition-timing-function
-      - -o-transition-timing-function
-      - transition-timing-function
-      - -webkit-transition-duration
-      - -moz-transition-duration
-      - -ms-transition-duration
-      - -o-transition-duration
-      - transition-duration
-      - -webkit-transition-property
-      - -moz-transition-property
-      - -ms-transition-property
-      - -o-transition-property
-      - transition-property
-      - -webkit-transform
-      - -moz-transform
-      - -ms-transform
-      - -o-transform
-      - transform
-      - -webkit-transform-origin
-      - -moz-transform-origin
-      - -ms-transform-origin
-      - -o-transform-origin
-      - transform-origin
-      - -webkit-animation
-      - -moz-animation
-      - -ms-animation
-      - -o-animation
-      - animation
-      - -webkit-animation-name
-      - -moz-animation-name
-      - -ms-animation-name
-      - -o-animation-name
-      - animation-name
-      - -webkit-animation-duration
-      - -moz-animation-duration
-      - -ms-animation-duration
-      - -o-animation-duration
-      - animation-duration
-      - -webkit-animation-play-state
-      - -moz-animation-play-state
-      - -ms-animation-play-state
-      - -o-animation-play-state
-      - animation-play-state
-      - -webkit-animation-timing-function
-      - -moz-animation-timing-function
-      - -ms-animation-timing-function
-      - -o-animation-timing-function
-      - animation-timing-function
-      - -webkit-animation-delay
-      - -moz-animation-delay
-      - -ms-animation-delay
-      - -o-animation-delay
-      - animation-delay
-      - -webkit-animation-iteration-count
-      - -moz-animation-iteration-count
-      - -ms-animation-iteration-count
-      - -o-animation-iteration-count
-      - animation-iteration-count
-      - -webkit-animation-direction
-      - -moz-animation-direction
-      - -ms-animation-direction
-      - -o-animation-direction
-
-
-  PropertySpelling:
-    enabled: true
-    extra_properties: []
-    disabled_properties: []
-
-  PropertyUnits:
-    enabled: true
-    global: [
-      'ch', 'em', 'ex', 'rem',                 # Font-relative lengths
-      'cm', 'in', 'mm', 'pc', 'pt', 'px', 'q', # Absolute lengths
-      'vh', 'vw', 'vmin', 'vmax',              # Viewport-percentage lengths
-      'deg', 'grad', 'rad', 'turn',            # Angle
-      'ms', 's',                               # Duration
-      'Hz', 'kHz',                             # Frequency
-      'dpi', 'dpcm', 'dppx',                   # Resolution
-      '%']                                     # Other
-    properties: {}
-
-  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: 4
-
-  SelectorFormat:
-    enabled: false
-    convention: hyphenated_lowercase # or 'strict_BEM', or 'hyphenated_BEM', or 'snake_case', or 'camel_case', or a regex pattern
-
-  Shorthand:
-    enabled: true
-    allowed_shorthands: [1, 2, 3, 4]
-
-  SingleLinePerProperty:
-    enabled: false
-    allow_single_line_rule_sets: true
-
-  SingleLinePerSelector:
-    enabled: false
-
-  SpaceAfterComma:
-    enabled: false
-    style: one_space # or 'no_space', or 'at_least_one_space'
-
-  SpaceAfterPropertyColon:
-    enabled: true
-    style: at_least_one_space # or 'no_space', or 'at_least_one_space', or 'aligned'
-
-  SpaceAfterPropertyName:
-    enabled: true
-
-  SpaceAfterVariableName:
-    enabled: true
-
-  SpaceAroundOperator:
-    enabled: true
-    style: one_space # or 'at_least_one_space', or 'no_space'
-
-  SpaceBeforeBrace:
-    enabled: true
-    style: space # or 'new_line'
-    allow_single_line_padding: true
-
-  SpaceBetweenParens:
-    enabled: true
-    spaces: 0
-
-  StringQuotes:
-    enabled: true
-    style: double_quotes # or double_quotes
-
-  TrailingSemicolon:
-    enabled: true
-
-  TrailingWhitespace:
-    enabled: true
-
-  TrailingZero:
-    enabled: false
-
-  TransitionAll:
-    enabled: false
-
-  UnnecessaryMantissa:
-    enabled: true
-
-  UnnecessaryParentReference:
-    enabled: true
-
-  UrlFormat:
-    enabled: true
-
-  UrlQuotes:
-    enabled: true
-
-  VariableForProperty:
-    enabled: false
-    properties: []
-
-  VendorPrefix:
-    enabled: true
-    identifier_list: base
-    additional_identifiers: []
-    excluded_identifiers: []
-
-  ZeroUnit:
-    enabled: true
-
-  Compass::*:
-    enabled: false
diff --git a/Gemfile b/Gemfile
index 8e8bb42a2ed09f09e43ddfdd12fe9131d1f1615e..2c0ac91d55c9996887a8680c40223c398cf7c493 100644 (file)
--- a/Gemfile
+++ b/Gemfile
@@ -5,5 +5,4 @@ group :development, :test do
   gem 'jekyll-redirect-from', '~> 0.12.1'
   gem 'jekyll-sitemap', '~> 1.1.1'
   gem 'jekyll-toc', '~> 0.3.0'
-  gem 'scss_lint', '~> 0.54.0'
 end
index 8cf4591625ed8dd40185ba99efb94d5c0a2cfb8c..99c54cc877de96b76d0a4648a0125350fb4ad0d9 100644 (file)
@@ -42,16 +42,16 @@ GEM
     pathutil (0.14.0)
       forwardable-extended (~> 2.6)
     public_suffix (3.0.0)
-    rake (12.1.0)
     rb-fsevent (0.10.2)
     rb-inotify (0.9.10)
       ffi (>= 0.5.0, < 2)
     rouge (2.2.1)
     safe_yaml (1.0.4)
-    sass (3.4.25)
-    scss_lint (0.54.0)
-      rake (>= 0.9, < 13)
-      sass (~> 3.4.20)
+    sass (3.5.1)
+      sass-listen (~> 4.0.0)
+    sass-listen (4.0.0)
+      rb-fsevent (~> 0.9, >= 0.9.4)
+      rb-inotify (~> 0.9, >= 0.9.7)
 
 PLATFORMS
   ruby
@@ -62,7 +62,6 @@ DEPENDENCIES
   jekyll-redirect-from (~> 0.12.1)
   jekyll-sitemap (~> 1.1.1)
   jekyll-toc (~> 0.3.0)
-  scss_lint (~> 0.54.0)
 
 BUNDLED WITH
    1.15.4
index 11fdc6959ed706f76876cb9964073619b997a62a..af86479723332c63a34322bc7711277c7959f7de 100644 (file)
@@ -1,4 +1,4 @@
-// scss-lint:disable ImportantRule, IdSelector
+// stylelint-disable declaration-no-important, selector-max-id
 
 //
 // Carbon ads
index 1e51a5275ae5e66ebf654bd1723ba4b626e7f4ad..4c6f6abf5aa9512d17ef85d7ce0ac55990970111 100644 (file)
@@ -1,3 +1,5 @@
+// stylelint-disable declaration-no-important
+
 // Docsearch overrides
 //
 // `!important` indicates overridden properties.
@@ -25,7 +27,7 @@
       display: none !important;
     }
 
-    [class^=ds-dataset-] {
+    [class^="ds-dataset-"] {
       padding: 0 !important;
       overflow: visible !important;
       background-color: transparent !important;
     padding: 0 1rem .5rem !important;
     margin-top: -.25rem;
     font-size: .875rem !important;
-    font-weight: normal;
+    font-weight: 400;
     line-height: 1.25 !important;
   }
 
index d0a9043e95b729d6cb102fa9c3c44e0284df47cf..2e02390ed3e388fd46845cce039c4742161b95af 100644 (file)
@@ -1,7 +1,5 @@
-// scss-lint:disable ImportantRule
-
 .anchorjs-link {
-  font-weight: normal;
+  font-weight: 400;
   color: rgba($link-color, .5);
   transition: color .16s linear;
 
index 5779825cf0e455b90ecc1c87a34e07407a230f72..2a2c740b35dbc58989f69bbffcc89abd5cd8df5e 100644 (file)
@@ -1,4 +1,4 @@
-// scss-lint:disable QualifyingElement
+// stylelint-disable selector-no-qualifying-type
 
 //
 // Grid examples
 .modal {
   z-index: 1072;
 
-  .tooltip, .popover {
+  .tooltip,
+  .popover {
     z-index: 1073;
   }
 }
index b485fca4c618da6c7489fa48ceb4bf8f138e09ae..b8311495cf29cdd4173007bd0434368eca5f5f13 100644 (file)
@@ -1,4 +1,4 @@
-// scss-lint:disable IdSelector, NestingDepth, SelectorDepth, QualifyingElement
+// stylelint-disable selector-max-combinators, selector-max-compound-selectors, selector-max-type, selector-no-qualifying-type
 
 //
 // Automatically style Markdown-based tables like a Bootstrap `.table`.
index f891d4e91d99fe2f696042e48423a137b4c0fadb..614e6566e33ca711f9e48d77df9a7079cd867207 100644 (file)
@@ -1,4 +1,4 @@
-// scss-lint:disable ImportantRule
+// stylelint-disable declaration-no-important
 
 .bd-masthead {
   position: relative;
index 457d3fbef8b8a6bc3fea7c9b67c0d6d3d3f64163..7050af10c7f7a2a12c5a1922e870796256bb9233 100644 (file)
@@ -1,4 +1,4 @@
-// scss-lint:disable ImportantRule
+// stylelint-disable declaration-no-important
 
 .bd-pageheader {
   padding: 2rem ($grid-gutter-width / 2);
@@ -13,7 +13,7 @@
 
   h1 {
     font-size: 3rem;
-    font-weight: normal;
+    font-weight: 400;
     color: #fff;
   }
 
index 9656a2bc3e0c7c8739881d0f00408dc0923b3284..be5e5320af30f7466e872f2c90f8e945ab018b16 100644 (file)
@@ -1,5 +1,3 @@
-// scss-lint:disable ImportantRule
-
 //
 // Responsive tests
 //
@@ -12,6 +10,6 @@
 // Utility classes table
 .bd-table th small {
   display: block;
-  font-weight: normal;
+  font-weight: 400;
   color: #999;
 }
index beadf9de5698befbeb7375a1be701eca76478179..fdf3ef242c87850617a2225f2e3d53a623d3717a 100644 (file)
@@ -1,4 +1,4 @@
-// scss-lint:disable VendorPrefix
+// stylelint-disable declaration-no-important
 
 //
 // Right side table of contents
index 6eb60ffa64e0daabcea8e6173c51dbac56621aed..7ca3074a8c5ee8b91961f917b6d13c685253fec0 100644 (file)
@@ -1,4 +1,4 @@
-// scss-lint:disable IdSelector
+// stylelint-disable selector-max-id
 
 #skippy {
   display: block;
index ca19dde819f3ac31ba00afcb6db9cee557e5e2d8..e66c5da2205b8a6bb10dceeed01bedb9bbde2597 100644 (file)
@@ -1,3 +1,5 @@
+// stylelint-disable declaration-block-single-line-max-declarations
+
 .hll { background-color: #ffc; }
 .c { color: #999; }
 .k { color: #069; }
diff --git a/build/.stylelintrc b/build/.stylelintrc
new file mode 100644 (file)
index 0000000..8fa3104
--- /dev/null
@@ -0,0 +1,248 @@
+{
+  "extends": ["stylelint-config-standard", "stylelint-config-recommended-scss"],
+  "plugins": [
+    "stylelint-order"
+  ],
+  "rules": {
+    "at-rule-empty-line-before": [null,
+      "except": ["first-nested"]
+    ],
+    "at-rule-name-space-after": "always",
+    "at-rule-no-vendor-prefix": true,
+    "at-rule-semicolon-space-before": "never",
+    "block-closing-brace-empty-line-before": null,
+    "block-closing-brace-newline-after": null,
+    "block-opening-brace-space-before": null,
+    "color-named": "never",
+    "declaration-block-semicolon-newline-after": "always-multi-line",
+    "declaration-block-semicolon-newline-before": "never-multi-line",
+    "declaration-block-semicolon-space-after": "always-single-line",
+    "declaration-empty-line-before": null,
+    "declaration-no-important": true,
+    "font-family-name-quotes": "always-where-required",
+    "font-weight-notation": "numeric",
+    "function-comma-space-after": null,
+    "function-url-no-scheme-relative": true,
+    "function-url-quotes": "always",
+    "length-zero-no-unit": true,
+    "max-empty-lines": 2,
+    "max-line-length": null,
+    "media-feature-name-no-vendor-prefix": true,
+    "media-feature-parentheses-space-inside": "never",
+    "media-feature-range-operator-space-after": "always",
+    "media-feature-range-operator-space-before": "never",
+    "no-descending-specificity": null,
+    "no-duplicate-selectors": null,
+    "number-leading-zero": "never",
+    "order/properties-order": [
+      "position",
+      "top",
+      "right",
+      "bottom",
+      "left",
+      "z-index",
+      "box-sizing",
+      "display",
+      "flex",
+      "flex-align",
+      "flex-basis",
+      "flex-direction",
+      "flex-wrap",
+      "flex-flow",
+      "flex-grow",
+      "flex-order",
+      "flex-pack",
+      "align-items",
+      "align-self",
+      "justify-content",
+      "order",
+      "float",
+      "width",
+      "min-width",
+      "max-width",
+      "height",
+      "min-height",
+      "max-height",
+      "padding",
+      "padding-top",
+      "padding-right",
+      "padding-bottom",
+      "padding-left",
+      "margin",
+      "margin-top",
+      "margin-right",
+      "margin-bottom",
+      "margin-left",
+      "overflow",
+      "overflow-x",
+      "overflow-y",
+      "-webkit-overflow-scrolling",
+      "-ms-overflow-x",
+      "-ms-overflow-y",
+      "-ms-overflow-style",
+      "clip",
+      "clear",
+      "font",
+      "font-family",
+      "font-size",
+      "font-style",
+      "font-weight",
+      "font-variant",
+      "font-size-adjust",
+      "font-stretch",
+      "font-effect",
+      "font-emphasize",
+      "font-emphasize-position",
+      "font-emphasize-style",
+      "font-smooth",
+      "hyphens",
+      "line-height",
+      "color",
+      "text-align",
+      "text-align-last",
+      "text-emphasis",
+      "text-emphasis-color",
+      "text-emphasis-style",
+      "text-emphasis-position",
+      "text-decoration",
+      "text-indent",
+      "text-justify",
+      "text-outline",
+      "-ms-text-overflow",
+      "text-overflow",
+      "text-overflow-ellipsis",
+      "text-overflow-mode",
+      "text-shadow",
+      "text-transform",
+      "text-wrap",
+      "-webkit-text-size-adjust",
+      "-ms-text-size-adjust",
+      "letter-spacing",
+      "-ms-word-break",
+      "word-break",
+      "word-spacing",
+      "-ms-word-wrap",
+      "word-wrap",
+      "overflow-wrap",
+      "tab-size",
+      "white-space",
+      "vertical-align",
+      "list-style",
+      "list-style-position",
+      "list-style-type",
+      "list-style-image",
+      "pointer-events",
+      "-ms-touch-action",
+      "touch-action",
+      "cursor",
+      "visibility",
+      "zoom",
+      "table-layout",
+      "empty-cells",
+      "caption-side",
+      "border-spacing",
+      "border-collapse",
+      "content",
+      "quotes",
+      "counter-reset",
+      "counter-increment",
+      "resize",
+      "user-select",
+      "nav-index",
+      "nav-up",
+      "nav-right",
+      "nav-down",
+      "nav-left",
+      "background",
+      "background-color",
+      "background-image",
+      "filter",
+      "background-repeat",
+      "background-attachment",
+      "background-position",
+      "background-position-x",
+      "background-position-y",
+      "background-clip",
+      "background-origin",
+      "background-size",
+      "border",
+      "border-color",
+      "border-style",
+      "border-width",
+      "border-top",
+      "border-top-color",
+      "border-top-style",
+      "border-top-width",
+      "border-right",
+      "border-right-color",
+      "border-right-style",
+      "border-right-width",
+      "border-bottom",
+      "border-bottom-color",
+      "border-bottom-style",
+      "border-bottom-width",
+      "border-left",
+      "border-left-color",
+      "border-left-style",
+      "border-left-width",
+      "border-radius",
+      "border-top-left-radius",
+      "border-top-right-radius",
+      "border-bottom-right-radius",
+      "border-bottom-left-radius",
+      "border-image",
+      "border-image-source",
+      "border-image-slice",
+      "border-image-width",
+      "border-image-outset",
+      "border-image-repeat",
+      "outline",
+      "outline-width",
+      "outline-style",
+      "outline-color",
+      "outline-offset",
+      "box-shadow",
+      "opacity",
+      "-ms-interpolation-mode",
+      "transition",
+      "transition-delay",
+      "transition-timing-function",
+      "transition-duration",
+      "transition-property",
+      "transform",
+      "transform-origin",
+      "animation",
+      "animation-name",
+      "animation-duration",
+      "animation-play-state",
+      "animation-timing-function",
+      "animation-delay",
+      "animation-iteration-count",
+      "animation-direction"
+    ],
+    "property-no-vendor-prefix": true,
+    "rule-empty-line-before": null,
+    "selector-attribute-quotes": "always",
+    "selector-list-comma-newline-after": "always",
+    "selector-list-comma-newline-before": "never-multi-line",
+    "selector-list-comma-space-after": "always-single-line",
+    "selector-list-comma-space-before": "never-single-line",
+    "selector-max-attribute": 2,
+    "selector-max-class": 4,
+    "selector-max-combinators": 4,
+    "selector-max-compound-selectors": 4,
+    "selector-max-empty-lines": 1,
+    "selector-max-id": 0,
+    "selector-max-specificity": null,
+    "selector-max-type": 2,
+    "selector-max-universal": 1,
+    "selector-no-qualifying-type": true,
+    "selector-no-vendor-prefix": true,
+    "string-quotes": "double",
+    "value-keyword-case": "lower",
+    "value-list-comma-newline-after": "never-multi-line",
+    "value-list-comma-newline-before": "never-multi-line",
+    "value-list-comma-space-after": "always",
+    "value-no-vendor-prefix": true
+  }
+}
index d600450942ec904e209f7bccf38aca2b2c9e547a..7bcfbf507bdf877c1f3fb2c057611417297a3fe5 100644 (file)
         }
       }
     },
+    "clone-regexp": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-1.0.0.tgz",
+      "integrity": "sha1-6uCiQT9VwJQvgYwin+/OhF1/Oxw=",
+      "dev": true,
+      "requires": {
+        "is-regexp": "1.0.0",
+        "is-supported-regexp-flag": "1.0.0"
+      }
+    },
     "co": {
       "version": "4.6.0",
       "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
         "strip-eof": "1.0.0"
       }
     },
+    "execall": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/execall/-/execall-1.0.0.tgz",
+      "integrity": "sha1-c9CQTjlbPKsGWLCNCewlMH8pu3M=",
+      "dev": true,
+      "requires": {
+        "clone-regexp": "1.0.0"
+      }
+    },
     "exists-stat": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/exists-stat/-/exists-stat-1.0.0.tgz",
         "write": "0.2.1"
       }
     },
+    "flatten": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz",
+      "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=",
+      "dev": true
+    },
     "follow-redirects": {
       "version": "1.2.4",
       "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.2.4.tgz",
         "pinkie-promise": "2.0.1"
       }
     },
+    "globjoin": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz",
+      "integrity": "sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM=",
+      "dev": true
+    },
     "globule": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.0.tgz",
       "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==",
       "dev": true
     },
+    "html-tags": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz",
+      "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=",
+      "dev": true
+    },
     "htmllint": {
       "version": "0.6.0",
       "resolved": "https://registry.npmjs.org/htmllint/-/htmllint-0.6.0.tgz",
         "repeating": "2.0.1"
       }
     },
+    "indexes-of": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz",
+      "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=",
+      "dev": true
+    },
     "inflight": {
       "version": "1.0.6",
       "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
         "has": "1.0.1"
       }
     },
+    "is-regexp": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz",
+      "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=",
+      "dev": true
+    },
     "is-relative": {
       "version": "0.2.1",
       "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.2.1.tgz",
       "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
       "dev": true
     },
+    "is-supported-regexp-flag": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-supported-regexp-flag/-/is-supported-regexp-flag-1.0.0.tgz",
+      "integrity": "sha1-i1IMhfrnolM4LUsCZS4EVXbhO7g=",
+      "dev": true
+    },
     "is-symbol": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz",
         "graceful-fs": "4.1.11"
       }
     },
+    "known-css-properties": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.3.0.tgz",
+      "integrity": "sha512-QMQcnKAiQccfQTqtBh/qwquGZ2XK/DXND1jrcN9M8gMMy99Gwla7GQjndVUsEqIaRyP6bsFRuhwRj5poafBGJQ==",
+      "dev": true
+    },
     "latest-version": {
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz",
         "minimatch": "3.0.4"
       }
     },
+    "mathml-tag-names": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.0.1.tgz",
+      "integrity": "sha1-jUEmgWi/htEQK5gQnijlMeejRXg=",
+      "dev": true
+    },
     "mem": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz",
       "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
       "dev": true
     },
+    "normalize-selector": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/normalize-selector/-/normalize-selector-0.2.0.tgz",
+      "integrity": "sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=",
+      "dev": true
+    },
     "npm-run-all": {
       "version": "4.1.1",
       "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.1.tgz",
         }
       }
     },
+    "postcss-less": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-1.1.0.tgz",
+      "integrity": "sha1-vcx2vmTEMk2HP7xc2foueZ5DBfo=",
+      "dev": true,
+      "requires": {
+        "postcss": "5.2.17"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "2.2.1",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+          "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+          "dev": true
+        },
+        "chalk": {
+          "version": "1.1.3",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+          "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "2.2.1",
+            "escape-string-regexp": "1.0.5",
+            "has-ansi": "2.0.0",
+            "strip-ansi": "3.0.1",
+            "supports-color": "2.0.0"
+          },
+          "dependencies": {
+            "supports-color": {
+              "version": "2.0.0",
+              "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+              "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+              "dev": true
+            }
+          }
+        },
+        "has-flag": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+          "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+          "dev": true
+        },
+        "postcss": {
+          "version": "5.2.17",
+          "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz",
+          "integrity": "sha1-z09Ze4ZNZcikkrLqvp1wbIecOIs=",
+          "dev": true,
+          "requires": {
+            "chalk": "1.1.3",
+            "js-base64": "2.3.2",
+            "source-map": "0.5.7",
+            "supports-color": "3.2.3"
+          }
+        },
+        "strip-ansi": {
+          "version": "3.0.1",
+          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+          "dev": true,
+          "requires": {
+            "ansi-regex": "2.1.1"
+          }
+        },
+        "supports-color": {
+          "version": "3.2.3",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+          "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+          "dev": true,
+          "requires": {
+            "has-flag": "1.0.0"
+          }
+        }
+      }
+    },
     "postcss-load-config": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-1.2.0.tgz",
         "object-assign": "4.1.1"
       }
     },
+    "postcss-media-query-parser": {
+      "version": "0.2.3",
+      "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz",
+      "integrity": "sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=",
+      "dev": true
+    },
     "postcss-reporter": {
       "version": "5.0.0",
       "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-5.0.0.tgz",
         }
       }
     },
+    "postcss-resolve-nested-selector": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz",
+      "integrity": "sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4=",
+      "dev": true
+    },
+    "postcss-scss": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-1.0.2.tgz",
+      "integrity": "sha1-/0XPM1S4ee6JpOtoaA9GrJuxT5Q=",
+      "dev": true,
+      "requires": {
+        "postcss": "6.0.12"
+      }
+    },
+    "postcss-selector-parser": {
+      "version": "2.2.3",
+      "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz",
+      "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=",
+      "dev": true,
+      "requires": {
+        "flatten": "1.0.2",
+        "indexes-of": "1.0.1",
+        "uniq": "1.0.1"
+      }
+    },
+    "postcss-sorting": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/postcss-sorting/-/postcss-sorting-3.0.2.tgz",
+      "integrity": "sha1-c+aRO3FUJiAdIuihdpsFAio3qvw=",
+      "dev": true,
+      "requires": {
+        "lodash": "4.17.4",
+        "postcss": "6.0.12"
+      }
+    },
     "postcss-value-parser": {
       "version": "3.3.0",
       "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz",
       "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=",
       "dev": true
     },
+    "specificity": {
+      "version": "0.3.2",
+      "resolved": "https://registry.npmjs.org/specificity/-/specificity-0.3.2.tgz",
+      "integrity": "sha512-Nc/QN/A425Qog7j9aHmwOrlwX2e7pNI47ciwxwy4jOlvbbMHkNNJchit+FX+UjF3IAdiaaV5BKeWuDUnws6G1A==",
+      "dev": true
+    },
     "split": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz",
       "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
       "dev": true
     },
+    "style-search": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz",
+      "integrity": "sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI=",
+      "dev": true
+    },
+    "stylelint": {
+      "version": "8.1.1",
+      "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-8.1.1.tgz",
+      "integrity": "sha512-RtjUtqG2h3dP4CuMU1M++GRJGvKXWozmv5yhLoOLy7NWP2jJZOwLZSVwtcjXQsBJBfGuC33mooBOwNaCIhi2tQ==",
+      "dev": true,
+      "requires": {
+        "autoprefixer": "7.1.4",
+        "balanced-match": "1.0.0",
+        "chalk": "2.1.0",
+        "cosmiconfig": "2.2.2",
+        "debug": "3.1.0",
+        "execall": "1.0.0",
+        "file-entry-cache": "2.0.0",
+        "get-stdin": "5.0.1",
+        "globby": "6.1.0",
+        "globjoin": "0.1.4",
+        "html-tags": "2.0.0",
+        "ignore": "3.3.5",
+        "imurmurhash": "0.1.4",
+        "known-css-properties": "0.3.0",
+        "lodash": "4.17.4",
+        "log-symbols": "2.1.0",
+        "mathml-tag-names": "2.0.1",
+        "meow": "3.7.0",
+        "micromatch": "2.3.11",
+        "normalize-selector": "0.2.0",
+        "pify": "3.0.0",
+        "postcss": "6.0.12",
+        "postcss-less": "1.1.0",
+        "postcss-media-query-parser": "0.2.3",
+        "postcss-reporter": "5.0.0",
+        "postcss-resolve-nested-selector": "0.1.1",
+        "postcss-scss": "1.0.2",
+        "postcss-selector-parser": "2.2.3",
+        "postcss-value-parser": "3.3.0",
+        "resolve-from": "3.0.0",
+        "specificity": "0.3.2",
+        "string-width": "2.1.1",
+        "style-search": "0.1.0",
+        "sugarss": "1.0.0",
+        "svg-tags": "1.0.0",
+        "table": "4.0.2"
+      },
+      "dependencies": {
+        "get-stdin": {
+          "version": "5.0.1",
+          "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz",
+          "integrity": "sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g=",
+          "dev": true
+        },
+        "globby": {
+          "version": "6.1.0",
+          "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
+          "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
+          "dev": true,
+          "requires": {
+            "array-union": "1.0.2",
+            "glob": "7.1.2",
+            "object-assign": "4.1.1",
+            "pify": "2.3.0",
+            "pinkie-promise": "2.0.1"
+          },
+          "dependencies": {
+            "pify": {
+              "version": "2.3.0",
+              "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+              "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+              "dev": true
+            }
+          }
+        },
+        "log-symbols": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.1.0.tgz",
+          "integrity": "sha512-zLeLrzMA1A2vRF1e/0Mo+LNINzi6jzBylHj5WqvQ/WK/5WCZt8si9SyN4p9llr/HRYvVR1AoXHRHl4WTHyQAzQ==",
+          "dev": true,
+          "requires": {
+            "chalk": "2.1.0"
+          }
+        },
+        "pify": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+          "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+          "dev": true
+        },
+        "resolve-from": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
+          "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
+          "dev": true
+        }
+      }
+    },
+    "stylelint-config-recommended": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-1.0.0.tgz",
+      "integrity": "sha512-wp50rY5A6MWndIIkKNNzJv/S58lTvqQEriS7CXTBN1SwtoY/YjHhCLIOkjundLnUWMvJJska6GnciLbs76UQrA==",
+      "dev": true
+    },
+    "stylelint-config-recommended-scss": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-2.0.0.tgz",
+      "integrity": "sha512-DUIW3daRl5EAyU4ZR6xfPa+bqV5wDccS7X1je6Enes9edpbmWUBR/5XLfDPnjMJgqOe2QwqwaE/qnG4lXID9rg==",
+      "dev": true,
+      "requires": {
+        "stylelint-config-recommended": "1.0.0"
+      }
+    },
+    "stylelint-config-standard": {
+      "version": "17.0.0",
+      "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-17.0.0.tgz",
+      "integrity": "sha512-G8jMZ0KsaVH7leur9XLZVhwOBHZ2vdbuJV8Bgy0ta7/PpBhEHo6fjVDaNchyCGXB5sRcWVq6O9rEU/MvY9cQDQ==",
+      "dev": true,
+      "requires": {
+        "stylelint-config-recommended": "1.0.0"
+      }
+    },
+    "stylelint-order": {
+      "version": "0.7.0",
+      "resolved": "https://registry.npmjs.org/stylelint-order/-/stylelint-order-0.7.0.tgz",
+      "integrity": "sha1-zqtcviSqM/pjWQAkmVOV9u38mrc=",
+      "dev": true,
+      "requires": {
+        "lodash": "4.17.4",
+        "postcss": "6.0.12",
+        "postcss-sorting": "3.0.2"
+      }
+    },
+    "stylelint-scss": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-2.1.0.tgz",
+      "integrity": "sha512-xlaN1tdMj3mlNtw1pAjbIQqThghU3e+XGyHwhyr/obtB0R+Vt9VF3F3oYaVawx1JAzW78CuDku/CkPlnrgmHZA==",
+      "dev": true,
+      "requires": {
+        "lodash": "4.17.4",
+        "postcss-media-query-parser": "0.2.3",
+        "postcss-resolve-nested-selector": "0.1.1",
+        "postcss-selector-parser": "2.2.3",
+        "postcss-value-parser": "3.3.0"
+      }
+    },
+    "sugarss": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/sugarss/-/sugarss-1.0.0.tgz",
+      "integrity": "sha1-ZeUbOVhDL7cNVFGmi7M+MtDPHvc=",
+      "dev": true,
+      "requires": {
+        "postcss": "6.0.12"
+      }
+    },
     "supports-color": {
       "version": "4.4.0",
       "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz",
         "has-flag": "2.0.0"
       }
     },
+    "svg-tags": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz",
+      "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=",
+      "dev": true
+    },
     "table": {
       "version": "4.0.2",
       "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz",
       "integrity": "sha512-TdDmDOTxEf2ad1g3ZBpM6cqKIb2nJpVlz1Q++casDryKz18tpeMBhSng9hjC1CTQCkOV9Rw2knlSB6iRo7ad1w==",
       "dev": true
     },
+    "uniq": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
+      "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=",
+      "dev": true
+    },
     "unique-string": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz",
index 48bbb766847ffebc145595d9b8e10b9bb06c3b3d..3a123a78e48bd36c5f302c0f00941ab40dfac9c0 100644 (file)
     "css": "npm-run-all --parallel css-lint* css-compile* --sequential css-prefix* css-minify*",
     "css-main": "npm-run-all --parallel css-lint css-compile --sequential css-prefix css-minify",
     "css-docs": "npm-run-all --parallel css-lint-docs css-compile-docs --sequential css-prefix-docs css-minify-docs",
-    "css-lint": "bundle exec scss-lint --config .scss-lint.yml scss/*.scss",
-    "css-lint-docs": "bundle exec scss-lint --config .scss-lint.yml --exclude assets/scss/docs.scss assets/scss/*.scss",
     "css-compile": "node-sass --output-style expanded --source-map true --source-map-contents true --precision 6 scss/bootstrap.scss dist/css/bootstrap.css && node-sass --output-style expanded --source-map true --source-map-contents true --precision 6 scss/bootstrap-grid.scss dist/css/bootstrap-grid.css && node-sass --output-style expanded --source-map true --source-map-contents true --precision 6 scss/bootstrap-reboot.scss dist/css/bootstrap-reboot.css",
     "css-compile-docs": "node-sass --output-style expanded --source-map true --source-map-contents true --precision 6 assets/scss/docs.scss assets/css/docs.min.css",
+    "css-lint": "stylelint --config build/.stylelintrc --syntax scss scss/**/*.scss",
+    "css-lint-docs": "stylelint --config build/.stylelintrc --syntax scss assets/scss/*.scss",
     "css-prefix": "postcss --config build/postcss.config.js --replace dist/css/*.css",
     "css-prefix-docs": "postcss --config build/postcss.config.js --no-map --replace assets/css/docs.min.css",
     "css-minify": "cleancss --level 1 --source-map --source-map-inline-sources --output dist/css/bootstrap.min.css dist/css/bootstrap.css && cleancss --level 1 --source-map --source-map-inline-sources --output dist/css/bootstrap-grid.min.css dist/css/bootstrap-grid.css && cleancss --level 1 --source-map --source-map-inline-sources --output dist/css/bootstrap-reboot.min.css dist/css/bootstrap-reboot.css",
     "rollup-plugin-node-resolve": "^3.0.0",
     "shelljs": "^0.7.8",
     "shx": "^0.2.2",
+    "stylelint": "^8.1.1",
+    "stylelint-config-recommended-scss": "^2.0.0",
+    "stylelint-config-standard": "^17.0.0",
+    "stylelint-order": "^0.7.0",
+    "stylelint-scss": "^2.1.0",
     "uglify-js": "^3.0.24",
     "workbox-build": "^2.0.1"
   },
     "build",
     "js/.eslintrc.json",
     "js/**/*.js",
-    ".scss-lint.yml",
-    "scss/**/*.scss",
-    "LICENSE"
+    "scss/**/*.scss"
   ],
   "browserslist": [
     "Chrome >= 45",
index 5d77eeab602a8743c673c20a4302d3a437e13305..25b9d85a1285b323b3023a3e788256c50f72e2fe 100644 (file)
@@ -27,6 +27,7 @@
   + .breadcrumb-item:hover::before {
     text-decoration: underline;
   }
+  // stylelint-disable-next-line no-duplicate-selectors
   + .breadcrumb-item:hover::before {
     text-decoration: none;
   }
index 189036bd30dfb648b2b0162aa9ad167d2c9b59e9..1a373f323282b31e07f13bd851bfb9120a53621d 100644 (file)
@@ -1,4 +1,4 @@
-// scss-lint:disable QualifyingElement
+// stylelint-disable selector-no-qualifying-type
 
 // Make the div behave like a button
 .btn-group,
@@ -47,7 +47,8 @@
   border-radius: 0;
 }
 
-// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match
+// Set corners individual because sometimes a single button can be in a .btn-group
+// and we need :first-child and :last-child to both match
 .btn-group > .btn:first-child {
   margin-left: 0;
 
     @include border-right-radius(0);
   }
 }
-// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it
+// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu
+// immediately after it
 .btn-group > .btn:last-child:not(:first-child),
 .btn-group > .dropdown-toggle:not(:first-child) {
   @include border-left-radius(0);
 }
 
-// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group)
+// Custom edits for including btn-groups within btn-groups (useful for including
+// dropdown buttons within a btn-group)
 .btn-group > .btn-group {
   float: left;
 }
index 1a6d59ec197208472720eea06d7c1e12a003d213..d69c159983286542445003f0e30843b438e24898 100644 (file)
@@ -1,4 +1,4 @@
-// scss-lint:disable QualifyingElement
+// stylelint-disable selector-no-qualifying-type
 
 //
 // Base styles
index f1814905143829a8ebf38b9efa5373811752992d..897d4868443ab748ecd4cd22ce437ec2bda010a9 100644 (file)
 // If you want the anchor version, it requires `href="#"`.
 // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile
 
-// scss-lint:disable QualifyingElement
+// stylelint-disable property-no-vendor-prefix, selector-no-qualifying-type
 button.close {
   padding: 0;
   background: transparent;
   border: 0;
   -webkit-appearance: none;
 }
-// scss-lint:enable QualifyingElement
+// stylelint-enable
index f9912606d7953319f81f87064604390e6c92c4bd..f471be62276a806a271e7ac2ce5b2802db3c2db2 100644 (file)
@@ -1,5 +1,3 @@
-// scss-lint:disable PropertyCount, VendorPrefix
-
 // Embedded icons from Open Iconic.
 // Released under MIT and copyright 2014 Waybury.
 // https://useiconic.com/open
index 69429fdef85e7af4eb22d263f25dcf95ba7bda75..1c661917bc1426e14e4b7cc0726c7078e6c077ee 100644 (file)
@@ -1,4 +1,4 @@
-// scss-lint:disable QualifyingElement, VendorPrefix
+// stylelint-disable selector-no-qualifying-type
 
 //
 // Textual form controls
index 8f88b73ec3a0e42b032596c938ffe49a3a66e6d9..91180f1700e33257951bb6fbaecc0d7e0845ad08 100644 (file)
@@ -1,3 +1,5 @@
+// stylelint-disable selector-no-qualifying-type
+
 //
 // Base styles
 //
     @include border-radius($input-border-radius-lg);
   }
 
-  // scss-lint:disable QualifyingElement
   // Nuke default margins from checkboxes and radios to vertically center within.
   input[type="radio"],
   input[type="checkbox"] {
     margin-top: 0;
   }
-  // scss-lint:enable QualifyingElement
 }
 
 
index 15e3754b7b3b7664a3d45e30c77d4cf71e464b16..e655850e387366df7b3cc590229f7cf8621811d3 100644 (file)
@@ -90,7 +90,8 @@
 
   .close {
     padding: $modal-header-padding;
-    margin: (-$modal-header-padding) (-$modal-header-padding) (-$modal-header-padding) auto; // auto on the left force icon to the right even when there is no .modal-title
+    // auto on the left force icon to the right even when there is no .modal-title
+    margin: (-$modal-header-padding) (-$modal-header-padding) (-$modal-header-padding) auto;
   }
 }
 
index a9b6b7b8a63639f16f80b4d33da3ea81afc81d11..1398400c033110eeb0d5016681e802efdd1ba1e5 100644 (file)
           flex-wrap: nowrap;
         }
 
-        // scss-lint:disable ImportantRule
         .navbar-collapse {
-          display: flex !important;
+          display: flex !important;  // stylelint-disable-line declaration-no-important
 
           // Changes flex-bases to auto because of an IE10 bug
           flex-basis: auto;
         }
-        // scss-lint:enable ImportantRule
 
         .navbar-toggler {
           display: none;
index 7f8d9900a3156889196bc8a4d73e493fc20dca61..6505d3e947de74111405dd2e0865e9e9660fd88e 100644 (file)
@@ -1,4 +1,4 @@
-// scss-lint:disable QualifyingElement
+// stylelint-disable declaration-no-important, selector-no-qualifying-type
 
 // Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css
 
@@ -14,8 +14,7 @@
     *::before,
     *::after {
       // Bootstrap specific; comment out `color` and `background`
-      //color: #000 !important; // Black prints faster:
-                                //   http://www.sanbeiji.com/archives/953
+      //color: #000 !important; // Black prints faster: http://www.sanbeiji.com/archives/953
       text-shadow: none !important;
       //background: transparent !important;
       box-shadow: none !important;
index 2bb4904ac1f64f85a8e6cf5ae826f262f666f2d3..29008b921ddc9d11b0268fa34d314171aa80f0ed 100644 (file)
@@ -1,4 +1,4 @@
-// scss-lint:disable QualifyingElement, DuplicateProperty, VendorPrefix
+// stylelint-disable
 
 // Reboot
 //
index 86c04a5f8b20c4fc580bee9e60c227ae61846394..df5744b25f5a297a93e2e25e1cd1efdcb620a7a1 100644 (file)
@@ -1,3 +1,5 @@
+// stylelint-disable selector-no-qualifying-type
+
 .fade {
   opacity: 0;
   @include transition($transition-fade);
index 8928341da88ed953e020b08be851d8ca403ccaa6..b1b8f61cf5fcf0fa14ed049f573751ac527f96b8 100644 (file)
@@ -1,3 +1,5 @@
+// stylelint-disable declaration-no-important, selector-list-comma-newline-after
+
 //
 // Headings
 //
index 35c38cb835e3a6b8e1b1f5a727d2b8eaa5d946da..437434ce2fed226f9296b3bda6eebb221b7511d4 100644 (file)
@@ -8,6 +8,7 @@
 // Color system
 //
 
+// stylelint-disable
 $white:  #fff !default;
 $gray-100: #f8f9fa !default;
 $gray-200: #e9ecef !default;
@@ -72,6 +73,7 @@ $theme-colors: map-merge((
   "light": $gray-100,
   "dark": $gray-800
 ), $theme-colors);
+// stylelint-enable
 
 // Set a specific jump point for requesting color jumps
 $theme-color-interval: 8% !default;
@@ -201,9 +203,11 @@ $transition-collapse:    height .35s ease !default;
 //
 // Font, line-height, and color for body text, headings, and more.
 
+// stylelint-disable value-keyword-case
 $font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !default;
 $font-family-monospace:  "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default;
 $font-family-base:       $font-family-sans-serif !default;
+// stylelint-enable value-keyword-case
 
 $font-size-base: 1rem !default; // Assumes the browser default, typically `16px`
 $font-size-lg:   1.25rem !default;
index 4b2bddd5d3d739fbb4691cf8735a1be3f57f930b..022ab91d8a1fbe092bbac2a7b2b2531b268fc5f1 100644 (file)
@@ -8,7 +8,7 @@
 //
 
 @at-root {
-  @-ms-viewport { width: device-width; }
+  @-ms-viewport { width: device-width; } // stylelint-disable-line at-rule-no-vendor-prefix
 }
 
 html {
index 54a734dcc82f5a0226df8c09bd03c4a9381d245e..5860d7384c9c6bcdd6cf4c7e92fa7e6fb4ecd98a 100644 (file)
@@ -1,3 +1,5 @@
+// stylelint-disable declaration-no-important
+
 // Contextual backgrounds
 
 @mixin bg-variant($parent, $color) {
index b43116fa6cb6693cfe093c3b8e5ded326d3a318c..48fa8b6d59e3d4f8c31dd48d22a29572e61ce699 100644 (file)
@@ -1,3 +1,5 @@
+// stylelint-disable declaration-no-important
+
 @mixin float-left {
   float: left !important;
 }
index 808b2cc425c25fecfb0d793164f87b5c39fdfb22..b5612e922e95938d7ea3fffd3d6e2c406c859180 100644 (file)
@@ -4,10 +4,10 @@
 
 @mixin make-container() {
   width: 100%;
-  margin-right: auto;
-  margin-left: auto;
   padding-right: ($grid-gutter-width / 2);
   padding-left: ($grid-gutter-width / 2);
+  margin-right: auto;
+  margin-left: auto;
 }
 
 
index 72d1804f3b04cdb83363da68a8a729305837239f..fd2f1e2cdae019d2f16bbdb56f6351e64d9ab09c 100644 (file)
@@ -1,3 +1,4 @@
+// stylelint-disable indentation
 @mixin hover {
   // TODO: re-enable along with mq4-hover-shim
 //  @if $enable-hover-media-query {
@@ -8,9 +9,7 @@
 //    }
 //  }
 //  @else {
-// scss-lint:disable Indentation
     &:hover { @content; }
-// scss-lint:enable Indentation
 //  }
 }
 
index fb7d95b54edba595e97733c4312cc8bdc8a57039..0544f0d2a348a6aa65896cae1424b9df55ad6c1e 100644 (file)
@@ -20,6 +20,7 @@
 //
 // Short retina mixin for setting background-image and -size.
 
+// stylelint-disable indentation, media-query-list-comma-newline-after
 @mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {
   background-image: url($file-1x);
 
@@ -27,8 +28,7 @@
   // but doesn't convert dppx=>dpi.
   // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.
   // Compatibility info: https://caniuse.com/#feat=css-media-resolution
-  @media
-  only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx
+  @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx
   only screen and (min-resolution: 2dppx) { // Standardized
     background-image: url($file-2x);
     background-size: $width-1x $height-1x;
index ba27b5041da1f01a70ff4e9de3484cd981714e02..278787bbede705a7b41485dde0c4b2a3ca9eace9 100644 (file)
@@ -6,7 +6,6 @@
     background-color: $background;
   }
 
-  //scss-lint:disable QualifyingElement
   a.list-group-item-#{$state},
   button.list-group-item-#{$state} {
     color: $color;
@@ -22,5 +21,4 @@
       border-color: $color;
     }
   }
-  // scss-lint:enable QualifyingElement
 }
index c454a4ffe9a477bcee78b107eb83ce9c375a8e75..b351660335060856d40a7bb9ed5d72bdbbcfad1b 100644 (file)
@@ -1,7 +1,8 @@
 // Navbar vertical align
 //
 // Vertically center elements in the navbar.
-// Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin.
+// Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);`
+// to calculate the appropriate top margin.
 
 // @mixin navbar-vertical-align($element-height) {
 //   margin-top: (($navbar-height - $element-height) / 2);
index 4cf9e79c749a7dc82cbc4fbd4325ba26c7e0f579..71edb0061aea4a3a355d2cc5cdab58a323bc40b3 100644 (file)
@@ -1,4 +1,3 @@
-// scss-lint:disable DuplicateProperty
 @mixin reset-text {
   font-family: $font-family-base;
   // We deliberately do NOT reset font-size or word-wrap.
@@ -6,7 +5,7 @@
   font-weight: $font-weight-normal;
   line-height: $line-height-base;
   text-align: left; // Fallback for where `start` is not supported
-  text-align: start;
+  text-align: start; // stylelint-disable-line declaration-block-no-duplicate-properties
   text-decoration: none;
   text-shadow: none;
   text-transform: none;
index 9cd4b6a4f008acb58dcfd415893df420edf6efd2..58db3e0fc75fd8326509cc100b46a59b1e13a032 100644 (file)
@@ -1,3 +1,5 @@
+// stylelint-disable declaration-no-important
+
 // Typography
 
 @mixin text-emphasis-variant($parent, $color) {
index f67fc1c529e88388d3db1eb87dc626fdda541448..fe523d0ee365bb91541276f6dddbd72b72c5a543 100644 (file)
@@ -1,3 +1,5 @@
+// stylelint-disable declaration-no-important
+
 // Visibility
 
 @mixin invisible($visibility) {
index 4dbbbc2dbc47ed53d177ad1bc78d0c06605663e9..8b7df9f76c2c8ddaf8468d9e536bc04da761e63d 100644 (file)
@@ -1,3 +1,5 @@
+// stylelint-disable declaration-no-important
+
 .align-baseline    { vertical-align: baseline !important; } // Browser default
 .align-top         { vertical-align: top !important; }
 .align-middle      { vertical-align: middle !important; }
index e382d4f90db0d15182e94952789f0fd68cbc95f1..3d2e07d6995197c5619f57e1facb773a4d6081e9 100644 (file)
@@ -1,5 +1,7 @@
+// stylelint-disable declaration-no-important
+
 @each $color, $value in $theme-colors {
-  @include bg-variant('.bg-#{$color}', $value);
+  @include bg-variant(".bg-#{$color}", $value);
 }
 
 .bg-white {
index 3ff603c32a92ab8b28da3a47b4d353fcbc5de96e..ba02f0456317b27ab1213d681144a203d6aad620 100644 (file)
@@ -1,3 +1,5 @@
+// stylelint-disable declaration-no-important
+
 //
 // Border
 //
index 07f3da0b19c2a6411ea2a720b242fc0bf227f424..893b6387c17246ba558750f5caa04ec2d8821662 100644 (file)
@@ -1,3 +1,5 @@
+// stylelint-disable declaration-no-important
+
 //
 // Utilities for common `display` values
 //
index b28c0b97de98f32793584a2a48ed411590c768be..8e470384362f4d46c1b27e743f03e4eaed80324f 100644 (file)
@@ -1,3 +1,5 @@
+// stylelint-disable declaration-no-important
+
 // Flex variation
 //
 // Custom styles for additional flex alignment options.
index bddae2151c9f365991a70af557e37d8ddee6096d..ef962eddbd471fdd6ffafd62bcc78df62ca26c99 100644 (file)
@@ -1,3 +1,5 @@
+// stylelint-disable declaration-no-important
+
 // Common values
 
 // Sass list not in variables since it's not intended for customization.
index a7dc3e49b8e1c9f280ae7815c4ae02ef63dbacf7..e95a4db36ace76169cda75daf7764974d6000db9 100644 (file)
@@ -1,3 +1,5 @@
+// stylelint-disable declaration-no-important
+
 // Width and height
 
 @each $prop, $abbrev in (width: w, height: h) {
index 150d3163123b6404986b35ce33b5979d7696b75a..b2e2354b126309957e658c9c6bcbb905097bfd4e 100644 (file)
@@ -1,3 +1,5 @@
+// stylelint-disable declaration-no-important
+
 // Margin and Padding
 
 @each $breakpoint in map-keys($grid-breakpoints) {
index 7573f2987e1b9cc0e3fed2673ebf1fda4428e6af..f4b6e65e55ace808acfdbcf6967b94b6c4a181cd 100644 (file)
@@ -1,3 +1,5 @@
+// stylelint-disable declaration-no-important
+
 //
 // Text
 //
@@ -38,7 +40,7 @@
 .text-white { color: #fff !important; }
 
 @each $color, $value in $theme-colors {
-  @include text-emphasis-variant('.text-#{$color}', $value);
+  @include text-emphasis-variant(".text-#{$color}", $value);
 }
 
 .text-muted { color: $text-muted !important; }