Skip to content

Commit 4855eb6

Browse files
committed
Add --treatValidationWarningsAsErrors
Closes #2199
1 parent c1b5ebd commit 4855eb6

File tree

4 files changed

+17
-3
lines changed

4 files changed

+17
-3
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Unreleased
22

3+
### Features
4+
5+
- Added `--treatValidationWarningsAsErrors` to turn treat only validation warnings as errors without treating all warnings as errors, #2199.
6+
37
### Bug Fixes
48

59
- Fixed a bug where optional properties were not appropriately marked as optional, #2200.

bin/typedoc

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,13 +94,17 @@ async function run(app) {
9494
return ExitCodes.CompileError;
9595
}
9696

97+
const preValidationWarnCount = app.logger.warningCount;
9798
app.validate(project);
99+
const hadValidationWarnings =
100+
app.logger.warningCount !== preValidationWarnCount;
98101
if (app.logger.hasErrors()) {
99102
return ExitCodes.ValidationError;
100103
}
101104
if (
102-
app.options.getValue("treatWarningsAsErrors") &&
103-
app.logger.hasWarnings()
105+
hadValidationWarnings &&
106+
(app.options.getValue("treatWarningsAsErrors") ||
107+
app.options.getValue("treatValidationWarningsAsErrors"))
104108
) {
105109
return ExitCodes.ValidationError;
106110
}

src/lib/utils/options/declaration.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@ export interface TypeDocOptionMap {
157157

158158
// Validation
159159
treatWarningsAsErrors: boolean;
160+
treatValidationWarningsAsErrors: boolean;
160161
intentionallyNotExported: string[];
161162
validation: ValidationOptions;
162163
requiredToBeDocumented: (keyof typeof ReflectionKind)[];

src/lib/utils/options/sources/typedoc.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -656,7 +656,12 @@ export function addTypeDocOptions(options: Pick<Options, "addDeclaration">) {
656656

657657
options.addDeclaration({
658658
name: "treatWarningsAsErrors",
659-
help: "If set, warnings will be treated as errors.",
659+
help: "If set, all warnings will be treated as errors.",
660+
type: ParameterType.Boolean,
661+
});
662+
options.addDeclaration({
663+
name: "treatValidationWarningsAsErrors",
664+
help: "If set, warnings emitted during validation will be treated as errors. This option cannot be used to disable treatWarningsAsErrors for validation warnings.",
660665
type: ParameterType.Boolean,
661666
});
662667
options.addDeclaration({

0 commit comments

Comments
 (0)