{"id":19750,"library":"eslint-plugin-ext","title":"eslint-plugin-ext","description":"eslint-plugin-ext is an ESLint plugin (version 0.1.0) that provides additional lint rules, starting with 'lines-between-object-properties' which enforces blank lines between object properties, based on eslint's built-in 'lines-between-class-members'. The rule allows standard options plus an extra 'exceptBetweenSingleLines' option. The package is minimal and likely low maintenance; it is not part of a broader ecosystem and has no recent updates. It differentiates by offering a specific rule for object literals that is missing from core ESLint.","status":"active","version":"0.1.0","language":"javascript","source_language":"en","source_url":"https://github.com/jiangfengming/eslint-plugin-ext","tags":["javascript","eslint","eslintplugin"],"install":[{"cmd":"npm install eslint-plugin-ext","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-plugin-ext","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-plugin-ext","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"ESLint plugin naming convention: omit the 'eslint-plugin-' prefix. This is required for ESLint to resolve the plugin.","wrong":"plugins: ['eslint-plugin-ext']","symbol":"eslint-plugin-ext (plugin)","correct":"plugins: ['ext']"},{"note":"Rules must be namespaced with the plugin name (ext/). Missing the namespace is the most common mistake.","wrong":"\"lines-between-object-properties\": \"error\"","symbol":"lines-between-object-properties rule","correct":"\"ext/lines-between-object-properties\": [\"error\", \"always\", { \"exceptBetweenSingleLines\": true }]"},{"note":"Common mistake: using full package name in plugins array and not prefixing the rule with 'ext/'.","wrong":"{\n  \"plugins\": [\"eslint-plugin-ext\"],\n  \"rules\": {\n    \"lines-between-object-properties\": \"error\"\n  }\n}","symbol":"ESLint config (JSON)","correct":"{\n  \"plugins\": [\"ext\"],\n  \"rules\": {\n    \"ext/lines-between-object-properties\": [\"error\", \"always\"]\n  }\n}"}],"quickstart":{"code":"// .eslintrc.json\n{\n  \"plugins\": [\"ext\"],\n  \"rules\": {\n    \"ext/lines-between-object-properties\": [\"error\", \"always\", { \"exceptBetweenSingleLines\": true }]\n  }\n}\n\n// Example object (bad): no blank lines between properties\nexport const bad = {\n  a: 1,\n  b: 2,\n  c() {}\n}\n\n// Example object (good): blank lines between logical groups\nexport const good = {\n  a: 1,\n  b: 2,\n\n  c() {}\n}","lang":"javascript","description":"Shows how to configure the plugin in .eslintrc.json and demonstrates the rule behavior with bad/good object examples."},"warnings":[{"fix":"Add 'plugins: [\"ext\"]' to your ESLint configuration.","message":"Plugin must be configured in ESLint's 'plugins' array, not 'extends' or 'rules' directly.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Use 'ext/lines-between-object-properties' as the rule key.","message":"Rule name must be prefixed with 'ext/'. Using just 'lines-between-object-properties' will not work.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Ensure this option is only used with this plugin's rule.","message":"The 'exceptBetweenSingleLines' option is specific to this plugin and not available in ESLint core.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Use legacy .eslintrc format or check plugin documentation for flat config support.","message":"ESLint flat config (eslint.config.js) does not support the legacy 'plugins' array format. This plugin may not be compatible with flat config.","severity":"deprecated","affected_versions":"0.1.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Run 'npm install eslint-plugin-ext --save-dev' and ensure 'plugins' array uses 'ext' (without prefix).","cause":"Package not installed, or wrong plugin name in ESLint config.","error":"Error: Failed to load plugin 'ext' declared in '.eslintrc.json': Cannot find module 'eslint-plugin-ext'"},{"fix":"Use 'exceptBetweenSingleLines' (note: 'single' not 'single'). Option must be inside an object as third element of the array.","cause":"The option was misspelled or placed at wrong level.","error":"Configuration for rule 'ext/lines-between-object-properties' is invalid: Unknown option 'exceptBetweenSingleLines'"},{"fix":"Change 'plugins' to [\"ext\"] (omit 'eslint-plugin-' prefix).","cause":"Using full package name in plugins array.","error":"ESLint couldn't find the plugin 'eslint-plugin-ext' in the configuration."}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}