{"id":19919,"library":"eslint-plugin-require-jsdoc","title":"eslint-plugin-require-jsdoc","description":"An ESLint plugin (v1.0.4, last updated circa 2015) that enforces JSDoc comments on all functions. Unlike ESLint's built-in valid-jsdoc rule which validates JSDoc syntax, this plugin ensures every function has a JSDoc block. It was designed to be used alongside valid-jsdoc for best results. No longer actively maintained; users should consider using the built-in require-jsdoc rule introduced in ESLint 3.x or modern alternatives like eslint-plugin-jsdoc.","status":"deprecated","version":"1.0.4","language":"javascript","source_language":"en","source_url":"https://github.com/nrsedat/eslint-plugin-require-jsdoc","tags":["javascript","eslint","eslint-plugin","eslintplugin"],"install":[{"cmd":"npm install eslint-plugin-require-jsdoc","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-plugin-require-jsdoc","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-plugin-require-jsdoc","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency required to function as an ESLint plugin","package":"eslint","optional":false}],"imports":[{"note":"In ESLint config, omit the 'eslint-plugin-' prefix when referencing the plugin.","wrong":"plugins: ['eslint-plugin-require-jsdoc']","symbol":"plugin","correct":"plugins: ['require-jsdoc']"},{"note":"ESLint 0.x and 1.x used numeric severity levels. The string 'error' is supported in later versions but this plugin predates that.","wrong":"\"require-jsdoc\": \"error\"","symbol":"require-jsdoc rule","correct":"\"require-jsdoc\": 2"},{"note":"Recommended to combine with require-jsdoc for full JSDoc enforcement.","wrong":"","symbol":"valid-jsdoc rule","correct":"\"valid-jsdoc\": 2"}],"quickstart":{"code":"// .eslintrc\n{\n  \"plugins\": [\"require-jsdoc\"],\n  \"rules\": {\n    \"require-jsdoc\": 2,\n    \"valid-jsdoc\": 2\n  }\n}\n\n// Functions without JSDoc will now trigger an error:\nfunction foo() {} // Error: Missing JSDoc comment\n\n// Functions with JSDoc pass:\n/**\n * Does something.\n */\nfunction bar() {} // OK","lang":"javascript","description":"Configures ESLint to require JSDoc on all functions using both the require-jsdoc and valid-jsdoc rules."},"warnings":[{"fix":"Use ESLint's built-in require-jsdoc rule or adopt eslint-plugin-jsdoc for more comprehensive JSDoc enforcement.","message":"This plugin is no longer maintained. ESLint's built-in require-jsdoc rule (added in ESLint 3.0.0) provides similar functionality.","severity":"deprecated","affected_versions":">=1.0.4"},{"fix":"Use with ESLint 1.x only. For ESLint 2+, use built-in require-jsdoc or eslint-plugin-jsdoc.","message":"The plugin requires ESLint >=0.8.0 and is not compatible with ESLint 2.x or later due to configuration changes.","severity":"gotcha","affected_versions":">=0.8.0 <2.0.0"},{"fix":"Add \"valid-jsdoc\": 2 to your ESLint rules to validate JSDoc syntax.","message":"Plugin only enforces JSDoc presence, not validity. Always pair with valid-jsdoc rule.","severity":"gotcha","affected_versions":"*"}],"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-require-jsdoc` and ensure the plugin name in your config is 'require-jsdoc' (not 'eslint-plugin-require-jsdoc').","cause":"Plugin not installed or referenced incorrectly in ESLint config.","error":"ESLint configuration error: \"require-jsdoc\" plugin cannot be found."},{"fix":"Install the plugin via `npm install eslint-plugin-require-jsdoc --save-dev`.","cause":"Plugin required but not in node_modules.","error":"Failed to load plugin 'require-jsdoc': Cannot find module 'eslint-plugin-require-jsdoc'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}