Terra Stylelint Shared Config
This configuration reflects Terra's supported stylelint policy for their UI library stylesheets. It extends the stylelint-config-sass-guidelines configuration which is based on sass-guidelines. Additionally, this configuration utilizes the stylelint-no-unsupported-browser-features plugin to check if the styles used are supported by the browsers being targeted. Terra's targeted browsers are specified by the browserslist-config-terra module.
What is Stylelint?
Stylelint is a mighty, modern CSS linter and fixer that helps you avoid errors and enforce consistent conventions in your stylesheets.
Install the module
$ npm install stylelint --save-dev$ npm install stylelint-config-terra --save-dev
Extending Terra's Configuration
It is possible to specify and override the rules defined by stylelint-config-terra. Read more about it here.
For example, it is possible to override the browsers specified to the no-unsupported-browser-features plugin.
Custom Lint Rules
The following custom rules are enabled by default.
- terra/custom-property-name: Requires custom properties to be suffixed with the css property name.
- terra/custom-property-namespace: Requires custom properties to be prefixed with a namespace.
- terra/custom-property-pattern: Requires custom properties to be written in lowercase alphanumeric characters and hyphens.
- terra/custom-property-pseudo-selectors: Requires custom properties to include all ancestor pseudo selectors in order.
stylelint-config-terra is considered to be stable and will follow SemVer for versioning.
- MAJOR versions represent breaking changes
- MINOR versions represent added functionality in a backwards-compatible manner
- PATCH versions represent backwards-compatible bug fixes
Consult the component CHANGELOGs, related issues, and PRs for more information.
Please read through our contributing guidelines. Included are directions for issue reporting and pull requests.
Copyright 2018 - 2020 Cerner Innovation, Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.