Package Exports
- stylelint-no-unsupported-browser-features
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (stylelint-no-unsupported-browser-features) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
stylelint-no-unsupported-browser-features
disallow features that are unsupported by the browsers that you are targeting
This plugin checks if the CSS you're using is supported by the browsers you're targeting. It uses doiuse to detect browser support. Doiuse itself checks your code against the caniuse database and uses browserslist to get the list of browsers you want to support.
install
npm i -D stylelint-no-unsupported-browser-features
Compatible with stylelint versions 5 and up.
usage
- Add
"stylelint-no-unsupported-browser-features"
to your stylelint config plugins array - Add
"plugin/no-unsupported-browser-features"
to your stylelint config rules - Enable the rule by setting it to
true
, or pass optional extra configuration
options
browsers
(optional): accepts an array of browsers you want to support. For example['> 1%', 'Last 2 versions']
. See browserslist for documentation.ignore
(optional): accept an array of features to ignore. For example:['rem', 'css-table']
. Feature names can be found in the error messages.
So for example, in a .stylelintrc
:
{
"plugins": [
"stylelint-no-unsupported-browser-features"
],
"rules": {
"plugin/no-unsupported-browser-features": [true, {
"browsers": ["> 1%", "Last 2 versions"],
"ignore": ["rem"]
}]
}
}
recommendations
This is a good rule to use with "warning"-level severity, because its primary purpose is to warn you that you are using features not all browsers fully support and therefore ought to provide fallbacks. But the warning will continue even if you have a fallback in place (it doesn't know); so you probably do not want this rule to break your build. Instead, consider it a friendly reminder to double-check certain spots for fallbacks.
Also, doiuse uses browserslist to get the list of browsers you want to support. Browserslist accepts a
browserslist
file at the root of your project with a list of browsers that you want to support. Since
there are other projects that can use this file (like autoprefixer
or eslint-plugin-compat) the simplest solution
is to just define your intended browser support there (note that there are a lot of different ways
to define this list, so check out the browserslist documentation for more options).
For the above setup you could use the following config:
./.stylelintrc
{
"plugins": [
"stylelint-no-unsupported-browser-features"
],
"rules": {
"plugin/no-unsupported-browser-features": [true, {
"severity": "warning"
}]
}
}
./browserslist
:
> 5%
Last 2 versions