UNPKG

7.56 kBJSONView Raw
1{
2 "$schema": "http://json-schema.org/draft-07/schema#",
3 "type": "object",
4 "properties": {
5 "async": {
6 "type": "boolean",
7 "description": "When true, plugin will not block compilation to finish issues checking"
8 },
9 "typescript": {
10 "$ref": "#/definitions/TypeScriptOptions"
11 },
12 "formatter": {
13 "$ref": "#/definitions/FormatterOptions"
14 },
15 "issue": {
16 "$ref": "#/definitions/IssueOptions"
17 },
18 "logger": {
19 "$ref": "#/definitions/Logger"
20 },
21 "devServer": {
22 "type": "boolean",
23 "description": "Enable reporting to Webpack Dev Server."
24 }
25 },
26 "additionalProperties": false,
27 "definitions": {
28 "Formatter": {
29 "instanceof": "Function"
30 },
31 "ComplexFormatterPreferences": {
32 "type": "object",
33 "properties": {
34 "type": {
35 "$ref": "#/definitions/FormatterType"
36 },
37 "options": {
38 "type": "object",
39 "additionalProperties": true
40 }
41 },
42 "required": ["type"]
43 },
44 "FormatterType": {
45 "type": "string",
46 "enum": ["basic", "codeframe"]
47 },
48 "IssueMatch": {
49 "type": "object",
50 "properties": {
51 "severity": {
52 "type": "string",
53 "enum": ["error", "warning"]
54 },
55 "code": {
56 "type": "string"
57 },
58 "file": {
59 "type": "string"
60 }
61 }
62 },
63 "IssuePredicate": {
64 "instanceof": "Function"
65 },
66 "IssuePredicateOption": {
67 "oneOf": [
68 {
69 "$ref": "#/definitions/IssuePredicate"
70 },
71 {
72 "$ref": "#/definitions/IssueMatch"
73 },
74 {
75 "type": "array",
76 "items": {
77 "oneOf": [
78 {
79 "$ref": "#/definitions/IssuePredicate"
80 },
81 {
82 "$ref": "#/definitions/IssueMatch"
83 }
84 ]
85 }
86 }
87 ]
88 },
89 "Logger": {
90 "oneOf": [
91 {
92 "type": "object",
93 "properties": {
94 "error": {
95 "instanceof": "Function"
96 },
97 "log": {
98 "instanceof": "Function"
99 }
100 }
101 },
102 {
103 "type": "string",
104 "enum": ["webpack-infrastructure"]
105 }
106 ]
107 },
108 "TypeScriptOptions": {
109 "type": "object",
110 "properties": {
111 "memoryLimit": {
112 "type": "number",
113 "description": "Memory limit for TypeScript reporter process."
114 },
115 "configFile": {
116 "type": "string",
117 "description": "Path to tsconfig.json. By default plugin uses context or process.cwd() to localize tsconfig.json file."
118 },
119 "context": {
120 "type": "string",
121 "description": "The base path for finding files specified in the tsconfig.json. Same as context option from the ts-loader."
122 },
123 "build": {
124 "type": "boolean",
125 "description": "The equivalent of the `--build` flag from the `tsc`."
126 },
127 "mode": {
128 "type": "string",
129 "enum": ["readonly", "write-tsbuildinfo", "write-dts", "write-references"],
130 "description": "`readonly` keeps all emitted files in memory, `write-tsbuildinfo` which writes only .tsbuildinfo files, `write-dts` writes .tsbuildinfo and type definition files, and `write-references` which writes both .tsbuildinfo and referenced projects output"
131 },
132 "compilerOptions": {
133 "type": "object",
134 "description": "Custom compilerOptions to be passed to the TypeScript compiler.",
135 "additionalProperties": true
136 },
137 "diagnosticOptions": {
138 "type": "object",
139 "description": "Types of diagnostics to be reported.",
140 "properties": {
141 "syntactic": {
142 "type": "boolean"
143 },
144 "semantic": {
145 "type": "boolean"
146 },
147 "declaration": {
148 "type": "boolean"
149 },
150 "global": {
151 "type": "boolean"
152 }
153 }
154 },
155 "extensions": {
156 "type": "object",
157 "properties": {
158 "vue": {
159 "$ref": "#/definitions/TypeScriptVueExtensionOptions"
160 }
161 }
162 },
163 "profile": {
164 "type": "boolean",
165 "description": "Measures and prints timings related to the TypeScript performance."
166 },
167 "typescriptPath": {
168 "type": "string",
169 "description": "If supplied this is a custom path where TypeScript can be found."
170 }
171 }
172 },
173 "TypeScriptVueExtensionOptions": {
174 "oneOf": [
175 {
176 "type": "boolean",
177 "description": "Enable TypeScript Vue extension."
178 },
179 {
180 "type": "object",
181 "properties": {
182 "enabled": {
183 "type": "boolean",
184 "description": "Enable TypeScript Vue extension."
185 },
186 "compiler": {
187 "type": "string",
188 "description": "Custom vue-template-compiler package"
189 }
190 }
191 }
192 ]
193 },
194 "FormatterOptions": {
195 "oneOf": [
196 {
197 "$ref": "#/definitions/FormatterType"
198 },
199 {
200 "$ref": "#/definitions/ComplexFormatterPreferences"
201 },
202 {
203 "$ref": "#/definitions/Formatter"
204 }
205 ]
206 },
207 "IssueOptions": {
208 "type": "object",
209 "properties": {
210 "include": {
211 "$ref": "#/definitions/IssuePredicateOption"
212 },
213 "exclude": {
214 "$ref": "#/definitions/IssuePredicateOption"
215 }
216 }
217 }
218 }
219}