-
Notifications
You must be signed in to change notification settings - Fork 621
/
Copy pathExtractorMessageId.ts
145 lines (126 loc) · 4.56 KB
/
ExtractorMessageId.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
// See LICENSE in the project root for license information.
/**
* Unique identifiers for messages reported by API Extractor during its analysis.
*
* @remarks
*
* These strings are possible values for the {@link ExtractorMessage.messageId} property
* when the `ExtractorMessage.category` is {@link ExtractorMessageCategory.Extractor}.
*
* @public
*/
export enum ExtractorMessageId {
/**
* "The doc comment should not contain more than one release tag."
*/
ExtraReleaseTag = 'ae-extra-release-tag',
/**
* "Missing documentation for ___."
* @remarks
* The `ae-undocumented` message is only generated if the API report feature is enabled.
*
* Because the API report file already annotates undocumented items with `// (undocumented)`,
* the `ae-undocumented` message is not logged by default. To see it, add a setting such as:
* ```json
* "messages": {
* "extractorMessageReporting": {
* "ae-undocumented": {
* "logLevel": "warning"
* }
* }
* }
* ```
*/
Undocumented = 'ae-undocumented',
/**
* "This symbol has another declaration with a different release tag."
*/
DifferentReleaseTags = 'ae-different-release-tags',
/**
* "The symbol ___ is marked as ___, but its signature references ___ which is marked as ___."
*/
IncompatibleReleaseTags = 'ae-incompatible-release-tags',
/**
* "___ is part of the package's API, but it is missing a release tag (`@alpha`, `@beta`, `@public`, or `@internal`)."
*/
MissingReleaseTag = 'ae-missing-release-tag',
/**
* "The `@packageDocumentation` comment must appear at the top of entry point *.d.ts file."
*/
MisplacedPackageTag = 'ae-misplaced-package-tag',
/**
* "The symbol ___ needs to be exported by the entry point ___."
*/
ForgottenExport = 'ae-forgotten-export',
/**
* "The name ___ should be prefixed with an underscore because the declaration is marked as `@internal`."
*/
InternalMissingUnderscore = 'ae-internal-missing-underscore',
/**
* "Mixed release tags are not allowed for ___ because one of its declarations is marked as `@internal`."
*/
InternalMixedReleaseTag = 'ae-internal-mixed-release-tag',
/**
* "The `@preapproved` tag cannot be applied to ___ because it is not a supported declaration type."
*/
PreapprovedUnsupportedType = 'ae-preapproved-unsupported-type',
/**
* "The `@preapproved` tag cannot be applied to ___ without an `@internal` release tag."
*/
PreapprovedBadReleaseTag = 'ae-preapproved-bad-release-tag',
/**
* "The `@inheritDoc` reference could not be resolved."
*/
UnresolvedInheritDocReference = 'ae-unresolved-inheritdoc-reference',
/**
* "The `@inheritDoc` tag needs a TSDoc declaration reference; signature matching is not supported yet."
*
* @privateRemarks
* In the future, we will implement signature matching so that you can write `{@inheritDoc}` and API Extractor
* will find a corresponding member from a base class (or implemented interface). Until then, the tag
* always needs an explicit declaration reference such as `{@inhertDoc MyBaseClass.sameMethod}`.
*/
UnresolvedInheritDocBase = 'ae-unresolved-inheritdoc-base',
/**
* "The `@inheritDoc` tag for ___ refers to its own declaration."
*/
CyclicInheritDoc = 'ae-cyclic-inherit-doc',
/**
* "The `@link` reference could not be resolved."
*/
UnresolvedLink = 'ae-unresolved-link',
/**
* "The doc comment for the property ___ must appear on the getter, not the setter."
*/
SetterWithDocs = 'ae-setter-with-docs',
/**
* "The property ___ has a setter but no getter."
*/
MissingGetter = 'ae-missing-getter',
/**
* "Incorrect file type; API Extractor expects to analyze compiler outputs with the .d.ts file extension.
* Troubleshooting tips: `https://api-extractor.com/link/dts-error`"
*/
WrongInputFileType = 'ae-wrong-input-file-type'
}
export const allExtractorMessageIds: Set<string> = new Set<string>([
'ae-extra-release-tag',
'ae-undocumented',
'ae-different-release-tags',
'ae-incompatible-release-tags',
'ae-missing-release-tag',
'ae-misplaced-package-tag',
'ae-forgotten-export',
'ae-internal-missing-underscore',
'ae-internal-mixed-release-tag',
'ae-preapproved-unsupported-type',
'ae-preapproved-bad-release-tag',
'ae-unresolved-inheritdoc-reference',
'ae-unresolved-inheritdoc-base',
'ae-cyclic-inherit-doc',
'ae-unresolved-link',
'ae-setter-with-docs',
'ae-missing-getter',
'ae-wrong-input-file-type'
]);