{"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,"search_vec":"'0.5.1':31 '4':63 '9.0.0':39 'activ':32 'auto':10 'auto-fix':9 'cast':22,71 'config':41 'convent':28,78 'current':29 'develop':33 'differenti':42 'elimin':55 'eslint':2,6,38,51,81,85 'eslint-plugin':80 'eslint-plugin-lub':1,84 'fixabl':11,46 'flat':40 'format':12,24,49 'formatt':61 'fulli':45 'import':18,67 'includ':17 'integr':48 'javascript':79 'jsdoc':20,70,89 'lint':53 'lube':4,83,87 'name':27,77 'need':57 'pipelin':54 'plugin':3,7,82,86 'pretti':66,69,73 'prettier':16,88 'pretty-import':65 'pretty-jsdoc-cast':68 'pretty-sequ':72 'provid':8 'replac':15 'requir':37 'rule':13,64 'separ':60 'sequenc':23,74 'sort':19 'support':36,62 'svelt':26,76 'svelte-naming-convent':75 'type':21 'typescript':35,90 'version':30","created_at":"2026-04-25T11:19:52.388670+00:00","updated_at":"2026-04-25T11:19:52.388670+00:00","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,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":"","cli_version":null,"type":"library","homepage":null,"github":"https://github.com/Artxe2/lube-series","docs":null,"changelog":null,"pypi":null,"npm":"https://www.npmjs.com/package/eslint-plugin-lube","openapi_spec":null,"status_page":null,"smithery":null,"categories":["testing"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-17","next_check":"2026-07-24","install_tag":null}}