Maintains a collection of option declarations split into TypeDoc options and TypeScript options. Ensures options are of the correct type for calling code.

Option Discovery

Since plugins commonly add custom options, and TypeDoc does not permit options which have not been declared to be set, options must be read twice. The first time options are read, a noop logger is passed so that any errors are ignored. Then, after loading plugins, options are read again, this time with the logger specified by the application.

Options are read in a specific order.

  1. argv (0) - Must be read first since it should change the files read when passing --options or --tsconfig.
  2. typedoc-json (100) - Read next so that it can specify the tsconfig.json file to read.
  3. tsconfig-json (200) - Last config file reader, cannot specify the typedoc.json file to read.
  4. argv (300) - Read argv again since any options set there should override those set in config files.

Constructors

Properties

packageDir?: string

In packages mode, the directory of the package being converted.

Methods

  • Adds an option declaration to the container with extra type checking to ensure that the runtime type is consistent with the declared type.

    Type Parameters

    Parameters

    • declaration: {
          name: K;
      } & KeyToDeclaration<K>

      The option declaration that should be added.

    Returns void

  • Adds an option declaration to the container.

    Parameters

    • declaration: Readonly<DeclarationOption>

      The option declaration that should be added.

    Returns void

  • Adds an option reader that will be used to read configuration values from the command line, configuration files, or other locations.

    Parameters

    Returns void

  • Gets the project references - used in solution style tsconfig setups.

    Returns readonly ProjectReference[]

  • Discover similar option names to the given name, for use in error reporting.

    Parameters

    • missingName: string

    Returns string[]

  • Internal

    Take a snapshot of option values now, used in tests only.

    Parameters

    • snapshot: {
          __optionSnapshot: never;
      }
      • __optionSnapshot: never

    Returns void

  • Sets the compiler options that will be used to get a TS program.

    Parameters

    • fileNames: readonly string[]
    • options: CompilerOptions
    • projectReferences: undefined | readonly ProjectReference[]

    Returns void

  • Internal

    Take a snapshot of option values now, used in tests only.

    Returns {
        __optionSnapshot: never;
    }

    • __optionSnapshot: never