{"id":26957,"library":"eslint-plugin-factorial","title":"eslint-plugin-factorial","description":"eslint-plugin-factorial is a collection of custom ESLint rules for JavaScript and TypeScript projects. Version 2.0.30 is the latest stable release. It enforces code quality and consistency, particularly in Factorial projects. Differentiators include opinionated rules tailored to specific coding standards. Installation requires ESLint as a peer dependency. The plugin follows standard ESLint plugin conventions for configuration.","status":"active","version":"2.0.30","language":"javascript","source_language":"en","source_url":null,"tags":["javascript"],"install":[{"cmd":"npm install eslint-plugin-factorial","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-plugin-factorial","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-plugin-factorial","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency – required for any ESLint plugin to function.","package":"eslint","optional":false}],"imports":[{"note":"ESLint automatically resolves plugins with the 'eslint-plugin-' prefix. No manual import needed.","wrong":"const factorial = require('eslint-plugin-factorial'); module.exports = { plugins: ['factorial'] }; // unnecessary require","symbol":"plugin","correct":"module.exports = { plugins: ['factorial'] };"},{"note":"All rules must be prefixed with 'factorial/' in the rules config.","wrong":"\"rule-name\": \"error\"","symbol":"rules","correct":"\"factorial/rule-name\": \"error\""},{"note":"When extending a config, use 'plugin:factorial/...' shorthand. Full name is not supported.","wrong":"module.exports = { extends: ['eslint-plugin-factorial/recommended'] };","symbol":"configs","correct":"module.exports = { extends: ['plugin:factorial/recommended'] };"}],"quickstart":{"code":"// Install dependencies\n// npm install eslint eslint-plugin-factorial --save-dev\n\n// .eslintrc.js\nmodule.exports = {\n  plugins: ['factorial'],\n  rules: {\n    'factorial/rule-name': 'error',\n  },\n};","lang":"javascript","description":"Basic setup for eslint-plugin-factorial: install with npm, configure plugin and rules in ESLint config."},"warnings":[{"fix":"In .eslintrc rules, use 'factorial/rule-name'.","message":"All rule names must be prefixed with 'factorial/'","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Use extends: ['plugin:factorial/recommended'] (or other config name) instead of the full package name.","message":"Plugin configs are only accessible via 'plugin:factorial/...' shorthand","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Do not include 'eslint-plugin-' prefix in plugin or extends config.","message":"Possible use of 'eslint-plugin-factorial' as a prefix is unsupported","severity":"deprecated","affected_versions":">=2.0.0"},{"fix":"Refer to the actual rule implementation in node_modules/eslint-plugin-factorial/lib/rules/.","message":"Rule options documentation may be outdated; check source for each rule","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-factorial --save-dev'.","cause":"eslint-plugin-factorial is not installed or missing from node_modules.","error":"Error: Failed to load plugin 'factorial' declared in '.eslintrc': Cannot find module 'eslint-plugin-factorial'"},{"fix":"Use extends: ['plugin:factorial/recommended'].","cause":"Incorrect extends format; using 'factorial/recommended' without 'plugin:' prefix.","error":"Error: Failed to load config 'factorial/recommended' to extend from."},{"fix":"Check available rules in documentation or node_modules/eslint-plugin-factorial/lib/rules/.","cause":"The rule name is misspelled or does not exist in the plugin.","error":"Definition for rule 'factorial/rule-name' was not found."}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}