Registry / testing / eslint-plugin-lit

eslint-plugin-lit

JSON →
library2.2.1jsnpmunverified

ESLint plugin for Lit (lit-html / LitElement) providing 23+ lint rules covering attribute names, binding positions, lifecycle super calls, legacy syntax, and more. Stable version 2.2.1, released as needed with minor updates. ESM-only since v2.0.0, requires Node >= 18 and ESLint >= 8. Supports flat config and has recommended shareable config. Differentiated from general ESLint rules by targeting Lit-specific constructs like template literals and LitElement classes, with TypeScript type definitions included.

npm install eslint-plugin-lit
INSTALL
IMPORT
SIG · ESLINT-PLUGIN-LIT
E
eslint-plugin-lit
testingjavascriptv2.2.1
Install
—
Import
—
Disk
—
Pass rate
0/ 6
Env Coverage0 / 6
glibc
18–22
musl
18–22
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18–226 runs
build_error
glibc
node 18–226 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

configs
✓ import { configs } from 'eslint-plugin-lit'
✗ const { configs } = require('eslint-plugin-lit')
ESM-only since v2.0.0; require() will fail. Use dynamic import() if needed.
rules
✓ import { rules } from 'eslint-plugin-lit'
✗ import eslintPluginLit from 'eslint-plugin-lit'
rules is a named export, not default. Default export exists but is deprecated in favor of named configs.
default import
✓ import eslintPluginLit from 'eslint-plugin-lit'
✗ const eslintPluginLit = require('eslint-plugin-lit')
Default export is the plugin object but named exports (configs, rules) are preferred.

Flat config usage with recommended rules and a custom rule override.

// eslint.config.js import { configs } from 'eslint-plugin-lit'; export default [ configs['flat/recommended'], { files: ['**/*.js', '**/*.ts'], rules: { 'lit/no-legacy-template-syntax': 'error', }, }, ];
Debug
Known issues
breakingv2.0.0 migrated to ESM-only; require() breaks.
fix
Use import statements or dynamic import() in CommonJS files.
affects: >=2.0.0
deprecatedThe .eslintrc config format plugin:lit/recommended is deprecated; use flat config (configs['flat/recommended']).
fix
Switch to eslint.config.js with import { configs } from 'eslint-plugin-lit'.
affects: >=2.0.0
gotchaDefault import of the plugin is deprecated; prefer named exports (configs, rules).
fix
Use import { configs } from 'eslint-plugin-lit' instead of default import.
affects: >=2.1.1
breakingNode < 18 is no longer supported; engine requirement was raised.
fix
Upgrade Node.js to version 18 or higher.
affects: >=2.0.0
gotchaSome rules (e.g., no-legacy-template-syntax) may require Lit v2+; check rule docs.
fix
Ensure your project uses Lit v2 or later if enabling such rules.
affects: >=1.0.0
Errors
Common errors & fixes
Error [ERR_REQUIRE_ESM]: require() of ES Module not supported
Using require() with eslint-plugin-lit >=2.0.0 which is ESM-only.
fix
Change to import statement or use dynamic import: const plugin = await import('eslint-plugin-lit');
ESLint configuration error: Cannot find module 'eslint-plugin-lit'
Plugin not installed or not in node_modules.
fix
Run npm install eslint-plugin-lit --save-dev
TypeError: configs is not iterable
Incorrect import or usage of configs in flat config.
fix
Ensure you use import { configs } from 'eslint-plugin-lit' and spread it correctly: export default [configs['flat/recommended'], ...]
Upgrade
Version history
2.2.1latest on npm
Audit
Dependencies
eslintrequiredpeer dependency required to run the plugin
Agent activity
8 hits · last 30 days
node
7
Amazon
1
Resources
eslint-plugin-lit — npm install eslint-plugin-lit · libregistry