{"id":19612,"library":"eslint-config-vaadin","title":"eslint-config-vaadin","description":"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.","status":"active","version":"1.0.0-beta.5","language":"javascript","source_language":"en","source_url":"https://github.com/vaadin/eslint-config-vaadin","tags":["javascript","eslint","eslintconfig","config","vaadin","typescript","react","styleguide"],"install":[{"cmd":"npm install eslint-config-vaadin","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-config-vaadin","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-config-vaadin","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency required for any ESLint config","package":"eslint","optional":false},{"reason":"peer dependency required for prettier config","package":"prettier","optional":false}],"imports":[{"note":"ESM import; for flat config use spread operator","wrong":"const javascript = require('eslint-config-vaadin/javascript')","symbol":"javascript","correct":"import javascript from 'eslint-config-vaadin/javascript'"},{"note":"Named export for TypeScript config; requires underlying JavaScript config","wrong":"import tsConfig from 'eslint-config-vaadin'","symbol":"typescript","correct":"import typescript from 'eslint-config-vaadin/typescript'"},{"note":"Prettier config must be placed last in extends array","wrong":"import { prettier } from 'eslint-config-vaadin'","symbol":"prettier","correct":"import prettier from 'eslint-config-vaadin/prettier'"},{"note":"Lit config extends eslint-plugin-lit; not a standalone plugin","wrong":"import litConfig from 'eslint-plugin-lit'","symbol":"lit","correct":"import lit from 'eslint-config-vaadin/lit'"},{"note":"Note the 's' in the path","wrong":"import importConfig from 'eslint-config-vaadin/import'","symbol":"imports","correct":"import importsConfig from 'eslint-config-vaadin/imports'"},{"note":"Config for test files; overrides some rules","wrong":"import testConfig from 'eslint-config-vaadin/test'","symbol":"testing","correct":"import testing from 'eslint-config-vaadin/testing'"},{"note":"Enables auto-fixable sorting rules; use with caution","wrong":"import sortConfig from 'eslint-config-vaadin/sorting'","symbol":"sort","correct":"import sort from 'eslint-config-vaadin/sort'"}],"quickstart":{"code":"import javascript from 'eslint-config-vaadin/javascript';\nimport prettier from 'eslint-config-vaadin/prettier';\nimport testing from 'eslint-config-vaadin/testing';\n\nexport default [\n  ...javascript,\n  {\n    // Add project-specific overrides\n  },\n  ...testing,\n  ...prettier,\n];","lang":"javascript","description":"Shows how to use three configs with flat config (ESLint 9+)."},"warnings":[{"fix":"Migrate to flat config (eslint.config.js) and import configs as arrays.","message":"v1.0.0-beta.1 switched to ESLint 9 flat config, breaking all .eslintrc configurations","severity":"breaking","affected_versions":">=1.0.0-beta.1"},{"fix":"Pin to a specific version and watch release notes for breaking changes.","message":"The package is in beta; API may change before stable release","severity":"deprecated","affected_versions":">=1.0.0-alpha.1 <1.0.0"},{"fix":"Ensure 'vaadin/prettier' is the last entry in the extends (or flat config array).","message":"prettier config must be placed last in the extends array to avoid conflicts","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Review sort config documentation and test thoroughly before using.","message":"The sort config enables auto-fixable rules that may change order of object keys and exports; ESLint team advises caution","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Use `import javascript from 'eslint-config-vaadin/javascript'` (no extension) with ESM.","cause":"Wrong import path; missing file extension or incorrect path for flat config","error":"Cannot find module 'eslint-config-vaadin/javascript'"},{"fix":"Update to eslint-config-vaadin@1.0.0-beta.x and use flat config syntax.","cause":"Outdated config compatible with old ESLint versions; v1.0.0-beta requires flat config format","error":"Configuration for rule \"import/order\" is invalid: Value [\"error\", {...}] is the wrong type. Expected object but got array."},{"fix":"Ensure prettier is the last element in the flat config array or extends list.","cause":"prettier config not imported or not placed last","error":"ESLint couldn't find the config \"vaadin/prettier\" after extending \"vaadin/typescript\"."}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}