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

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

  • Internal

    Parameters

    • options: Readonly<CompilerOptions>

    Returns CompilerOptions

  • Marks the options as readonly, enables caching when fetching options, which improves performance.

    Returns void

  • Gets the file names discovered through reading a tsconfig file.

    Returns readonly string[]

  • 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[]

  • Checks if the options object has been frozen, preventing future changes to option values.

    Returns boolean

  • Resets the option bag to all default values. If a name is provided, will only reset that name.

    Parameters

    • Optionalname: keyof TypeDocOptionMap

    Returns void

  • Parameters

    • Optionalname: string

    Returns void

  • 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

  • Sets the given declared option. Throws if setting the option fails.

    Type Parameters

    Parameters

    • name: K
    • value: TypeDocOptions[K]
    • OptionalconfigPath: string

      the directory to resolve Path type values against

    Returns void

  • Parameters

    • name: string
    • value: unknown
    • OptionalconfigPath: string

    Returns void

  • Internal

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

    Returns {
        __optionSnapshot: never;
    }

    • __optionSnapshot: never