Documentation Tool 2 ESDoc - JUCSE49-Mavericks/Smart-Class-Routine-Management-System GitHub Wiki

Author:

Sadia Hossain(SH)

EsDoc Documentation:

EsDoc Logo

Introduction:

What is EsDoc?

EsDoc is a tool used for generating documentation for JavaScript projects, particularly focused on code written in ES6 (ECMAScript 6) and later versions. It automatically extracts comments and metadata from your source code to generate structured, user-friendly documentation. This is helpful for developers working on large projects or libraries, allowing them to easily document APIs, functions, classes, and modules.

Basic Syntax for Documentation for variable:

EsDoc can document JavaScript code using JSDoc-style comments. The comments are written above functions, methods, classes, or any other code blocks you want to document. They start with /** and end with */.

Syntax Image

Tags and Types:

Common Tags Used in EsDoc:

  • @param {DataType} name – Describes a parameter.
  • @return {DataType} – Describes the return type.
  • @class – Describes a class.
  • @type {DataType} – Describes the type of a variable.
  • @module – Documents a module.
  • @constructor – Indicates that a function is a constructor.

Installation:

How to install EsDoc:

First nodejs must be installed:

Click here: NodejsInstall

Check if nodejs is properly installed:

Nodejs check

To install EsDoc locally in your project:

Local install

Configure EsDoc:

First Create a file named esdoc.json in root of the project and then modify the file:

configesdoc


Add script to packacge.json file:

package.json


Usage:

_ Brief Description For EsDoc:_

EsDoc Description

Document a function:

comment

Generate Document:

runesdoc

After running EsDoc a docs named folder will be created:

output

After opening with live server:

index

How much documentation is done:

percent

Summary of documentation:

summary


Comparison EsDoc and Jsdoc:

Output Format:

jsdoc: Documentation tool that provides customizable templates for generating documentation in various formats. esdoc: Documentation tool that supports ES6/ES7 syntax and features, generating documentation in various formats.

Language Support:

jsdoc: Widely used for documenting JavaScript projects, supporting JSDoc syntax and conventions. esdoc: Specifically designed for ECMAScript (JavaScript) codebases, supporting ES6/ES7 syntax and features.

Plugin:

jsdoc: Provides customizable templates and options for tailoring the documentation to specific project requirements. esdoc: Offers a rich set of features and plugins for customizing the documentation output.

Community:

jsdoc: Well-established within the JavaScript community, with a large user base and extensive documentation resources. esdoc: Supported by a community of ECMAScript developers and contributors, with a focus on enhancing JavaScript documentation practices.


Advantages and Disadvantages:

Advantages:

  1. Modern JavaScript Support

ES6+ Features: EsDoc provides robust support for modern JavaScript features such as ES6 classes, modules, arrow functions, and async/await. This makes it suitable for documenting projects using the latest JavaScript standards.

  1. Built-In Plugins

Standard Plugin: EsDoc comes with the esdoc-standard-plugin by default, which provides essential features for generating documentation. This includes automatic generation of documentation from JSDoc comments and a built-in search feature.

  1. Automatic Code Analysis

Code Coverage Reporting: With the esdoc-coverage-plugin, EsDoc can generate code coverage reports, which are useful for understanding the extent of code that is covered by tests.

  1. Documentation for Various JavaScript Features

Detailed Documentation: EsDoc supports detailed documentation for various JavaScript constructs, including classes, methods, functions, and variables. It also handles more complex documentation needs, such as defining types and documenting parameters.

  1. Plugin Ecosystem

Extensible: EsDoc supports plugins, allowing developers to extend its functionality. This means you can customize the documentation generation process to fit specific needs, such as adding custom formatting or additional metadata.

Disadvantages:

  1. Limited Ecosystem and Community

Smaller Community: Compared to JSDoc, EsDoc has a smaller community and fewer third-party plugins or extensions. This can make finding support, resources, or solutions to specific issues more challenging.

  1. Maintenance and Updates

Less Frequent Updates: EsDoc may not be updated as frequently as other documentation tools like JSDoc. This could result in slower adoption of new features or fixes for bugs.

  1. Documentation Quality

Documentation Style: Some users may find EsDoc’s default documentation style less customizable compared to JSDoc. While EsDoc provides a clean design, it may lack the extensive customization options that JSDoc offers.

  1. Configuration Limitations

Less Flexibility: While EsDoc’s configuration is simple, it may offer less flexibility compared to JSDoc’s more granular configuration options. This can be a limitation if you require highly specific or complex documentation setups.


More details: