Socket
Socket
Sign inDemoInstall

typedoc

Package Overview
Dependencies
15
Maintainers
5
Versions
305
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.26.0-beta.3 to 0.26.0-beta.4

dist/lib/internationalization/locales/jp.cjs

7

dist/lib/application.d.ts

@@ -25,2 +25,7 @@ import { Converter } from "./converter/index";

* Subscribe to these Events to control the application flow or alter the output.
*
* @remarks
*
* Access to an Application instance can be retrieved with {@link Application.bootstrap} or
* {@link Application.bootstrapWithPlugins}. It can not be constructed manually.
*/

@@ -70,3 +75,3 @@ export declare class Application extends ChildableComponent<Application, AbstractComponent<Application>> {

*/
static VERSION: string;
static readonly VERSION: string;
/**

@@ -73,0 +78,0 @@ * Emitted after plugins have been loaded and options have been read, but before they have been frozen.

@@ -133,2 +133,7 @@ "use strict";

* Subscribe to these Events to control the application flow or alter the output.
*
* @remarks
*
* Access to an Application instance can be retrieved with {@link Application.bootstrap} or
* {@link Application.bootstrapWithPlugins}. It can not be constructed manually.
*/

@@ -135,0 +140,0 @@ let Application = (() => {

@@ -52,2 +52,3 @@ "use strict";

app.logger.verbose(`Full run took ${Date.now() - start}ms`);
logRunSummary(app.logger);
process.exit(exitCode);

@@ -135,1 +136,13 @@ }

}
/**
* Generate a string with the number of errors and warnings found.
*/
function logRunSummary(logger) {
const { errorCount, warningCount } = logger;
if (errorCount) {
logger.error(logger.i18n.found_0_errors_and_1_warnings(errorCount.toString(), warningCount.toString()));
}
else if (warningCount) {
logger.warn(logger.i18n.found_0_errors_and_1_warnings(errorCount.toString(), warningCount.toString()));
}
}

@@ -61,2 +61,5 @@ "use strict";

const comment = getCommentWithCache(commentSource, config, logger, checker, files);
if (comment?.getTag("@import") || comment?.getTag("@license")) {
return;
}
if (moduleComment && comment) {

@@ -63,0 +66,0 @@ // Module comment, make sure it is tagged with @packageDocumentation or @module.

5

dist/lib/converter/plugins/ImplementsPlugin.js

@@ -295,3 +295,3 @@ "use strict";

}
function createLink(context, reflection, clause, expr, symbol, isOverwrite) {
function createLink(context, reflection, clause, expr, symbol, isInherit) {
const project = context.project;

@@ -317,3 +317,4 @@ const name = `${expr.expression.getText()}.${(0, utils_1.getHumanName)(symbol.name)}`;

}
if (isOverwrite) {
if (isInherit) {
target.setFlag(index_1.ReflectionFlag.Inherited);
target.inheritedFrom ??= types_1.ReferenceType.createBrokenReference(name, project);

@@ -320,0 +321,0 @@ }

@@ -89,2 +89,9 @@ "use strict";

}
if (reflection.isDeclaration()) {
reflection.type?.visit((0, models_1.makeRecursiveVisitor)({
union: (type) => {
type.elementSummaries = type.elementSummaries?.map((parts) => this.owner.resolveLinks(parts, reflection));
},
}));
}
if (reflection instanceof models_1.DeclarationReflection &&

@@ -91,0 +98,0 @@ reflection.readme) {

@@ -16,11 +16,4 @@ import { ConverterComponent } from "../components";

private fileNames;
private repositories?;
/**
* List of known repositories.
*/
private repositories;
/**
* List of paths known to be not under git control.
*/
private ignoredPaths;
/**
* Create a new SourceHandler instance.

@@ -46,9 +39,2 @@ */

private onBeginResolve;
/**
* Check whether the given file is placed inside a repository.
*
* @param fileName The name of the file a repository should be looked for.
* @returns The found repository info or undefined.
*/
private getRepository;
}

@@ -65,3 +65,2 @@ "use strict";

const repository_1 = require("../utils/repository");
const base_path_1 = require("../utils/base-path");
/**

@@ -108,10 +107,2 @@ * A handler that attaches source file information to reflections.

this.fileNames = (__runInitializers(this, _basePath_extraInitializers), new Set());
/**
* List of known repositories.
*/
this.repositories = {};
/**
* List of paths known to be not under git control.
*/
this.ignoredPaths = new Set();
}

@@ -159,3 +150,3 @@ get disableSources() { return __classPrivateFieldGet(this, _SourcePlugin_disableSources_accessor_storage, "f"); }

const sourceFile = node.getSourceFile();
const fileName = base_path_1.BasePath.normalize(sourceFile.fileName);
const fileName = (0, utils_1.normalizePath)(sourceFile.fileName);
this.fileNames.add(fileName);

@@ -177,3 +168,3 @@ let position;

const sourceFile = sig.getSourceFile();
const fileName = base_path_1.BasePath.normalize(sourceFile.fileName);
const fileName = (0, utils_1.normalizePath)(sourceFile.fileName);
this.fileNames.add(fileName);

@@ -202,2 +193,3 @@ const position = typescript_1.default.getLineAndCharacterOfPosition(sourceFile, getLocationNode(sig).getStart());

const basePath = this.basePath || (0, utils_1.getCommonDirectory)([...this.fileNames]);
this.repositories ||= new repository_1.RepositoryManager(basePath, this.gitRevision, this.gitRemote, this.sourceLinkTemplate, this.disableGit, this.application.logger);
for (const id in context.project.reflections) {

@@ -214,3 +206,3 @@ const refl = context.project.reflections[id];

if (this.disableGit || (0, repository_1.gitIsInstalled)()) {
const repo = this.getRepository(basePath, source.fullFileName);
const repo = this.repositories.getRepository(source.fullFileName);
source.url = repo?.getURL(source.fullFileName, source.line);

@@ -222,35 +214,2 @@ }

}
/**
* Check whether the given file is placed inside a repository.
*
* @param fileName The name of the file a repository should be looked for.
* @returns The found repository info or undefined.
*/
getRepository(basePath, fileName) {
if (this.disableGit) {
return new repository_1.AssumedRepository(basePath, this.gitRevision, this.sourceLinkTemplate);
}
// Check for known non-repositories
const dirName = (0, path_1.dirname)(fileName);
const segments = dirName.split("/");
for (let i = segments.length; i > 0; i--) {
if (this.ignoredPaths.has(segments.slice(0, i).join("/"))) {
return;
}
}
// Check for known repositories
for (const path of Object.keys(this.repositories)) {
if (fileName.toLowerCase().startsWith(path)) {
return this.repositories[path];
}
}
// Try to create a new repository
const repository = repository_1.GitRepository.tryCreateRepository(dirName, this.sourceLinkTemplate, this.gitRevision, this.gitRemote, this.application.logger);
if (repository) {
this.repositories[repository.path.toLowerCase()] = repository;
return repository;
}
// No repository found, add path to ignored paths
this.ignoredPaths.add(dirName);
}
};

@@ -257,0 +216,0 @@ _SourcePlugin_disableSources_accessor_storage = new WeakMap();

@@ -1,4 +0,5 @@

import type { Logger } from "../../utils";
import { type Logger } from "../../utils";
export declare function gitIsInstalled(): boolean;
export interface Repository {
readonly path: string;
getURL(fileName: string, line: number): string | undefined;

@@ -51,2 +52,46 @@ }

}
/**
* Responsible for keeping track of 0-N repositories which exist on a machine.
* This used to be inlined in SourcePlugin, moved out for easy unit testing.
*
* Git repositories can be nested. Files should be resolved to a repo as shown
* below:
* ```text
* /project
* /project/.git (A)
* /project/file.js (A)
* /project/folder/file.js (A)
* /project/sub/.git (B)
* /project/sub/file.js (B)
* ```
*
* In order words, it is not safe to assume that just because a file is within
* the `/project` directory, that it belongs to repo `A`. As calling git is
* expensive (~20-300ms depending on the machine, antivirus, etc.) we check for
* `.git` folders manually, and only call git if one is found.
*
* Symlinked files have the potential to further complicate this. If TypeScript's
* `preserveSymlinks` option is on, then this may be passed the path to a symlinked
* file. Unlike TypeScript, we will resolve the path, as the repo link should really
* point to the actual file.
*/
export declare class RepositoryManager {
private basePath;
private gitRevision;
private gitRemote;
private sourceLinkTemplate;
private disableGit;
private logger;
private cache;
private assumedRepo;
constructor(basePath: string, gitRevision: string, gitRemote: string, sourceLinkTemplate: string, disableGit: boolean, logger: Logger);
/**
* Check whether the given file is placed inside a repository.
*
* @param fileName The name of the file a repository should be looked for.
* @returns The found repository info or undefined.
*/
getRepository(fileName: string): Repository | undefined;
private getRepositoryFolder;
}
export declare function guessSourceUrlTemplate(remotes: string[]): string | undefined;
"use strict";
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
var _, done = false;
for (var i = decorators.length - 1; i >= 0; i--) {
var context = {};
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
if (kind === "accessor") {
if (result === void 0) continue;
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
if (_ = accept(result.get)) descriptor.get = _;
if (_ = accept(result.set)) descriptor.set = _;
if (_ = accept(result.init)) initializers.unshift(_);
}
else if (_ = accept(result)) {
if (kind === "field") initializers.unshift(_);
else descriptor[key] = _;
}
}
if (target) Object.defineProperty(target, contextIn.name, descriptor);
done = true;
};
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
var useValue = arguments.length > 2;
for (var i = 0; i < initializers.length; i++) {
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
}
return useValue ? value : void 0;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.GitRepository = exports.AssumedRepository = void 0;
exports.RepositoryManager = exports.GitRepository = exports.AssumedRepository = void 0;
exports.gitIsInstalled = gitIsInstalled;
exports.guessSourceUrlTemplate = guessSourceUrlTemplate;
const child_process_1 = require("child_process");
const base_path_1 = require("../utils/base-path");
const utils_1 = require("../../utils");
const general_1 = require("../../utils/general");
const path_1 = require("path");
const fs_1 = require("fs");
const TEN_MEGABYTES = 1024 * 10000;

@@ -41,78 +78,168 @@ function git(...args) {

*/
class GitRepository {
/**
* Create a new Repository instance.
*
* @param path The root path of the repository.
*/
constructor(path, gitRevision, urlTemplate) {
/**
* All files tracked by the repository.
*/
this.files = new Set();
this.path = path;
let GitRepository = (() => {
var _a;
let _files_decorators;
let _files_initializers = [];
let _files_extraInitializers = [];
return _a = class GitRepository {
/**
* Create a new Repository instance.
*
* @param path The root path of the repository.
*/
constructor(path, gitRevision, urlTemplate) {
/**
* All files tracked by the repository.
*/
this.files = __runInitializers(this, _files_initializers, new Set());
this.urlTemplate = __runInitializers(this, _files_extraInitializers);
this.path = path;
this.gitRevision = gitRevision;
this.urlTemplate = urlTemplate;
const out = git("-C", path, "ls-files", "-z");
if (out.status === 0) {
out.stdout.split("\0").forEach((file) => {
if (file !== "") {
this.files.add((0, utils_1.normalizePath)(path + "/" + file));
}
});
}
}
/**
* Get the URL of the given file on GitHub or Bitbucket.
*
* @param fileName The file whose URL should be determined.
* @returns A URL pointing to the web preview of the given file or undefined.
*/
getURL(fileName, line) {
if (!this.files.has(fileName)) {
return;
}
const replacements = {
gitRevision: this.gitRevision,
"gitRevision:short": this.gitRevision.substring(0, 8),
path: fileName.substring(this.path.length + 1),
line,
};
return this.urlTemplate.replace(/\{(gitRevision|gitRevision:short|path|line)\}/g, (_, key) => replacements[key]);
}
/**
* Try to create a new repository instance.
*
* Checks whether the given path is the root of a valid repository and if so
* creates a new instance of {@link GitRepository}.
*
* @param path The potential repository root.
* @returns A new instance of {@link GitRepository} or undefined.
*/
static tryCreateRepository(path, sourceLinkTemplate, gitRevision, gitRemote, logger) {
gitRevision ||= git("-C", path, "rev-parse", "HEAD").stdout.trim();
if (!gitRevision)
return; // Will only happen in a repo with no commits.
let urlTemplate;
if (sourceLinkTemplate) {
urlTemplate = sourceLinkTemplate;
}
else {
const remotesOut = git("-C", path, "remote", "get-url", gitRemote);
if (remotesOut.status === 0) {
urlTemplate = guessSourceUrlTemplate(remotesOut.stdout.split("\n"));
}
else {
logger.warn(logger.i18n.git_remote_0_not_valid(gitRemote));
}
}
if (!urlTemplate)
return;
return new _a((0, utils_1.normalizePath)(path), gitRevision, urlTemplate);
}
},
(() => {
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
_files_decorators = [general_1.NonEnumerable];
__esDecorate(null, null, _files_decorators, { kind: "field", name: "files", static: false, private: false, access: { has: obj => "files" in obj, get: obj => obj.files, set: (obj, value) => { obj.files = value; } }, metadata: _metadata }, _files_initializers, _files_extraInitializers);
if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
})(),
_a;
})();
exports.GitRepository = GitRepository;
/**
* Responsible for keeping track of 0-N repositories which exist on a machine.
* This used to be inlined in SourcePlugin, moved out for easy unit testing.
*
* Git repositories can be nested. Files should be resolved to a repo as shown
* below:
* ```text
* /project
* /project/.git (A)
* /project/file.js (A)
* /project/folder/file.js (A)
* /project/sub/.git (B)
* /project/sub/file.js (B)
* ```
*
* In order words, it is not safe to assume that just because a file is within
* the `/project` directory, that it belongs to repo `A`. As calling git is
* expensive (~20-300ms depending on the machine, antivirus, etc.) we check for
* `.git` folders manually, and only call git if one is found.
*
* Symlinked files have the potential to further complicate this. If TypeScript's
* `preserveSymlinks` option is on, then this may be passed the path to a symlinked
* file. Unlike TypeScript, we will resolve the path, as the repo link should really
* point to the actual file.
*/
class RepositoryManager {
constructor(basePath, gitRevision, gitRemote, sourceLinkTemplate, disableGit, logger) {
this.basePath = basePath;
this.gitRevision = gitRevision;
this.urlTemplate = urlTemplate;
const out = git("-C", path, "ls-files", "-z");
if (out.status === 0) {
out.stdout.split("\0").forEach((file) => {
if (file !== "") {
this.files.add(base_path_1.BasePath.normalize(path + "/" + file));
}
});
}
this.gitRemote = gitRemote;
this.sourceLinkTemplate = sourceLinkTemplate;
this.disableGit = disableGit;
this.logger = logger;
this.cache = new Map();
this.assumedRepo = new AssumedRepository(this.basePath, this.gitRevision, this.sourceLinkTemplate);
}
/**
* Get the URL of the given file on GitHub or Bitbucket.
* Check whether the given file is placed inside a repository.
*
* @param fileName The file whose URL should be determined.
* @returns A URL pointing to the web preview of the given file or undefined.
* @param fileName The name of the file a repository should be looked for.
* @returns The found repository info or undefined.
*/
getURL(fileName, line) {
if (!this.files.has(fileName)) {
return;
getRepository(fileName) {
if (this.disableGit) {
return this.assumedRepo;
}
const replacements = {
gitRevision: this.gitRevision,
"gitRevision:short": this.gitRevision.substring(0, 8),
path: fileName.substring(this.path.length + 1),
line,
};
return this.urlTemplate.replace(/\{(gitRevision|gitRevision:short|path|line)\}/g, (_, key) => replacements[key]);
return this.getRepositoryFolder((0, utils_1.normalizePath)((0, path_1.dirname)(fileName)));
}
/**
* Try to create a new repository instance.
*
* Checks whether the given path is the root of a valid repository and if so
* creates a new instance of {@link GitRepository}.
*
* @param path The potential repository root.
* @returns A new instance of {@link GitRepository} or undefined.
*/
static tryCreateRepository(path, sourceLinkTemplate, gitRevision, gitRemote, logger) {
const topLevel = git("-C", path, "rev-parse", "--show-toplevel");
if (topLevel.status !== 0)
return;
gitRevision ||= git("-C", path, "rev-parse", "HEAD").stdout.trim();
if (!gitRevision)
return; // Will only happen in a repo with no commits.
let urlTemplate;
if (sourceLinkTemplate) {
urlTemplate = sourceLinkTemplate;
getRepositoryFolder(dir) {
if (this.cache.has(dir)) {
return this.cache.get(dir);
}
else {
const remotesOut = git("-C", path, "remote", "get-url", gitRemote);
if (remotesOut.status === 0) {
urlTemplate = guessSourceUrlTemplate(remotesOut.stdout.split("\n"));
if ((0, fs_1.existsSync)((0, path_1.join)(dir, ".git"))) {
// This might just be a git repo, or we might be in some self-recursive symlink
// loop, and the repo is actually somewhere else. Ask Git where the repo actually is.
const repo = git("-C", dir, "rev-parse", "--show-toplevel");
if (repo.status === 0) {
const repoDir = repo.stdout.replace("\n", "");
// This check is only necessary if we're in a symlink loop, otherwise
// it will always be true.
if (!this.cache.has(repoDir)) {
this.cache.set(repoDir, GitRepository.tryCreateRepository(repoDir, this.sourceLinkTemplate, this.gitRevision, this.gitRemote, this.logger));
}
this.cache.set(dir, this.cache.get(repoDir));
}
else {
logger.warn(logger.i18n.git_remote_0_not_valid(gitRemote));
// Not a git repo, probably corrupt.
this.cache.set(dir, undefined);
}
}
if (!urlTemplate)
return;
return new GitRepository(base_path_1.BasePath.normalize(topLevel.stdout.replace("\n", "")), gitRevision, urlTemplate);
else {
// We may be at the root of the file system, in which case there is no repo.
this.cache.set(dir, undefined);
this.cache.set(dir, this.getRepositoryFolder((0, path_1.dirname)(dir)));
}
return this.cache.get(dir);
}
}
exports.GitRepository = GitRepository;
exports.RepositoryManager = RepositoryManager;
// Should have three capturing groups:

@@ -119,0 +246,0 @@ // 1. hostname

import type { Application } from "../application";
import { type BuiltinTranslatableStringArgs } from "./translatable";
import { translatable, type BuiltinTranslatableStringArgs } from "./translatable";
import { ReflectionKind } from "../models/reflections/kind";
import { ReflectionFlag } from "../models";
/**

@@ -76,5 +77,7 @@ * ### What is translatable?

*/
translate<T extends keyof TranslatableStrings>(key: T, ...args: TranslatableStrings[T]): TranslatedString;
translate<T extends keyof typeof translatable>(key: T, ...args: TranslatableStrings[T]): TranslatedString;
kindSingularString(kind: ReflectionKind): TranslatedString;
kindPluralString(kind: ReflectionKind): TranslatedString;
flagString(flag: ReflectionFlag): TranslatedString;
translateTagName(tag: `@${string}`): TranslatedString;
/**

@@ -81,0 +84,0 @@ * Add translations for a string which will be displayed to the user.

@@ -10,2 +10,3 @@ "use strict";

const kind_1 = require("../models/reflections/kind");
const models_1 = require("../models");
// If we're running in ts-node, then we need the TS source rather than

@@ -167,2 +168,43 @@ // the compiled file.

}
flagString(flag) {
switch (flag) {
case models_1.ReflectionFlag.None:
throw new Error("Should be unreachable");
case models_1.ReflectionFlag.Private:
return this.proxy.flag_private();
case models_1.ReflectionFlag.Protected:
return this.proxy.flag_protected();
case models_1.ReflectionFlag.Public:
return this.proxy.flag_public();
case models_1.ReflectionFlag.Static:
return this.proxy.flag_static();
case models_1.ReflectionFlag.External:
return this.proxy.flag_external();
case models_1.ReflectionFlag.Optional:
return this.proxy.flag_optional();
case models_1.ReflectionFlag.Rest:
return this.proxy.flag_rest();
case models_1.ReflectionFlag.Abstract:
return this.proxy.flag_abstract();
case models_1.ReflectionFlag.Const:
return this.proxy.flag_const();
case models_1.ReflectionFlag.Readonly:
return this.proxy.flag_readonly();
case models_1.ReflectionFlag.Inherited:
return this.proxy.flag_inherited();
}
}
translateTagName(tag) {
const tagName = tag.substring(1);
const translations = this.allTranslations.get(this.application?.lang ?? "en");
if (translations.has(`tag_${tagName}`)) {
return translations.get(`tag_${tagName}`);
}
// In English, the tag names are the translated names, once turned
// into title case.
return (tagName.substring(0, 1).toUpperCase() +
tagName
.substring(1)
.replace(/[a-z][A-Z]/g, (x) => `${x[0]} ${x[1]}`));
}
/**

@@ -169,0 +211,0 @@ * Add translations for a string which will be displayed to the user.

@@ -0,1 +1,2 @@

import type { blockTags, inlineTags, modifierTags } from "../utils/options/tsdoc-defaults";
export declare function buildTranslation<T extends BuiltinTranslatableStringConstraints>(translations: T): T;

@@ -6,32 +7,33 @@ export declare function buildIncompleteTranslation<T extends Partial<BuiltinTranslatableStringConstraints>>(translations: T): T;

readonly unsupported_ts_version_0: "You are running with an unsupported TypeScript version! If TypeDoc crashes, this is why. TypeDoc supports {0}";
readonly no_compiler_options_set: "No compiler options set. This likely means that TypeDoc did not find your tsconfig.json. Generated documentation will probably be empty.";
readonly no_compiler_options_set: "No compiler options set. This likely means that TypeDoc did not find your tsconfig.json. Generated documentation will probably be empty";
readonly loaded_plugin_0: "Loaded plugin {0}";
readonly solution_not_supported_in_watch_mode: "The provided tsconfig file looks like a solution style tsconfig, which is not supported in watch mode.";
readonly strategy_not_supported_in_watch_mode: "entryPointStrategy must be set to either resolve or expand for watch mode.";
readonly docs_could_not_be_generated: "Documentation could not be generated due to the errors above.";
readonly solution_not_supported_in_watch_mode: "The provided tsconfig file looks like a solution style tsconfig, which is not supported in watch mode";
readonly strategy_not_supported_in_watch_mode: "entryPointStrategy must be set to either resolve or expand for watch mode";
readonly found_0_errors_and_1_warnings: "Found {0} errors and {1} warnings";
readonly docs_could_not_be_generated: "Documentation could not be generated due to the errors above";
readonly docs_generated_at_0: "Documentation generated at {0}";
readonly json_written_to_0: "JSON written to {0}";
readonly no_entry_points_for_packages: "No entry points provided to packages mode, documentation cannot be generated.";
readonly no_entry_points_for_packages: "No entry points provided to packages mode, documentation cannot be generated";
readonly failed_to_find_packages: "Failed to find any packages, ensure you have provided at least one directory as an entry point containing package.json";
readonly nested_packages_unsupported_0: "Project at {0} has entryPointStrategy set to packages, but nested packages are not supported.";
readonly nested_packages_unsupported_0: "Project at {0} has entryPointStrategy set to packages, but nested packages are not supported";
readonly previous_error_occurred_when_reading_options_for_0: "The previous error occurred when reading options for the package at {0}";
readonly converting_project_at_0: "Converting project at {0}";
readonly failed_to_convert_packages: "Failed to convert one or more packages, result will not be merged together.";
readonly failed_to_convert_packages: "Failed to convert one or more packages, result will not be merged together";
readonly merging_converted_projects: "Merging converted projects";
readonly no_entry_points_to_merge: "No entry points provided to merge.";
readonly entrypoint_did_not_match_files_0: "The entrypoint glob {0} did not match any files.";
readonly failed_to_parse_json_0: "Failed to parse file at {0} as json.";
readonly no_entry_points_to_merge: "No entry points provided to merge";
readonly entrypoint_did_not_match_files_0: "The entrypoint glob {0} did not match any files";
readonly failed_to_parse_json_0: "Failed to parse file at {0} as json";
readonly failed_to_read_0_when_processing_document_tag_in_1: "Failed to read file {0} when processing @document tag for comment in {1}";
readonly failed_to_read_0_when_processing_project_document: "Failed to read file {0} when adding project document";
readonly failed_to_read_0_when_processing_document_child_in_1: "Failed to read file {0} when processing document children in {1}";
readonly frontmatter_children_0_should_be_an_array_of_strings_or_object_with_string_values: "Frontmatter children in {0} should be an array of strings or an object with string values.";
readonly converting_union_as_interface: "Using @interface on a union type will discard properties not present on all branches of the union. TypeDoc's output may not accurately describe your source code.";
readonly converting_0_as_class_requires_value_declaration: "Converting {0} as a class requires a declaration which represents a non-type value.";
readonly frontmatter_children_0_should_be_an_array_of_strings_or_object_with_string_values: "Frontmatter children in {0} should be an array of strings or an object with string values";
readonly converting_union_as_interface: "Using @interface on a union type will discard properties not present on all branches of the union. TypeDoc's output may not accurately describe your source code";
readonly converting_0_as_class_requires_value_declaration: "Converting {0} as a class requires a declaration which represents a non-type value";
readonly converting_0_as_class_without_construct_signatures: "{0} is being converted as a class, but does not have any construct signatures";
readonly comment_for_0_should_not_contain_block_or_modifier_tags: "The comment for {0} should not contain any block or modifier tags.";
readonly symbol_0_has_multiple_declarations_with_comment: "{0} has multiple declarations with a comment. An arbitrary comment will be used.";
readonly comment_for_0_should_not_contain_block_or_modifier_tags: "The comment for {0} should not contain any block or modifier tags";
readonly symbol_0_has_multiple_declarations_with_comment: "{0} has multiple declarations with a comment. An arbitrary comment will be used";
readonly comments_for_0_are_declared_at_1: "The comments for {0} are declared at:\n\t{1}";
readonly multiple_type_parameters_on_template_tag_unsupported: "TypeDoc does not support multiple type parameters defined in a single @template tag with a comment.";
readonly failed_to_find_jsdoc_tag_for_name_0: "Failed to find JSDoc tag for {0} after parsing comment, please file a bug report.";
readonly relative_path_0_does_not_exist: "The relative path {0} does not exist.";
readonly multiple_type_parameters_on_template_tag_unsupported: "TypeDoc does not support multiple type parameters defined in a single @template tag with a comment";
readonly failed_to_find_jsdoc_tag_for_name_0: "Failed to find JSDoc tag for {0} after parsing comment, please file a bug report";
readonly relative_path_0_does_not_exist: "The relative path {0} does not exist";
readonly inline_inheritdoc_should_not_appear_in_block_tag_in_comment_at_0: "An inline @inheritDoc tag should not appear within a block tag as it will not be processed in comment at {0}";

@@ -43,35 +45,38 @@ readonly at_most_one_remarks_tag_expected_in_comment_at_0: "At most one @remarks tag is expected in a comment, ignoring all but the first in comment at {0}";

readonly content_in_remarks_block_overwritten_by_inheritdoc_in_comment_at_0: "Content in the @remarks block will be overwritten by the @inheritDoc tag in comment at {0}";
readonly example_tag_literal_name: "The first line of an example tag will be taken literally as the example name, and should only contain text.";
readonly inheritdoc_tag_properly_capitalized: "The @inheritDoc tag should be properly capitalized.";
readonly treating_unrecognized_tag_0_as_modifier: "Treating unrecognized tag {0} as a modifier tag.";
readonly unmatched_closing_brace: "Unmatched closing brace.";
readonly unescaped_open_brace_without_inline_tag: "Encountered an unescaped open brace without an inline tag.";
readonly unknown_block_tag_0: "Encountered an unknown block tag {0}.";
readonly unknown_inline_tag_0: "Encountered an unknown inline tag {0}.";
readonly open_brace_within_inline_tag: "Encountered an open brace within an inline tag, this is likely a mistake.";
readonly inline_tag_not_closed: "Inline tag is not closed.";
readonly example_tag_literal_name: "The first line of an example tag will be taken literally as the example name, and should only contain text";
readonly inheritdoc_tag_properly_capitalized: "The @inheritDoc tag should be properly capitalized";
readonly treating_unrecognized_tag_0_as_modifier: "Treating unrecognized tag {0} as a modifier tag";
readonly unmatched_closing_brace: "Unmatched closing brace";
readonly unescaped_open_brace_without_inline_tag: "Encountered an unescaped open brace without an inline tag";
readonly unknown_block_tag_0: "Encountered an unknown block tag {0}";
readonly unknown_inline_tag_0: "Encountered an unknown inline tag {0}";
readonly open_brace_within_inline_tag: "Encountered an open brace within an inline tag, this is likely a mistake";
readonly inline_tag_not_closed: "Inline tag is not closed";
readonly failed_to_resolve_link_to_0_in_comment_for_1: "Failed to resolve link to \"{0}\" in comment for {1}";
readonly type_0_defined_in_1_is_referenced_by_2_but_not_included_in_docs: "{0}, defined in {1}, is referenced by {2} but not included in the documentation.";
readonly reflection_0_kind_1_defined_in_2_does_not_have_any_documentation: "{0} ({1}), defined in {2}, does not have any documentation.";
readonly failed_to_resolve_link_to_0_in_comment_for_1_may_have_meant_2: "Failed to resolve link to \"{0}\" in comment for {1}. You may have wanted \"{2}\"";
readonly failed_to_resolve_link_to_0_in_readme_for_1: "Failed to resolve link to \"{0}\" in readme for {1}";
readonly failed_to_resolve_link_to_0_in_readme_for_1_may_have_meant_2: "Failed to resolve link to \"{0}\" in readme for {1}. You may have wanted \"{2}\"";
readonly type_0_defined_in_1_is_referenced_by_2_but_not_included_in_docs: "{0}, defined in {1}, is referenced by {2} but not included in the documentation";
readonly reflection_0_kind_1_defined_in_2_does_not_have_any_documentation: "{0} ({1}), defined in {2}, does not have any documentation";
readonly invalid_intentionally_not_exported_symbols_0: "The following symbols were marked as intentionally not exported, but were either not referenced in the documentation, or were exported:\n\t{0}";
readonly not_all_search_category_boosts_used_0: "Not all categories specified in searchCategoryBoosts were used in the documentation. The unused categories were:\n\t{0}";
readonly not_all_search_group_boosts_used_0: "Not all groups specified in searchGroupBoosts were used in the documentation. The unused groups were:\n\t{0}";
readonly comment_for_0_includes_categoryDescription_for_1_but_no_child_in_group: "Comment for {0} includes @categoryDescription for \"{1}\", but no child is placed in that category.";
readonly comment_for_0_includes_groupDescription_for_1_but_no_child_in_group: "Comment for {0} includes @groupDescription for \"{1}\", but no child is placed in that group.";
readonly label_0_for_1_cannot_be_referenced: "The label \"{0}\" for {1} cannot be referenced with a declaration reference. Labels may only contain A-Z, 0-9, and _, and may not start with a number.";
readonly modifier_tag_0_is_mutually_exclusive_with_1_in_comment_for_2: "The modifier tag {0} is mutually exclusive with {1} in the comment for {2}.";
readonly signature_0_has_unused_param_with_name_1: "The signature {0} has an @param with name \"{1}\", which was not used.";
readonly declaration_reference_in_inheritdoc_for_0_not_fully_parsed: "Declaration reference in @inheritDoc for {0} was not fully parsed and may resolve incorrectly.";
readonly comment_for_0_includes_categoryDescription_for_1_but_no_child_in_group: "Comment for {0} includes @categoryDescription for \"{1}\", but no child is placed in that category";
readonly comment_for_0_includes_groupDescription_for_1_but_no_child_in_group: "Comment for {0} includes @groupDescription for \"{1}\", but no child is placed in that group";
readonly label_0_for_1_cannot_be_referenced: "The label \"{0}\" for {1} cannot be referenced with a declaration reference. Labels may only contain A-Z, 0-9, and _, and may not start with a number";
readonly modifier_tag_0_is_mutually_exclusive_with_1_in_comment_for_2: "The modifier tag {0} is mutually exclusive with {1} in the comment for {2}";
readonly signature_0_has_unused_param_with_name_1: "The signature {0} has an @param with name \"{1}\", which was not used";
readonly declaration_reference_in_inheritdoc_for_0_not_fully_parsed: "Declaration reference in @inheritDoc for {0} was not fully parsed and may resolve incorrectly";
readonly failed_to_find_0_to_inherit_comment_from_in_1: "Failed to find \"{0}\" to inherit the comment from in the comment for {1}";
readonly reflection_0_tried_to_copy_comment_from_1_but_source_had_no_comment: "{0} tried to copy a comment from {1} with @inheritDoc, but the source has no associated comment.";
readonly reflection_0_tried_to_copy_comment_from_1_but_source_had_no_comment: "{0} tried to copy a comment from {1} with @inheritDoc, but the source has no associated comment";
readonly inheritdoc_circular_inheritance_chain_0: "@inheritDoc specifies a circular inheritance chain: {0}";
readonly provided_readme_at_0_could_not_be_read: "Provided README path, {0} could not be read.";
readonly defaulting_project_name: "The --name option was not specified, and no package.json was found. Defaulting project name to \"Documentation\".";
readonly disable_git_set_but_not_source_link_template: "disableGit is set, but sourceLinkTemplate is not, so source links cannot be produced. Set a sourceLinkTemplate or disableSources to prevent source tracking.";
readonly disable_git_set_and_git_revision_used: "disableGit is set and sourceLinkTemplate contains {gitRevision}, which will be replaced with an empty string as no revision was provided.";
readonly git_remote_0_not_valid: "The provided git remote \"{0}\" was not valid. Source links will be broken.";
readonly custom_css_file_0_does_not_exist: "Custom CSS file at {0} does not exist.";
readonly unsupported_highlight_language_0_not_highlighted_in_comment_for_1: "Unsupported highlight language {0} will not be highlighted in comment for {1}.";
readonly unloaded_language_0_not_highlighted_in_comment_for_1: "Code block with language {0} will not be highlighted in comment for {1} as it was not included in the highlightLanguages option.";
readonly yaml_frontmatter_not_an_object: "Expected YAML frontmatter to be an object.";
readonly provided_readme_at_0_could_not_be_read: "Provided README path, {0} could not be read";
readonly defaulting_project_name: "The --name option was not specified, and no package.json was found. Defaulting project name to \"Documentation\"";
readonly disable_git_set_but_not_source_link_template: "disableGit is set, but sourceLinkTemplate is not, so source links cannot be produced. Set a sourceLinkTemplate or disableSources to prevent source tracking";
readonly disable_git_set_and_git_revision_used: "disableGit is set and sourceLinkTemplate contains {gitRevision}, which will be replaced with an empty string as no revision was provided";
readonly git_remote_0_not_valid: "The provided git remote \"{0}\" was not valid. Source links will be broken";
readonly custom_css_file_0_does_not_exist: "Custom CSS file at {0} does not exist";
readonly unsupported_highlight_language_0_not_highlighted_in_comment_for_1: "Unsupported highlight language {0} will not be highlighted in comment for {1}";
readonly unloaded_language_0_not_highlighted_in_comment_for_1: "Code block with language {0} will not be highlighted in comment for {1} as it was not included in the highlightLanguages option";
readonly yaml_frontmatter_not_an_object: "Expected YAML frontmatter to be an object";
readonly could_not_write_0: "Could not write {0}";

@@ -82,124 +87,124 @@ readonly could_not_empty_output_directory_0: "Could not empty the output directory {0}";

readonly custom_theme_does_not_define_getSlugger: "Custom theme does not define a getSlugger(reflection) method, but tries to render markdown";
readonly no_entry_points_provided: "No entry points were provided, this is likely a misconfiguration.";
readonly unable_to_find_any_entry_points: "Unable to find any entry points. See previous warnings.";
readonly watch_does_not_support_packages_mode: "Watch mode does not support 'packages' style entry points.";
readonly watch_does_not_support_merge_mode: "Watch mode does not support 'merge' style entry points.";
readonly entry_point_0_not_in_program: "The entry point {0} is not referenced by the 'files' or 'include' option in your tsconfig.";
readonly use_expand_or_glob_for_files_in_dir: "If you wanted to include files inside this directory, set --entryPointStrategy to expand or specify a glob.";
readonly glob_0_did_not_match_any_files: "The glob {0} did not match any files.";
readonly entry_point_0_did_not_match_any_files_after_exclude: "The glob {0} did not match any files after applying exclude patterns.";
readonly entry_point_0_did_not_exist: "Provided entry point {0} does not exist.";
readonly entry_point_0_did_not_match_any_packages: "The entry point glob {0} did not match any directories containing package.json.";
readonly file_0_not_an_object: "The file {0} is not an object.";
readonly serialized_project_referenced_0_not_part_of_project: "Serialized project referenced reflection {0}, which was not a part of the project.";
readonly saved_relative_path_0_resolved_from_1_does_not_exist: "Serialized project referenced {0}, which does not exist relative to {1}.";
readonly no_entry_points_provided: "No entry points were provided, this is likely a misconfiguration";
readonly unable_to_find_any_entry_points: "Unable to find any entry points. See previous warnings";
readonly watch_does_not_support_packages_mode: "Watch mode does not support 'packages' style entry points";
readonly watch_does_not_support_merge_mode: "Watch mode does not support 'merge' style entry points";
readonly entry_point_0_not_in_program: "The entry point {0} is not referenced by the 'files' or 'include' option in your tsconfig";
readonly use_expand_or_glob_for_files_in_dir: "If you wanted to include files inside this directory, set --entryPointStrategy to expand or specify a glob";
readonly glob_0_did_not_match_any_files: "The glob {0} did not match any files";
readonly entry_point_0_did_not_match_any_files_after_exclude: "The glob {0} did not match any files after applying exclude patterns";
readonly entry_point_0_did_not_exist: "Provided entry point {0} does not exist";
readonly entry_point_0_did_not_match_any_packages: "The entry point glob {0} did not match any directories containing package.json";
readonly file_0_not_an_object: "The file {0} is not an object";
readonly serialized_project_referenced_0_not_part_of_project: "Serialized project referenced reflection {0}, which was not a part of the project";
readonly saved_relative_path_0_resolved_from_1_does_not_exist: "Serialized project referenced {0}, which does not exist relative to {1}";
readonly circular_reference_extends_0: "Circular reference encountered for \"extends\" field of {0}";
readonly failed_resolve_0_to_file_in_1: "Failed to resolve {0} to a file in {1}";
readonly option_0_can_only_be_specified_by_config_file: "The '{0}' option can only be specified via a config file.";
readonly option_0_expected_a_value_but_none_provided: "--{0} expected a value, but none was given as an argument.";
readonly option_0_can_only_be_specified_by_config_file: "The '{0}' option can only be specified via a config file";
readonly option_0_expected_a_value_but_none_provided: "--{0} expected a value, but none was given as an argument";
readonly unknown_option_0_may_have_meant_1: "Unknown option: {0}, you may have meant:\n\t{1}";
readonly typedoc_key_in_0_ignored: "The 'typedoc' key in {0} was used by the legacy-packages entryPointStrategy and will be ignored.";
readonly typedoc_options_must_be_object_in_0: "Failed to parse the \"typedocOptions\" field in {0}, ensure it exists and contains an object.";
readonly typedoc_key_in_0_ignored: "The 'typedoc' key in {0} was used by the legacy-packages entryPointStrategy and will be ignored";
readonly typedoc_options_must_be_object_in_0: "Failed to parse the \"typedocOptions\" field in {0}, ensure it exists and contains an object";
readonly tsconfig_file_0_does_not_exist: "The tsconfig file {0} does not exist";
readonly tsconfig_file_specifies_options_file: "\"typedocOptions\" in tsconfig file specifies an option file to read but the option file has already been read. This is likely a misconfiguration.";
readonly tsconfig_file_specifies_tsconfig_file: "\"typedocOptions\" in tsconfig file may not specify a tsconfig file to read.";
readonly tags_0_defined_in_typedoc_json_overwritten_by_tsdoc_json: "The {0} defined in typedoc.json will be overwritten by configuration in tsdoc.json.";
readonly failed_read_tsdoc_json_0: "Failed to read tsdoc.json file at {0}.";
readonly invalid_tsdoc_json_0: "The file {0} is not a valid tsdoc.json file.";
readonly options_file_0_does_not_exist: "The options file {0} does not exist.";
readonly failed_read_options_file_0: "Failed to parse {0}, ensure it exists and exports an object.";
readonly invalid_plugin_0_missing_load_function: "Invalid structure in plugin {0}, no load function found.";
readonly plugin_0_could_not_be_loaded: "The plugin {0} could not be loaded.";
readonly help_options: "Specify a json option file that should be loaded. If not specified TypeDoc will look for 'typedoc.json' in the current directory.";
readonly help_tsconfig: "Specify a TypeScript config file that should be loaded. If not specified TypeDoc will look for 'tsconfig.json' in the current directory.";
readonly help_compilerOptions: "Selectively override the TypeScript compiler options used by TypeDoc.";
readonly help_lang: "Sets the language to be used in generation and in TypeDoc's messages.";
readonly help_locales: "Add translations for a specified locale. This option is primarily intended to be used as a stopgap while waiting for official locale support to be added to TypeDoc.";
readonly help_packageOptions: "Set options which will be set within each package when entryPointStrategy is set to packages.";
readonly help_entryPoints: "The entry points of your documentation.";
readonly help_entryPointStrategy: "The strategy to be used to convert entry points into documentation modules.";
readonly help_alwaysCreateEntryPointModule: "When set, TypeDoc will always create a `Module` for entry points, even if only one is provided.";
readonly help_projectDocuments: "Documents which should be added as children to the root of the generated documentation. Supports globs to match multiple files.";
readonly help_exclude: "Define patterns to be excluded when expanding a directory that was specified as an entry point.";
readonly help_externalPattern: "Define patterns for files that should be considered being external.";
readonly help_excludeExternals: "Prevent externally resolved symbols from being documented.";
readonly help_excludeNotDocumented: "Prevent symbols that are not explicitly documented from appearing in the results.";
readonly help_excludeNotDocumentedKinds: "Specify the type of reflections that can be removed by excludeNotDocumented.";
readonly help_excludeInternal: "Prevent symbols that are marked with @internal from being documented.";
readonly help_excludeCategories: "Exclude symbols within this category from the documentation.";
readonly help_excludePrivate: "Ignore private variables and methods, defaults to true..";
readonly help_excludeProtected: "Ignore protected variables and methods.";
readonly help_excludeReferences: "If a symbol is exported multiple times, ignore all but the first export.";
readonly help_externalSymbolLinkMappings: "Define custom links for symbols not included in the documentation.";
readonly help_out: "Specify the location the documentation should be written to.";
readonly help_json: "Specify the location and filename a JSON file describing the project is written to.";
readonly help_pretty: "Specify whether the output JSON should be formatted with tabs.";
readonly help_emit: "Specify what TypeDoc should emit, 'docs', 'both', or 'none'.";
readonly tsconfig_file_specifies_options_file: "\"typedocOptions\" in tsconfig file specifies an option file to read but the option file has already been read. This is likely a misconfiguration";
readonly tsconfig_file_specifies_tsconfig_file: "\"typedocOptions\" in tsconfig file may not specify a tsconfig file to read";
readonly tags_0_defined_in_typedoc_json_overwritten_by_tsdoc_json: "The {0} defined in typedoc.json will be overwritten by configuration in tsdoc.json";
readonly failed_read_tsdoc_json_0: "Failed to read tsdoc.json file at {0}";
readonly invalid_tsdoc_json_0: "The file {0} is not a valid tsdoc.json file";
readonly options_file_0_does_not_exist: "The options file {0} does not exist";
readonly failed_read_options_file_0: "Failed to parse {0}, ensure it exists and exports an object";
readonly invalid_plugin_0_missing_load_function: "Invalid structure in plugin {0}, no load function found";
readonly plugin_0_could_not_be_loaded: "The plugin {0} could not be loaded";
readonly help_options: "Specify a json option file that should be loaded. If not specified TypeDoc will look for 'typedoc.json' in the current directory";
readonly help_tsconfig: "Specify a TypeScript config file that should be loaded. If not specified TypeDoc will look for 'tsconfig.json' in the current directory";
readonly help_compilerOptions: "Selectively override the TypeScript compiler options used by TypeDoc";
readonly help_lang: "Sets the language to be used in generation and in TypeDoc's messages";
readonly help_locales: "Add translations for a specified locale. This option is primarily intended to be used as a stopgap while waiting for official locale support to be added to TypeDoc";
readonly help_packageOptions: "Set options which will be set within each package when entryPointStrategy is set to packages";
readonly help_entryPoints: "The entry points of your documentation";
readonly help_entryPointStrategy: "The strategy to be used to convert entry points into documentation modules";
readonly help_alwaysCreateEntryPointModule: "When set, TypeDoc will always create a `Module` for entry points, even if only one is provided";
readonly help_projectDocuments: "Documents which should be added as children to the root of the generated documentation. Supports globs to match multiple files";
readonly help_exclude: "Define patterns to be excluded when expanding a directory that was specified as an entry point";
readonly help_externalPattern: "Define patterns for files that should be considered being external";
readonly help_excludeExternals: "Prevent externally resolved symbols from being documented";
readonly help_excludeNotDocumented: "Prevent symbols that are not explicitly documented from appearing in the results";
readonly help_excludeNotDocumentedKinds: "Specify the type of reflections that can be removed by excludeNotDocumented";
readonly help_excludeInternal: "Prevent symbols that are marked with @internal from being documented";
readonly help_excludeCategories: "Exclude symbols within this category from the documentation";
readonly help_excludePrivate: "Ignore private variables and methods, defaults to true.";
readonly help_excludeProtected: "Ignore protected variables and methods";
readonly help_excludeReferences: "If a symbol is exported multiple times, ignore all but the first export";
readonly help_externalSymbolLinkMappings: "Define custom links for symbols not included in the documentation";
readonly help_out: "Specify the location the documentation should be written to";
readonly help_json: "Specify the location and filename a JSON file describing the project is written to";
readonly help_pretty: "Specify whether the output JSON should be formatted with tabs";
readonly help_emit: "Specify what TypeDoc should emit, 'docs', 'both', or 'none'";
readonly help_theme: "Specify the theme name to render the documentation with";
readonly help_lightHighlightTheme: "Specify the code highlighting theme in light mode.";
readonly help_darkHighlightTheme: "Specify the code highlighting theme in dark mode.";
readonly help_highlightLanguages: "Specify the languages which will be loaded to highlight code when rendering.";
readonly help_customCss: "Path to a custom CSS file to for the theme to import.";
readonly help_markdownItOptions: "Specify the options passed to markdown-it, the Markdown parser used by TypeDoc.";
readonly help_markdownItLoader: "Specify a callback to be called when loading the markdown-it instance. Will be passed the instance of the parser which TypeDoc will use.";
readonly help_maxTypeConversionDepth: "Set the maximum depth of types to be converted.";
readonly help_name: "Set the name of the project that will be used in the header of the template.";
readonly help_includeVersion: "Add the package version to the project name.";
readonly help_disableSources: "Disable setting the source of a reflection when documenting it.";
readonly help_sourceLinkTemplate: "Specify a link template to be used when generating source urls. If not set, will be automatically created using the git remote. Supports {path}, {line}, {gitRevision} placeholders.";
readonly help_gitRevision: "Use specified revision instead of the last revision for linking to GitHub/Bitbucket source files. Has no effect if disableSources is set.";
readonly help_gitRemote: "Use the specified remote for linking to GitHub/Bitbucket source files. Has no effect if disableGit or disableSources is set.";
readonly help_lightHighlightTheme: "Specify the code highlighting theme in light mode";
readonly help_darkHighlightTheme: "Specify the code highlighting theme in dark mode";
readonly help_highlightLanguages: "Specify the languages which will be loaded to highlight code when rendering";
readonly help_customCss: "Path to a custom CSS file to for the theme to import";
readonly help_markdownItOptions: "Specify the options passed to markdown-it, the Markdown parser used by TypeDoc";
readonly help_markdownItLoader: "Specify a callback to be called when loading the markdown-it instance. Will be passed the instance of the parser which TypeDoc will use";
readonly help_maxTypeConversionDepth: "Set the maximum depth of types to be converted";
readonly help_name: "Set the name of the project that will be used in the header of the template";
readonly help_includeVersion: "Add the package version to the project name";
readonly help_disableSources: "Disable setting the source of a reflection when documenting it";
readonly help_sourceLinkTemplate: "Specify a link template to be used when generating source urls. If not set, will be automatically created using the git remote. Supports {path}, {line}, {gitRevision} placeholders";
readonly help_gitRevision: "Use specified revision instead of the last revision for linking to GitHub/Bitbucket source files. Has no effect if disableSources is set";
readonly help_gitRemote: "Use the specified remote for linking to GitHub/Bitbucket source files. Has no effect if disableGit or disableSources is set";
readonly help_disableGit: "Assume that all can be linked to with the sourceLinkTemplate, sourceLinkTemplate must be set if this is enabled. {path} will be rooted at basePath";
readonly help_basePath: "Specifies the base path to be used when displaying file paths.";
readonly help_excludeTags: "Remove the listed block/modifier tags from doc comments.";
readonly help_readme: "Path to the readme file that should be displayed on the index page. Pass `none` to disable the index page and start the documentation on the globals page.";
readonly help_cname: "Set the CNAME file text, it's useful for custom domains on GitHub Pages.";
readonly help_sourceLinkExternal: "Specifies that source links should be treated as external links to be opened in a new tab.";
readonly help_githubPages: "Generate a .nojekyll file to prevent 404 errors in GitHub Pages. Defaults to `true`.";
readonly help_hostedBaseUrl: "Specify a base URL to be used in generating a sitemap.xml in our output folder and canonical links. If not specified, no sitemap will be generated.";
readonly help_useHostedBaseUrlForAbsoluteLinks: "If set, TypeDoc will produce absolute links to pages on your site using the hostedBaseUrl option.";
readonly help_gaID: "Set the Google Analytics tracking ID and activate tracking code.";
readonly help_hideGenerator: "Do not print the TypeDoc link at the end of the page.";
readonly help_customFooterHtml: "Custom footer after the TypeDoc link.";
readonly help_customFooterHtmlDisableWrapper: "If set, disables the wrapper element for customFooterHtml.";
readonly help_hideParameterTypesInTitle: "Hides parameter types in signature titles for easier scanning.";
readonly help_cacheBust: "Include the generation time in links to static assets.";
readonly help_searchInComments: "If set, the search index will also include comments. This will greatly increase the size of the search index.";
readonly help_searchInDocuments: "If set, the search index will also include documents. This will greatly increase the size of the search index.";
readonly help_cleanOutputDir: "If set, TypeDoc will remove the output directory before writing output.";
readonly help_titleLink: "Set the link the title in the header points to. Defaults to the documentation homepage.";
readonly help_navigationLinks: "Defines links to be included in the header.";
readonly help_sidebarLinks: "Defines links to be included in the sidebar.";
readonly help_navigationLeaves: "Branches of the navigation tree which should not be expanded.";
readonly help_navigation: "Determines how the navigation sidebar is organized.";
readonly help_visibilityFilters: "Specify the default visibility for builtin filters and additional filters according to modifier tags.";
readonly help_basePath: "Specifies the base path to be used when displaying file paths";
readonly help_excludeTags: "Remove the listed block/modifier tags from doc comments";
readonly help_readme: "Path to the readme file that should be displayed on the index page. Pass `none` to disable the index page and start the documentation on the globals page";
readonly help_cname: "Set the CNAME file text, it's useful for custom domains on GitHub Pages";
readonly help_sourceLinkExternal: "Specifies that source links should be treated as external links to be opened in a new tab";
readonly help_githubPages: "Generate a .nojekyll file to prevent 404 errors in GitHub Pages. Defaults to `true`";
readonly help_hostedBaseUrl: "Specify a base URL to be used in generating a sitemap.xml in our output folder and canonical links. If not specified, no sitemap will be generated";
readonly help_useHostedBaseUrlForAbsoluteLinks: "If set, TypeDoc will produce absolute links to pages on your site using the hostedBaseUrl option";
readonly help_gaID: "Set the Google Analytics tracking ID and activate tracking code";
readonly help_hideGenerator: "Do not print the TypeDoc link at the end of the page";
readonly help_customFooterHtml: "Custom footer after the TypeDoc link";
readonly help_customFooterHtmlDisableWrapper: "If set, disables the wrapper element for customFooterHtml";
readonly help_hideParameterTypesInTitle: "Hides parameter types in signature titles for easier scanning";
readonly help_cacheBust: "Include the generation time in links to static assets";
readonly help_searchInComments: "If set, the search index will also include comments. This will greatly increase the size of the search index";
readonly help_searchInDocuments: "If set, the search index will also include documents. This will greatly increase the size of the search index";
readonly help_cleanOutputDir: "If set, TypeDoc will remove the output directory before writing output";
readonly help_titleLink: "Set the link the title in the header points to. Defaults to the documentation homepage";
readonly help_navigationLinks: "Defines links to be included in the header";
readonly help_sidebarLinks: "Defines links to be included in the sidebar";
readonly help_navigationLeaves: "Branches of the navigation tree which should not be expanded";
readonly help_navigation: "Determines how the navigation sidebar is organized";
readonly help_visibilityFilters: "Specify the default visibility for builtin filters and additional filters according to modifier tags";
readonly help_searchCategoryBoosts: "Configure search to give a relevance boost to selected categories";
readonly help_searchGroupBoosts: "Configure search to give a relevance boost to selected kinds (eg \"class\")";
readonly help_jsDocCompatibility: "Sets compatibility options for comment parsing that increase similarity with JSDoc comments.";
readonly help_commentStyle: "Determines how TypeDoc searches for comments.";
readonly help_useTsLinkResolution: "Use TypeScript's link resolution when determining where @link tags point. This only applies to JSDoc style comments.";
readonly help_preserveLinkText: "If set, @link tags without link text will use the text content as the link. If not set, will use the target reflection name.";
readonly help_blockTags: "Block tags which TypeDoc should recognize when parsing comments.";
readonly help_inlineTags: "Inline tags which TypeDoc should recognize when parsing comments.";
readonly help_modifierTags: "Modifier tags which TypeDoc should recognize when parsing comments.";
readonly help_categorizeByGroup: "Specify whether categorization will be done at the group level.";
readonly help_defaultCategory: "Specify the default category for reflections without a category.";
readonly help_categoryOrder: "Specify the order in which categories appear. * indicates the relative order for categories not in the list.";
readonly help_groupOrder: "Specify the order in which groups appear. * indicates the relative order for groups not in the list.";
readonly help_sort: "Specify the sort strategy for documented values.";
readonly help_sortEntryPoints: "If set, entry points will be subject to the same sorting rules as other reflections.";
readonly help_kindSortOrder: "Specify the sort order for reflections when 'kind' is specified.";
readonly help_watch: "Watch files for changes and rebuild docs on change.";
readonly help_preserveWatchOutput: "If set, TypeDoc will not clear the screen between compilation runs.";
readonly help_skipErrorChecking: "Do not run TypeScript's type checking before generating docs.";
readonly help_help: "Print this message.";
readonly help_version: "Print TypeDoc's version.";
readonly help_showConfig: "Print the resolved configuration and exit.";
readonly help_plugin: "Specify the npm plugins that should be loaded. Omit to load all installed plugins.";
readonly help_logLevel: "Specify what level of logging should be used.";
readonly help_treatWarningsAsErrors: "If set, all warnings will be treated as errors.";
readonly help_treatValidationWarningsAsErrors: "If set, warnings emitted during validation will be treated as errors. This option cannot be used to disable treatWarningsAsErrors for validation warnings.";
readonly help_intentionallyNotExported: "A list of types which should not produce 'referenced but not documented' warnings.";
readonly help_jsDocCompatibility: "Sets compatibility options for comment parsing that increase similarity with JSDoc comments";
readonly help_commentStyle: "Determines how TypeDoc searches for comments";
readonly help_useTsLinkResolution: "Use TypeScript's link resolution when determining where @link tags point. This only applies to JSDoc style comments";
readonly help_preserveLinkText: "If set, @link tags without link text will use the text content as the link. If not set, will use the target reflection name";
readonly help_blockTags: "Block tags which TypeDoc should recognize when parsing comments";
readonly help_inlineTags: "Inline tags which TypeDoc should recognize when parsing comments";
readonly help_modifierTags: "Modifier tags which TypeDoc should recognize when parsing comments";
readonly help_categorizeByGroup: "Specify whether categorization will be done at the group level";
readonly help_defaultCategory: "Specify the default category for reflections without a category";
readonly help_categoryOrder: "Specify the order in which categories appear. * indicates the relative order for categories not in the list";
readonly help_groupOrder: "Specify the order in which groups appear. * indicates the relative order for groups not in the list";
readonly help_sort: "Specify the sort strategy for documented values";
readonly help_sortEntryPoints: "If set, entry points will be subject to the same sorting rules as other reflections";
readonly help_kindSortOrder: "Specify the sort order for reflections when 'kind' is specified";
readonly help_watch: "Watch files for changes and rebuild docs on change";
readonly help_preserveWatchOutput: "If set, TypeDoc will not clear the screen between compilation runs";
readonly help_skipErrorChecking: "Do not run TypeScript's type checking before generating docs";
readonly help_help: "Print this message";
readonly help_version: "Print TypeDoc's version";
readonly help_showConfig: "Print the resolved configuration and exit";
readonly help_plugin: "Specify the npm plugins that should be loaded. Omit to load all installed plugins";
readonly help_logLevel: "Specify what level of logging should be used";
readonly help_treatWarningsAsErrors: "If set, all warnings will be treated as errors";
readonly help_treatValidationWarningsAsErrors: "If set, warnings emitted during validation will be treated as errors. This option cannot be used to disable treatWarningsAsErrors for validation warnings";
readonly help_intentionallyNotExported: "A list of types which should not produce 'referenced but not documented' warnings";
readonly help_requiredToBeDocumented: "A list of reflection kinds that must be documented";
readonly help_validation: "Specify which validation steps TypeDoc should perform on your generated documentation.";
readonly help_validation: "Specify which validation steps TypeDoc should perform on your generated documentation";
readonly unknown_option_0_you_may_have_meant_1: "Unknown option '{0}' You may have meant:\n\t{1}";

@@ -212,3 +217,3 @@ readonly option_0_must_be_between_1_and_2: "{0} must be between {1} and {2}";

readonly expected_object_with_flag_values_for_0: "Expected an object with flag values for {0} or true/false";
readonly flag_values_for_0_must_be_booleans: "Flag values for {0} must be a boolean.";
readonly flag_values_for_0_must_be_booleans: "Flag values for {0} must be a boolean";
readonly locales_must_be_an_object: "The 'locales' option must be set to an object which resembles: { en: { theme_implements: \"Implements\" }}";

@@ -218,13 +223,13 @@ readonly exclude_not_documented_specified_0_valid_values_are_1: "excludeNotDocumentedKinds may only specify known values, and invalid values were provided ({0}). The valid kinds are:\n{1}";

readonly highlight_theme_0_must_be_one_of_1: "{0} must be one of the following: {1}";
readonly highlightLanguages_contains_invalid_languages_0: "highlightLanguages contains invalid languages: {0}, run typedoc --help for a list of supported languages.";
readonly highlightLanguages_contains_invalid_languages_0: "highlightLanguages contains invalid languages: {0}, run typedoc --help for a list of supported languages";
readonly hostedBaseUrl_must_start_with_http: "hostedBaseUrl must start with http:// or https://";
readonly useHostedBaseUrlForAbsoluteLinks_requires_hostedBaseUrl: "The useHostedBaseUrlForAbsoluteLinks option requires that hostedBaseUrl be set";
readonly option_0_must_be_an_object: "The '{0}' option must be a non-array object.";
readonly option_0_must_be_a_function: "The '{0}' option must be a function.";
readonly option_0_must_be_object_with_urls: "{0} must be an object with string labels as keys and URL values.";
readonly option_0_must_be_an_object: "The '{0}' option must be a non-array object";
readonly option_0_must_be_a_function: "The '{0}' option must be a function";
readonly option_0_must_be_object_with_urls: "{0} must be an object with string labels as keys and URL values";
readonly visibility_filters_only_include_0: "visibilityFilters can only include the following non-@ keys: {0}";
readonly visibility_filters_must_be_booleans: "All values of visibilityFilters must be booleans.";
readonly visibility_filters_must_be_booleans: "All values of visibilityFilters must be booleans";
readonly option_0_values_must_be_numbers: "All values of {0} must be numbers";
readonly option_0_values_must_be_array_of_tags: "{0} must be an array of valid tag names.";
readonly option_0_specified_1_but_only_2_is_valid: "{0} may only specify known values, and invalid values were provided ({0}). The valid sort strategies are:\n{1}";
readonly option_0_values_must_be_array_of_tags: "{0} must be an array of valid tag names";
readonly option_0_specified_1_but_only_2_is_valid: "{0} may only specify known values, and invalid values were provided ({1}). The valid sort strategies are:\n{2}";
readonly kind_project: "Project";

@@ -278,2 +283,13 @@ readonly kind_module: "Module";

readonly kind_plural_document: "Documents";
readonly flag_private: "Private";
readonly flag_protected: "Protected";
readonly flag_public: "Public";
readonly flag_static: "Static";
readonly flag_external: "External";
readonly flag_optional: "Optional";
readonly flag_rest: "Rest";
readonly flag_abstract: "Abstract";
readonly flag_const: "Const";
readonly flag_readonly: "Readonly";
readonly flag_inherited: "Inherited";
readonly theme_implements: "Implements";

@@ -309,3 +325,4 @@ readonly theme_indexable: "Indexable";

[K in keyof typeof translatable]: BuildTranslationArguments<(typeof translatable)[K]>;
};
} & Record<(typeof blockTags)[number] | (typeof inlineTags)[number] | (typeof modifierTags)[number] extends `@${infer T}` ? `tag_${T}` : never, [
]>;
type BuildTranslationArguments<T extends string, Acc extends any[] = []> = T extends `${string}{${bigint}}${infer R}` ? BuildTranslationArguments<R, [...Acc, string]> : Acc;

@@ -312,0 +329,0 @@ export type BuiltinTranslatableStringConstraints = {

@@ -15,33 +15,34 @@ "use strict";

unsupported_ts_version_0: "You are running with an unsupported TypeScript version! If TypeDoc crashes, this is why. TypeDoc supports {0}",
no_compiler_options_set: "No compiler options set. This likely means that TypeDoc did not find your tsconfig.json. Generated documentation will probably be empty.",
no_compiler_options_set: "No compiler options set. This likely means that TypeDoc did not find your tsconfig.json. Generated documentation will probably be empty",
loaded_plugin_0: `Loaded plugin {0}`,
solution_not_supported_in_watch_mode: "The provided tsconfig file looks like a solution style tsconfig, which is not supported in watch mode.",
strategy_not_supported_in_watch_mode: "entryPointStrategy must be set to either resolve or expand for watch mode.",
docs_could_not_be_generated: "Documentation could not be generated due to the errors above.",
solution_not_supported_in_watch_mode: "The provided tsconfig file looks like a solution style tsconfig, which is not supported in watch mode",
strategy_not_supported_in_watch_mode: "entryPointStrategy must be set to either resolve or expand for watch mode",
found_0_errors_and_1_warnings: "Found {0} errors and {1} warnings",
docs_could_not_be_generated: "Documentation could not be generated due to the errors above",
docs_generated_at_0: "Documentation generated at {0}",
json_written_to_0: "JSON written to {0}",
no_entry_points_for_packages: "No entry points provided to packages mode, documentation cannot be generated.",
no_entry_points_for_packages: "No entry points provided to packages mode, documentation cannot be generated",
failed_to_find_packages: "Failed to find any packages, ensure you have provided at least one directory as an entry point containing package.json",
nested_packages_unsupported_0: "Project at {0} has entryPointStrategy set to packages, but nested packages are not supported.",
nested_packages_unsupported_0: "Project at {0} has entryPointStrategy set to packages, but nested packages are not supported",
previous_error_occurred_when_reading_options_for_0: "The previous error occurred when reading options for the package at {0}",
converting_project_at_0: "Converting project at {0}",
failed_to_convert_packages: "Failed to convert one or more packages, result will not be merged together.",
failed_to_convert_packages: "Failed to convert one or more packages, result will not be merged together",
merging_converted_projects: "Merging converted projects",
no_entry_points_to_merge: "No entry points provided to merge.",
entrypoint_did_not_match_files_0: "The entrypoint glob {0} did not match any files.",
failed_to_parse_json_0: `Failed to parse file at {0} as json.`,
no_entry_points_to_merge: "No entry points provided to merge",
entrypoint_did_not_match_files_0: "The entrypoint glob {0} did not match any files",
failed_to_parse_json_0: `Failed to parse file at {0} as json`,
failed_to_read_0_when_processing_document_tag_in_1: `Failed to read file {0} when processing @document tag for comment in {1}`,
failed_to_read_0_when_processing_project_document: `Failed to read file {0} when adding project document`,
failed_to_read_0_when_processing_document_child_in_1: `Failed to read file {0} when processing document children in {1}`,
frontmatter_children_0_should_be_an_array_of_strings_or_object_with_string_values: "Frontmatter children in {0} should be an array of strings or an object with string values.",
converting_union_as_interface: `Using @interface on a union type will discard properties not present on all branches of the union. TypeDoc's output may not accurately describe your source code.`,
converting_0_as_class_requires_value_declaration: `Converting {0} as a class requires a declaration which represents a non-type value.`,
frontmatter_children_0_should_be_an_array_of_strings_or_object_with_string_values: "Frontmatter children in {0} should be an array of strings or an object with string values",
converting_union_as_interface: `Using @interface on a union type will discard properties not present on all branches of the union. TypeDoc's output may not accurately describe your source code`,
converting_0_as_class_requires_value_declaration: `Converting {0} as a class requires a declaration which represents a non-type value`,
converting_0_as_class_without_construct_signatures: `{0} is being converted as a class, but does not have any construct signatures`,
comment_for_0_should_not_contain_block_or_modifier_tags: `The comment for {0} should not contain any block or modifier tags.`,
symbol_0_has_multiple_declarations_with_comment: `{0} has multiple declarations with a comment. An arbitrary comment will be used.`,
comment_for_0_should_not_contain_block_or_modifier_tags: `The comment for {0} should not contain any block or modifier tags`,
symbol_0_has_multiple_declarations_with_comment: `{0} has multiple declarations with a comment. An arbitrary comment will be used`,
comments_for_0_are_declared_at_1: `The comments for {0} are declared at:\n\t{1}`,
// comments/parser.ts
multiple_type_parameters_on_template_tag_unsupported: `TypeDoc does not support multiple type parameters defined in a single @template tag with a comment.`,
failed_to_find_jsdoc_tag_for_name_0: `Failed to find JSDoc tag for {0} after parsing comment, please file a bug report.`,
relative_path_0_does_not_exist: `The relative path {0} does not exist.`,
multiple_type_parameters_on_template_tag_unsupported: `TypeDoc does not support multiple type parameters defined in a single @template tag with a comment`,
failed_to_find_jsdoc_tag_for_name_0: `Failed to find JSDoc tag for {0} after parsing comment, please file a bug report`,
relative_path_0_does_not_exist: `The relative path {0} does not exist`,
inline_inheritdoc_should_not_appear_in_block_tag_in_comment_at_0: "An inline @inheritDoc tag should not appear within a block tag as it will not be processed in comment at {0}",

@@ -53,15 +54,18 @@ at_most_one_remarks_tag_expected_in_comment_at_0: "At most one @remarks tag is expected in a comment, ignoring all but the first in comment at {0}",

content_in_remarks_block_overwritten_by_inheritdoc_in_comment_at_0: "Content in the @remarks block will be overwritten by the @inheritDoc tag in comment at {0}",
example_tag_literal_name: "The first line of an example tag will be taken literally as the example name, and should only contain text.",
inheritdoc_tag_properly_capitalized: "The @inheritDoc tag should be properly capitalized.",
treating_unrecognized_tag_0_as_modifier: `Treating unrecognized tag {0} as a modifier tag.`,
unmatched_closing_brace: `Unmatched closing brace.`,
unescaped_open_brace_without_inline_tag: `Encountered an unescaped open brace without an inline tag.`,
unknown_block_tag_0: `Encountered an unknown block tag {0}.`,
unknown_inline_tag_0: `Encountered an unknown inline tag {0}.`,
open_brace_within_inline_tag: `Encountered an open brace within an inline tag, this is likely a mistake.`,
inline_tag_not_closed: `Inline tag is not closed.`,
example_tag_literal_name: "The first line of an example tag will be taken literally as the example name, and should only contain text",
inheritdoc_tag_properly_capitalized: "The @inheritDoc tag should be properly capitalized",
treating_unrecognized_tag_0_as_modifier: `Treating unrecognized tag {0} as a modifier tag`,
unmatched_closing_brace: `Unmatched closing brace`,
unescaped_open_brace_without_inline_tag: `Encountered an unescaped open brace without an inline tag`,
unknown_block_tag_0: `Encountered an unknown block tag {0}`,
unknown_inline_tag_0: `Encountered an unknown inline tag {0}`,
open_brace_within_inline_tag: `Encountered an open brace within an inline tag, this is likely a mistake`,
inline_tag_not_closed: `Inline tag is not closed`,
// validation
failed_to_resolve_link_to_0_in_comment_for_1: `Failed to resolve link to "{0}" in comment for {1}`,
type_0_defined_in_1_is_referenced_by_2_but_not_included_in_docs: `{0}, defined in {1}, is referenced by {2} but not included in the documentation.`,
reflection_0_kind_1_defined_in_2_does_not_have_any_documentation: `{0} ({1}), defined in {2}, does not have any documentation.`,
failed_to_resolve_link_to_0_in_comment_for_1_may_have_meant_2: `Failed to resolve link to "{0}" in comment for {1}. You may have wanted "{2}"`,
failed_to_resolve_link_to_0_in_readme_for_1: `Failed to resolve link to "{0}" in readme for {1}`,
failed_to_resolve_link_to_0_in_readme_for_1_may_have_meant_2: `Failed to resolve link to "{0}" in readme for {1}. You may have wanted "{2}"`,
type_0_defined_in_1_is_referenced_by_2_but_not_included_in_docs: `{0}, defined in {1}, is referenced by {2} but not included in the documentation`,
reflection_0_kind_1_defined_in_2_does_not_have_any_documentation: `{0} ({1}), defined in {2}, does not have any documentation`,
invalid_intentionally_not_exported_symbols_0: "The following symbols were marked as intentionally not exported, but were either not referenced in the documentation, or were exported:\n\t{0}",

@@ -71,21 +75,21 @@ // conversion plugins

not_all_search_group_boosts_used_0: `Not all groups specified in searchGroupBoosts were used in the documentation. The unused groups were:\n\t{0}`,
comment_for_0_includes_categoryDescription_for_1_but_no_child_in_group: `Comment for {0} includes @categoryDescription for "{1}", but no child is placed in that category.`,
comment_for_0_includes_groupDescription_for_1_but_no_child_in_group: `Comment for {0} includes @groupDescription for "{1}", but no child is placed in that group.`,
label_0_for_1_cannot_be_referenced: `The label "{0}" for {1} cannot be referenced with a declaration reference. Labels may only contain A-Z, 0-9, and _, and may not start with a number.`,
modifier_tag_0_is_mutually_exclusive_with_1_in_comment_for_2: `The modifier tag {0} is mutually exclusive with {1} in the comment for {2}.`,
signature_0_has_unused_param_with_name_1: `The signature {0} has an @param with name "{1}", which was not used.`,
declaration_reference_in_inheritdoc_for_0_not_fully_parsed: `Declaration reference in @inheritDoc for {0} was not fully parsed and may resolve incorrectly.`,
comment_for_0_includes_categoryDescription_for_1_but_no_child_in_group: `Comment for {0} includes @categoryDescription for "{1}", but no child is placed in that category`,
comment_for_0_includes_groupDescription_for_1_but_no_child_in_group: `Comment for {0} includes @groupDescription for "{1}", but no child is placed in that group`,
label_0_for_1_cannot_be_referenced: `The label "{0}" for {1} cannot be referenced with a declaration reference. Labels may only contain A-Z, 0-9, and _, and may not start with a number`,
modifier_tag_0_is_mutually_exclusive_with_1_in_comment_for_2: `The modifier tag {0} is mutually exclusive with {1} in the comment for {2}`,
signature_0_has_unused_param_with_name_1: `The signature {0} has an @param with name "{1}", which was not used`,
declaration_reference_in_inheritdoc_for_0_not_fully_parsed: `Declaration reference in @inheritDoc for {0} was not fully parsed and may resolve incorrectly`,
failed_to_find_0_to_inherit_comment_from_in_1: `Failed to find "{0}" to inherit the comment from in the comment for {1}`,
reflection_0_tried_to_copy_comment_from_1_but_source_had_no_comment: `{0} tried to copy a comment from {1} with @inheritDoc, but the source has no associated comment.`,
reflection_0_tried_to_copy_comment_from_1_but_source_had_no_comment: `{0} tried to copy a comment from {1} with @inheritDoc, but the source has no associated comment`,
inheritdoc_circular_inheritance_chain_0: `@inheritDoc specifies a circular inheritance chain: {0}`,
provided_readme_at_0_could_not_be_read: `Provided README path, {0} could not be read.`,
defaulting_project_name: 'The --name option was not specified, and no package.json was found. Defaulting project name to "Documentation".',
disable_git_set_but_not_source_link_template: `disableGit is set, but sourceLinkTemplate is not, so source links cannot be produced. Set a sourceLinkTemplate or disableSources to prevent source tracking.`,
disable_git_set_and_git_revision_used: `disableGit is set and sourceLinkTemplate contains {gitRevision}, which will be replaced with an empty string as no revision was provided.`,
git_remote_0_not_valid: `The provided git remote "{0}" was not valid. Source links will be broken.`,
provided_readme_at_0_could_not_be_read: `Provided README path, {0} could not be read`,
defaulting_project_name: 'The --name option was not specified, and no package.json was found. Defaulting project name to "Documentation"',
disable_git_set_but_not_source_link_template: `disableGit is set, but sourceLinkTemplate is not, so source links cannot be produced. Set a sourceLinkTemplate or disableSources to prevent source tracking`,
disable_git_set_and_git_revision_used: `disableGit is set and sourceLinkTemplate contains {gitRevision}, which will be replaced with an empty string as no revision was provided`,
git_remote_0_not_valid: `The provided git remote "{0}" was not valid. Source links will be broken`,
// output plugins
custom_css_file_0_does_not_exist: `Custom CSS file at {0} does not exist.`,
unsupported_highlight_language_0_not_highlighted_in_comment_for_1: `Unsupported highlight language {0} will not be highlighted in comment for {1}.`,
unloaded_language_0_not_highlighted_in_comment_for_1: `Code block with language {0} will not be highlighted in comment for {1} as it was not included in the highlightLanguages option.`,
yaml_frontmatter_not_an_object: `Expected YAML frontmatter to be an object.`,
custom_css_file_0_does_not_exist: `Custom CSS file at {0} does not exist`,
unsupported_highlight_language_0_not_highlighted_in_comment_for_1: `Unsupported highlight language {0} will not be highlighted in comment for {1}`,
unloaded_language_0_not_highlighted_in_comment_for_1: `Code block with language {0} will not be highlighted in comment for {1} as it was not included in the highlightLanguages option`,
yaml_frontmatter_not_an_object: `Expected YAML frontmatter to be an object`,
// renderer

@@ -98,128 +102,128 @@ could_not_write_0: `Could not write {0}`,

// entry points
no_entry_points_provided: "No entry points were provided, this is likely a misconfiguration.",
unable_to_find_any_entry_points: "Unable to find any entry points. See previous warnings.",
watch_does_not_support_packages_mode: "Watch mode does not support 'packages' style entry points.",
watch_does_not_support_merge_mode: "Watch mode does not support 'merge' style entry points.",
entry_point_0_not_in_program: `The entry point {0} is not referenced by the 'files' or 'include' option in your tsconfig.`,
use_expand_or_glob_for_files_in_dir: `If you wanted to include files inside this directory, set --entryPointStrategy to expand or specify a glob.`,
glob_0_did_not_match_any_files: `The glob {0} did not match any files.`,
entry_point_0_did_not_match_any_files_after_exclude: `The glob {0} did not match any files after applying exclude patterns.`,
entry_point_0_did_not_exist: `Provided entry point {0} does not exist.`,
entry_point_0_did_not_match_any_packages: `The entry point glob {0} did not match any directories containing package.json.`,
file_0_not_an_object: `The file {0} is not an object.`,
no_entry_points_provided: "No entry points were provided, this is likely a misconfiguration",
unable_to_find_any_entry_points: "Unable to find any entry points. See previous warnings",
watch_does_not_support_packages_mode: "Watch mode does not support 'packages' style entry points",
watch_does_not_support_merge_mode: "Watch mode does not support 'merge' style entry points",
entry_point_0_not_in_program: `The entry point {0} is not referenced by the 'files' or 'include' option in your tsconfig`,
use_expand_or_glob_for_files_in_dir: `If you wanted to include files inside this directory, set --entryPointStrategy to expand or specify a glob`,
glob_0_did_not_match_any_files: `The glob {0} did not match any files`,
entry_point_0_did_not_match_any_files_after_exclude: `The glob {0} did not match any files after applying exclude patterns`,
entry_point_0_did_not_exist: `Provided entry point {0} does not exist`,
entry_point_0_did_not_match_any_packages: `The entry point glob {0} did not match any directories containing package.json`,
file_0_not_an_object: `The file {0} is not an object`,
// deserialization
serialized_project_referenced_0_not_part_of_project: `Serialized project referenced reflection {0}, which was not a part of the project.`,
saved_relative_path_0_resolved_from_1_does_not_exist: `Serialized project referenced {0}, which does not exist relative to {1}.`,
serialized_project_referenced_0_not_part_of_project: `Serialized project referenced reflection {0}, which was not a part of the project`,
saved_relative_path_0_resolved_from_1_does_not_exist: `Serialized project referenced {0}, which does not exist relative to {1}`,
// options
circular_reference_extends_0: `Circular reference encountered for "extends" field of {0}`,
failed_resolve_0_to_file_in_1: `Failed to resolve {0} to a file in {1}`,
option_0_can_only_be_specified_by_config_file: `The '{0}' option can only be specified via a config file.`,
option_0_expected_a_value_but_none_provided: `--{0} expected a value, but none was given as an argument.`,
option_0_can_only_be_specified_by_config_file: `The '{0}' option can only be specified via a config file`,
option_0_expected_a_value_but_none_provided: `--{0} expected a value, but none was given as an argument`,
unknown_option_0_may_have_meant_1: `Unknown option: {0}, you may have meant:\n\t{1}`,
typedoc_key_in_0_ignored: `The 'typedoc' key in {0} was used by the legacy-packages entryPointStrategy and will be ignored.`,
typedoc_options_must_be_object_in_0: `Failed to parse the "typedocOptions" field in {0}, ensure it exists and contains an object.`,
typedoc_key_in_0_ignored: `The 'typedoc' key in {0} was used by the legacy-packages entryPointStrategy and will be ignored`,
typedoc_options_must_be_object_in_0: `Failed to parse the "typedocOptions" field in {0}, ensure it exists and contains an object`,
tsconfig_file_0_does_not_exist: `The tsconfig file {0} does not exist`,
tsconfig_file_specifies_options_file: `"typedocOptions" in tsconfig file specifies an option file to read but the option file has already been read. This is likely a misconfiguration.`,
tsconfig_file_specifies_tsconfig_file: `"typedocOptions" in tsconfig file may not specify a tsconfig file to read.`,
tags_0_defined_in_typedoc_json_overwritten_by_tsdoc_json: `The {0} defined in typedoc.json will be overwritten by configuration in tsdoc.json.`,
failed_read_tsdoc_json_0: `Failed to read tsdoc.json file at {0}.`,
invalid_tsdoc_json_0: `The file {0} is not a valid tsdoc.json file.`,
options_file_0_does_not_exist: `The options file {0} does not exist.`,
failed_read_options_file_0: `Failed to parse {0}, ensure it exists and exports an object.`,
tsconfig_file_specifies_options_file: `"typedocOptions" in tsconfig file specifies an option file to read but the option file has already been read. This is likely a misconfiguration`,
tsconfig_file_specifies_tsconfig_file: `"typedocOptions" in tsconfig file may not specify a tsconfig file to read`,
tags_0_defined_in_typedoc_json_overwritten_by_tsdoc_json: `The {0} defined in typedoc.json will be overwritten by configuration in tsdoc.json`,
failed_read_tsdoc_json_0: `Failed to read tsdoc.json file at {0}`,
invalid_tsdoc_json_0: `The file {0} is not a valid tsdoc.json file`,
options_file_0_does_not_exist: `The options file {0} does not exist`,
failed_read_options_file_0: `Failed to parse {0}, ensure it exists and exports an object`,
// plugins
invalid_plugin_0_missing_load_function: `Invalid structure in plugin {0}, no load function found.`,
plugin_0_could_not_be_loaded: `The plugin {0} could not be loaded.`,
invalid_plugin_0_missing_load_function: `Invalid structure in plugin {0}, no load function found`,
plugin_0_could_not_be_loaded: `The plugin {0} could not be loaded`,
// option declarations help
help_options: "Specify a json option file that should be loaded. If not specified TypeDoc will look for 'typedoc.json' in the current directory.",
help_tsconfig: "Specify a TypeScript config file that should be loaded. If not specified TypeDoc will look for 'tsconfig.json' in the current directory.",
help_compilerOptions: "Selectively override the TypeScript compiler options used by TypeDoc.",
help_lang: "Sets the language to be used in generation and in TypeDoc's messages.",
help_locales: "Add translations for a specified locale. This option is primarily intended to be used as a stopgap while waiting for official locale support to be added to TypeDoc.",
help_packageOptions: "Set options which will be set within each package when entryPointStrategy is set to packages.",
help_entryPoints: "The entry points of your documentation.",
help_entryPointStrategy: "The strategy to be used to convert entry points into documentation modules.",
help_alwaysCreateEntryPointModule: "When set, TypeDoc will always create a `Module` for entry points, even if only one is provided.",
help_projectDocuments: "Documents which should be added as children to the root of the generated documentation. Supports globs to match multiple files.",
help_exclude: "Define patterns to be excluded when expanding a directory that was specified as an entry point.",
help_externalPattern: "Define patterns for files that should be considered being external.",
help_excludeExternals: "Prevent externally resolved symbols from being documented.",
help_excludeNotDocumented: "Prevent symbols that are not explicitly documented from appearing in the results.",
help_excludeNotDocumentedKinds: "Specify the type of reflections that can be removed by excludeNotDocumented.",
help_excludeInternal: "Prevent symbols that are marked with @internal from being documented.",
help_excludeCategories: "Exclude symbols within this category from the documentation.",
help_excludePrivate: "Ignore private variables and methods, defaults to true..",
help_excludeProtected: "Ignore protected variables and methods.",
help_excludeReferences: "If a symbol is exported multiple times, ignore all but the first export.",
help_externalSymbolLinkMappings: "Define custom links for symbols not included in the documentation.",
help_out: "Specify the location the documentation should be written to.",
help_json: "Specify the location and filename a JSON file describing the project is written to.",
help_pretty: "Specify whether the output JSON should be formatted with tabs.",
help_emit: "Specify what TypeDoc should emit, 'docs', 'both', or 'none'.",
help_options: "Specify a json option file that should be loaded. If not specified TypeDoc will look for 'typedoc.json' in the current directory",
help_tsconfig: "Specify a TypeScript config file that should be loaded. If not specified TypeDoc will look for 'tsconfig.json' in the current directory",
help_compilerOptions: "Selectively override the TypeScript compiler options used by TypeDoc",
help_lang: "Sets the language to be used in generation and in TypeDoc's messages",
help_locales: "Add translations for a specified locale. This option is primarily intended to be used as a stopgap while waiting for official locale support to be added to TypeDoc",
help_packageOptions: "Set options which will be set within each package when entryPointStrategy is set to packages",
help_entryPoints: "The entry points of your documentation",
help_entryPointStrategy: "The strategy to be used to convert entry points into documentation modules",
help_alwaysCreateEntryPointModule: "When set, TypeDoc will always create a `Module` for entry points, even if only one is provided",
help_projectDocuments: "Documents which should be added as children to the root of the generated documentation. Supports globs to match multiple files",
help_exclude: "Define patterns to be excluded when expanding a directory that was specified as an entry point",
help_externalPattern: "Define patterns for files that should be considered being external",
help_excludeExternals: "Prevent externally resolved symbols from being documented",
help_excludeNotDocumented: "Prevent symbols that are not explicitly documented from appearing in the results",
help_excludeNotDocumentedKinds: "Specify the type of reflections that can be removed by excludeNotDocumented",
help_excludeInternal: "Prevent symbols that are marked with @internal from being documented",
help_excludeCategories: "Exclude symbols within this category from the documentation",
help_excludePrivate: "Ignore private variables and methods, defaults to true.",
help_excludeProtected: "Ignore protected variables and methods",
help_excludeReferences: "If a symbol is exported multiple times, ignore all but the first export",
help_externalSymbolLinkMappings: "Define custom links for symbols not included in the documentation",
help_out: "Specify the location the documentation should be written to",
help_json: "Specify the location and filename a JSON file describing the project is written to",
help_pretty: "Specify whether the output JSON should be formatted with tabs",
help_emit: "Specify what TypeDoc should emit, 'docs', 'both', or 'none'",
help_theme: "Specify the theme name to render the documentation with",
help_lightHighlightTheme: "Specify the code highlighting theme in light mode.",
help_darkHighlightTheme: "Specify the code highlighting theme in dark mode.",
help_highlightLanguages: "Specify the languages which will be loaded to highlight code when rendering.",
help_customCss: "Path to a custom CSS file to for the theme to import.",
help_markdownItOptions: "Specify the options passed to markdown-it, the Markdown parser used by TypeDoc.",
help_markdownItLoader: "Specify a callback to be called when loading the markdown-it instance. Will be passed the instance of the parser which TypeDoc will use.",
help_maxTypeConversionDepth: "Set the maximum depth of types to be converted.",
help_name: "Set the name of the project that will be used in the header of the template.",
help_includeVersion: "Add the package version to the project name.",
help_disableSources: "Disable setting the source of a reflection when documenting it.",
help_sourceLinkTemplate: "Specify a link template to be used when generating source urls. If not set, will be automatically created using the git remote. Supports {path}, {line}, {gitRevision} placeholders.",
help_gitRevision: "Use specified revision instead of the last revision for linking to GitHub/Bitbucket source files. Has no effect if disableSources is set.",
help_gitRemote: "Use the specified remote for linking to GitHub/Bitbucket source files. Has no effect if disableGit or disableSources is set.",
help_lightHighlightTheme: "Specify the code highlighting theme in light mode",
help_darkHighlightTheme: "Specify the code highlighting theme in dark mode",
help_highlightLanguages: "Specify the languages which will be loaded to highlight code when rendering",
help_customCss: "Path to a custom CSS file to for the theme to import",
help_markdownItOptions: "Specify the options passed to markdown-it, the Markdown parser used by TypeDoc",
help_markdownItLoader: "Specify a callback to be called when loading the markdown-it instance. Will be passed the instance of the parser which TypeDoc will use",
help_maxTypeConversionDepth: "Set the maximum depth of types to be converted",
help_name: "Set the name of the project that will be used in the header of the template",
help_includeVersion: "Add the package version to the project name",
help_disableSources: "Disable setting the source of a reflection when documenting it",
help_sourceLinkTemplate: "Specify a link template to be used when generating source urls. If not set, will be automatically created using the git remote. Supports {path}, {line}, {gitRevision} placeholders",
help_gitRevision: "Use specified revision instead of the last revision for linking to GitHub/Bitbucket source files. Has no effect if disableSources is set",
help_gitRemote: "Use the specified remote for linking to GitHub/Bitbucket source files. Has no effect if disableGit or disableSources is set",
help_disableGit: "Assume that all can be linked to with the sourceLinkTemplate, sourceLinkTemplate must be set if this is enabled. {path} will be rooted at basePath",
help_basePath: "Specifies the base path to be used when displaying file paths.",
help_excludeTags: "Remove the listed block/modifier tags from doc comments.",
help_readme: "Path to the readme file that should be displayed on the index page. Pass `none` to disable the index page and start the documentation on the globals page.",
help_cname: "Set the CNAME file text, it's useful for custom domains on GitHub Pages.",
help_sourceLinkExternal: "Specifies that source links should be treated as external links to be opened in a new tab.",
help_githubPages: "Generate a .nojekyll file to prevent 404 errors in GitHub Pages. Defaults to `true`.",
help_hostedBaseUrl: "Specify a base URL to be used in generating a sitemap.xml in our output folder and canonical links. If not specified, no sitemap will be generated.",
help_useHostedBaseUrlForAbsoluteLinks: "If set, TypeDoc will produce absolute links to pages on your site using the hostedBaseUrl option.",
help_gaID: "Set the Google Analytics tracking ID and activate tracking code.",
help_hideGenerator: "Do not print the TypeDoc link at the end of the page.",
help_customFooterHtml: "Custom footer after the TypeDoc link.",
help_customFooterHtmlDisableWrapper: "If set, disables the wrapper element for customFooterHtml.",
help_hideParameterTypesInTitle: "Hides parameter types in signature titles for easier scanning.",
help_cacheBust: "Include the generation time in links to static assets.",
help_searchInComments: "If set, the search index will also include comments. This will greatly increase the size of the search index.",
help_searchInDocuments: "If set, the search index will also include documents. This will greatly increase the size of the search index.",
help_cleanOutputDir: "If set, TypeDoc will remove the output directory before writing output.",
help_titleLink: "Set the link the title in the header points to. Defaults to the documentation homepage.",
help_navigationLinks: "Defines links to be included in the header.",
help_sidebarLinks: "Defines links to be included in the sidebar.",
help_navigationLeaves: "Branches of the navigation tree which should not be expanded.",
help_navigation: "Determines how the navigation sidebar is organized.",
help_visibilityFilters: "Specify the default visibility for builtin filters and additional filters according to modifier tags.",
help_basePath: "Specifies the base path to be used when displaying file paths",
help_excludeTags: "Remove the listed block/modifier tags from doc comments",
help_readme: "Path to the readme file that should be displayed on the index page. Pass `none` to disable the index page and start the documentation on the globals page",
help_cname: "Set the CNAME file text, it's useful for custom domains on GitHub Pages",
help_sourceLinkExternal: "Specifies that source links should be treated as external links to be opened in a new tab",
help_githubPages: "Generate a .nojekyll file to prevent 404 errors in GitHub Pages. Defaults to `true`",
help_hostedBaseUrl: "Specify a base URL to be used in generating a sitemap.xml in our output folder and canonical links. If not specified, no sitemap will be generated",
help_useHostedBaseUrlForAbsoluteLinks: "If set, TypeDoc will produce absolute links to pages on your site using the hostedBaseUrl option",
help_gaID: "Set the Google Analytics tracking ID and activate tracking code",
help_hideGenerator: "Do not print the TypeDoc link at the end of the page",
help_customFooterHtml: "Custom footer after the TypeDoc link",
help_customFooterHtmlDisableWrapper: "If set, disables the wrapper element for customFooterHtml",
help_hideParameterTypesInTitle: "Hides parameter types in signature titles for easier scanning",
help_cacheBust: "Include the generation time in links to static assets",
help_searchInComments: "If set, the search index will also include comments. This will greatly increase the size of the search index",
help_searchInDocuments: "If set, the search index will also include documents. This will greatly increase the size of the search index",
help_cleanOutputDir: "If set, TypeDoc will remove the output directory before writing output",
help_titleLink: "Set the link the title in the header points to. Defaults to the documentation homepage",
help_navigationLinks: "Defines links to be included in the header",
help_sidebarLinks: "Defines links to be included in the sidebar",
help_navigationLeaves: "Branches of the navigation tree which should not be expanded",
help_navigation: "Determines how the navigation sidebar is organized",
help_visibilityFilters: "Specify the default visibility for builtin filters and additional filters according to modifier tags",
help_searchCategoryBoosts: "Configure search to give a relevance boost to selected categories",
help_searchGroupBoosts: 'Configure search to give a relevance boost to selected kinds (eg "class")',
help_jsDocCompatibility: "Sets compatibility options for comment parsing that increase similarity with JSDoc comments.",
help_commentStyle: "Determines how TypeDoc searches for comments.",
help_useTsLinkResolution: "Use TypeScript's link resolution when determining where @link tags point. This only applies to JSDoc style comments.",
help_preserveLinkText: "If set, @link tags without link text will use the text content as the link. If not set, will use the target reflection name.",
help_blockTags: "Block tags which TypeDoc should recognize when parsing comments.",
help_inlineTags: "Inline tags which TypeDoc should recognize when parsing comments.",
help_modifierTags: "Modifier tags which TypeDoc should recognize when parsing comments.",
help_categorizeByGroup: "Specify whether categorization will be done at the group level.",
help_defaultCategory: "Specify the default category for reflections without a category.",
help_categoryOrder: "Specify the order in which categories appear. * indicates the relative order for categories not in the list.",
help_groupOrder: "Specify the order in which groups appear. * indicates the relative order for groups not in the list.",
help_sort: "Specify the sort strategy for documented values.",
help_sortEntryPoints: "If set, entry points will be subject to the same sorting rules as other reflections.",
help_kindSortOrder: "Specify the sort order for reflections when 'kind' is specified.",
help_watch: "Watch files for changes and rebuild docs on change.",
help_preserveWatchOutput: "If set, TypeDoc will not clear the screen between compilation runs.",
help_skipErrorChecking: "Do not run TypeScript's type checking before generating docs.",
help_help: "Print this message.",
help_version: "Print TypeDoc's version.",
help_showConfig: "Print the resolved configuration and exit.",
help_plugin: "Specify the npm plugins that should be loaded. Omit to load all installed plugins.",
help_logLevel: "Specify what level of logging should be used.",
help_treatWarningsAsErrors: "If set, all warnings will be treated as errors.",
help_treatValidationWarningsAsErrors: "If set, warnings emitted during validation will be treated as errors. This option cannot be used to disable treatWarningsAsErrors for validation warnings.",
help_intentionallyNotExported: "A list of types which should not produce 'referenced but not documented' warnings.",
help_jsDocCompatibility: "Sets compatibility options for comment parsing that increase similarity with JSDoc comments",
help_commentStyle: "Determines how TypeDoc searches for comments",
help_useTsLinkResolution: "Use TypeScript's link resolution when determining where @link tags point. This only applies to JSDoc style comments",
help_preserveLinkText: "If set, @link tags without link text will use the text content as the link. If not set, will use the target reflection name",
help_blockTags: "Block tags which TypeDoc should recognize when parsing comments",
help_inlineTags: "Inline tags which TypeDoc should recognize when parsing comments",
help_modifierTags: "Modifier tags which TypeDoc should recognize when parsing comments",
help_categorizeByGroup: "Specify whether categorization will be done at the group level",
help_defaultCategory: "Specify the default category for reflections without a category",
help_categoryOrder: "Specify the order in which categories appear. * indicates the relative order for categories not in the list",
help_groupOrder: "Specify the order in which groups appear. * indicates the relative order for groups not in the list",
help_sort: "Specify the sort strategy for documented values",
help_sortEntryPoints: "If set, entry points will be subject to the same sorting rules as other reflections",
help_kindSortOrder: "Specify the sort order for reflections when 'kind' is specified",
help_watch: "Watch files for changes and rebuild docs on change",
help_preserveWatchOutput: "If set, TypeDoc will not clear the screen between compilation runs",
help_skipErrorChecking: "Do not run TypeScript's type checking before generating docs",
help_help: "Print this message",
help_version: "Print TypeDoc's version",
help_showConfig: "Print the resolved configuration and exit",
help_plugin: "Specify the npm plugins that should be loaded. Omit to load all installed plugins",
help_logLevel: "Specify what level of logging should be used",
help_treatWarningsAsErrors: "If set, all warnings will be treated as errors",
help_treatValidationWarningsAsErrors: "If set, warnings emitted during validation will be treated as errors. This option cannot be used to disable treatWarningsAsErrors for validation warnings",
help_intentionallyNotExported: "A list of types which should not produce 'referenced but not documented' warnings",
help_requiredToBeDocumented: "A list of reflection kinds that must be documented",
help_validation: "Specify which validation steps TypeDoc should perform on your generated documentation.",
help_validation: "Specify which validation steps TypeDoc should perform on your generated documentation",
// ==================================================================

@@ -235,3 +239,3 @@ // Option validation

expected_object_with_flag_values_for_0: "Expected an object with flag values for {0} or true/false",
flag_values_for_0_must_be_booleans: "Flag values for {0} must be a boolean.",
flag_values_for_0_must_be_booleans: "Flag values for {0} must be a boolean",
locales_must_be_an_object: "The 'locales' option must be set to an object which resembles: { en: { theme_implements: \"Implements\" }}",

@@ -241,13 +245,13 @@ exclude_not_documented_specified_0_valid_values_are_1: `excludeNotDocumentedKinds may only specify known values, and invalid values were provided ({0}). The valid kinds are:\n{1}`,

highlight_theme_0_must_be_one_of_1: "{0} must be one of the following: {1}",
highlightLanguages_contains_invalid_languages_0: "highlightLanguages contains invalid languages: {0}, run typedoc --help for a list of supported languages.",
highlightLanguages_contains_invalid_languages_0: "highlightLanguages contains invalid languages: {0}, run typedoc --help for a list of supported languages",
hostedBaseUrl_must_start_with_http: "hostedBaseUrl must start with http:// or https://",
useHostedBaseUrlForAbsoluteLinks_requires_hostedBaseUrl: "The useHostedBaseUrlForAbsoluteLinks option requires that hostedBaseUrl be set",
option_0_must_be_an_object: "The '{0}' option must be a non-array object.",
option_0_must_be_a_function: "The '{0}' option must be a function.",
option_0_must_be_object_with_urls: `{0} must be an object with string labels as keys and URL values.`,
option_0_must_be_an_object: "The '{0}' option must be a non-array object",
option_0_must_be_a_function: "The '{0}' option must be a function",
option_0_must_be_object_with_urls: `{0} must be an object with string labels as keys and URL values`,
visibility_filters_only_include_0: `visibilityFilters can only include the following non-@ keys: {0}`,
visibility_filters_must_be_booleans: `All values of visibilityFilters must be booleans.`,
visibility_filters_must_be_booleans: `All values of visibilityFilters must be booleans`,
option_0_values_must_be_numbers: "All values of {0} must be numbers",
option_0_values_must_be_array_of_tags: "{0} must be an array of valid tag names.",
option_0_specified_1_but_only_2_is_valid: `{0} may only specify known values, and invalid values were provided ({0}). The valid sort strategies are:\n{1}`,
option_0_values_must_be_array_of_tags: "{0} must be an array of valid tag names",
option_0_specified_1_but_only_2_is_valid: `{0} may only specify known values, and invalid values were provided ({1}). The valid sort strategies are:\n{2}`,
// ReflectionKind singular translations

@@ -303,2 +307,14 @@ kind_project: "Project",

kind_plural_document: "Documents",
// ReflectionFlag translations
flag_private: "Private",
flag_protected: "Protected",
flag_public: "Public",
flag_static: "Static",
flag_external: "External",
flag_optional: "Optional",
flag_rest: "Rest",
flag_abstract: "Abstract",
flag_const: "Const",
flag_readonly: "Readonly",
flag_inherited: "Inherited",
// ==================================================================

@@ -305,0 +321,0 @@ // Strings that show up in the default theme

@@ -32,2 +32,3 @@ import type { Reflection } from "../reflections";

* This is used to detect and copy relative image links.
* Use {@link FileRegistry} to determine what path on disc this refers to.
*/

@@ -34,0 +35,0 @@ | RelativeLinkDisplayPart;

@@ -9,2 +9,3 @@ import { Comment } from "../comments/comment";

import type { DocumentReflection } from "./document";
import type { Internationalization, TranslatedString } from "../../internationalization";
/**

@@ -22,11 +23,9 @@ * Reset the reflection id.

Static = 8,
ExportAssignment = 16,
External = 32,
Optional = 64,
DefaultValue = 128,
Rest = 256,
Abstract = 512,
Const = 1024,
Let = 2048,
Readonly = 4096
External = 16,
Optional = 32,
Rest = 64,
Abstract = 128,
Const = 256,
Readonly = 512,
Inherited = 1024
}

@@ -36,3 +35,3 @@ /**

*/
export declare class ReflectionFlags extends Array<string> {
export declare class ReflectionFlags {
private flags;

@@ -70,7 +69,8 @@ hasFlag(flag: ReflectionFlag): boolean;

get isRest(): boolean;
get hasExportAssignment(): boolean;
get isAbstract(): boolean;
get isConst(): boolean;
get isReadonly(): boolean;
get isInherited(): boolean;
setFlag(flag: ReflectionFlag, set: boolean): void;
getFlagStrings(i18n: Internationalization): TranslatedString[];
private setSingleFlag;

@@ -191,2 +191,3 @@ private static serializedFlags;

getAlias(): string;
getUniqueAliasInPage(heading: string): string;
/**

@@ -193,0 +194,0 @@ * Has this reflection a visible comment?

@@ -62,11 +62,9 @@ "use strict";

ReflectionFlag[ReflectionFlag["Static"] = 8] = "Static";
ReflectionFlag[ReflectionFlag["ExportAssignment"] = 16] = "ExportAssignment";
ReflectionFlag[ReflectionFlag["External"] = 32] = "External";
ReflectionFlag[ReflectionFlag["Optional"] = 64] = "Optional";
ReflectionFlag[ReflectionFlag["DefaultValue"] = 128] = "DefaultValue";
ReflectionFlag[ReflectionFlag["Rest"] = 256] = "Rest";
ReflectionFlag[ReflectionFlag["Abstract"] = 512] = "Abstract";
ReflectionFlag[ReflectionFlag["Const"] = 1024] = "Const";
ReflectionFlag[ReflectionFlag["Let"] = 2048] = "Let";
ReflectionFlag[ReflectionFlag["Readonly"] = 4096] = "Readonly";
ReflectionFlag[ReflectionFlag["External"] = 16] = "External";
ReflectionFlag[ReflectionFlag["Optional"] = 32] = "Optional";
ReflectionFlag[ReflectionFlag["Rest"] = 64] = "Rest";
ReflectionFlag[ReflectionFlag["Abstract"] = 128] = "Abstract";
ReflectionFlag[ReflectionFlag["Const"] = 256] = "Const";
ReflectionFlag[ReflectionFlag["Readonly"] = 512] = "Readonly";
ReflectionFlag[ReflectionFlag["Inherited"] = 1024] = "Inherited";
})(ReflectionFlag || (exports.ReflectionFlag = ReflectionFlag = {}));

@@ -77,5 +75,3 @@ const relevantFlags = [

ReflectionFlag.Static,
ReflectionFlag.ExportAssignment,
ReflectionFlag.Optional,
ReflectionFlag.DefaultValue,
ReflectionFlag.Rest,

@@ -89,5 +85,4 @@ ReflectionFlag.Abstract,

*/
class ReflectionFlags extends Array {
class ReflectionFlags {
constructor() {
super(...arguments);
this.flags = ReflectionFlag.None;

@@ -142,5 +137,2 @@ }

}
get hasExportAssignment() {
return this.hasFlag(ReflectionFlag.ExportAssignment);
}
get isAbstract() {

@@ -155,2 +147,5 @@ return this.hasFlag(ReflectionFlag.Abstract);

}
get isInherited() {
return this.hasFlag(ReflectionFlag.Inherited);
}
setFlag(flag, set) {

@@ -183,14 +178,16 @@ switch (flag) {

}
getFlagStrings(i18n) {
const strings = [];
for (const flag of relevantFlags) {
if (this.hasFlag(flag)) {
strings.push(i18n.flagString(flag));
}
}
return strings;
}
setSingleFlag(flag, set) {
const name = ReflectionFlag[flag].replace(/(.)([A-Z])/g, (_m, a, b) => a + " " + b.toLowerCase());
if (!set && this.hasFlag(flag)) {
if (relevantFlags.includes(flag)) {
this.splice(this.indexOf(name), 1);
}
this.flags ^= flag;
}
else if (set && !this.hasFlag(flag)) {
if (relevantFlags.includes(flag)) {
this.push(name);
}
this.flags |= flag;

@@ -222,6 +219,6 @@ }

"isRest",
"hasExportAssignment",
"isAbstract",
"isConst",
"isReadonly",
"isInherited",
];

@@ -336,29 +333,29 @@ var TraverseProperty;

getAlias() {
if (!this._alias) {
let alias = this.name.replace(/\W/g, "_");
if (alias === "") {
alias = `reflection-${this.id}`;
}
// NTFS/ExFAT use uppercase, so we will too. It probably won't matter
// in this case since names will generally be valid identifiers, but to be safe...
const upperAlias = alias.toUpperCase();
let target = this;
while (target.parent && !target.hasOwnDocument) {
target = target.parent;
}
target._aliases ||= new Map();
let suffix = "";
if (!target._aliases.has(upperAlias)) {
target._aliases.set(upperAlias, 1);
}
else {
const count = target._aliases.get(upperAlias);
suffix = "-" + count.toString();
target._aliases.set(upperAlias, count + 1);
}
alias += suffix;
this._alias = alias;
}
this._alias ||= this.getUniqueAliasInPage(this.name.replace(/\W/g, "_") || `reflection-${this.id}`);
return this._alias;
}
// This really ought not live here, it ought to live in the html renderer, but moving that
// is more work than I want right now, it can wait for 0.27 when trying to split models into
// a bundleable structure.
getUniqueAliasInPage(heading) {
// NTFS/ExFAT use uppercase, so we will too. It probably won't matter
// in this case since names will generally be valid identifiers, but to be safe...
const upperAlias = heading.toUpperCase();
let target = this;
while (target.parent && !target.hasOwnDocument) {
target = target.parent;
}
target._aliases ||= new Map();
let suffix = "";
if (!target._aliases.has(upperAlias)) {
target._aliases.set(upperAlias, 1);
}
else {
const count = target._aliases.get(upperAlias);
suffix = "-" + count.toString();
target._aliases.set(upperAlias, count + 1);
}
heading += suffix;
return heading;
}
/**

@@ -365,0 +362,0 @@ * Has this reflection a visible comment?

@@ -48,2 +48,22 @@ "use strict";

const utils_1 = require("../../utils");
const ICONS_JS = `
(function() {
addIcons();
function addIcons() {
if (document.readyState === "loading") return document.addEventListener("DOMContentLoaded", addIcons);
const svg = document.body.appendChild(document.createElementNS("http://www.w3.org/2000/svg", "svg"));
svg.innerHTML = \`"SVG_HTML"\`;
svg.style.display = "none";
if (location.protocol === "file:") updateUseElements();
}
function updateUseElements() {
document.querySelectorAll("use").forEach(el => {
if (el.getAttribute("href").includes("#icon-")) {
el.setAttribute("href", el.getAttribute("href").replace(/.*#/, "#"));
}
});
}
})()
`.trim();
/**

@@ -77,19 +97,3 @@ * Plugin which is responsible for creating an icons.js file that embeds the icon SVGs

const svg = (0, utils_1.renderElement)(utils_1.JSX.createElement("svg", { xmlns: "http://www.w3.org/2000/svg" }, children));
const js = [
"(function(svg) {",
" svg.innerHTML = `" + (0, utils_1.renderElement)(utils_1.JSX.createElement(utils_1.JSX.Fragment, null, children)).replaceAll("`", "\\`") + "`;",
" svg.style.display = 'none';",
" if (location.protocol === 'file:') {",
" if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', updateUseElements);",
" else updateUseElements()",
" function updateUseElements() {",
" document.querySelectorAll('use').forEach(el => {",
" if (el.getAttribute('href').includes('#icon-')) {",
" el.setAttribute('href', el.getAttribute('href').replace(/.*#/, '#'));",
" }",
" });",
" }",
" }",
"})(document.body.appendChild(document.createElementNS('http://www.w3.org/2000/svg', 'svg')))",
].join("\n");
const js = ICONS_JS.replace("SVG_HTML", (0, utils_1.renderElement)(utils_1.JSX.createElement(utils_1.JSX.Fragment, null, children)).replaceAll("`", "\\`"));
const svgPath = (0, path_1.join)(event.outputDirectory, "assets/icons.svg");

@@ -96,0 +100,0 @@ const jsPath = (0, path_1.join)(event.outputDirectory, "assets/icons.js");

@@ -67,3 +67,3 @@ import type { Application } from "../application";

*
* This may be used to set {@link CommentTag.skipRendering} on any tags which
* This may be used to set {@link Models.CommentTag.skipRendering} on any tags which
* should not be rendered.

@@ -75,3 +75,3 @@ */

*
* This may be used to set {@link CommentTag.skipRendering} on any tags which
* This may be used to set {@link Models.CommentTag.skipRendering} on any tags which
* should not be rendered as this hook is called before the tags are actually

@@ -78,0 +78,0 @@ * rendered.

@@ -390,3 +390,3 @@ "use strict";

if (key === "inherited") {
if (reflection.isDeclaration() && reflection.inheritedFrom) {
if (reflection.flags.isInherited) {
classes.push("tsd-is-inherited");

@@ -393,0 +393,0 @@ }

@@ -6,2 +6,2 @@ import type { DefaultThemeRenderContext } from "../DefaultThemeRenderContext";

export declare function commentTags(context: DefaultThemeRenderContext, props: Reflection): JSX.Element | undefined;
export declare function reflectionFlags(_context: DefaultThemeRenderContext, props: Reflection): JSX.Element;
export declare function reflectionFlags(context: DefaultThemeRenderContext, props: Reflection): JSX.Element;

@@ -8,3 +8,3 @@ "use strict";

const models_1 = require("../../../../models");
const lib_1 = require("../../lib");
const anchor_icon_1 = require("./anchor-icon");
// Note: Comment modifiers are handled in `renderFlags`

@@ -29,6 +29,10 @@ function commentSummary({ markdown }, props) {

const name = item.name
? `${(0, lib_1.camelToTitleCase)(item.tag.substring(1))}: ${item.name}`
: (0, lib_1.camelToTitleCase)(item.tag.substring(1));
? `${context.internationalization.translateTagName(item.tag)}: ${item.name}`
: context.internationalization.translateTagName(item.tag);
const anchor = props.getUniqueAliasInPage(name);
return (utils_1.JSX.createElement(utils_1.JSX.Fragment, null,
utils_1.JSX.createElement("h4", null, name),
utils_1.JSX.createElement("h4", { class: "tsd-anchor-link" },
utils_1.JSX.createElement("a", { id: anchor, class: "tsd-anchor" }),
name,
(0, anchor_icon_1.anchorIcon)(context, anchor)),
utils_1.JSX.createElement(utils_1.Raw, { html: context.markdown(item.content) })));

@@ -39,8 +43,8 @@ })),

const flagsNotRendered = ["@showCategories", "@showGroups", "@hideCategories", "@hideGroups"];
function reflectionFlags(_context, props) {
const allFlags = [...props.flags];
function reflectionFlags(context, props) {
const allFlags = props.flags.getFlagStrings(context.internationalization);
if (props.comment) {
for (const tag of props.comment.modifierTags) {
if (!flagsNotRendered.includes(tag)) {
allFlags.push((0, lib_1.camelToTitleCase)(tag.substring(1)));
allFlags.push(context.internationalization.translateTagName(tag));
}

@@ -47,0 +51,0 @@ }

@@ -33,2 +33,8 @@ "use strict";

}
const flagOptionNameToReflectionFlag = {
protected: models_1.ReflectionFlag.Protected,
private: models_1.ReflectionFlag.Private,
external: models_1.ReflectionFlag.External,
inherited: models_1.ReflectionFlag.Inherited,
};
function settings(context) {

@@ -43,3 +49,3 @@ const defaultFilters = context.options.getValue("visibilityFilters");

.toLowerCase();
visibilityOptions.push(buildFilterItem(context, filterName, (0, lib_1.camelToTitleCase)(key.substring(1)), defaultFilters[key]));
visibilityOptions.push(buildFilterItem(context, filterName, context.internationalization.translateTagName(key), defaultFilters[key]));
}

@@ -50,3 +56,3 @@ else if ((key === "protected" && !context.options.getValue("excludeProtected")) ||

key === "inherited") {
visibilityOptions.push(buildFilterItem(context, key, (0, lib_1.camelToTitleCase)(key), defaultFilters[key]));
visibilityOptions.push(buildFilterItem(context, key, context.internationalization.flagString(flagOptionNameToReflectionFlag[key]), defaultFilters[key]));
}

@@ -53,0 +59,0 @@ }

@@ -36,3 +36,3 @@ "use strict";

utils_1.JSX.createElement("h4", { class: "tsd-before-signature" }, context.i18n.theme_indexable()),
props.model.indexSignatures.map((index) => renderIndexSignature(context, index)))),
utils_1.JSX.createElement("ul", { class: "tsd-signatures" }, props.model.indexSignatures.map((index) => renderIndexSignature(context, index))))),
!props.model.signatures && context.memberSources(props.model))),

@@ -43,3 +43,3 @@ !!props.model.children?.length && context.index(props.model),

function renderIndexSignature(context, index) {
return (utils_1.JSX.createElement(utils_1.JSX.Fragment, null,
return (utils_1.JSX.createElement("li", { class: "tsd-index-signature" },
utils_1.JSX.createElement("div", { class: "tsd-signature" },

@@ -46,0 +46,0 @@ utils_1.JSX.createElement("span", { class: "tsd-signature-symbol" }, "["),

@@ -23,3 +23,2 @@ import type { DefaultThemeRenderContext } from "..";

export declare function renderTypeParametersSignature(context: DefaultThemeRenderContext, typeParameters: readonly TypeParameterReflection[] | undefined): JSX.Element;
export declare function camelToTitleCase(text: string): string;
/**

@@ -26,0 +25,0 @@ * Renders the reflection name with an additional `?` if optional.

@@ -12,3 +12,2 @@ "use strict";

exports.renderTypeParametersSignature = renderTypeParametersSignature;
exports.camelToTitleCase = camelToTitleCase;
exports.renderName = renderName;

@@ -109,5 +108,2 @@ exports.getHierarchyRoots = getHierarchyRoots;

}
function camelToTitleCase(text) {
return text.substring(0, 1).toUpperCase() + text.substring(1).replace(/[a-z][A-Z]/g, (x) => `${x[0]} ${x[1]}`);
}
/**

@@ -114,0 +110,0 @@ * Renders the reflection name with an additional `?` if optional.

@@ -42,2 +42,3 @@ /**

export declare function assertNever(x: never): never;
export declare function camelToTitleCase(text: string): string;
export declare function NonEnumerable(_cls: unknown, context: ClassFieldDecoratorContext): void;

@@ -44,0 +45,0 @@ export declare function hasBeenLoadedMultipleTimes(): boolean;

@@ -27,2 +27,3 @@ "use strict";

exports.assertNever = assertNever;
exports.camelToTitleCase = camelToTitleCase;
exports.NonEnumerable = NonEnumerable;

@@ -39,2 +40,6 @@ exports.hasBeenLoadedMultipleTimes = hasBeenLoadedMultipleTimes;

}
function camelToTitleCase(text) {
return (text.substring(0, 1).toUpperCase() +
text.substring(1).replace(/[a-z][A-Z]/g, (x) => `${x[0]} ${x[1]}`));
}
function NonEnumerable(_cls, context) {

@@ -41,0 +46,0 @@ context.addInitializer(function () {

@@ -316,2 +316,3 @@ "use strict";

"jsonc",
"json5",
"tsx",

@@ -318,0 +319,0 @@ "typescript",

export declare const tsdocBlockTags: readonly ["@defaultValue", "@deprecated", "@example", "@param", "@privateRemarks", "@remarks", "@returns", "@see", "@throws", "@typeParam"];
export declare const blockTags: readonly ["@defaultValue", "@deprecated", "@example", "@param", "@privateRemarks", "@remarks", "@returns", "@see", "@throws", "@typeParam", "@category", "@categoryDescription", "@default", "@document", "@group", "@groupDescription", "@inheritDoc", "@license", "@module", "@return", "@template", "@type", "@typedef", "@callback", "@prop", "@property", "@satisfies", "@import", "@jsx"];
export declare const tsdocInlineTags: readonly ["@link", "@inheritDoc", "@label"];
export declare const inlineTags: string[];
export declare const inlineTags: readonly ["@link", "@inheritDoc", "@label", "@linkcode", "@linkplain"];
export declare const tsdocModifierTags: readonly ["@alpha", "@beta", "@eventProperty", "@experimental", "@internal", "@override", "@packageDocumentation", "@private", "@protected", "@public", "@readonly", "@sealed", "@virtual"];
export declare const modifierTags: readonly ["@alpha", "@beta", "@eventProperty", "@experimental", "@internal", "@override", "@packageDocumentation", "@private", "@protected", "@public", "@readonly", "@sealed", "@virtual", "@class", "@enum", "@event", "@hidden", "@hideCategories", "@hideGroups", "@ignore", "@interface", "@namespace", "@overload", "@showCategories", "@showGroups", "@hideconstructor"];

@@ -42,3 +42,7 @@ "use strict";

exports.tsdocInlineTags = ["@link", "@inheritDoc", "@label"];
exports.inlineTags = [...exports.tsdocInlineTags, "@linkcode", "@linkplain"];
exports.inlineTags = [
...exports.tsdocInlineTags,
"@linkcode",
"@linkplain",
];
exports.tsdocModifierTags = [

@@ -45,0 +49,0 @@ "@alpha",

@@ -39,3 +39,13 @@ "use strict";

function normalizePath(path) {
return path.replace(/\\/g, "/");
if (process.platform === "win32") {
// Ensure forward slashes
path = path.replace(/\\/g, "/");
// Msys2 git on windows will give paths which use unix-style
// absolute paths, like /c/users/you. Since the rest of TypeDoc
// expects drive letters, convert it to that here.
path = path.replace(/^\/([a-zA-Z])\//, (_m, m1) => `${m1}:/`);
// Make Windows drive letters upper case
path = path.replace(/^([^:]+):\//, (_m, m1) => m1.toUpperCase() + ":/");
}
return path;
}

@@ -48,3 +48,5 @@ "use strict";

if (!runner) {
const className = Object.getPrototypeOf(this).constructor.name;
const className = context.static
? this.name
: Object.getPrototypeOf(this).constructor.name;
runner = bench(value, `${className}.${String(context.name)}`);

@@ -51,0 +53,0 @@ }

@@ -1,3 +0,3 @@

import type { ProjectReflection } from "../models";
import { type ProjectReflection } from "../models";
import type { Logger } from "../utils";
export declare function validateLinks(project: ProjectReflection, logger: Logger): void;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.validateLinks = validateLinks;
const models_1 = require("../models");
const linkTags = ["@link", "@linkcode", "@linkplain"];
function getBrokenLinks(comment) {
function getBrokenPartLinks(parts) {
const links = [];
function processPart(part) {
for (const part of parts) {
if (part.kind === "inline-tag" &&

@@ -14,9 +15,29 @@ linkTags.includes(part.tag) &&

}
comment?.summary.forEach(processPart);
comment?.blockTags.forEach((tag) => tag.content.forEach(processPart));
return links;
}
function getBrokenLinks(comment) {
if (!comment)
return [];
const links = [...getBrokenPartLinks(comment.summary)];
for (const tag of comment.blockTags) {
links.push(...getBrokenPartLinks(tag.content));
}
return links;
}
function validateLinks(project, logger) {
for (const id in project.reflections) {
const reflection = project.reflections[id];
if (reflection.isProject() || reflection.isDeclaration()) {
for (const broken of getBrokenPartLinks(reflection.readme || [])) {
// #2360, "@" is a future reserved character in TSDoc component paths
// If a link starts with it, and doesn't include a module source indicator "!"
// then the user probably is trying to link to a package containing "@" with an absolute link.
if (broken.startsWith("@") && !broken.includes("!")) {
logger.warn(logger.i18n.failed_to_resolve_link_to_0_in_readme_for_1_may_have_meant_2(broken, reflection.getFriendlyFullName(), broken.replace(/[.#~]/, "!")));
}
else {
logger.warn(logger.i18n.failed_to_resolve_link_to_0_in_readme_for_1(broken, reflection.getFriendlyFullName()));
}
}
}
for (const broken of getBrokenLinks(reflection.comment)) {

@@ -26,9 +47,23 @@ // #2360, "@" is a future reserved character in TSDoc component paths

// then the user probably is trying to link to a package containing "@" with an absolute link.
let extra = "";
if (broken.startsWith("@") && !broken.includes("!")) {
extra = `\n\tYou may have wanted "${broken.replace(/[.#~]/, "!")}"`;
logger.warn(logger.i18n.failed_to_resolve_link_to_0_in_comment_for_1_may_have_meant_2(broken, reflection.getFriendlyFullName(), broken.replace(/[.#~]/, "!")));
}
logger.warn(logger.i18n.failed_to_resolve_link_to_0_in_comment_for_1(broken, `${reflection.getFriendlyFullName()}.${extra}`));
else {
logger.warn(logger.i18n.failed_to_resolve_link_to_0_in_comment_for_1(broken, reflection.getFriendlyFullName()));
}
}
if (reflection.isDeclaration() &&
reflection.kindOf(models_1.ReflectionKind.TypeAlias) &&
reflection.type?.type === "union" &&
reflection.type.elementSummaries) {
for (const broken of reflection.type.elementSummaries.flatMap(getBrokenPartLinks)) {
if (broken.startsWith("@") && !broken.includes("!")) {
logger.warn(logger.i18n.failed_to_resolve_link_to_0_in_comment_for_1_may_have_meant_2(broken, reflection.getFriendlyFullName(), broken.replace(/[.#~]/, "!")));
}
else {
logger.warn(logger.i18n.failed_to_resolve_link_to_0_in_comment_for_1(broken, reflection.getFriendlyFullName()));
}
}
}
}
}
{
"name": "typedoc",
"description": "Create api documentation for TypeScript projects.",
"version": "0.26.0-beta.3",
"version": "0.26.0-beta.4",
"homepage": "https://typedoc.org",

@@ -41,3 +41,3 @@ "exports": {

"@types/node": "18",
"@typestrong/fs-fixture-builder": "github:TypeStrong/fs-fixture-builder#8abd1494280116ff5318dde2c50ad01e1663790c",
"@typestrong/fs-fixture-builder": "github:TypeStrong/fs-fixture-builder#34113409e3a171e68ce5e2b55461ef5c35591cfe",
"c8": "^9.1.0",

@@ -44,0 +44,0 @@ "esbuild": "^0.21.3",

@@ -5,3 +5,3 @@ "use strict";

${he(l.parent,i)}.</span>${d}`);let m=document.createElement("li");m.classList.value=l.classes??"";let p=document.createElement("a");p.href=r.base+l.url,p.innerHTML=u+d,m.append(p),p.addEventListener("focus",()=>{e.querySelector(".current")?.classList.remove("current"),m.classList.add("current")}),e.appendChild(m)}}function de(t,e,n){let r=t.querySelector(".current");if(!r)r=t.querySelector(n==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let i=r;if(n===1)do i=i.nextElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);else do i=i.previousElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);i?(r.classList.remove("current"),i.classList.add("current")):n===-1&&(r.classList.remove("current"),e.focus())}}function He(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),te(e)}}function he(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(ee(t.substring(s,o)),`<b>${ee(t.substring(o,o+r.length))}</b>`),s=o+r.length,o=n.indexOf(r,s);return i.push(ee(t.substring(s))),i.join("")}var Be={"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#039;",'"':"&quot;"};function ee(t){return t.replace(/[&<>"'"]/g,e=>Be[e])}var I=class{constructor(e){this.el=e.el,this.app=e.app}};var F="mousedown",ye="mousemove",H="mouseup",J={x:0,y:0},me=!1,ne=!1,je=!1,D=!1,ve=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(ve?"is-mobile":"not-mobile");ve&&"ontouchstart"in document.documentElement&&(je=!0,F="touchstart",ye="touchmove",H="touchend");document.addEventListener(F,t=>{ne=!0,D=!1;let e=F=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(ye,t=>{if(ne&&!D){let e=F=="touchstart"?t.targetTouches[0]:t,n=J.x-(e.pageX||0),r=J.y-(e.pageY||0);D=Math.sqrt(n*n+r*r)>10}});document.addEventListener(H,()=>{ne=!1});document.addEventListener("click",t=>{me&&(t.preventDefault(),t.stopImmediatePropagation(),me=!1)});var X=class extends I{constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(H,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(F,n=>this.onDocumentPointerDown(n)),document.addEventListener(H,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){D||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!D&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var re;try{re=localStorage}catch{re={getItem(){return null},setItem(){}}}var Q=re;var ge=document.head.appendChild(document.createElement("style"));ge.dataset.for="filters";var Y=class extends I{constructor(e){super(e),this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),ge.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; }
`,this.app.updateIndexVisibility()}fromLocalStorage(){let e=Q.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){Q.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),this.app.updateIndexVisibility()}};var Z=class extends I{constructor(e){super(e),this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update());let r=this.summary.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)}),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function Ee(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,xe(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),xe(t.value)})}function xe(t){document.documentElement.dataset.theme=t}var K;function we(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",Le),Le())}async function Le(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let n=await(await fetch(window.navigationData)).arrayBuffer(),r=new Blob([n]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();K=t.dataset.base,K.endsWith("/")||(K+="/"),t.innerHTML="";for(let s of i)Se(s,t,[]);window.app.createComponents(t),window.app.showPage(),window.app.ensureActivePageVisible()}function Se(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-accordion`:"tsd-accordion",s.dataset.key=i.join("$");let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.innerHTML='<svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="#icon-chevronDown"></use></svg>',be(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let l=a.appendChild(document.createElement("ul"));l.className="tsd-nested-navigation";for(let u of t.children)Se(u,l,i)}else be(t,r,t.class)}function be(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));r.href=K+t.path,n&&(r.className=n),location.pathname===r.pathname&&r.classList.add("current"),t.kind&&(r.innerHTML=`<svg width="20" height="20" viewBox="0 0 24 24" fill="none" class="tsd-kind-icon"><use href="#icon-${t.kind}"></use></svg>`),r.appendChild(document.createElement("span")).textContent=t.text}else e.appendChild(document.createElement("span")).textContent=t.text}G(X,"a[data-toggle]");G(Z,".tsd-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var Te=document.getElementById("tsd-theme");Te&&Ee(Te);var qe=new U;Object.defineProperty(window,"app",{value:qe});fe();we();})();
`,this.app.updateIndexVisibility()}fromLocalStorage(){let e=Q.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){Q.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),this.app.updateIndexVisibility()}};var Z=class extends I{constructor(e){super(e),this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update());let r=this.summary.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)}),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function Ee(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,xe(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),xe(t.value)})}function xe(t){document.documentElement.dataset.theme=t}var K;function we(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",Le),Le())}async function Le(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let n=await(await fetch(window.navigationData)).arrayBuffer(),r=new Blob([n]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();K=t.dataset.base,K.endsWith("/")||(K+="/"),t.innerHTML="";for(let s of i)Se(s,t,[]);window.app.createComponents(t),window.app.showPage(),window.app.ensureActivePageVisible()}function Se(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-accordion`:"tsd-accordion";let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.dataset.key=i.join("$"),o.innerHTML='<svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="#icon-chevronDown"></use></svg>',be(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let l=a.appendChild(document.createElement("ul"));l.className="tsd-nested-navigation";for(let u of t.children)Se(u,l,i)}else be(t,r,t.class)}function be(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));r.href=K+t.path,n&&(r.className=n),location.pathname===r.pathname&&r.classList.add("current"),t.kind&&(r.innerHTML=`<svg width="20" height="20" viewBox="0 0 24 24" fill="none" class="tsd-kind-icon"><use href="#icon-${t.kind}"></use></svg>`),r.appendChild(document.createElement("span")).textContent=t.text}else e.appendChild(document.createElement("span")).textContent=t.text}G(X,"a[data-toggle]");G(Z,".tsd-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var Te=document.getElementById("tsd-theme");Te&&Ee(Te);var qe=new U;Object.defineProperty(window,"app",{value:qe});fe();we();})();
/*! Bundled license information:

@@ -8,0 +8,0 @@

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc