How to generate documentation in Angular Compodoc
Compodoc
is a document generator for angular applications.
It generates documentation for used components of an angular application.
It includes
- Modules
- Components
- API and Services
- Routes
- Directives
- Pipes
- Model classes and interfaces
Documentation for
Angular Documentation Generator using compodoc toll
I have an angular application already created with a lot of pipes examples
let’s install compodoc to an existing application, First, Go to the application
npm i -g @compodoc/compodoc
Now, after installation, the compodoc command is available
A:\work\angular-pipe-examples>compodoc -p tsconfig.json
1.1.18
TypeScript version used by Compodoc : 4.5.5
TypeScript version of current project : 4.4.3
Node.js version : v14.17.0
Operating system : Windows 10
[10:03:28] No configuration file found, switching to CLI flags.
[10:03:28] Using tsconfig file : A:\work\angular-pipe-examples\tsconfig.json
[10:03:28] Including : A:\work\angular-pipe-examples\.browserslistrc
[10:03:28] Including : A:\work\angular-pipe-examples\.editorconfig
[10:03:28] Including : A:\work\angular-pipe-examples\.gitignore
[10:03:28] Including : A:\work\angular-pipe-examples\angular.json
[10:03:28] Including : A:\work\angular-pipe-examples\package.json
[10:03:28] Including : A:\work\angular-pipe-examples\README.md
[10:03:28] Including : A:\work\angular-pipe-examples\tsconfig.json
[10:03:28] Including : A:\work\angular-pipe-examples\karma.conf.js
[10:03:28] Including : A:\work\angular-pipe-examples\tsconfig.app.json
[10:03:28] Including : A:\work\angular-pipe-examples\tsconfig.spec.json
[10:03:28] Including : A:\work\angular-pipe-examples\package-lock.json
[10:03:28] Including : A:\work\angular-pipe-examples\src\favicon.ico
[10:03:28] Including : A:\work\angular-pipe-examples\src\index.html
[10:03:28] Including : A:\work\angular-pipe-examples\src\main.ts
[10:03:28] Including : A:\work\angular-pipe-examples\src\polyfills.ts
[10:03:28] Including : A:\work\angular-pipe-examples\src\styles.scss
[10:03:28] Including : A:\work\angular-pipe-examples\src\test.ts
[10:03:28] Including : A:\work\angular-pipe-examples\src\app\app-routing.module.ts
[10:03:28] Including : A:\work\angular-pipe-examples\src\app\app.component.html
[10:03:28] Including : A:\work\angular-pipe-examples\src\app\app.module.ts
[10:03:28] Including : A:\work\angular-pipe-examples\src\assets\.gitkeep
[10:03:28] Including : A:\work\angular-pipe-examples\src\environments\environment.prod.ts
[10:03:28] Including : A:\work\angular-pipe-examples\src\app\app.component.scss
[10:03:28] Including : A:\work\angular-pipe-examples\src\environments\environment.ts
[10:03:28] Ignoring : A:\work\angular-pipe-examples\src\app\app.component.spec.ts
[10:03:28] Including : A:\work\angular-pipe-examples\src\app\app.component.ts
[10:03:28] Including : A:\work\angular-pipe-examples\src\app\currency-pipe-example\currency-pipe-example.component.html
[10:03:28] Including : A:\work\angular-pipe-examples\src\app\currency-pipe-example\currency-pipe-example.component.scss
[10:03:28] Ignoring : A:\work\angular-pipe-examples\src\app\currency-pipe-example\currency-pipe-example.component.spec.ts
[10:03:28] Including : A:\work\angular-pipe-examples\src\app\decimal-pipe-example\decimal-pipe-example.component.html
[10:03:28] Including : A:\work\angular-pipe-examples\src\app\decimal-pipe-example\decimal-pipe-example.component.scss
[10:03:28] Including : A:\work\angular-pipe-examples\src\app\currency-pipe-example\currency-pipe-example.component.ts
[10:03:28] Ignoring : A:\work\angular-pipe-examples\src\app\decimal-pipe-example\decimal-pipe-example.component.spec.ts
[10:03:28] Including : A:\work\angular-pipe-examples\src\app\decimal-pipe-example\decimal-pipe-example.component.ts
[10:03:28] Including : A:\work\angular-pipe-examples\src\app\lower-case-pipe\lower-case-pipe.component.html
[10:03:28] Ignoring : A:\work\angular-pipe-examples\src\app\lower-case-pipe\lower-case-pipe.component.spec.ts
[10:03:28] Including : A:\work\angular-pipe-examples\src\app\title-case-pipe\title-case-pipe.component.html
[10:03:28] Including : A:\work\angular-pipe-examples\src\app\title-case-pipe\title-case-pipe.component.scss
[10:03:28] Ignoring : A:\work\angular-pipe-examples\src\app\title-case-pipe\title-case-pipe.component.spec.ts
[10:03:28] Including : A:\work\angular-pipe-examples\src\app\title-case-pipe\title-case-pipe.component.ts
[10:03:28] Including : A:\work\angular-pipe-examples\src\app\upper-case-pipe\upper-case-pipe.component.html
[10:03:28] Including : A:\work\angular-pipe-examples\src\app\upper-case-pipe\upper-case-pipe.component.scss
[10:03:28] Ignoring : A:\work\angular-pipe-examples\src\app\upper-case-pipe\upper-case-pipe.component.spec.ts
[10:03:28] Including : A:\work\angular-pipe-examples\src\app\upper-case-pipe\upper-case-pipe.component.ts
[10:03:28] Including : A:\work\angular-pipe-examples\.angular\cache\babel-webpack\1525326e6782321538949d538eb1e17e.json
[10:03:28] Including : A:\work\angular-pipe-examples\src\app\lower-case-pipe\lower-case-pipe.component.scss
[10:03:28] Including : A:\work\angular-pipe-examples\.angular\cache\babel-webpack\0e2764a8f4b02530732f6f553b2c2712.json
[10:03:28] Including : A:\work\angular-pipe-examples\src\app\lower-case-pipe\lower-case-pipe.component.ts
[10:03:28] Including : A:\work\angular-pipe-examples\.angular\cache\babel-webpack\15c97a46e9522af6ff1bfcdafd84dda4.json
[10:03:28] Including : A:\work\angular-pipe-examples\.angular\cache\babel-webpack\3c3f6a7b192c325f441f4b5252baba0c.json
[10:03:28] Including : A:\work\angular-pipe-examples\.angular\cache\babel-webpack\4e4e5a9d500b913dfaa82897a502f118.json
[10:03:28] Including : A:\work\angular-pipe-examples\.angular\cache\babel-webpack\28992d1446a7a4c4be92e1729bc7efcc.json
[10:03:28] Including : A:\work\angular-pipe-examples\.angular\cache\babel-webpack\5cfefb9c3ebe97b5113b778391563bdc.json
[10:03:28] Including : A:\work\angular-pipe-examples\.angular\cache\babel-webpack\2fdb9618994a060f405831fb715b6a59.json
[10:03:28] Including : A:\work\angular-pipe-examples\.angular\cache\babel-webpack\69d69519495a3c92c94933801ffc50d7.json
[10:03:28] Including : A:\work\angular-pipe-examples\.angular\cache\babel-webpack\759a12358d936a613ed5d61f3419a220.json
[10:03:28] Including : A:\work\angular-pipe-examples\.angular\cache\babel-webpack\74e669d47f05eae4e51271607462bfa2.json
[10:03:28] Including : A:\work\angular-pipe-examples\.angular\cache\babel-webpack\7c8d0fe952b02348695b188d9300ca8a.json
[10:03:28] Including : A:\work\angular-pipe-examples\.angular\cache\babel-webpack\47284b13dab0781e9edd82e05a803c8e.json
[10:03:28] Including : A:\work\angular-pipe-examples\.angular\cache\babel-webpack\896694d2bfc299583a3795e01207ba42.json
[10:03:28] Including : A:\work\angular-pipe-examples\.angular\cache\babel-webpack\9a876f7f03625cd3d1a07e0656062b41.json
[10:03:28] Including : A:\work\angular-pipe-examples\.angular\cache\babel-webpack\ae74896273ccc31f02c9a70aa591ba30.json
[10:03:28] Including : A:\work\angular-pipe-examples\.angular\cache\babel-webpack\c2f1bafd0f1e42cc648deae1318279a8.json
[10:03:28] Including : A:\work\angular-pipe-examples\.angular\cache\babel-webpack\d12955888b03034e25fdb8213a9ca9fe.json
[10:03:28] Including : A:\work\angular-pipe-examples\.angular\cache\babel-webpack\efeba5a98bdd0a6500392a7c821885ff.json
[10:03:28] Including : A:\work\angular-pipe-examples\.angular\cache\babel-webpack\ea39da09b24df2adbf55510818e09346.json
[10:03:28] Including : A:\work\angular-pipe-examples\.angular\cache\babel-webpack\f0df07900fb5cb02610ae52111a28fc3.json
[10:03:28] Including : A:\work\angular-pipe-examples\.angular\cache\babel-webpack\5afc63b1fa4ea86470878752549581dc.json
[10:03:28] Including : A:\work\angular-pipe-examples\.angular\cache\angular-webpack\2bd0f7f4885e89cfb344ea2a7ba4ed2416277abc\0.pack
[10:03:28] Including : A:\work\angular-pipe-examples\.angular\cache\angular-webpack\2bd0f7f4885e89cfb344ea2a7ba4ed2416277abc\1.pack
[10:03:28] Including : A:\work\angular-pipe-examples\.angular\cache\angular-webpack\2bd0f7f4885e89cfb344ea2a7ba4ed2416277abc\11.pack
[10:03:28] Including : A:\work\angular-pipe-examples\.angular\cache\angular-webpack\2bd0f7f4885e89cfb344ea2a7ba4ed2416277abc\13.pack
[10:03:28] Including : A:\work\angular-pipe-examples\.angular\cache\angular-webpack\2bd0f7f4885e89cfb344ea2a7ba4ed2416277abc\12.pack
[10:03:28] Including : A:\work\angular-pipe-examples\.angular\cache\angular-webpack\2bd0f7f4885e89cfb344ea2a7ba4ed2416277abc\14.pack
[10:03:28] Including : A:\work\angular-pipe-examples\.angular\cache\angular-webpack\2bd0f7f4885e89cfb344ea2a7ba4ed2416277abc\15.pack
[10:03:28] Including : A:\work\angular-pipe-examples\.angular\cache\angular-webpack\2bd0f7f4885e89cfb344ea2a7ba4ed2416277abc\2.pack
[10:03:28] Including : A:\work\angular-pipe-examples\.angular\cache\angular-webpack\2bd0f7f4885e89cfb344ea2a7ba4ed2416277abc\4.pack
[10:03:28] Including : A:\work\angular-pipe-examples\.angular\cache\angular-webpack\2bd0f7f4885e89cfb344ea2a7ba4ed2416277abc\3.pack
[10:03:28] Including : A:\work\angular-pipe-examples\.angular\cache\angular-webpack\2bd0f7f4885e89cfb344ea2a7ba4ed2416277abc\5.pack
[10:03:28] Including : A:\work\angular-pipe-examples\.angular\cache\angular-webpack\2bd0f7f4885e89cfb344ea2a7ba4ed2416277abc\6.pack
[10:03:28] Including : A:\work\angular-pipe-examples\.angular\cache\angular-webpack\2bd0f7f4885e89cfb344ea2a7ba4ed2416277abc\7.pack
[10:03:28] Including : A:\work\angular-pipe-examples\.angular\cache\angular-webpack\2bd0f7f4885e89cfb344ea2a7ba4ed2416277abc\8.pack
[10:03:28] Including : A:\work\angular-pipe-examples\.angular\cache\angular-webpack\2bd0f7f4885e89cfb344ea2a7ba4ed2416277abc\index.pack.old
[10:03:28] Including : A:\work\angular-pipe-examples\.angular\cache\angular-webpack\2bd0f7f4885e89cfb344ea2a7ba4ed2416277abc\9.pack
[10:03:28] Including : A:\work\angular-pipe-examples\.angular\cache\angular-webpack\2bd0f7f4885e89cfb344ea2a7ba4ed2416277abc\index.pack
[10:03:28] Including : A:\work\angular-pipe-examples\.angular\cache\angular-webpack\2bd0f7f4885e89cfb344ea2a7ba4ed2416277abc\10.pack
[10:03:28] Searching package.json file
[10:03:28] package.json file found
[10:03:28] Processing package.json dependencies
[10:03:28] Searching README.md, CHANGELOG.md, CONTRIBUTING.md, LICENSE.md, TODO.md files
[10:03:28] README.md file found
[10:03:28] Error during A:\work\angular-pipe-examples\CHANGELOG read
[10:03:28] Continuing without CHANGELOG.md file
[10:03:28] Error during A:\work\angular-pipe-examples\CONTRIBUTING read
[10:03:28] Continuing without CONTRIBUTING.md file
[10:03:28] Error during A:\work\angular-pipe-examples\LICENSE read
[10:03:28] Continuing without LICENSE.md file
[10:03:28] Error during A:\work\angular-pipe-examples\TODO read
[10:03:28] Continuing without TODO.md file
[10:03:28] Get dependencies data
[10:03:29] parsing : A:/work/angular-pipe-examples/src/main.ts
[10:03:29] parsing : A:/work/angular-pipe-examples/src/polyfills.ts
[10:03:29] parsing : A:/work/angular-pipe-examples/src/test.ts
[10:03:29] found : require
[10:03:29] found : context
[10:03:29] parsing : A:/work/angular-pipe-examples/src/app/app-routing.module.ts
[10:03:29] Analysing routes definitions and clean them if necessary
[10:03:29] found : AppRoutingModule
[10:03:29] : - imports:
[10:03:29] : - RouterModule
[10:03:29] : - exports:
[10:03:29] : - RouterModule
[10:03:29] parsing : A:/work/angular-pipe-examples/src/app/app.module.ts
[10:03:29] found : AppModule
[10:03:29] : - imports:
[10:03:29] : - CommonModule
[10:03:29] : - BrowserModule
[10:03:29] : - AppRoutingModule
[10:03:29] : - declarations:
[10:03:29] : - AppComponent
[10:03:29] : - TitleCasePipeComponent
[10:03:29] : - UpperCasePipeComponent
[10:03:29] : - LowerCasePipeComponent
[10:03:29] : - CurrencyPipeExampleComponent
[10:03:29] : - DecimalPipeExampleComponent
[10:03:29] : - providers:
[10:03:29] : - AppComponent
[10:03:29] : - DecimalPipe
[10:03:29] : - bootstrap:
[10:03:29] : - AppComponent
[10:03:29] parsing : A:/work/angular-pipe-examples/src/environments/environment.prod.ts
[10:03:29] found : environment
[10:03:29] parsing : A:/work/angular-pipe-examples/src/environments/environment.ts
[10:03:29] found : environment
[10:03:29] parsing : A:/work/angular-pipe-examples/src/app/app.component.ts
[10:03:29] found : AppComponent
[10:03:29] parsing : A:/work/angular-pipe-examples/src/app/currency-pipe-example/currency-pipe-example.component.ts
[10:03:29] found : CurrencyPipeExampleComponent
[10:03:29] parsing : A:/work/angular-pipe-examples/src/app/decimal-pipe-example/decimal-pipe-example.component.ts
[10:03:29] found : DecimalPipeExampleComponent
[10:03:29] parsing : A:/work/angular-pipe-examples/src/app/title-case-pipe/title-case-pipe.component.ts
[10:03:29] found : TitleCasePipeComponent
[10:03:29] : - providers:
[10:03:29] : - TitleCasePipe
[10:03:29] parsing : A:/work/angular-pipe-examples/src/app/upper-case-pipe/upper-case-pipe.component.ts
[10:03:29] found : UpperCasePipeComponent
[10:03:29] : - providers:
[10:03:29] : - UpperCasePipe
[10:03:29] parsing : A:/work/angular-pipe-examples/src/app/lower-case-pipe/lower-case-pipe.component.ts
[10:03:29] found : LowerCasePipeComponent
[10:03:29] : - providers:
[10:03:29] : - LowerCasePipe
[10:03:29] -------------------
[10:03:29] Project statistics
[10:03:29] - files : 80
[10:03:29] - module : 2
[10:03:29] - component : 6
[10:03:29] -------------------
[10:03:29] Prepare components
[10:03:29] AppComponent has a templateUrl, include it
[10:03:29] AppComponent has styleUrls, include them
[10:03:29] CurrencyPipeExampleComponent has a templateUrl, include it
[10:03:29] CurrencyPipeExampleComponent has styleUrls, include them
[10:03:29] DecimalPipeExampleComponent has a templateUrl, include it
[10:03:29] DecimalPipeExampleComponent has styleUrls, include them
[10:03:29] LowerCasePipeComponent has a templateUrl, include it
[10:03:29] LowerCasePipeComponent has styleUrls, include them
[10:03:29] TitleCasePipeComponent has a templateUrl, include it
[10:03:29] TitleCasePipeComponent has styleUrls, include them
[10:03:29] UpperCasePipeComponent has a templateUrl, include it
[10:03:29] UpperCasePipeComponent has styleUrls, include them
[10:03:29] Prepare modules
[10:03:29] Process routes
[10:03:29] Routes index generated
[10:03:29] Prepare miscellaneous
[10:03:29] Process documentation coverage report
[10:03:29] Process main graph
[10:03:30] Process module graph : AppModule
[10:03:30] Process module graph : AppRoutingModule
[10:03:30] Process pages
[10:03:30] Process page : AppComponent
[10:03:30] Process page : AppModule
[10:03:30] Process page : AppRoutingModule
[10:03:30] Process page : CurrencyPipeExampleComponent
[10:03:30] Process page : DecimalPipeExampleComponent
[10:03:30] Process page : LowerCasePipeComponent
[10:03:30] Process page : TitleCasePipeComponent
[10:03:30] Process page : UpperCasePipeComponent
[10:03:30] Process page : coverage
[10:03:30] Process page : dependencies
[10:03:30] Process page : index
[10:03:30] Process page : modules
[10:03:30] Process page : overview
[10:03:30] Process page : routes
[10:03:30] Process page : variables
[10:03:31] Process menu...
[10:03:32] Copy main resources
[10:03:33] Documentation generated in ./documentation/ in 5.547 seconds using gitbook theme
It generates a documentation folder in the Angular app.
Go to the documentation folder, You can open index.html
or run the below command
compodoc -s tsconfig.json
It starts with the web server and listening at the 8080 port.

You can access UI at localhost:8080 with the below UI elements and features
-
Getting Started
- OVERVIEW It is a Getting started guide with an overview of the graph of components and modules with dependencies with routes mapping in an application
- README It is a README file that contains markdown content rendered as HTML pages.
- Dependencies It contains application dependencies with all versions
-
Modules It contains Modules that include Routing modules with graph hierarchy
-
Miscellaneous It contains variables for application and test components
-
Routes
It contains application routes from start to end flow
- Documentation Coverage It includes documentation covered for each component and file.