or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

bundle-management.mdcompiler-hosts.mdconfiguration.mdindex.mdmain-compilation.mdmetadata-collection.mdmetadata-schema.md
tile.json

configuration.mddocs/

Configuration Options

Configuration options for customizing Angular compilation behavior, including Angular-specific compiler options and CLI options for controlling the build process.

Capabilities

Angular Compiler Options

Main interface for Angular-specific compilation options that extend TypeScript's compiler options.

/**
 * Angular compiler options extending TypeScript compiler options
 */
interface AngularCompilerOptions extends ts.CompilerOptions {
  /** Absolute path to directory where generated files are written */
  genDir?: string;
  
  /** Path to directory containing tsconfig.json */
  basePath?: string;
  
  /** Don't produce .metadata.json files (incompatible with --out bundled emit) */
  skipMetadataEmit?: boolean;
  
  /** Produce error if metadata would cause runtime errors when used */
  strictMetadataEmit?: boolean;
  
  /** Don't produce .ngfactory.ts or .ngstyle.ts files */
  skipTemplateCodegen?: boolean;
  
  /** Output file name for flat module index */
  flatModuleOutFile?: string;
  
  /** Module ID for flat module index */
  flatModuleId?: string;
  
  /** Generate code for libraries, not just applications */
  generateCodeForLibraries?: boolean;
  
  /** Generate Closure Compiler-friendly code */
  annotateForClosureCompiler?: boolean;
  
  /** How to emit decorator annotations ('decorators' | 'static fields') */
  annotationsAs?: 'decorators' | 'static fields';
  
  /** Enable compilation tracing */
  trace?: boolean;
  
  /** Enable debug mode (deprecated) */
  debug?: boolean;
  
  /** Enable legacy template syntax */
  enableLegacyTemplate?: boolean;
  
  /** Enable summaries for JIT compilation */
  enableSummariesForJit?: boolean;
  
  /** Always compile generated code even if unchanged */
  alwaysCompileGeneratedCode?: boolean;
  
  /** Preserve whitespace in templates */
  preserveWhitespaces?: boolean;
}

Usage Example:

import { AngularCompilerOptions } from "@angular/tsc-wrapped";

const angularOptions: AngularCompilerOptions = {
  // Standard TypeScript options
  target: ts.ScriptTarget.ES2015,
  module: ts.ModuleKind.CommonJS,
  
  // Angular-specific options
  genDir: "./generated",
  basePath: "./src",
  skipMetadataEmit: false,
  strictMetadataEmit: true,
  flatModuleOutFile: "index.js",
  flatModuleId: "my-library",
  generateCodeForLibraries: true,
  annotateForClosureCompiler: false,
  annotationsAs: "decorators",
  preserveWhitespaces: false
};

CLI Options

Base CLI Options

Base class for CLI options used throughout the compilation process.

/**
 * Base CLI options for compilation
 */
class CliOptions {
  /** Base path for resolving relative paths */
  basePath: string;
  
  /**
   * Creates CLI options
   * @param config - Configuration object with basePath
   */
  constructor(config: {basePath: string});
}

Usage Example:

import { CliOptions } from "@angular/tsc-wrapped";

const cliOptions = new CliOptions({
  basePath: "./src"
});

Angular Compiler CLI Options

CLI options specific to Angular compiler operations.

/**
 * CLI options for Angular compiler
 */
class NgcCliOptions extends CliOptions {
  /** Internationalization format */
  i18nFormat: string;
  
  /** Internationalization file path */
  i18nFile: string;
  
  /** Locale for internationalization */
  locale: string;
  
  /** Behavior for missing translations */
  missingTranslation: string;
  
  /**
   * Creates Angular compiler CLI options
   * @param config - Configuration object
   */
  constructor(config: {
    basePath: string;
    i18nFormat: string;
    i18nFile: string;
    locale: string;
    missingTranslation: string;
  });
}

Usage Example:

import { NgcCliOptions } from "@angular/tsc-wrapped";

const ngcOptions = new NgcCliOptions({
  basePath: "./src",
  i18nFormat: "xlf",
  i18nFile: "./locale/messages.xlf",
  locale: "en-US", 
  missingTranslation: "warning"
});

I18n Extraction CLI Options

CLI options for internationalization extraction operations.

/**
 * CLI options for i18n extraction
 */
class I18nExtractionCliOptions extends CliOptions {
  /** Format for extracted i18n messages */
  i18nFormat: string | null;
  
  /** Locale for extraction */
  locale: string | null;
  
  /** Output file for extracted messages */
  outFile: string | null;
  
  /**
   * Creates i18n extraction CLI options
   * @param config - Configuration object
   */
  constructor(config: {
    i18nFormat?: string;
    locale?: string;
    outFile?: string;
  });
}

Usage Example:

import { I18nExtractionCliOptions } from "@angular/tsc-wrapped";

const i18nOptions = new I18nExtractionCliOptions({
  i18nFormat: "xlf2",
  locale: "en-US",
  outFile: "./locale/messages.xlf2"
});

Option Configuration Examples

Basic Development Configuration

import { AngularCompilerOptions, CliOptions } from "@angular/tsc-wrapped";

const developmentOptions: AngularCompilerOptions = {
  target: ts.ScriptTarget.ES2015,
  module: ts.ModuleKind.CommonJS,
  basePath: "./src",
  genDir: "./generated",
  skipMetadataEmit: false,
  strictMetadataEmit: false, // More lenient for development
  trace: true, // Enable tracing for debugging
  preserveWhitespaces: true // Preserve whitespace for easier debugging
};

const cliOptions = new CliOptions({
  basePath: "./src"
});

Production Library Configuration

import { AngularCompilerOptions } from "@angular/tsc-wrapped";

const libraryOptions: AngularCompilerOptions = {
  target: ts.ScriptTarget.ES2015,
  module: ts.ModuleKind.ES2015,
  basePath: "./src",
  genDir: "./dist",
  skipMetadataEmit: false,
  strictMetadataEmit: true, // Strict for production
  generateCodeForLibraries: true,
  flatModuleOutFile: "index.js",
  flatModuleId: "my-library",
  annotateForClosureCompiler: true, // Enable for better optimization
  preserveWhitespaces: false // Minimize output
};