Files
react-native-devtools-frontend/node_modules/eslint-plugin-lit-a11y
Tim van der Lippe 10714b5729 Upgrade eslint-plugin-lit-a11y
This pulls in the fix for https://github.com/open-wc/open-wc/issues/2206
which reduces the size of our node_modules significantly.

R=jacktfranklin@chromium.org

Bug: none
Change-Id: Id19be5e7ed6398ffd2edb1d08b4752ef6a1d6b17
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3268293
Auto-Submit: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
2021-11-08 15:56:59 +00:00
..
2021-11-08 15:56:59 +00:00
2021-11-08 15:56:59 +00:00
2021-11-08 15:56:59 +00:00
2021-11-08 15:56:59 +00:00
2021-11-08 15:56:59 +00:00

Linting >> EsLint Plugin Lit A11y >> Overview || -5

Accessibility linting plugin for lit-html.

Most of the rules are ported from eslint-plugin-jsx-a11y, and made to work with lit-html templates and custom elements.

Installation

You'll first need to install ESLint:

$ npm i eslint --save-dev

Next, install eslint-plugin-lit-a11y:

$ npm install eslint-plugin-lit-a11y@next --save-dev

Note: If you installed ESLint globally (using the -g flag) then you must also install eslint-plugin-lit-a11y globally.

Usage

Add lit-a11y to the plugins section of your .eslintrc configuration file. You can omit the eslint-plugin- prefix:

{
  "plugins": ["lit-a11y"]
}

Then configure the rules you want to use under the rules section.

{
  "rules": {
    "lit-a11y/rule-name": 2
  }
}

Configuration

You may also extend the recommended configuration like so:

{
  "extends": ["plugin:lit-a11y/recommended"]
}

By default, any tagged template literal that starts with html is linted. Example:

html` <img /> `;

It could be the case, however, that you're using multiple rendering libraries in a project, like for example htm, which also uses a html tagged template literal, but has a slightly different syntax than lit-html. In this case you can specify the following option, to make sure only lit-html tagged template literals are linted:

{
  "settings": {
    "litHtmlSources": true
  }
}

This will cause the plugin to lint only html tagged template literals that are imported from either 'lit', 'lit-element' or 'lit-html'.

If you're importing lit-html from a package that re-exports lit-html, like for example @apollo-elements/lit-apollo, you can specify @apollo-elements/lit-apollo as a valid litHtmlSource like so:

{
  "settings": {
    "litHtmlSources": ["@apollo-elements/lit-apollo"]
  }
}

Supported Rules