ESDoc Integrate Test Plugin
The ESDoc Integrate Test Plugin is an extension for the ESDoc documentation generator, designed to incorporate integration test information directly into generated API documentation. It identifies test files based on configurable patterns (e.g., `(spec|Test)\.js$`) and extracts relevant interfaces such as `describe`, `it`, and `context` from test frameworks like Mocha or Jest, embedding these examples alongside the code they test. The plugin's current stable version is 1.0.0. However, the broader ESDoc ecosystem, including this plugin, appears to be abandoned, with no significant development or maintenance activity since approximately 2020. This means it lacks support for modern JavaScript features, TypeScript, and recent Node.js versions, making it unsuitable for contemporary projects requiring up-to-date documentation tooling. Its key differentiator was its tight integration of testing context into API docs, a feature now often handled by more actively maintained tools through different mechanisms.
Warnings
- breaking The ESDoc ecosystem, including this plugin, appears to be abandoned since approximately 2020. This means there is no active maintenance, security updates, or compatibility with newer JavaScript language features (ES2020+), TypeScript, or recent Node.js versions. Expect potential compatibility issues with modern tooling and environments.
- gotcha The plugin's `engines.node` requirement is `>= 6.0.0`, which is extremely old and likely incompatible with current Node.js LTS versions (e.g., Node.js 18+). Running with newer Node.js versions may lead to unexpected errors or silent failures.
Install
-
npm install esdoc-integrate-test-plugin -
yarn add esdoc-integrate-test-plugin -
pnpm add esdoc-integrate-test-plugin
Quickstart
{
"source": "./src",
"destination": "./docs",
"plugins": [
{
"name": "esdoc-integrate-test-plugin",
"option": {
"source": "./test/",
"interfaces": ["describe", "it", "context", "suite", "test"],
"includes": ["(spec|Spec|test|Test)\\.js$"],
"excludes": ["\\.config\\.js$"]
}
}
]
}