@redocly/recheck 0.4.1 → 0.6.0

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 (69) hide show
  1. package/README.md +365 -127
  2. package/dist/cli.js +59 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/baseline.d.ts +10 -0
  5. package/dist/commands/baseline.d.ts.map +1 -0
  6. package/dist/commands/baseline.js +59 -0
  7. package/dist/commands/baseline.js.map +1 -0
  8. package/dist/commands/readability.d.ts +10 -0
  9. package/dist/commands/readability.d.ts.map +1 -0
  10. package/dist/commands/readability.js +90 -0
  11. package/dist/commands/readability.js.map +1 -0
  12. package/dist/commands/run.d.ts.map +1 -1
  13. package/dist/commands/run.js +52 -8
  14. package/dist/commands/run.js.map +1 -1
  15. package/dist/config/load.d.ts +2 -0
  16. package/dist/config/load.d.ts.map +1 -1
  17. package/dist/config/load.js +3 -0
  18. package/dist/config/load.js.map +1 -1
  19. package/dist/config/schema.d.ts +4 -0
  20. package/dist/config/schema.d.ts.map +1 -1
  21. package/dist/config/schema.js +3 -0
  22. package/dist/config/schema.js.map +1 -1
  23. package/dist/config/validate.d.ts +2 -0
  24. package/dist/config/validate.d.ts.map +1 -1
  25. package/dist/config/validate.js +3 -1
  26. package/dist/config/validate.js.map +1 -1
  27. package/dist/core/baseline.d.ts +49 -0
  28. package/dist/core/baseline.d.ts.map +1 -0
  29. package/dist/core/baseline.js +0 -0
  30. package/dist/core/baseline.js.map +1 -0
  31. package/dist/core/prose-extract.d.ts +6 -0
  32. package/dist/core/prose-extract.d.ts.map +1 -0
  33. package/dist/core/prose-extract.js +79 -0
  34. package/dist/core/prose-extract.js.map +1 -0
  35. package/dist/core/readability.d.ts +17 -0
  36. package/dist/core/readability.d.ts.map +1 -0
  37. package/dist/core/readability.js +37 -0
  38. package/dist/core/readability.js.map +1 -0
  39. package/dist/core/runner.d.ts.map +1 -1
  40. package/dist/core/runner.js +1 -0
  41. package/dist/core/runner.js.map +1 -1
  42. package/dist/data/markdoc-realm-schema.d.ts.map +1 -1
  43. package/dist/data/markdoc-realm-schema.js +13 -0
  44. package/dist/data/markdoc-realm-schema.js.map +1 -1
  45. package/dist/reporter/formats/json.d.ts +5 -1
  46. package/dist/reporter/formats/json.d.ts.map +1 -1
  47. package/dist/reporter/formats/json.js +2 -1
  48. package/dist/reporter/formats/json.js.map +1 -1
  49. package/dist/reporter/index.js +2 -2
  50. package/dist/reporter/index.js.map +1 -1
  51. package/dist/reporter/summary.d.ts +1 -1
  52. package/dist/reporter/summary.d.ts.map +1 -1
  53. package/dist/reporter/summary.js +2 -1
  54. package/dist/reporter/summary.js.map +1 -1
  55. package/dist/rules/scope/metric.d.ts +2 -14
  56. package/dist/rules/scope/metric.d.ts.map +1 -1
  57. package/dist/rules/scope/metric.js +11 -187
  58. package/dist/rules/scope/metric.js.map +1 -1
  59. package/dist/rules/scope/semantic-line-breaks.d.ts.map +1 -1
  60. package/dist/rules/scope/semantic-line-breaks.js +58 -35
  61. package/dist/rules/scope/semantic-line-breaks.js.map +1 -1
  62. package/dist/rules/token/link-fragments.d.ts.map +1 -1
  63. package/dist/rules/token/link-fragments.js +251 -91
  64. package/dist/rules/token/link-fragments.js.map +1 -1
  65. package/dist/rules/types.d.ts +2 -0
  66. package/dist/rules/types.d.ts.map +1 -1
  67. package/dist/types/reporting.d.ts +9 -0
  68. package/dist/types/reporting.d.ts.map +1 -1
  69. package/package.json +2 -2
@@ -1,4 +1,11 @@
1
- import { filterByTypes } from '../../parser/index.js';
1
+ // Ported from markdownlint's lib/md051.mjs
2
+ // (https://github.com/DavidAnson/markdownlint, MIT © David Anson).
3
+ // Extends upstream MD051 with the opt-in `crossFile` option: relative link
4
+ // and image targets must exist on disk, and a `file.md#anchor` fragment
5
+ // must exist in the target. Upstream never validates other files.
6
+ import { readFileSync, statSync } from 'node:fs';
7
+ import { dirname, extname, join, resolve, sep } from 'node:path';
8
+ import { filterByTypes, parseMarkdown } from '../../parser/index.js';
2
9
  import { filterByPredicate, getHtmlAttributeRe, getHtmlTagInfo, isDocfxTab, toWellFormedString, } from './helpers.js';
3
10
  /** Recursive-descendant type filter (any depth), matching upstream's `filterByTypes(tokens, types)` semantics -- distinct from `getDescendantsByType`'s single-type-per-depth path walk, which is the wrong shape here since `resourceDestinationString`/`definitionDestinationString` nest under a literal/raw alternation this call site doesn't want to spell out. */
4
11
  function descendantsOfType(children, type) {
@@ -34,112 +41,265 @@ function unescapeStringTokenText(token) {
34
41
  .map((child) => child.text)
35
42
  .join('');
36
43
  }
37
- export const linkFragments = {
38
- name: 'link-fragments',
39
- tags: ['links'],
40
- fixable: true,
41
- defaults: {
42
- message: 'Link fragments should be valid',
43
- ignoreCase: false,
44
- ignoredPattern: '',
45
- },
46
- check(ctx) {
47
- const ignoreCase = !!ctx.config.ignoreCase;
48
- const ignoredPattern = String(ctx.config.ignoredPattern ?? '');
49
- const ignoredPatternRe = new RegExp(ignoredPattern || '^$');
50
- const fragments = new Map([['#top', 0]]);
51
- // Process headings
52
- for (const headingText of filterByTypes(ctx.tree, ['atxHeadingText', 'setextHeadingText'])) {
53
- const fragment = convertHeadingToHTMLFragment(headingText);
54
- if (fragment !== '#') {
55
- const count = fragments.get(fragment) || 0;
56
- if (count) {
57
- fragments.set(`${fragment}-${count}`, 0);
58
- }
59
- fragments.set(fragment, count + 1);
60
- anchorRe.lastIndex = 0;
61
- let match;
62
- while ((match = anchorRe.exec(headingText.text)) !== null) {
63
- const anchor = match[1];
64
- if (!fragments.has(anchor)) {
65
- fragments.set(anchor, 1);
66
- }
44
+ /** Anchors a document exposes: heading slugs, `{#anchors}`, and HTML id/name anchors. */
45
+ function collectFragments(tree) {
46
+ const fragments = new Map([['#top', 0]]);
47
+ for (const headingText of filterByTypes(tree, ['atxHeadingText', 'setextHeadingText'])) {
48
+ const fragment = convertHeadingToHTMLFragment(headingText);
49
+ if (fragment !== '#') {
50
+ const count = fragments.get(fragment) || 0;
51
+ if (count) {
52
+ fragments.set(`${fragment}-${count}`, 0);
53
+ }
54
+ fragments.set(fragment, count + 1);
55
+ anchorRe.lastIndex = 0;
56
+ let match;
57
+ while ((match = anchorRe.exec(headingText.text)) !== null) {
58
+ const anchor = match[1];
59
+ if (!fragments.has(anchor)) {
60
+ fragments.set(anchor, 1);
67
61
  }
68
62
  }
69
63
  }
70
- // Process HTML anchors. includeHtmlFlow: true -- matches upstream's own
71
- // `filterByTypesCached(['htmlText'], true)` in md051.mjs, so this also
72
- // picks up anchors inside block-level HTML (`<div id="x">`, etc.), not
73
- // just genuinely inline HTML. Task 12: the parser now reparses `htmlFlow`
74
- // blocks into real `htmlText` descendants (see parser/index.ts's
75
- // `reparseHtmlFlow`), which is what makes this single pass sufficient --
76
- // it used to need a separate raw-text regex scan over `htmlFlow` tokens
77
- // (see the removed `collectHtmlFlowAnchors`, no longer needed now that
78
- // the tokens it worked around actually exist).
79
- for (const token of filterByTypes(ctx.tree, ['htmlText'], true)) {
80
- const htmlTagInfo = getHtmlTagInfo(token);
81
- if (htmlTagInfo && !htmlTagInfo.close) {
82
- const anchorMatch = idRe.exec(token.text) ||
83
- (htmlTagInfo.name.toLowerCase() === 'a' && nameRe.exec(token.text));
84
- if (anchorMatch && anchorMatch.length > 0) {
85
- fragments.set(`#${anchorMatch[1]}`, 0);
86
- }
64
+ }
65
+ // includeHtmlFlow: true matches upstream md051.mjs, so anchors inside
66
+ // block-level HTML (`<div id="x">`) count too, not just inline HTML.
67
+ for (const token of filterByTypes(tree, ['htmlText'], true)) {
68
+ const htmlTagInfo = getHtmlTagInfo(token);
69
+ if (htmlTagInfo && !htmlTagInfo.close) {
70
+ const anchorMatch = idRe.exec(token.text) ||
71
+ (htmlTagInfo.name.toLowerCase() === 'a' && nameRe.exec(token.text));
72
+ if (anchorMatch && anchorMatch.length > 0) {
73
+ fragments.set(`#${anchorMatch[1]}`, 0);
87
74
  }
88
75
  }
89
- // Process link and definition fragments
90
- const parentChilds = [
91
- ['link', 'resourceDestinationString'],
92
- ['definition', 'definitionDestinationString'],
93
- ];
94
- for (const [parentType, definitionType] of parentChilds) {
95
- const links = filterByTypes(ctx.tree, [parentType]).filter((link) => !(link.parent?.type === 'atxHeadingText' && isDocfxTab(link.parent.parent)));
96
- for (const link of links) {
97
- const definitions = descendantsOfType(link.children, definitionType);
98
- for (const definition of definitions) {
99
- const { endColumn, startColumn } = definition;
100
- const text = unescapeStringTokenText(definition);
101
- const textSliceOne = text.slice(1);
102
- const encodedText = `#${encodeURIComponent(toWellFormedString(textSliceOne))}`;
103
- if (text.length > 1 &&
104
- text.startsWith('#') &&
105
- !fragments.has(encodedText) &&
106
- !lineFragmentRe.test(encodedText) &&
107
- !ignoredPatternRe.test(textSliceOne)) {
108
- const hasRange = link.startLine === link.endLine;
109
- const context = hasRange ? link.text : undefined;
110
- const column = hasRange ? link.startColumn : undefined;
111
- const fixInfo = hasRange
112
- ? {
113
- lineNumber: link.startLine,
114
- editColumn: startColumn,
115
- deleteCount: endColumn - startColumn,
116
- }
117
- : undefined;
118
- const textLower = text.toLowerCase();
119
- const mixedCaseKey = [...fragments.keys()].find((key) => textLower === key.toLowerCase());
120
- if (mixedCaseKey) {
121
- const finalFixInfo = fixInfo ? { ...fixInfo, insertText: mixedCaseKey } : undefined;
122
- if (!ignoreCase && mixedCaseKey !== text) {
123
- ctx.onError({
124
- line: link.startLine,
125
- column,
126
- detail: `Expected: ${mixedCaseKey}; Actual: ${text}`,
127
- context,
128
- fixInfo: finalFixInfo,
129
- });
130
- }
76
+ }
77
+ return fragments;
78
+ }
79
+ const SCHEME_RE = /^[a-z][a-z0-9+.-]*:/i;
80
+ const targetCache = new Map();
81
+ const MISSING = { mtimeMs: -1, exists: false, fragments: null };
82
+ // Anchors and existence of one on-disk file, cached by (path, mtime) so a
83
+ // run reads each target once and edits invalidate naturally.
84
+ function resolveTargetFile(absolutePath, markdoc) {
85
+ let stats;
86
+ try {
87
+ stats = statSync(absolutePath);
88
+ }
89
+ catch {
90
+ return MISSING;
91
+ }
92
+ const cached = targetCache.get(absolutePath);
93
+ if (cached && cached.mtimeMs === stats.mtimeMs)
94
+ return cached;
95
+ let fragments = null;
96
+ if (stats.isFile() && ['.md', '.markdown'].includes(extname(absolutePath).toLowerCase())) {
97
+ try {
98
+ fragments = collectFragments(parseMarkdown(readFileSync(absolutePath, 'utf8'), { markdoc }));
99
+ }
100
+ catch {
101
+ fragments = null;
102
+ }
103
+ }
104
+ const entry = { mtimeMs: stats.mtimeMs, exists: true, fragments };
105
+ targetCache.set(absolutePath, entry);
106
+ return entry;
107
+ }
108
+ // Resolves a link target the way the Realm router does: an extensionless
109
+ // path also tries `<path>.md`, and a directory reads its `index.md` for
110
+ // anchors.
111
+ function resolveTarget(absolutePath, markdoc) {
112
+ let stats;
113
+ try {
114
+ stats = statSync(absolutePath);
115
+ }
116
+ catch {
117
+ if (extname(absolutePath) === '') {
118
+ const asMarkdown = resolveTargetFile(`${absolutePath}.md`, markdoc);
119
+ if (asMarkdown.exists)
120
+ return asMarkdown;
121
+ return resolveTargetFile(join(absolutePath, 'index.md'), markdoc);
122
+ }
123
+ return MISSING;
124
+ }
125
+ if (stats.isDirectory()) {
126
+ const viaIndex = resolveTargetFile(join(absolutePath, 'index.md'), markdoc);
127
+ if (viaIndex.exists)
128
+ return viaIndex;
129
+ const asSibling = resolveTargetFile(`${absolutePath}.md`, markdoc);
130
+ if (asSibling.exists)
131
+ return asSibling;
132
+ return { mtimeMs: stats.mtimeMs, exists: true, fragments: null };
133
+ }
134
+ return resolveTargetFile(absolutePath, markdoc);
135
+ }
136
+ // Site root for `/x/y` links: one root, or a map from source-directory
137
+ // prefix to that directory's root, for a monorepo with several docs
138
+ // projects. Paths resolve against the working directory. The longest
139
+ // matching prefix wins, and files under no prefix keep the skip.
140
+ function rootDirFor(option, filePath) {
141
+ if (typeof option === 'string')
142
+ return option;
143
+ if (option === null || typeof option !== 'object')
144
+ return '';
145
+ const file = resolve(filePath);
146
+ let best = '';
147
+ let bestLength = -1;
148
+ for (const [prefix, root] of Object.entries(option)) {
149
+ if (typeof root !== 'string')
150
+ continue;
151
+ const resolvedPrefix = resolve(prefix);
152
+ if ((file === resolvedPrefix || file.startsWith(resolvedPrefix + sep)) &&
153
+ resolvedPrefix.length > bestLength) {
154
+ best = root;
155
+ bestLength = resolvedPrefix.length;
156
+ }
157
+ }
158
+ return best;
159
+ }
160
+ function checkLinkFragments(ctx) {
161
+ const ignoreCase = !!ctx.config.ignoreCase;
162
+ const crossFile = !!ctx.config.crossFile;
163
+ const ignoredPattern = String(ctx.config.ignoredPattern ?? '');
164
+ const ignoredPatternRe = new RegExp(ignoredPattern || '^$');
165
+ const rootDir = rootDirFor(ctx.config.rootDir, ctx.filePath);
166
+ const fragments = collectFragments(ctx.tree);
167
+ const baseDir = dirname(ctx.filePath);
168
+ const checkCrossFileDestination = (rawDestination, link, allowFragmentCheck) => {
169
+ if (rawDestination === '' ||
170
+ rawDestination.startsWith('#') ||
171
+ rawDestination.startsWith('//') ||
172
+ SCHEME_RE.test(rawDestination)) {
173
+ return;
174
+ }
175
+ const isAbsolute = rawDestination.startsWith('/');
176
+ if (isAbsolute && rootDir === '')
177
+ return;
178
+ const hashIndex = rawDestination.indexOf('#');
179
+ const fragment = hashIndex === -1 ? '' : rawDestination.slice(hashIndex);
180
+ let targetPath = hashIndex === -1 ? rawDestination : rawDestination.slice(0, hashIndex);
181
+ targetPath = targetPath.split('?')[0];
182
+ if (isAbsolute)
183
+ targetPath = targetPath.slice(1);
184
+ if (targetPath === '')
185
+ return;
186
+ try {
187
+ targetPath = decodeURIComponent(targetPath);
188
+ }
189
+ catch {
190
+ return;
191
+ }
192
+ const target = resolveTarget(resolve(isAbsolute ? resolve(rootDir) : baseDir, targetPath), ctx.markdoc !== undefined);
193
+ const hasRange = link.startLine === link.endLine;
194
+ const context = hasRange ? link.text : undefined;
195
+ const column = hasRange ? link.startColumn : undefined;
196
+ if (!target.exists) {
197
+ ctx.onError({
198
+ line: link.startLine,
199
+ column,
200
+ detail: `Link target not found: ${targetPath}`,
201
+ context,
202
+ });
203
+ return;
204
+ }
205
+ if (!allowFragmentCheck || fragment.length <= 1 || target.fragments === null)
206
+ return;
207
+ const encoded = `#${encodeURIComponent(toWellFormedString(fragment.slice(1)))}`;
208
+ if (lineFragmentRe.test(encoded) || ignoredPatternRe.test(fragment.slice(1)))
209
+ return;
210
+ const found = ignoreCase
211
+ ? [...target.fragments.keys()].some((key) => key.toLowerCase() === encoded.toLowerCase())
212
+ : target.fragments.has(encoded);
213
+ if (!found) {
214
+ ctx.onError({
215
+ line: link.startLine,
216
+ column,
217
+ detail: `Fragment ${fragment} not found in ${targetPath}`,
218
+ context,
219
+ });
220
+ }
221
+ };
222
+ // Process link and definition fragments
223
+ const parentChilds = [
224
+ ['link', 'resourceDestinationString'],
225
+ ['definition', 'definitionDestinationString'],
226
+ ];
227
+ for (const [parentType, definitionType] of parentChilds) {
228
+ const links = filterByTypes(ctx.tree, [parentType]).filter((link) => !(link.parent?.type === 'atxHeadingText' && isDocfxTab(link.parent.parent)));
229
+ for (const link of links) {
230
+ const definitions = descendantsOfType(link.children, definitionType);
231
+ for (const definition of definitions) {
232
+ const { endColumn, startColumn } = definition;
233
+ const text = unescapeStringTokenText(definition);
234
+ if (crossFile && !text.startsWith('#')) {
235
+ checkCrossFileDestination(text, link, true);
236
+ continue;
237
+ }
238
+ const textSliceOne = text.slice(1);
239
+ const encodedText = `#${encodeURIComponent(toWellFormedString(textSliceOne))}`;
240
+ if (text.length > 1 &&
241
+ text.startsWith('#') &&
242
+ !fragments.has(encodedText) &&
243
+ !lineFragmentRe.test(encodedText) &&
244
+ !ignoredPatternRe.test(textSliceOne)) {
245
+ const hasRange = link.startLine === link.endLine;
246
+ const context = hasRange ? link.text : undefined;
247
+ const column = hasRange ? link.startColumn : undefined;
248
+ const fixInfo = hasRange
249
+ ? {
250
+ lineNumber: link.startLine,
251
+ editColumn: startColumn,
252
+ deleteCount: endColumn - startColumn,
131
253
  }
132
- else {
254
+ : undefined;
255
+ const textLower = text.toLowerCase();
256
+ const mixedCaseKey = [...fragments.keys()].find((key) => textLower === key.toLowerCase());
257
+ if (mixedCaseKey) {
258
+ const finalFixInfo = fixInfo ? { ...fixInfo, insertText: mixedCaseKey } : undefined;
259
+ if (!ignoreCase && mixedCaseKey !== text) {
133
260
  ctx.onError({
134
261
  line: link.startLine,
135
262
  column,
263
+ detail: `Expected: ${mixedCaseKey}; Actual: ${text}`,
136
264
  context,
265
+ fixInfo: finalFixInfo,
137
266
  });
138
267
  }
139
268
  }
269
+ else {
270
+ ctx.onError({
271
+ line: link.startLine,
272
+ column,
273
+ context,
274
+ });
275
+ }
140
276
  }
141
277
  }
142
278
  }
279
+ }
280
+ if (crossFile) {
281
+ for (const image of filterByTypes(ctx.tree, ['image'])) {
282
+ for (const definition of descendantsOfType(image.children, 'resourceDestinationString')) {
283
+ const text = unescapeStringTokenText(definition);
284
+ if (!text.startsWith('#'))
285
+ checkCrossFileDestination(text, image, false);
286
+ }
287
+ }
288
+ }
289
+ }
290
+ export const linkFragments = {
291
+ name: 'link-fragments',
292
+ tags: ['links'],
293
+ fixable: true,
294
+ defaults: {
295
+ message: 'Link fragments should be valid',
296
+ ignoreCase: false,
297
+ ignoredPattern: '',
298
+ crossFile: false,
299
+ rootDir: '',
300
+ },
301
+ check(ctx) {
302
+ checkLinkFragments(ctx);
143
303
  },
144
304
  };
145
305
  //# sourceMappingURL=link-fragments.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"link-fragments.js","sourceRoot":"","sources":["../../../src/rules/token/link-fragments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"link-fragments.js","sourceRoot":"","sources":["../../../src/rules/token/link-fragments.ts"],"names":[],"mappings":"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"}
@@ -47,6 +47,8 @@ export interface TokenRuleOnErrorInfo {
47
47
  export interface TokenRuleContext {
48
48
  tree: TokenTree;
49
49
  lines: string[];
50
+ /** Path of the file under check, for rules that resolve relative link targets. */
51
+ filePath: string;
50
52
  config: Record<string, unknown>;
51
53
  onError(info: TokenRuleOnErrorInfo): void;
52
54
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/rules/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;IAChB,YAAY,CAAC,EAAE;QAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,OAAO,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;CACzF;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACvF,GAAG,CAAC,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;CACjF;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC;IACzC;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC1C;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE;QACR,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;QAC7B;;;;;;WAMG;QACH,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QACrC,OAAO,EAAE,cAAc,CAAC;KACzB,CAAC;CACH;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,KAAK,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACpC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/rules/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;IAChB,YAAY,CAAC,EAAE;QAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,OAAO,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;CACzF;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACvF,GAAG,CAAC,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;CACjF;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC;IACzC;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,kFAAkF;IAClF,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC1C;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE;QACR,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;QAC7B;;;;;;WAMG;QACH,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QACrC,OAAO,EAAE,cAAc,CAAC;KACzB,CAAC;CACH;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,KAAK,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACpC"}
@@ -12,6 +12,13 @@ export interface Summary {
12
12
  totalWarnings: number;
13
13
  totalInfo: number;
14
14
  breakdown: RuleBreakdown;
15
+ /** Present only when a baseline is active. */
16
+ baseline?: BaselineStats;
17
+ }
18
+ export interface BaselineStats {
19
+ matched: number;
20
+ new: number;
21
+ stale: number;
15
22
  }
16
23
  export type OutputFormat = 'table' | 'json' | 'sarif' | 'github-actions';
17
24
  export interface ReportOptions {
@@ -19,5 +26,7 @@ export interface ReportOptions {
19
26
  showStats?: boolean;
20
27
  annotationsLimit?: number;
21
28
  outputPath?: string;
29
+ /** Present only when a baseline is active; the json format serializes it. */
30
+ baseline?: BaselineStats;
22
31
  }
23
32
  //# sourceMappingURL=reporting.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reporting.d.ts","sourceRoot":"","sources":["../../src/types/reporting.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAE3D,MAAM,WAAW,OAAO;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,aAAa,CAAC;CAC1B;AAED,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,gBAAgB,CAAC;AAEzE,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"reporting.d.ts","sourceRoot":"","sources":["../../src/types/reporting.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAE3D,MAAM,WAAW,OAAO;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,aAAa,CAAC;IACzB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,gBAAgB,CAAC;AAEzE,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redocly/recheck",
3
- "version": "0.4.1",
3
+ "version": "0.6.0",
4
4
  "description": "Content linting (configurable + built-in rules)",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -59,7 +59,7 @@
59
59
  "typescript": "6.0.3",
60
60
  "vitest": "4.1.10",
61
61
  "@redocly/portal": "0.68.3",
62
- "@redocly/theme": "0.69.0-next.0"
62
+ "@redocly/theme": "0.69.0-next.1"
63
63
  },
64
64
  "scripts": {
65
65
  "build": "tsgo && tsgo --noEmit -p tsconfig.typecheck.json",