Skip to content

Latest commit

 

History

History
15 lines (9 loc) · 3.41 KB

README.md

File metadata and controls

15 lines (9 loc) · 3.41 KB

tjsdoc

Code Style License Gitter

dependencies Status

TJSDoc is a forthcoming production quality documentation generation tool for Javascript ES6+ & Typescript that provides complete documentation for single module projects or across many modules including integration with modern package managers such as NPM, JSPM / SystemJS, and WebPack. Presently ES6+ support is mostly complete pending final presentation / documentation publishing support, but the ground work has been set to natively support Typescript as well.

While there are many first party repos / modules that make up TJSDoc the only issues forum enabled is found in the main TJSDoc repo. All issues posted will be appropriately tagged for the module they correspond to in addition to questions asked about TJSDoc. At this time you may wish to follow the informal refactoring issue where update / status posts on progress towards initial full release is being tracked.

From a technical perspective what TJSDoc provides is a runtime system that analyzes ES6+ source code coverting it to AST via Babylon and likewise a runtime system for Typescript / AST parsing. A persistent documentation database is generated from the AST which can be accessed at any time via events. The entire architecture including all internal and external modules is driven by a plugin system which enables inter-module / plugin communication via an eventbus. Each plugin can publish services available by events rather than requiring traditional / OOP extension. This repo tjsdoc provides the main orchestration of the runtime system. The final step of the runtime is a publishing step which generates the output documentation. Presently there is a static HTML publisher available that is based on material-components-web. There are two main organization accounts available on Github that contain all first party repos; typhonjs-node-tjsdoc and typhonjs-node-tjsdoc-plugins. When finally published on NPM the ES6+ runtime will be available by tjsdoc-babylon and Typescript via tjsdoc-typescript.

TJSDoc is a spiritual successor to ESDoc and originated as a hard fork of ESDoc 0.5.2 and significant work has been ongoing since the beginning of 2017 providing many advancements to the runtime architecture and integration possibilities for 3rd party plugins. From an organizational perspective the governance model for TJSDoc is based on the C4 - Collective Code Construction Contract and as such aims to be more inclusive from maintainership and outside contribution angles. Discussion and resolution of issues and patches submitted will be rapidly handled.