eslint-plugin-lit

raw JSON →
2.2.1 verified Sat Apr 25 auth: no javascript

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.

error Error [ERR_REQUIRE_ESM]: require() of ES Module not supported
cause 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');
error ESLint configuration error: Cannot find module 'eslint-plugin-lit'
cause Plugin not installed or not in node_modules.
fix
Run npm install eslint-plugin-lit --save-dev
error TypeError: configs is not iterable
cause 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'], ...]
breaking v2.0.0 migrated to ESM-only; require() breaks.
fix Use import statements or dynamic import() in CommonJS files.
deprecated The .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'.
gotcha Default import of the plugin is deprecated; prefer named exports (configs, rules).
fix Use import { configs } from 'eslint-plugin-lit' instead of default import.
breaking Node < 18 is no longer supported; engine requirement was raised.
fix Upgrade Node.js to version 18 or higher.
gotcha Some 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.
npm install eslint-plugin-lit
yarn add eslint-plugin-lit
pnpm add eslint-plugin-lit

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',
    },
  },
];