or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

cli-interface.mdconfiguration.mdcore-application.mddependencies-engine.mdexport-engine.mdfile-engine.mdhtml-engine.mdindex.mdsearch-engine.md
tile.json

core-application.mddocs/

Core Application

The core application classes provide the foundation for both programmatic and CLI usage of Compodoc.

Capabilities

Application Class

Main application class for programmatic usage, providing comprehensive documentation generation functionality.

/**
 * Create a new compodoc application instance
 * @param options - Configuration options for the application
 */
class Application {
  constructor(options?: Object);
  
  // Public properties
  files: Array<string>;
  updatedFiles: Array<string>;
  watchChangedFiles: Array<string>;
  isWatching: boolean;
  
  // Core generation methods
  protected generate(): Promise<{}>;
  protected testCoverage(): void;
  
  // File management
  setFiles(files: Array<string>): void;
  setUpdatedFiles(files: Array<string>): void;
  clearUpdatedFiles(): void;
  
  // File checking utilities
  hasWatchedFilesTSFiles(): boolean;
  hasWatchedFilesRootMarkdownFiles(): boolean;
  
  // Development server
  runWebServer(folder: string): void;
  runWatch(): void;
  
  // Content preparation methods
  prepareModules(someModules?: any): Promise<any>;
  preparePipes(somePipes?: any): Promise<any>;
  prepareClasses(someClasses?: any): Promise<any>;
  prepareInterfaces(someInterfaces?: any): Promise<any>;
  prepareMiscellaneous(someMisc?: any): Promise<any>;
  prepareControllers(someControllers?: any): Promise<any>;
  prepareEntities(someEntities?: any): Promise<any>;
  prepareComponents(someComponents?: any): Promise<any>;
  prepareDirectives(someDirectives?: any): Promise<any>;
  prepareInjectables(someInjectables?: any): Promise<void>;
  prepareInterceptors(someInterceptors?: any): Promise<void>;
  prepareGuards(someGuards?: any): Promise<void>;
  prepareRoutes(): Promise<void>;
  prepareCoverage(): Promise<any>;
  prepareUnitTestCoverage(): Promise<any>;
  
  // Page processing
  processPages(): void;
  processAdditionalPages(): void;
  processAssetsFolder(): void;
  processResources(): void;
  processGraphs(): void;
}

Usage Examples:

import { Application } from "@compodoc/compodoc";

// Basic usage
const app = new Application({
  tsconfig: "./tsconfig.json",
  output: "./documentation"
});

app.generate().then(() => {
  console.log("Documentation generated successfully");
});

// Advanced configuration
const advancedApp = new Application({
  tsconfig: "./tsconfig.json",
  output: "./docs",
  name: "My Angular App Documentation",
  theme: "material",
  serve: true,
  port: 4000,
  watch: true,
  disableGraph: false,
  disableCoverage: false,
  coverageTest: 80,
  exportFormat: "html",
  language: "en-US"
});

advancedApp.generate();

CliApplication Class

CLI-specific application class that extends Application with command-line interface functionality.

/**
 * CLI application class extending Application for command-line usage
 */
class CliApplication extends Application {
  protected start(): any;
  
  // Inherits all methods and properties from Application
}

Usage Examples:

import { CliApplication } from "@compodoc/compodoc";

// Programmatic CLI usage
const cliApp = new CliApplication();
cliApp.start(); // Processes command-line arguments and runs generation

File Management

Methods for managing source files during documentation generation and watch mode.

/**
 * Store files for initial processing
 * @param files - Array of file paths to process
 */
setFiles(files: Array<string>): void;

/**
 * Store files for watch processing
 * @param files - Array of updated file paths
 */
setUpdatedFiles(files: Array<string>): void;

/**
 * Clear files for watch processing
 */
clearUpdatedFiles(): void;

/**
 * Check presence of TypeScript files in updatedFiles list
 * @returns True if TypeScript files are present
 */
hasWatchedFilesTSFiles(): boolean;

/**
 * Check presence of root markdown files in updatedFiles list
 * @returns True if root markdown files are present
 */
hasWatchedFilesRootMarkdownFiles(): boolean;

Development Server

Methods for running the development server with live reload capabilities.

/**
 * Start development web server
 * @param folder - Folder to serve documentation from
 */
runWebServer(folder: string): void;

/**
 * Start file watching for development mode
 */
runWatch(): void;

Content Preparation

Methods for preparing different types of Angular/TypeScript content for documentation.

/**
 * Prepare modules for documentation generation
 * @param someModules - Optional specific modules to prepare
 * @returns Promise resolving when preparation is complete
 */
prepareModules(someModules?: any): Promise<any>;

/**
 * Prepare components for documentation generation
 * @param someComponents - Optional specific components to prepare
 * @returns Promise resolving when preparation is complete
 */
prepareComponents(someComponents?: any): Promise<any>;

/**
 * Prepare directives for documentation generation
 * @param someDirectives - Optional specific directives to prepare
 * @returns Promise resolving when preparation is complete
 */
prepareDirectives(someDirectives?: any): Promise<any>;

/**
 * Prepare injectables for documentation generation
 * @param someInjectables - Optional specific injectables to prepare
 * @returns Promise resolving when preparation is complete
 */
prepareInjectables(someInjectables?: any): Promise<void>;

/**
 * Prepare guards for documentation generation
 * @param someGuards - Optional specific guards to prepare
 * @returns Promise resolving when preparation is complete
 */
prepareGuards(someGuards?: any): Promise<void>;

/**
 * Prepare pipes for documentation generation
 * @param somePipes - Optional specific pipes to prepare
 * @returns Promise resolving when preparation is complete
 */
preparePipes(somePipes?: any): Promise<any>;

/**
 * Prepare classes for documentation generation
 * @param someClasses - Optional specific classes to prepare
 * @returns Promise resolving when preparation is complete
 */
prepareClasses(someClasses?: any): Promise<any>;

/**
 * Prepare interfaces for documentation generation
 * @param someInterfaces - Optional specific interfaces to prepare
 * @returns Promise resolving when preparation is complete
 */
prepareInterfaces(someInterfaces?: any): Promise<any>;

/**
 * Process routes for documentation generation
 * @returns Promise resolving when routes are processed
 */
prepareRoutes(): Promise<void>;

/**
 * Process documentation coverage report
 * @returns Promise resolving when coverage is processed
 */
prepareCoverage(): Promise<any>;

/**
 * Process unit test coverage report
 * @returns Promise resolving when unit test coverage is processed
 */
prepareUnitTestCoverage(): Promise<any>;