Commit 39f3ad8
committed
feat(assertions): support reference on configurable rules and fix github-actions formatting
Addresses @DmitryAnansky's feedback on #2734:
- Add `reference: string` to the `ConfigurableRule` schema so `redocly.yaml`
rules can set a top-level `reference` field alongside `message` and
`suggest`.
- Thread `reference` through `buildSubjectVisitor` so assertion failures
populate `problem.reference` for the existing stylish and
github-actions formatters (which already handle `problem.reference`).
- Add `reference?: string` to `RawAssertion` so the TypeScript surface
matches the runtime schema.
Also fixes the github-actions formatter's double-newline when both
`suggest` and `reference` are present (flagged by Cursor Bugbot):
`formatDidYouMean()` already returns a string ending with `\n\n`, so the
old separator logic produced four consecutive newlines. Match the
codeframe pattern: add a single `\n\n` separator before the first
section and rely on each formatter's trailing newlines.
Tests:
- Extend lint tests with a configurable rule that sets `reference`;
assert the resulting problem carries the URL through to the output.
- Add a github-actions format test covering both `suggest` + `reference`
together, asserting a single blank line between each section.
- Update changeset to cover configurable rules (with the line-break
phrasing JLekawa suggested).1 parent 1d9b0db commit 39f3ad8
7 files changed
Lines changed: 69 additions & 4 deletions
File tree
- .changeset
- packages/core/src
- __tests__
- format
- rules/common/assertions
- types
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
239 | 239 | | |
240 | 240 | | |
241 | 241 | | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
242 | 271 | | |
243 | 272 | | |
244 | 273 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
390 | 390 | | |
391 | 391 | | |
392 | 392 | | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
393 | 428 | | |
394 | 429 | | |
395 | 430 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
443 | 443 | | |
444 | 444 | | |
445 | 445 | | |
446 | | - | |
447 | | - | |
448 | | - | |
| 446 | + | |
449 | 447 | | |
450 | 448 | | |
451 | 449 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
| 33 | + | |
33 | 34 | | |
34 | 35 | | |
35 | 36 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
238 | 238 | | |
239 | 239 | | |
240 | 240 | | |
| 241 | + | |
241 | 242 | | |
242 | 243 | | |
243 | 244 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
594 | 594 | | |
595 | 595 | | |
596 | 596 | | |
| 597 | + | |
597 | 598 | | |
598 | 599 | | |
599 | 600 | | |
| |||
0 commit comments