eslint-config-vaadin
raw JSON → 1.0.0-beta.5 verified Sat Apr 25 auth: no javascript
ESLint shareable config for the Vaadin JavaScript style guide. Current version is 1.0.0-beta.5, requiring ESLint ^9 and Prettier ^3 as peer dependencies. Ships TypeScript types. Key differentiators: provides multiple config profiles (JavaScript, TypeScript, Lit, imports, testing, sorting) that can be combined; designed for Vaadin projects but usable elsewhere; actively maintained with flat config support since v1.0.0. This is a pre-release version (beta) so breaking changes may occur.
Common errors
error Cannot find module 'eslint-config-vaadin/javascript' ↓
cause Wrong import path; missing file extension or incorrect path for flat config
fix
Use
import javascript from 'eslint-config-vaadin/javascript' (no extension) with ESM. error Configuration for rule "import/order" is invalid: Value ["error", {...}] is the wrong type. Expected object but got array. ↓
cause Outdated config compatible with old ESLint versions; v1.0.0-beta requires flat config format
fix
Update to eslint-config-vaadin@1.0.0-beta.x and use flat config syntax.
error ESLint couldn't find the config "vaadin/prettier" after extending "vaadin/typescript". ↓
cause prettier config not imported or not placed last
fix
Ensure prettier is the last element in the flat config array or extends list.
Warnings
breaking v1.0.0-beta.1 switched to ESLint 9 flat config, breaking all .eslintrc configurations ↓
fix Migrate to flat config (eslint.config.js) and import configs as arrays.
deprecated The package is in beta; API may change before stable release ↓
fix Pin to a specific version and watch release notes for breaking changes.
gotcha prettier config must be placed last in the extends array to avoid conflicts ↓
fix Ensure 'vaadin/prettier' is the last entry in the extends (or flat config array).
gotcha The sort config enables auto-fixable rules that may change order of object keys and exports; ESLint team advises caution ↓
fix Review sort config documentation and test thoroughly before using.
Install
npm install eslint-config-vaadin yarn add eslint-config-vaadin pnpm add eslint-config-vaadin Imports
- javascript wrong
const javascript = require('eslint-config-vaadin/javascript')correctimport javascript from 'eslint-config-vaadin/javascript' - typescript wrong
import tsConfig from 'eslint-config-vaadin'correctimport typescript from 'eslint-config-vaadin/typescript' - prettier wrong
import { prettier } from 'eslint-config-vaadin'correctimport prettier from 'eslint-config-vaadin/prettier' - lit wrong
import litConfig from 'eslint-plugin-lit'correctimport lit from 'eslint-config-vaadin/lit' - imports wrong
import importConfig from 'eslint-config-vaadin/import'correctimport importsConfig from 'eslint-config-vaadin/imports' - testing wrong
import testConfig from 'eslint-config-vaadin/test'correctimport testing from 'eslint-config-vaadin/testing' - sort wrong
import sortConfig from 'eslint-config-vaadin/sorting'correctimport sort from 'eslint-config-vaadin/sort'
Quickstart
import javascript from 'eslint-config-vaadin/javascript';
import prettier from 'eslint-config-vaadin/prettier';
import testing from 'eslint-config-vaadin/testing';
export default [
...javascript,
{
// Add project-specific overrides
},
...testing,
...prettier,
];