From 58f1bac81b594123a3ed0fdb5d970f276d8ada9a Mon Sep 17 00:00:00 2001 From: Gerrit Birkeland Date: Sat, 1 May 2021 11:44:49 -0600 Subject: [PATCH] feat: Add the --treatWarningsAsErrors option Resolves #1568 --- bin/typedoc | 12 ++++++++++++ src/lib/utils/options/declaration.ts | 1 + src/lib/utils/options/sources/typedoc.ts | 5 +++++ 3 files changed, 18 insertions(+) diff --git a/bin/typedoc b/bin/typedoc index dad5e7ed1..0e4b09cb5 100755 --- a/bin/typedoc +++ b/bin/typedoc @@ -52,6 +52,12 @@ async function run(app) { if (app.logger.hasErrors()) { return ExitCodes.OptionError; } + if ( + app.options.getValue("treatWarningsAsErrors") && + app.logger.hasWarnings() + ) { + return ExitCodes.OptionError; + } if (app.options.getValue("entryPoints").length === 0) { app.logger.error("No entry points provided"); @@ -97,5 +103,11 @@ async function run(app) { if (app.logger.hasErrors()) { return ExitCodes.OutputError; } + if ( + app.options.getValue("treatWarningsAsErrors") && + app.logger.hasWarnings() + ) { + return ExitCodes.OutputError; + } return ExitCodes.Ok; } diff --git a/src/lib/utils/options/declaration.ts b/src/lib/utils/options/declaration.ts index 67598226d..baa7a87b5 100644 --- a/src/lib/utils/options/declaration.ts +++ b/src/lib/utils/options/declaration.ts @@ -80,6 +80,7 @@ export interface TypeDocOptionMap { plugin: string[]; logger: unknown; // string | Function logLevel: typeof LogLevel; + treatWarningsAsErrors: boolean; listInvalidSymbolLinks: boolean; markedOptions: unknown; diff --git a/src/lib/utils/options/sources/typedoc.ts b/src/lib/utils/options/sources/typedoc.ts index e2eace1a8..9802a4427 100644 --- a/src/lib/utils/options/sources/typedoc.ts +++ b/src/lib/utils/options/sources/typedoc.ts @@ -260,6 +260,11 @@ export function addTypeDocOptions(options: Pick) { map: LogLevel, defaultValue: LogLevel.Info, }); + options.addDeclaration({ + name: "treatWarningsAsErrors", + help: "If set, warnings will be treated as errors.", + type: ParameterType.Boolean, + }); options.addDeclaration({ name: "listInvalidSymbolLinks", help: