
Security News
Browserslist-rs Gets Major Refactor, Cutting Binary Size by Over 1MB
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
documentation
Advanced tools
The 'documentation' package is a tool for generating documentation from JavaScript code. It supports various output formats and can be integrated into build processes to automate the creation of documentation.
Generate HTML Documentation
This command generates HTML documentation from the JavaScript files located in the 'src' directory and outputs it to the 'docs' directory. It is useful for creating a visually accessible format of your code's documentation.
documentation build src/** -f html -o docs
Generate Markdown Documentation
This command generates Markdown documentation from the JavaScript files in the 'src' directory and outputs it to a single 'docs.md' file. Markdown is a versatile format that can be easily shared and integrated with various platforms.
documentation build src/** -f md -o docs.md
Serve Documentation Locally
This command starts a local server to serve the documentation generated from the JavaScript files in the 'src' directory. It allows developers to view and interact with the documentation in a web browser during development.
documentation serve src/**
Generate JSON Documentation
This command generates JSON documentation from the JavaScript files in the 'src' directory and outputs it to a 'docs.json' file. JSON format is useful for further processing or integration with other tools.
documentation build src/** -f json -o docs.json
JSDoc is a popular tool for generating documentation from JavaScript source code. It is similar to 'documentation' in that it parses comments in the code to produce documentation. However, JSDoc is more widely used and has a larger community, which can be beneficial for support and finding resources.
TypeDoc is a documentation generator specifically for TypeScript projects. It is similar to 'documentation' but is tailored for TypeScript, providing better support for TypeScript-specific features. It is a good choice if you are working primarily with TypeScript.
ESDoc is a documentation generator for ECMAScript, similar to 'documentation'. It offers features like test coverage and linting for documentation comments. ESDoc is particularly focused on ES6 and beyond, making it a good choice for modern JavaScript projects.
A documentation generation system that's beautiful by default, flexible across formats and styles, and powerful enough to support JSDoc's advanced syntax.
ES5 and ES6 support of JavaScript, with support for other transpilers a possibility
Using babel, we have support for a wide range of ES6 & ES7 features, as well as Flow type annotations.
Powerful inference
By statically analyzing your JavaScript code, documentation.js can write many parts of your documentation for you. It can infer parameter names and types, class membership, return values from Flow types, and lots more.
Support for C++
You can use the --polyglot
mode of documentationjs to document native node.js
modules in JSDoc within the C++ code that implements the feature.
Support for following dependency trees
Using module-deps, documentation
can
crawl require()
graphs - pointing it to your app's main
file will find all
referenced files and include all of their documentation.
GitHub Integration
The --github
option automatically permalinks documentation to the exact
sections of code it refers to in a GitHub repository.
Gulp integration
The gulp-documentation project
lets you run documentation
as a Gulp build task.
Getting_Started: start here
Usage: how to use documentation.js
Recipes: tricks for writing effective JSDoc docs
Node API: documentation.js's self-generated documentation
Theming HTML: tips for theming documentation output in HTML
See also: a list of projects similar to documentation.js
Globally install documentation
using the npm package manager:
$ npm install -g documentation
This installs a command called documentation
in your path, that you can
point at JSDoc-annotated source code to generate
human-readable documentation. First run documentation
with the -h
option for help:
$ documentation -h
Usage: documentation <command> [options]
Options:
--lint check output for common style and uniformity mistakes
[boolean]
-t, --theme specify a theme: this must be a valid theme module
-p, --private generate documentation tagged as private [boolean]
--version Show version number [boolean]
--name project name. by default, inferred from package.json
--project-version project version. by default, inferred from package.json
--shallow shallow mode turns off dependency resolution, only
processing the specified files (or the main script
specified in package.json) [boolean] [default: false]
--polyglot polyglot mode turns off dependency resolution and enables
multi-language support. use this to document c++ [boolean]
-g, --github infer links to github in documentation [boolean]
-o, --output output location. omit for stdout, otherwise is a filename
for single-file outputs and a directory name for multi-file
outputs like html [default: "stdout"]
-c, --config configuration file. an array defining explicit sort order
-h, --help Show help [boolean]
-f, --format [choices: "json", "md", "html"] [default: "json"]
Examples:
documentation foo.js parse documentation in a given file
We have plenty of issues that we'd love help with.
JSDoc
support, including typedefs.documentation is an OPEN Open Source Project. This means that:
Individuals making significant and valuable contributions are given commit-access to the project to contribute as they see fit. This project is more like an open wiki than a standard guarded open source project.
3.0.3
FAQs
a documentation generator
The npm package documentation receives a total of 170,850 weekly downloads. As such, documentation popularity was classified as popular.
We found that documentation demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 5 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
Research
Security News
Eight new malicious Firefox extensions impersonate games, steal OAuth tokens, hijack sessions, and exploit browser permissions to spy on users.
Security News
The official Go SDK for the Model Context Protocol is in development, with a stable, production-ready release expected by August 2025.