{"id":19826,"library":"eslint-plugin-lube","title":"eslint-plugin-lube","description":"An ESLint plugin providing auto-fixable formatting rules to replace Prettier, including import sorting, JSDoc type casting, sequence formatting, and Svelte naming conventions. Current version 0.5.1, actively developed with TypeScript support. Requires ESLint >=9.0.0 (flat config). Differentiates by being fully fixable and integrating formatting into ESLint's linting pipeline, eliminating the need for a separate formatter. Supports 4 rules: pretty-imports, pretty-jsdoc-casting, pretty-sequence, svelte-naming-convention.","status":"active","version":"0.5.1","language":"javascript","source_language":"en","source_url":"https://github.com/Artxe2/lube-series","tags":["javascript","eslint-plugin","lube","eslint-plugin-lube","prettier","jsdoc","typescript"],"install":[{"cmd":"npm install eslint-plugin-lube","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-plugin-lube","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-plugin-lube","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency, required >=9.0.0 for flat config support","package":"eslint","optional":false}],"imports":[{"note":"ESM-only; CJS require will fail. Use default import for plugin object.","wrong":"const lube = require('eslint-plugin-lube')","symbol":"default","correct":"import lube from 'eslint-plugin-lube'"},{"note":"Named export for rules object; CJS require not supported.","wrong":"const { rules } = require('eslint-plugin-lube')","symbol":"rules","correct":"import { rules } from 'eslint-plugin-lube'"},{"note":"Named export for recommended config; CJS require not supported.","wrong":"const configs = require('eslint-plugin-lube').configs","symbol":"configs","correct":"import { configs } from 'eslint-plugin-lube'"}],"quickstart":{"code":"import lube from 'eslint-plugin-lube';\n\nexport default [\n  lube.configs.recommended,\n  {\n    rules: {\n      'lube/pretty-imports': 'error',\n      'lube/pretty-jsdoc-casting': 'error',\n    },\n  },\n];","lang":"typescript","description":"Shows how to use the plugin with ESLint flat config, including loading the plugin and enabling its rules."},"warnings":[{"fix":"Upgrade to ESLint 9+ and use eslint.config.js with flat config.","message":"Plugin requires eslint >=9.0.0 with flat config; older eslint versions or .eslintrc configs are not supported.","severity":"breaking","affected_versions":">=0.0.0"},{"fix":"Consider using other formatting rules or Prettier if sequence formatting is needed.","message":"Rule 'pretty-sequence' may be deprecated in future; check docs for alternatives.","severity":"deprecated","affected_versions":">=0.5.0"},{"fix":"Check plugin docs for rule list; contribute or request new rules.","message":"Only 4 rules available; request for more rules via GitHub issues may be needed.","severity":"gotcha","affected_versions":">=0.0.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-lube --save-dev'","cause":"Plugin not installed in node_modules.","error":"Error: Cannot find module 'eslint-plugin-lube'"},{"fix":"Convert to eslint.config.js with flat config.","cause":"Plugin requires flat config, not legacy rc files.","error":"Error: ESLint configuration in .eslintrc.* is not supported"},{"fix":"Use 'import lube from 'eslint-plugin-lube'' or use dynamic import.","cause":"Using CommonJS require instead of ESM import.","error":"TypeError: Cannot destructure property 'rules' of 'require(...)' as it is undefined."}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}