{"id":25522,"library":"eslint-plugin-oev","title":"eslint-plugin-oev","description":"A shared ESLint plugin providing common lint and formatting rules for OEV Berlin projects. Current stable version is 2.1.0, released with regular updates for ESLint and TypeScript compatibility. It enforces consistent code style and best practices across projects. Differentiates by being tailored specifically to OEV Berlin conventions rather than generic rule sets. Requires ESLint >= 9 and TypeScript >= 5, leveraging modern flat config and type-aware rules.","status":"active","version":"2.1.0","language":"javascript","source_language":"en","source_url":"https://github.com/oev-berlin/eslint-plugin-oev","tags":["javascript","eslint","lint","rules"],"install":[{"cmd":"npm install eslint-plugin-oev","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-plugin-oev","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-plugin-oev","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency: provides the core linting framework","package":"eslint","optional":false},{"reason":"Peer dependency: needed for type-aware rules","package":"typescript","optional":false}],"imports":[{"note":"ESM-only package; use import syntax. Requires ESLint flat config.","wrong":"const plugin = require('eslint-plugin-oev')","symbol":"default","correct":"import plugin from 'eslint-plugin-oev'"},{"note":"Named export for accessing predefined configs like recommended.","wrong":"const { configs } = require('eslint-plugin-oev')","symbol":"configs","correct":"import { configs } from 'eslint-plugin-oev'"},{"note":"Named export for custom rule definitions.","wrong":"import rules from 'eslint-plugin-oev'","symbol":"rules","correct":"import { rules } from 'eslint-plugin-oev'"}],"quickstart":{"code":"// eslint.config.js\nimport plugin from 'eslint-plugin-oev';\nimport tseslint from 'typescript-eslint';\n\nexport default [\n  plugin.configs.recommended,\n  ...tseslint.configs.recommended,\n];","lang":"javascript","description":"Setup ESLint flat config with OEV recommended rules and TypeScript support."},"warnings":[{"fix":"Migrate to ESLint flat config and ensure ESLint version >= 9.","message":"Version 2.x requires ESLint >= 9 and flat config; does not support legacy .eslintrc format.","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"Upgrade TypeScript to version 5 or higher.","message":"Dropped support for TypeScript < 5 in version 2.0.0.","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"Use array-based flat config with spread as shown in quickstart.","message":"The 'configs.recommended' now uses flat config structure; old 'recommended' as a single object is deprecated.","severity":"deprecated","affected_versions":">=2.0.0"},{"fix":"Add `typescript-eslint` to your config.","message":"This plugin only provides rules; you must install and configure `typescript-eslint` separately for full TypeScript linting.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run `npm install eslint-plugin-oev --save-dev`.","cause":"ESLint cannot resolve the plugin because it's not installed or not in node_modules.","error":"Error: Failed to load plugin 'eslint-plugin-oev': Cannot find module 'eslint-plugin-oev'"},{"fix":"Spread the config array: `...plugin.configs.recommended`.","cause":"Using legacy config array with flat config; configs.recommended is a flat config array.","error":"TypeError: configs.recommended is not iterable"},{"fix":"Use flat config and import the plugin as shown in quickstart.","cause":"Trying to use legacy rc format with `extends: ['plugin:oev/recommended']`.","error":"Error: Could not find config 'recommended' in plugin 'eslint-plugin-oev'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}