{"id":20162,"library":"jsdoc-webpack-plugin","title":"jsdoc-webpack-plugin","description":"Webpack plugin that runs JSDoc on your bundles, version 0.3.0. Low activity; last release 2016. Generates documentation from webpack bundle files, optionally using JSDoc config or bundle sources. Minimal features: conf path, CWD, preserve temp file, recursive flag. Less maintained than alternatives like 'jsdoc-webpack-plugin' or 'webpack-jsdoc'. Not suitable for modern webpack 5+ without potential compatibility issues.","status":"maintenance","version":"0.3.0","language":"javascript","source_language":"en","source_url":"https://github.com/tfiwm/jsdoc-webpack-plugin","tags":["javascript","jsdoc","webpack"],"install":[{"cmd":"npm install jsdoc-webpack-plugin","lang":"bash","label":"npm"},{"cmd":"yarn add jsdoc-webpack-plugin","lang":"bash","label":"yarn"},{"cmd":"pnpm add jsdoc-webpack-plugin","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Core dependency to generate JSDoc documentation; must be installed separately.","package":"jsdoc","optional":false},{"reason":"Peer dependency; plugin works with webpack 1–3 (may break in 4/5).","package":"webpack","optional":true}],"imports":[{"note":"This package exports a single constructor as default via CommonJS. Named destructuring will get undefined.","wrong":"const { JsDocPlugin } = require('jsdoc-webpack-plugin');","symbol":"JsDocPlugin (default)","correct":"const JsDocPlugin = require('jsdoc-webpack-plugin');"},{"note":"ESM default import works if bundler config allows. Named import fails.","wrong":"import { JsDocPlugin } from 'jsdoc-webpack-plugin';","symbol":"JsDocPlugin (ESM)","correct":"import JsDocPlugin from 'jsdoc-webpack-plugin';"},{"note":"The required value is the constructor, not a namespace object.","wrong":"new JsDocPlugin.JsDocPlugin({ conf: 'jsdoc.conf.json' })","symbol":"Plugin instantiation","correct":"new JsDocPlugin({ conf: 'jsdoc.conf.json' })"}],"quickstart":{"code":"const JsDocPlugin = require('jsdoc-webpack-plugin');\nconst path = require('path');\n\nmodule.exports = {\n  entry: './src/index.js',\n  output: {\n    path: path.resolve(__dirname, 'dist'),\n    filename: 'bundle.js'\n  },\n  plugins: [\n    new JsDocPlugin({\n      conf: 'jsdoc.conf',\n      cwd: '.',\n      preserveTmpFile: false,\n      recursive: false\n    })\n  ]\n};","lang":"javascript","description":"Webpack config adding jsdoc-webpack-plugin to generate JSDoc documentation from bundle files."},"warnings":[{"fix":"Use a maintained plugin like 'webpack-jsdoc' or 'jsdoc-webpack-plugin-v4'.","message":"Plugin uses webpack 1 plugin API internally; incompatible with webpack 4/5 without modification.","severity":"breaking","affected_versions":">=4.0.0"},{"fix":"Pin jsdoc version to known compatible range or migrate to a maintained plugin.","message":"Package has no updates since 2016; dependencies (jsdoc) may have breaking changes.","severity":"deprecated","affected_versions":">=0.1.0"},{"fix":"Experiment with 'jsdoc.conf', 'jsdoc.conf.json', or absolute path.","message":"Option 'conf' expects a file path without .json extension? Documentation unclear; actual behavior may differ.","severity":"gotcha","affected_versions":"0.3.0"},{"fix":"Set preserveTmpFile: true during development, clean manually if needed.","message":"Plugin creates temporary files; may leave artifacts if preserveTmpFile false and jsdoc crashes.","severity":"gotcha","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":"Use correct require: const JsDocPlugin = require('jsdoc-webpack-plugin');","cause":"Using named import instead of default: const { JsDocPlugin } = require('jsdoc-webpack-plugin');","error":"TypeError: JsDocPlugin is not a constructor"},{"fix":"Install jsdoc: npm install --save-dev jsdoc","cause":"jsdoc is not installed (not a package dependency, only peer).","error":"Error: Cannot find module 'jsdoc'"},{"fix":"Ensure plugin is instantiated correctly: new JsDocPlugin({ conf: '...' }) and webpack version <= 3.","cause":"Plugin options passed incorrectly or webpack version incompatible.","error":"WebpackOptionsValidationError: Invalid configuration object"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}