Elements Lint
The @nvidia-elements/lint package is a utility library that provides Elements-specific lint rules to enforce best practices and prevent common errors when using Elements
If not yet done, install NodeJS. NodeJS is a JavaScript runtime that has a large ecosystem of tooling and packages for Web Development. Once installed the Node Package Manager (NPM) will be available for use.
# install
npm install @nvidia-elements/lint --save-dev
ESLint
To apply the default recommended configs import elementsRecommended.
// eslint.config.js
import { elementsRecommended } from '@nvidia-elements/lint/eslint';
/** @type {import('eslint').Linter.Config[]} */
export default [
...elementsRecommended
];
Or optionally import language specific configurations.
// eslint.config.js
import { elementsHtmlConfig, elementsCssConfig } from '@nvidia-elements/lint/eslint';
/** @type {import('eslint').Linter.Config[]} */
export default [
elementsHtmlConfig,
elementsCssConfig
];
eslint -c ./eslint.config.js --color
Severity
You can adjust rules individually for lint severity. By default all rules use error.
import { elementsHtmlConfig, elementsCssConfig } from '@nvidia-elements/lint/eslint';
/** @type {import('eslint').Linter.Config[]} */
export default [
elementsHtmlConfig,
{
...elementsCssConfig,
rules: {
'@nvidia-elements/lint/no-unexpected-css-value': 'warn'
}
}
];
Rules
@nvidia-elements/lint/no-complex-popoverserror@nvidia-elements/lint/no-deprecated-attributeserror@nvidia-elements/lint/no-deprecated-css-importserror@nvidia-elements/lint/no-deprecated-css-variableerror@nvidia-elements/lint/no-deprecated-global-attributeserror@nvidia-elements/lint/no-deprecated-icon-nameserror@nvidia-elements/lint/no-deprecated-packageserror@nvidia-elements/lint/no-deprecated-popover-attributeserror@nvidia-elements/lint/no-deprecated-slotserror@nvidia-elements/lint/no-deprecated-tagserror@nvidia-elements/lint/no-invalid-event-listenerserror@nvidia-elements/lint/no-invalid-invoker-triggerserror@nvidia-elements/lint/no-missing-control-labelerror@nvidia-elements/lint/no-missing-gap-spaceoff@nvidia-elements/lint/no-missing-icon-nameerror@nvidia-elements/lint/no-missing-popover-triggererror@nvidia-elements/lint/no-missing-slotted-elementserror@nvidia-elements/lint/no-nested-container-typeserror@nvidia-elements/lint/no-restricted-attributeserror@nvidia-elements/lint/no-restricted-page-sizingerror@nvidia-elements/lint/no-unexpected-attribute-valueerror@nvidia-elements/lint/no-unexpected-css-valueerror@nvidia-elements/lint/no-unexpected-css-variableerror@nvidia-elements/lint/no-unexpected-global-attribute-valueerror@nvidia-elements/lint/no-unexpected-input-typeerror@nvidia-elements/lint/no-unexpected-library-dependencieserror@nvidia-elements/lint/no-unexpected-slot-valueerror@nvidia-elements/lint/no-unexpected-style-customizationoff@nvidia-elements/lint/no-unknown-css-variableerror@nvidia-elements/lint/no-unknown-tagserror@nvidia-elements/lint/no-unstyled-typographyerror