skir 0.0.3 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/dist/casing.d.ts.map +1 -1
  2. package/dist/casing.js +4 -1
  3. package/dist/casing.js.map +1 -1
  4. package/dist/casing.test.js +35 -1
  5. package/dist/casing.test.js.map +1 -1
  6. package/dist/compatibility_checker.test.js +2 -2
  7. package/dist/compiler.js +23 -42
  8. package/dist/compiler.js.map +1 -1
  9. package/dist/config.d.ts +2 -2
  10. package/dist/config.d.ts.map +1 -1
  11. package/dist/config.js +5 -10
  12. package/dist/config.js.map +1 -1
  13. package/dist/config_parser.d.ts +25 -0
  14. package/dist/config_parser.d.ts.map +1 -0
  15. package/dist/config_parser.js +125 -0
  16. package/dist/config_parser.js.map +1 -0
  17. package/dist/config_parser.test.d.ts +2 -0
  18. package/dist/config_parser.test.d.ts.map +1 -0
  19. package/dist/config_parser.test.js +386 -0
  20. package/dist/config_parser.test.js.map +1 -0
  21. package/dist/doc_comment_parser.d.ts +3 -2
  22. package/dist/doc_comment_parser.d.ts.map +1 -1
  23. package/dist/doc_comment_parser.js +67 -52
  24. package/dist/doc_comment_parser.js.map +1 -1
  25. package/dist/doc_comment_parser.test.js +86 -154
  26. package/dist/doc_comment_parser.test.js.map +1 -1
  27. package/dist/error_renderer.d.ts +4 -0
  28. package/dist/error_renderer.d.ts.map +1 -1
  29. package/dist/error_renderer.js +21 -0
  30. package/dist/error_renderer.js.map +1 -1
  31. package/dist/module_set.d.ts.map +1 -1
  32. package/dist/module_set.js +29 -12
  33. package/dist/module_set.js.map +1 -1
  34. package/dist/module_set.test.js +318 -173
  35. package/dist/module_set.test.js.map +1 -1
  36. package/dist/parser.d.ts.map +1 -1
  37. package/dist/parser.js +10 -10
  38. package/dist/parser.js.map +1 -1
  39. package/dist/project_initializer.js +9 -1
  40. package/dist/project_initializer.js.map +1 -1
  41. package/dist/tokenizer.d.ts +7 -1
  42. package/dist/tokenizer.d.ts.map +1 -1
  43. package/dist/tokenizer.js +12 -0
  44. package/dist/tokenizer.js.map +1 -1
  45. package/package.json +10 -5
  46. package/src/casing.ts +6 -1
  47. package/src/compiler.ts +26 -40
  48. package/src/config.ts +10 -15
  49. package/src/config_parser.ts +169 -0
  50. package/src/doc_comment_parser.ts +76 -52
  51. package/src/error_renderer.ts +34 -0
  52. package/src/module_set.ts +31 -15
  53. package/src/parser.ts +16 -10
  54. package/src/project_initializer.ts +9 -1
  55. package/src/tokenizer.ts +20 -2
  56. package/dist/language_server.d.ts +0 -15
  57. package/dist/language_server.d.ts.map +0 -1
  58. package/dist/language_server.js +0 -248
  59. package/dist/language_server.js.map +0 -1
  60. package/src/language_server.ts +0 -301
@@ -1,6 +1,6 @@
1
1
  import { expect } from "buckwheat";
2
2
  import { describe, it } from "mocha";
3
- import { parseDocComments } from "./doc_comment_parser.js";
3
+ import { parseDocComment } from "./doc_comment_parser.js";
4
4
  function makeToken(text, position = 0) {
5
5
  const line = {
6
6
  lineNumber: 0,
@@ -18,8 +18,8 @@ function makeToken(text, position = 0) {
18
18
  }
19
19
  describe("doc_comment_parser", () => {
20
20
  it("parses simple text", () => {
21
- const tokens = [makeToken("/// Hello, world!")];
22
- const result = parseDocComments(tokens);
21
+ const token = makeToken("/// Hello, world!");
22
+ const result = parseDocComment(token);
23
23
  expect(result).toMatch({
24
24
  errors: [],
25
25
  result: {
@@ -28,37 +28,37 @@ describe("doc_comment_parser", () => {
28
28
  });
29
29
  });
30
30
  it("skips exactly one space after ///", () => {
31
- const tokens = [
32
- makeToken("/// Hello"),
33
- makeToken("/// Two spaces"),
34
- makeToken("///No space"),
35
- ];
36
- const result = parseDocComments(tokens);
37
- expect(result).toMatch({
31
+ const token1 = makeToken("/// Hello");
32
+ const result1 = parseDocComment(token1);
33
+ expect(result1).toMatch({
38
34
  errors: [],
39
35
  result: {
40
- text: "Hello\n Two spaces\nNo space",
41
- pieces: [{ kind: "text", text: "Hello\n Two spaces\nNo space" }],
36
+ text: "Hello",
37
+ pieces: [{ kind: "text", text: "Hello" }],
42
38
  },
43
39
  });
44
- });
45
- it("parses multiple lines as single text fragment", () => {
46
- const tokens = [
47
- makeToken("/// Hello,"),
48
- makeToken("/// world!"),
49
- makeToken("/// How are you?"),
50
- ];
51
- const result = parseDocComments(tokens);
52
- expect(result).toMatch({
40
+ const token2 = makeToken("/// Two spaces");
41
+ const result2 = parseDocComment(token2);
42
+ expect(result2).toMatch({
53
43
  errors: [],
54
44
  result: {
55
- pieces: [{ kind: "text", text: "Hello,\nworld!\nHow are you?" }],
45
+ text: " Two spaces",
46
+ pieces: [{ kind: "text", text: " Two spaces" }],
47
+ },
48
+ });
49
+ const token3 = makeToken("///No space");
50
+ const result3 = parseDocComment(token3);
51
+ expect(result3).toMatch({
52
+ errors: [],
53
+ result: {
54
+ text: "No space",
55
+ pieces: [{ kind: "text", text: "No space" }],
56
56
  },
57
57
  });
58
58
  });
59
59
  it("parses simple reference", () => {
60
- const tokens = [makeToken("/// See [.foo.Bar] for details")];
61
- const result = parseDocComments(tokens);
60
+ const token = makeToken("/// See [.foo.Bar] for details");
61
+ const result = parseDocComment(token);
62
62
  expect(result).toMatch({
63
63
  errors: [],
64
64
  result: {
@@ -67,7 +67,7 @@ describe("doc_comment_parser", () => {
67
67
  { kind: "text", text: "See " },
68
68
  {
69
69
  kind: "reference",
70
- nameChain: [{ text: "foo" }, { text: "Bar" }],
70
+ nameParts: [{ token: { text: "foo" } }, { token: { text: "Bar" } }],
71
71
  absolute: true,
72
72
  },
73
73
  { kind: "text", text: " for details" },
@@ -76,8 +76,8 @@ describe("doc_comment_parser", () => {
76
76
  });
77
77
  });
78
78
  it("parses reference without leading dot", () => {
79
- const tokens = [makeToken("/// See [Foo] for details")];
80
- const result = parseDocComments(tokens);
79
+ const token = makeToken("/// See [Foo] for details");
80
+ const result = parseDocComment(token);
81
81
  expect(result).toMatch({
82
82
  errors: [],
83
83
  result: {
@@ -85,7 +85,7 @@ describe("doc_comment_parser", () => {
85
85
  {},
86
86
  {
87
87
  kind: "reference",
88
- nameChain: [{ text: "Foo" }],
88
+ nameParts: [{ token: { text: "Foo" } }],
89
89
  absolute: false,
90
90
  },
91
91
  {},
@@ -94,8 +94,8 @@ describe("doc_comment_parser", () => {
94
94
  });
95
95
  });
96
96
  it("rejects reference with whitespace", () => {
97
- const tokens = [makeToken("/// See [ .foo ] for details")];
98
- const result = parseDocComments(tokens);
97
+ const token = makeToken("/// See [ .foo ] for details");
98
+ const result = parseDocComment(token);
99
99
  expect(result).toMatch({
100
100
  errors: [
101
101
  {
@@ -108,8 +108,8 @@ describe("doc_comment_parser", () => {
108
108
  });
109
109
  });
110
110
  it("parses escaped brackets", () => {
111
- const tokens = [makeToken("/// Hello [[world]]!")];
112
- const result = parseDocComments(tokens);
111
+ const token = makeToken("/// Hello [[world]]!");
112
+ const result = parseDocComment(token);
113
113
  expect(result).toMatch({
114
114
  errors: [],
115
115
  result: {
@@ -118,8 +118,8 @@ describe("doc_comment_parser", () => {
118
118
  });
119
119
  });
120
120
  it("handles unmatched closing bracket", () => {
121
- const tokens = [makeToken("/// Hello ] world")];
122
- const result = parseDocComments(tokens);
121
+ const token = makeToken("/// Hello ] world");
122
+ const result = parseDocComment(token);
123
123
  expect(result).toMatch({
124
124
  errors: [],
125
125
  result: {
@@ -128,26 +128,22 @@ describe("doc_comment_parser", () => {
128
128
  });
129
129
  });
130
130
  it("parses multiple references and text fragments", () => {
131
- const tokens = [
132
- makeToken("/// Hello,"),
133
- makeToken("/// world [.foo.Bar], how are"),
134
- makeToken("/// you?"),
135
- ];
136
- const result = parseDocComments(tokens);
131
+ const token = makeToken("/// world [.foo.Bar], how are you?");
132
+ const result = parseDocComment(token);
137
133
  expect(result).toMatch({
138
134
  errors: [],
139
135
  result: {
140
136
  pieces: [
141
- { kind: "text", text: "Hello,\nworld " },
137
+ { kind: "text", text: "world " },
142
138
  { kind: "reference" },
143
- { kind: "text", text: ", how are\nyou?" },
139
+ { kind: "text", text: ", how are you?" },
144
140
  ],
145
141
  },
146
142
  });
147
143
  });
148
144
  it("reports error for empty reference", () => {
149
- const tokens = [makeToken("/// See [] for details")];
150
- const result = parseDocComments(tokens);
145
+ const token = makeToken("/// See [] for details");
146
+ const result = parseDocComment(token);
151
147
  expect(result).toMatch({
152
148
  result: {},
153
149
  errors: [
@@ -161,21 +157,21 @@ describe("doc_comment_parser", () => {
161
157
  });
162
158
  });
163
159
  it("reports error for unterminated reference", () => {
164
- const tokens = [makeToken("/// See [.foo.Bar")];
165
- const result = parseDocComments(tokens);
160
+ const token = makeToken("/// See [.foo.Bar");
161
+ const result = parseDocComment(token);
166
162
  expect(result).toMatch({
167
163
  result: {
168
164
  pieces: [
169
165
  { kind: "text", text: "See " },
170
- { kind: "reference", nameChain: [], absolute: true },
166
+ { kind: "reference", nameParts: [], absolute: true },
171
167
  ],
172
168
  },
173
169
  errors: [{ message: "Unterminated reference" }],
174
170
  });
175
171
  });
176
172
  it("reports error for invalid character in reference", () => {
177
- const tokens = [makeToken("/// See [foo@bar] for details")];
178
- const result = parseDocComments(tokens);
173
+ const token = makeToken("/// See [foo@bar] for details");
174
+ const result = parseDocComment(token);
179
175
  expect(result).toMatch({
180
176
  errors: [
181
177
  {
@@ -188,8 +184,8 @@ describe("doc_comment_parser", () => {
188
184
  });
189
185
  });
190
186
  it("rejects digit at start of word in reference", () => {
191
- const tokens = [makeToken("/// See [.foo.9Bar] for details")];
192
- const result = parseDocComments(tokens);
187
+ const token = makeToken("/// See [.foo.9Bar] for details");
188
+ const result = parseDocComment(token);
193
189
  expect(result).toMatch({
194
190
  errors: [
195
191
  {
@@ -202,8 +198,8 @@ describe("doc_comment_parser", () => {
202
198
  });
203
199
  });
204
200
  it("allows underscore and digits in word after first letter", () => {
205
- const tokens = [makeToken("/// See [Foo_Bar_123] for details")];
206
- const result = parseDocComments(tokens);
201
+ const token = makeToken("/// See [Foo_Bar_123] for details");
202
+ const result = parseDocComment(token);
207
203
  expect(result).toMatch({
208
204
  errors: [],
209
205
  result: {
@@ -211,7 +207,7 @@ describe("doc_comment_parser", () => {
211
207
  {},
212
208
  {
213
209
  kind: "reference",
214
- nameChain: [{ text: "Foo_Bar_123" }],
210
+ nameParts: [{ token: { text: "Foo_Bar_123" } }],
215
211
  absolute: false,
216
212
  },
217
213
  {},
@@ -220,10 +216,8 @@ describe("doc_comment_parser", () => {
220
216
  });
221
217
  });
222
218
  it("handles mixed escaped brackets and references", () => {
223
- const tokens = [
224
- makeToken("/// [[Not a reference]] but [RealReference] is"),
225
- ];
226
- const result = parseDocComments(tokens);
219
+ const token = makeToken("/// [[Not a reference]] but [RealReference] is");
220
+ const result = parseDocComment(token);
227
221
  expect(result).toMatch({
228
222
  errors: [],
229
223
  result: {
@@ -235,53 +229,39 @@ describe("doc_comment_parser", () => {
235
229
  },
236
230
  });
237
231
  });
238
- it("handles empty doc comments", () => {
239
- const tokens = [];
240
- const result = parseDocComments(tokens);
241
- expect(result).toMatch({
242
- errors: [],
243
- result: {
244
- pieces: [],
245
- },
246
- });
247
- });
248
232
  it("handles only whitespace after ///", () => {
249
- const tokens = [makeToken("///"), makeToken("/// ")];
250
- const result = parseDocComments(tokens);
233
+ const token = makeToken("/// ");
234
+ const result = parseDocComment(token);
251
235
  expect(result).toMatch({
252
236
  errors: [],
253
237
  result: {
254
- pieces: [{ kind: "text", text: "\n " }],
238
+ pieces: [{ kind: "text", text: " " }],
255
239
  },
256
240
  });
257
241
  });
258
242
  it("continues parsing after error", () => {
259
- const tokens = [
260
- makeToken("/// Invalid [@ but"),
261
- makeToken("/// valid [Link] here"),
262
- ];
263
- const result = parseDocComments(tokens);
243
+ const token = makeToken("/// Invalid [@] here and [..] here.");
244
+ const result = parseDocComment(token);
264
245
  expect(result).toMatch({
265
246
  errors: [
266
247
  {
267
248
  token: {
268
- text: "[@ but",
269
- position: 12,
249
+ text: "[@]",
270
250
  },
271
- message: "Unterminated reference",
251
+ message: "Invalid character in reference at column 14",
272
252
  },
273
253
  {
274
254
  token: {
275
- text: "[@ but",
255
+ text: ".",
276
256
  },
277
- message: "Invalid character in reference at column 14",
257
+ expected: "identifier",
278
258
  },
279
259
  ],
280
260
  });
281
261
  });
282
262
  it("handles reference at start of comment", () => {
283
- const tokens = [makeToken("///[Reference] at start")];
284
- const result = parseDocComments(tokens);
263
+ const token = makeToken("///[Reference] at start");
264
+ const result = parseDocComment(token);
285
265
  expect(result).toMatch({
286
266
  errors: [],
287
267
  result: {
@@ -290,8 +270,8 @@ describe("doc_comment_parser", () => {
290
270
  });
291
271
  });
292
272
  it("handles reference at end of comment", () => {
293
- const tokens = [makeToken("/// End with [Reference]")];
294
- const result = parseDocComments(tokens);
273
+ const token = makeToken("/// End with [Reference]");
274
+ const result = parseDocComment(token);
295
275
  expect(result).toMatch({
296
276
  errors: [],
297
277
  result: {
@@ -299,30 +279,9 @@ describe("doc_comment_parser", () => {
299
279
  },
300
280
  });
301
281
  });
302
- it("handles reference at end of line followed by text on next line", () => {
303
- const tokens = [
304
- makeToken("/// End with [Reference]"),
305
- makeToken("/// and continue text"),
306
- ];
307
- const result = parseDocComments(tokens);
308
- expect(result).toMatch({
309
- errors: [],
310
- result: {
311
- pieces: [
312
- { kind: "text", text: "End with " },
313
- {
314
- kind: "reference",
315
- nameChain: [{ text: "Reference" }],
316
- absolute: false,
317
- },
318
- { kind: "text", text: "\nand continue text" },
319
- ],
320
- },
321
- });
322
- });
323
282
  it("handles consecutive references", () => {
324
- const tokens = [makeToken("/// [Ref1][Ref2][Ref3]")];
325
- const result = parseDocComments(tokens);
283
+ const token = makeToken("/// [Ref1][Ref2][Ref3]");
284
+ const result = parseDocComment(token);
326
285
  expect(result).toMatch({
327
286
  errors: [],
328
287
  result: {
@@ -335,8 +294,8 @@ describe("doc_comment_parser", () => {
335
294
  });
336
295
  });
337
296
  it("preserves correct token positions with space after ///", () => {
338
- const tokens = [makeToken("/// [Foo]", 100)];
339
- const result = parseDocComments(tokens);
297
+ const token = makeToken("/// [Foo]", 100);
298
+ const result = parseDocComment(token);
340
299
  // Position should be 100 (start) + 3 (///) + 1 (space) + 1 (opening bracket) = 105
341
300
  expect(result).toMatch({
342
301
  errors: [],
@@ -344,7 +303,7 @@ describe("doc_comment_parser", () => {
344
303
  pieces: [
345
304
  {
346
305
  kind: "reference",
347
- nameChain: [{ text: "Foo", position: 105 }],
306
+ nameParts: [{ token: { text: "Foo", position: 105 } }],
348
307
  absolute: false,
349
308
  },
350
309
  ],
@@ -352,8 +311,8 @@ describe("doc_comment_parser", () => {
352
311
  });
353
312
  });
354
313
  it("preserves correct token positions without space after ///", () => {
355
- const tokens = [makeToken("///[Foo]", 100)];
356
- const result = parseDocComments(tokens);
314
+ const token = makeToken("///[Foo]", 100);
315
+ const result = parseDocComment(token);
357
316
  // Position should be 100 (start) + 3 (///) + 1 (opening bracket) = 104
358
317
  expect(result).toMatch({
359
318
  errors: [],
@@ -361,7 +320,7 @@ describe("doc_comment_parser", () => {
361
320
  pieces: [
362
321
  {
363
322
  kind: "reference",
364
- nameChain: [{ text: "Foo", position: 104 }],
323
+ nameParts: [{ token: { text: "Foo", position: 104 } }],
365
324
  absolute: false,
366
325
  },
367
326
  ],
@@ -369,8 +328,8 @@ describe("doc_comment_parser", () => {
369
328
  });
370
329
  });
371
330
  it("preserves correct error positions with space after ///", () => {
372
- const tokens = [makeToken("/// [@invalid]", 100)];
373
- const result = parseDocComments(tokens);
331
+ const token = makeToken("/// [@invalid]", 100);
332
+ const result = parseDocComment(token);
374
333
  // Error should be at position 100 + 3 (///) + 1 (space) = 104
375
334
  expect(result).toMatch({
376
335
  errors: [
@@ -384,8 +343,8 @@ describe("doc_comment_parser", () => {
384
343
  });
385
344
  });
386
345
  it("preserves correct error positions without space after ///", () => {
387
- const tokens = [makeToken("///[@invalid]", 100)];
388
- const result = parseDocComments(tokens);
346
+ const token = makeToken("///[@invalid]", 100);
347
+ const result = parseDocComment(token);
389
348
  // Error should be at position 100 + 3 (///) = 103
390
349
  expect(result).toMatch({
391
350
  errors: [
@@ -398,44 +357,17 @@ describe("doc_comment_parser", () => {
398
357
  ],
399
358
  });
400
359
  });
401
- it("parses multiple references on different lines", () => {
402
- const tokens = [
403
- makeToken("/// See [Ref1] and"),
404
- makeToken("/// also [Ref2] here"),
405
- ];
406
- const result = parseDocComments(tokens);
407
- expect(result).toMatch({
408
- errors: [],
409
- result: {
410
- pieces: [
411
- { kind: "text", text: "See " },
412
- {
413
- kind: "reference",
414
- nameChain: [{ text: "Ref1" }],
415
- absolute: false,
416
- },
417
- { kind: "text", text: " and\nalso " },
418
- {
419
- kind: "reference",
420
- nameChain: [{ text: "Ref2" }],
421
- absolute: false,
422
- },
423
- { kind: "text", text: " here" },
424
- ],
425
- },
426
- });
427
- });
428
360
  it("reports error for unterminated reference at end of line", () => {
429
- const tokens = [makeToken("/// See [.foo.Bar")];
430
- const result = parseDocComments(tokens);
361
+ const token = makeToken("/// See [.foo.Bar");
362
+ const result = parseDocComment(token);
431
363
  expect(result).toMatch({
432
364
  result: {},
433
365
  errors: [{ message: "Unterminated reference" }],
434
366
  });
435
367
  });
436
368
  it("sets docComment field in reference", () => {
437
- const tokens = [makeToken("/// See [Foo] here")];
438
- const result = parseDocComments(tokens);
369
+ const token = makeToken("/// See [Foo] here");
370
+ const result = parseDocComment(token);
439
371
  expect(result).toMatch({
440
372
  errors: [],
441
373
  result: {
@@ -443,7 +375,7 @@ describe("doc_comment_parser", () => {
443
375
  {},
444
376
  {
445
377
  kind: "reference",
446
- docComment: tokens[0],
378
+ docComment: token,
447
379
  },
448
380
  {},
449
381
  ],
@@ -451,8 +383,8 @@ describe("doc_comment_parser", () => {
451
383
  });
452
384
  });
453
385
  it("sets referenceRange field to include brackets", () => {
454
- const tokens = [makeToken("/// See [.foo.Bar] here", 100)];
455
- const result = parseDocComments(tokens);
386
+ const token = makeToken("/// See [.foo.Bar] here", 100);
387
+ const result = parseDocComment(token);
456
388
  // Position: 100 (start) + 4 (/// ) + 4 (See ) = 108
457
389
  expect(result).toMatch({
458
390
  errors: [],
@@ -474,8 +406,8 @@ describe("doc_comment_parser", () => {
474
406
  });
475
407
  });
476
408
  it("referenceRange works without space after ///", () => {
477
- const tokens = [makeToken("///[Foo]", 50)];
478
- const result = parseDocComments(tokens);
409
+ const token = makeToken("///[Foo]", 50);
410
+ const result = parseDocComment(token);
479
411
  // Position: 50 (start) + 3 (///) = 53
480
412
  expect(result).toMatch({
481
413
  errors: [],
@@ -1 +1 @@
1
- {"version":3,"file":"doc_comment_parser.test.js","sourceRoot":"","sources":["../src/doc_comment_parser.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doc_comment_parser.test.js","sourceRoot":"","sources":["../src/doc_comment_parser.test.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,12 @@
1
1
  import type { SkirError } from "skir-internal";
2
2
  import { BeforeAfter, BreakingChange } from "./compatibility_checker.js";
3
+ import { SkirConfigError } from "./config_parser.js";
3
4
  import { ModuleSet } from "./module_set.js";
4
5
  export declare function renderErrors(errors: readonly SkirError[]): void;
5
6
  export declare function formatError(error: SkirError): string;
7
+ export declare function renderSkirConfigErrors(errors: readonly SkirConfigError[], context: {
8
+ skirConfigPath: string;
9
+ }): void;
6
10
  export declare function renderBreakingChanges(breakingChanges: readonly BreakingChange[], moduleSet: BeforeAfter<ModuleSet>): void;
7
11
  export declare function makeRed(text: string): string;
8
12
  export declare function makeGreen(text: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"error_renderer.d.ts","sourceRoot":"","sources":["../src/error_renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,SAAS,EAEV,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,WAAW,EACX,cAAc,EAGf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,GAAG,IAAI,CAgB/D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAuBpD;AAED,wBAAgB,qBAAqB,CACnC,eAAe,EAAE,SAAS,cAAc,EAAE,EAC1C,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,GAChC,IAAI,CAYN;AA8MD,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE7C"}
1
+ {"version":3,"file":"error_renderer.d.ts","sourceRoot":"","sources":["../src/error_renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,SAAS,EAEV,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,WAAW,EACX,cAAc,EAGf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,GAAG,IAAI,CAgB/D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAuBpD;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,SAAS,eAAe,EAAE,EAClC,OAAO,EAAE;IACP,cAAc,EAAE,MAAM,CAAC;CACxB,GACA,IAAI,CAMN;AAsBD,wBAAgB,qBAAqB,CACnC,eAAe,EAAE,SAAS,cAAc,EAAE,EAC1C,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,GAChC,IAAI,CAYN;AA8MD,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE7C"}
@@ -42,6 +42,27 @@ export function formatError(error) {
42
42
  result += "\n";
43
43
  return result;
44
44
  }
45
+ export function renderSkirConfigErrors(errors, context) {
46
+ for (const error of errors) {
47
+ console.error();
48
+ console.error(formatSkirConfigError(error, context));
49
+ }
50
+ console.error();
51
+ }
52
+ function formatSkirConfigError(error, context) {
53
+ const { message, range } = error;
54
+ const { skirConfigPath } = context;
55
+ const location = range
56
+ ? [
57
+ makeCyan(skirConfigPath),
58
+ // Already 1-based
59
+ makeYellow(range.start.lineNumber.toString()),
60
+ // Already 1-based
61
+ makeYellow(range.start.colNumber.toString()),
62
+ ].join(":")
63
+ : makeCyan(skirConfigPath);
64
+ return [location, " - ", makeRed("error"), ": ", message].join("");
65
+ }
45
66
  export function renderBreakingChanges(breakingChanges, moduleSet) {
46
67
  const MAX = 10;
47
68
  for (let i = 0; i < breakingChanges.length && i < MAX; ++i) {
@@ -1 +1 @@
1
- {"version":3,"file":"error_renderer.js","sourceRoot":"","sources":["../src/error_renderer.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAIL,yBAAyB,GAC1B,MAAM,4BAA4B,CAAC;AAGpC,MAAM,UAAU,YAAY,CAAC,MAA4B;IACvD,MAAM,UAAU,GAAG,EAAE,CAAC;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,GAAG,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC;QACzD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,KAAM,CAAC,CAAC,CAAC;IACrC,CAAC;IACD,oDAAoD;IACpD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3C,CAAC;QACD,MAAM,SAAS,GAAG,GAAG,MAAM,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC3E,MAAM,QAAQ,GAAG,GAAG,OAAO,CAAC,IAAI,QAAQ,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QACvE,OAAO,CAAC,KAAK,CAAC,SAAS,SAAS,OAAO,QAAQ,IAAI,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAgB;IAC1C,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IACxB,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAClC,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACvD,IAAI,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,IAAI,KAAK,CAAC;IAChB,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;QAC9B,MAAM,IAAI,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC;IAClC,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;QAC3B,MAAM,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;IACjC,CAAC;IACD,MAAM,IAAI,MAAM,CAAC;IACjB,MAAM,IAAI,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,CAAC;IACd,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC;IACpB,MAAM,IAAI,IAAI,CAAC;IACf,MAAM,IAAI,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7D,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IACpC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,IAAI,IAAI,CAAC;IACf,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,eAA0C,EAC1C,SAAiC;IAEjC,MAAM,GAAG,GAAG,EAAE,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,IAAI,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC;QAC3D,MAAM,cAAc,GAAG,eAAe,CAAC,CAAC,CAAE,CAAC;QAC3C,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;IACD,MAAM,kBAAkB,GAAG,eAAe,CAAC,MAAM,CAAC;IAClD,MAAM,CAAC,GAAG,kBAAkB,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IAC9C,IAAI,kBAAkB,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,CAAC,SAAS,kBAAkB,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAC3B,cAA8B,EAC9B,SAAiC;IAEjC,MAAM,KAAK,GAAG,yBAAyB,CAAC,cAAc,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,QAAQ,cAAc,CAAC,IAAI,EAAE,CAAC;QAC5B,KAAK,qBAAqB,CAAC,CAAC,CAAC;YAC3B,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC;YAC5C,MAAM,WAAW,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;YACnD,OAAO;gBACL,GAAG,cAAc,GAAG,WAAW,IAAI;gBACnC,qBAAqB;gBACrB,OAAO,QAAQ,CAAC,aAAa,CAAC,IAAI,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;gBACvE,aAAa,QAAQ,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI;gBAC/E,WAAW;gBACX,OAAO,QAAQ,CAAC,aAAa,CAAC,IAAI,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;gBACtE,aAAa,QAAQ,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE;aAC5E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;QACD,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,MAAM,EAAE,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,EAAE,GACpE,cAAc,CAAC;YACjB,MAAM,WAAW,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;YACvD,OAAO;gBACL,GAAG,cAAc,GAAG,WAAW,IAAI;gBACnC,qBAAqB;gBACrB,OAAO,QAAQ,CAAC,aAAa,CAAC,IAAI,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;gBAC7E,WAAW,QAAQ,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;gBAClE,YAAY,QAAQ,CAAC,QAAQ,CAAC,IAAI,eAAe,IAAI;gBACrD,WAAW;gBACX,OAAO,QAAQ,CAAC,aAAa,CAAC,IAAI,gBAAgB,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE;gBAC5E,WAAW,QAAQ,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;gBACjE,YAAY,QAAQ,CAAC,QAAQ,CAAC,IAAI,iBAAiB,IAAI;gBACvD,KAAK,QAAQ,CAAC,MAAM,CAAC,oCAAoC;aAC1D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;QACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,cAAc,CAAC;YAChD,MAAM,gBAAgB,GAAG;gBACvB,MAAM,CAAC,MAAM,CAAC,UAAU;gBACxB,GAAG;gBACH,gBAAgB,CAAC,MAAM,CAAC;aACzB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACX,OAAO;gBACL,GAAG,OAAO,CAAC,gBAAgB,CAAC,IAAI;gBAChC,qBAAqB;gBACrB,OAAO,QAAQ,CAAC,SAAS,CAAC,IAAI,gBAAgB,EAAE;gBAChD,OAAO,QAAQ,CAAC,SAAS,CAAC,IAAI,YAAY,EAAE;aAC7C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;QACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,MAAM,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC;YAClC,MAAM,gBAAgB,GAAG;gBACvB,SAAS;gBACT,MAAM,CAAC,IAAI,CAAC,IAAI;gBAChB,GAAG;gBACH,UAAU,CAAC,MAAM,CAAC,WAAY,EAAE,SAAS,CAAC,MAAM,CAAC;gBACjD,KAAK;gBACL,UAAU,CAAC,MAAM,CAAC,YAAa,EAAE,SAAS,CAAC,MAAM,CAAC;aACnD,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACX,OAAO;gBACL,GAAG,OAAO,CAAC,gBAAgB,CAAC,IAAI;gBAChC,qBAAqB;gBACrB,OAAO,QAAQ,CAAC,SAAS,CAAC,IAAI,gBAAgB,EAAE;gBAChD,OAAO,QAAQ,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE;aAC9C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;QACD,KAAK,qBAAqB,CAAC,CAAC,CAAC;YAC3B,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,cAAc,CAAC;YACtE,MAAM,WAAW,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;YAC3D,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;YAC/C,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE;gBAC1C,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;YACpE,CAAC,CAAC,CAAC;YACH,OAAO;gBACL,GAAG,cAAc,GAAG,WAAW,IAAI;gBACnC,qBAAqB;gBACrB,OAAO,QAAQ,CAAC,aAAa,CAAC,IAAI,gBAAgB,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;gBAC1E,aAAa,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE;gBACnD,UAAU,QAAQ,CAAC,UAAU,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE;gBAC3D,WAAW,QAAQ,CAAC,SAAS,CAAC,IAAI,MAAM,EAAE;gBAC1C,aAAa,QAAQ,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC,MAAM,IAAI;gBACxD,WAAW;gBACX,OAAO,QAAQ,CAAC,aAAa,CAAC,IAAI,gBAAgB,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;gBACzE,aAAa,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,KAAK,EAAE;gBAClD,UAAU,QAAQ,CAAC,UAAU,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE;gBAC1D,WAAW,QAAQ,CAAC,SAAS,CAAC,IAAI,MAAM,EAAE;gBAC1C,aAAa,QAAQ,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC,KAAK,EAAE;aACtD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;QACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,cAAc,CAAC;YACtE,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAC/C,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;YAC/C,OAAO;gBACL,GAAG,cAAc,GAAG,WAAW,IAAI;gBACnC,qBAAqB;gBACrB,OAAO,QAAQ,CAAC,aAAa,CAAC,IAAI,gBAAgB,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;gBAC1E,aAAa,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE;gBACnD,UAAU,QAAQ,CAAC,UAAU,CAAC,IAAI,WAAW,CAAC,IAAI,EAAE;gBACpD,WAAW,QAAQ,CAAC,SAAS,CAAC,IAAI,MAAM,IAAI;gBAC5C,WAAW;gBACX,OAAO,QAAQ,CAAC,aAAa,CAAC,IAAI,gBAAgB,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;gBACzE,aAAa,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,KAAK,EAAE;aACnD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;QACD,KAAK,oBAAoB,CAAC,CAAC,CAAC;YAC1B,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC;YAChE,MAAM,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;YAClD,OAAO;gBACL,GAAG,cAAc,GAAG,WAAW,IAAI;gBACnC,qBAAqB;gBACrB,OAAO,QAAQ,CAAC,aAAa,CAAC,IAAI,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;gBAC7E,WAAW,QAAQ,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;gBAClE,aAAa,QAAQ,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,MAAM,IAAI;gBACvD,WAAW;gBACX,OAAO,QAAQ,CAAC,aAAa,CAAC,IAAI,gBAAgB,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE;gBAC5E,WAAW,QAAQ,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;gBACjE,aAAa,QAAQ,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,KAAK,EAAE;aACrD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;QACD,KAAK,6BAA6B,CAAC,CAAC,CAAC;YACnC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,GAC/D,cAAc,CAAC;YACjB,MAAM,WAAW,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;YAC3D,OAAO;gBACL,GAAG,cAAc,GAAG,WAAW,IAAI;gBACnC,qBAAqB;gBACrB,OAAO,QAAQ,CAAC,aAAa,CAAC,IAAI,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;gBAC7E,WAAW,QAAQ,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;gBAClE,UAAU,QAAQ,CAAC,UAAU,CAAC,IAAI,aAAa,IAAI;gBACnD,WAAW;gBACX,OAAO,QAAQ,CAAC,aAAa,CAAC,IAAI,gBAAgB,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE;gBAC5E,WAAW,QAAQ,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;gBACjE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,KAAK,QAAQ;oBACzC,CAAC,CAAC,YAAY,QAAQ,CAAC,QAAQ,CAAC,IAAI,cAAc,CAAC,IAAI,EAAE;oBACzD,CAAC,CAAC,UAAU,QAAQ,CAAC,UAAU,CAAC,IAAI,cAAc,CAAC,IAAI,EAAE;aAC5D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,KAAY;IAClC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAClC,OAAO;QACL,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;QACzB,UAAU,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC5C,UAAU,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;KACvC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAsB;IAC9C,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;QACxB,KAAK,cAAc;YACjB,OAAO,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,YAAY,CAAC;QACpD,KAAK,eAAe;YAClB,OAAO,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,aAAa,CAAC;QACrD,KAAK,QAAQ;YACX,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACzC,KAAK,MAAM;YACT,OAAO,gBAAgB,CAAC,UAAU,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC;QAC9D,KAAK,gBAAgB;YACnB,OAAO,gBAAgB,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,GAAG,CAAC;QAC/D,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;YACvE,OAAO,GAAG,gBAAgB,IAAI,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC5D,CAAC;QACD,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,MAAM,cAAc,GAAG,gBAAgB,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YACnE,OAAO,GAAG,cAAc,OAAO,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAC/D,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,YAA0B,EAAE,SAAoB;IAClE,QAAQ,YAAY,CAAC,IAAI,EAAE,CAAC;QAC1B,KAAK,OAAO;YACV,OAAO,IAAI,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC;QACzD,KAAK,UAAU;YACb,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC;QACzD,KAAK,WAAW;YACd,OAAO,YAAY,CAAC,SAAS,CAAC;QAChC,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAE,CAAC;YAC1D,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,cAA8B;IACtD,OAAO,cAAc,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,GAAG,CACV,WAA2B,EAC3B,EAAmB;IAEnB,OAAO;QACL,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC;QAC9B,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC;KAC7B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,WAAW,IAAI,SAAS,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,WAAW,IAAI,SAAS,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,OAAO,WAAW,IAAI,SAAS,CAAC;AAClC,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,OAAO,WAAW,IAAI,SAAS,CAAC;AAClC,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,WAAW,IAAI,SAAS,CAAC;AAClC,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,OAAO,WAAW,IAAI,SAAS,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"error_renderer.js","sourceRoot":"","sources":["../src/error_renderer.ts"],"names":[],"mappings":"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"}