@redocly/recheck 0.9.0 → 0.10.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.
@@ -192,6 +192,43 @@ function isNestedContainerParagraph(token) {
192
192
  // label-like, not sentence-structured, and `scope: sentence` consumers
193
193
  // (e.g. an oxford-comma rule) depend on this exact source set.
194
194
  const SENTENCE_SOURCES = new Set(['paragraph', 'list-item', 'blockquote']);
195
+ // Non-prose block scopes that can nest inside a sentence source (a fenced
196
+ // code block, html block, or comment inside a blockquote or list item) and
197
+ // must never contribute to its sentences.
198
+ const NON_PROSE_NESTED = new Set(['code', 'html', 'comment']);
199
+ function isContainedIn(inner, outer) {
200
+ const startsAfter = inner.startLine > outer.startLine ||
201
+ (inner.startLine === outer.startLine && inner.startColumn >= outer.startColumn);
202
+ const endsBefore = inner.endLine < outer.endLine ||
203
+ (inner.endLine === outer.endLine && inner.endColumn <= outer.endColumn);
204
+ return startsAfter && endsBefore;
205
+ }
206
+ // Offset of source position (line, column) inside `segment.content`, which
207
+ // is a verbatim slice starting at (segment.startLine, segment.startColumn):
208
+ // content line 1 starts at the segment's own startColumn, later content
209
+ // lines start at source column 1.
210
+ function offsetInSegment(segment, line, column) {
211
+ const { content } = segment;
212
+ let offset = 0;
213
+ let currentLine = segment.startLine;
214
+ while (currentLine < line && offset < content.length) {
215
+ const ch = content[offset];
216
+ offset++;
217
+ if (ch === '\n')
218
+ currentLine++;
219
+ else if (ch === '\r') {
220
+ if (content[offset] === '\n')
221
+ offset++;
222
+ currentLine++;
223
+ }
224
+ }
225
+ return Math.min(content.length, offset + column - (currentLine === segment.startLine ? segment.startColumn : 1));
226
+ }
227
+ function shiftSpans(spans, by) {
228
+ if (by === 0)
229
+ return spans;
230
+ return spans.map((span) => ({ ...span, start: span.start + by, end: span.end + by }));
231
+ }
195
232
  // `summary` = the document's prose: every scope kind whose content is
196
233
  // human-readable text. That's the sentence sources above PLUS headings
197
234
  // (all levels) and table header/body cells. `code`, `frontmatter`, `html`,
@@ -415,38 +452,62 @@ export function extractScopes(tree, _content) {
415
452
  .filter((segment) => isSummarySource(segment.scope))
416
453
  .map((segment) => ({ ...segment, scope: 'summary', sourceScope: segment.scope }));
417
454
  const sentenceSegments = [];
455
+ // A container segment (blockquote, list-item) is a verbatim source slice,
456
+ // so a code fence, html block, or comment nested inside it is still
457
+ // present in the container's own content — but it is not prose, and a
458
+ // "sentence" must never span or contain it. Each container's content is
459
+ // therefore split at its nested non-prose ranges, and sentences derive
460
+ // from the prose chunks between them.
461
+ const nestedNonProse = segments.filter((segment) => NON_PROSE_NESTED.has(segment.scope));
418
462
  for (const segment of segments) {
419
463
  if (!SENTENCE_SOURCES.has(segment.scope))
420
464
  continue;
421
- for (const span of splitSentences(segment.content)) {
422
- // offsetToLineColumn (never a bare '\n' split): segment content is a
423
- // verbatim source slice, so on a CR-only file a '\n'-based mapping
424
- // kept every sentence on the segment's first line with a column
425
- // counted straight through the '\r'. On the segment's first line the
426
- // sentence offset is added to the segment's own startColumn (the
427
- // segment may begin mid-source-line); later lines start at column 1
428
- // of the source, so the in-segment column is already the source
429
- // column.
430
- const start = offsetToLineColumn(segment.content, span.start);
431
- const end = offsetToLineColumn(segment.content, span.end);
432
- const sentence = {
433
- scope: 'sentence',
434
- content: span.text,
435
- startLine: segment.startLine + start.line - 1,
436
- startColumn: start.line === 1 ? segment.startColumn + span.start : start.column,
437
- endLine: segment.startLine + end.line - 1,
438
- endColumn: end.line === 1 ? segment.startColumn + span.end : end.column,
439
- tokens: segment.tokens,
440
- };
441
- // A sentence carved out of a masked segment is masked too — re-based
442
- // onto its own span so `sourceText`/`maskedRanges` keep meaning what
443
- // they mean everywhere else: offsets into THIS segment's `content`.
444
- if (segment.sourceText !== undefined) {
445
- sentence.sourceText = segment.sourceText.slice(span.start, span.start + span.text.length);
446
- sentence.maskedRanges = shiftRanges(segment.maskedRanges ?? [], span.start, span.text.length);
447
- }
448
- sentenceSegments.push(sentence);
465
+ const exclusions = nestedNonProse
466
+ .filter((nested) => nested !== segment && isContainedIn(nested, segment))
467
+ .map((nested) => ({
468
+ start: offsetInSegment(segment, nested.startLine, nested.startColumn),
469
+ end: offsetInSegment(segment, nested.endLine, nested.endColumn),
470
+ }))
471
+ .sort((a, b) => a.start - b.start);
472
+ const chunks = [];
473
+ let cursor = 0;
474
+ for (const exclusion of exclusions) {
475
+ if (exclusion.start > cursor)
476
+ chunks.push({ start: cursor, end: exclusion.start });
477
+ cursor = Math.max(cursor, exclusion.end);
449
478
  }
479
+ if (cursor < segment.content.length)
480
+ chunks.push({ start: cursor, end: segment.content.length });
481
+ for (const chunk of chunks)
482
+ for (const span of shiftSpans(splitSentences(segment.content.slice(chunk.start, chunk.end)), chunk.start)) {
483
+ // offsetToLineColumn (never a bare '\n' split): segment content is a
484
+ // verbatim source slice, so on a CR-only file a '\n'-based mapping
485
+ // kept every sentence on the segment's first line with a column
486
+ // counted straight through the '\r'. On the segment's first line the
487
+ // sentence offset is added to the segment's own startColumn (the
488
+ // segment may begin mid-source-line); later lines start at column 1
489
+ // of the source, so the in-segment column is already the source
490
+ // column.
491
+ const start = offsetToLineColumn(segment.content, span.start);
492
+ const end = offsetToLineColumn(segment.content, span.end);
493
+ const sentence = {
494
+ scope: 'sentence',
495
+ content: span.text,
496
+ startLine: segment.startLine + start.line - 1,
497
+ startColumn: start.line === 1 ? segment.startColumn + span.start : start.column,
498
+ endLine: segment.startLine + end.line - 1,
499
+ endColumn: end.line === 1 ? segment.startColumn + span.end : end.column,
500
+ tokens: segment.tokens,
501
+ };
502
+ // A sentence carved out of a masked segment is masked too — re-based
503
+ // onto its own span so `sourceText`/`maskedRanges` keep meaning what
504
+ // they mean everywhere else: offsets into THIS segment's `content`.
505
+ if (segment.sourceText !== undefined) {
506
+ sentence.sourceText = segment.sourceText.slice(span.start, span.start + span.text.length);
507
+ sentence.maskedRanges = shiftRanges(segment.maskedRanges ?? [], span.start, span.text.length);
508
+ }
509
+ sentenceSegments.push(sentence);
510
+ }
450
511
  }
451
512
  // `markdoc.tag` emits one segment per `markdocTag` token, whatever its
452
513
  // `markdocKind` (malformed spans included — a pattern rule may well want to
@@ -1 +1 @@
1
- {"version":3,"file":"extractor.js","sourceRoot":"","sources":["../../src/scopes/extractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extractor.js","sourceRoot":"","sources":["../../src/scopes/extractor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sentences.d.ts","sourceRoot":"","sources":["../../src/scopes/sentences.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAKD,eAAO,MAAM,aAAa,aAwBxB,CAAC;AAEH;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAIlE;AA+CD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,EAAE,CA6C3D"}
1
+ {"version":3,"file":"sentences.d.ts","sourceRoot":"","sources":["../../src/scopes/sentences.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAKD,eAAO,MAAM,aAAa,aA0BxB,CAAC;AAEH;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAIlE;AAqDD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,EAAE,CAU3D"}
@@ -4,6 +4,8 @@
4
4
  export const ABBREVIATIONS = new Set([
5
5
  'e.g',
6
6
  'i.e',
7
+ 'u.s',
8
+ 'u.k',
7
9
  'etc',
8
10
  'vs',
9
11
  'cf',
@@ -85,12 +87,26 @@ function linkRanges(text) {
85
87
  }
86
88
  return ranges;
87
89
  }
90
+ // A blank line is a paragraph break, so it always ends a sentence, even
91
+ // without a terminator ("To Whom It May Concern:"). Inside a blockquote
92
+ // segment the blank line still carries its `>` markers, so a line holding
93
+ // only spaces, tabs, and `>` counts as blank.
94
+ const BLANK_LINE_RUN = /(?:\r?\n|\r)(?:[ \t>]*(?:\r?\n|\r))+/g;
88
95
  export function splitSentences(text) {
89
96
  const spans = [];
90
97
  const links = linkRanges(text);
91
- let start = 0;
98
+ let from = 0;
99
+ for (const match of text.matchAll(BLANK_LINE_RUN)) {
100
+ scanBlock(spans, text, links, from, match.index ?? 0);
101
+ from = (match.index ?? 0) + match[0].length;
102
+ }
103
+ scanBlock(spans, text, links, from, text.length);
104
+ return spans;
105
+ }
106
+ function scanBlock(spans, text, links, blockStart, blockEnd) {
107
+ let start = blockStart;
92
108
  let inCode = false;
93
- for (let i = 0; i < text.length; i++) {
109
+ for (let i = blockStart; i < blockEnd; i++) {
94
110
  const char = text[i];
95
111
  if (char === '`') {
96
112
  inCode = !inCode;
@@ -101,19 +117,58 @@ export function splitSentences(text) {
101
117
  if (links.some(([from, to]) => i >= from && i < to))
102
118
  continue;
103
119
  // Consume runs of terminators ("?!", "...").
104
- while (i + 1 < text.length && '.!?'.includes(text[i + 1]))
120
+ while (i + 1 < blockEnd && '.!?'.includes(text[i + 1]))
105
121
  i++;
106
- const next = text[i + 1];
107
- // Boundary requires whitespace then an uppercase letter, quote, or bracket.
108
- if (next === undefined)
109
- break; // end of text handled after loop
110
- if (next !== ' ' && next !== '\n' && next !== '\t' && next !== '\r')
122
+ // A terminator may sit inside closing emphasis, quotes, or brackets
123
+ // ("**REQUIRED.** Provide…", "(See the guide.) Then…") — those closers
124
+ // belong to this sentence. Backtick stays out: consuming one here would
125
+ // desync the inCode toggle above.
126
+ let close = i;
127
+ while (close + 1 < blockEnd && '*_"\')]”’'.includes(text[close + 1]))
128
+ close++;
129
+ const next = text[close + 1];
130
+ // Boundary requires whitespace then a sentence opener. A hard-break
131
+ // backslash directly after the terminator (".\\" + newline) counts as
132
+ // whitespace too.
133
+ if (next === undefined || close + 1 >= blockEnd)
134
+ break; // end of block handled below
135
+ const nextIsBreak = next === '\\' && (text[close + 2] === '\n' || text[close + 2] === '\r');
136
+ if (next !== ' ' && next !== '\n' && next !== '\t' && next !== '\r' && !nextIsBreak)
111
137
  continue;
112
- // '\r\n' is one line ending, so the CRLF pair counts as a single
113
- // whitespace unit — otherwise a '.\r\nNext' boundary would test the
114
- // '\n' for uppercase and never split (unlike its '.\nNext' LF twin).
115
- const after = next === '\r' && text[i + 2] === '\n' ? text[i + 3] : text[i + 2];
116
- if (after === undefined || !/[A-Z"'([`]/.test(after))
138
+ // Skip the whole whitespace run: a continuation line inside a list item
139
+ // or Markdoc tag body is indented, so the character right after the
140
+ // newline is a space, not the opener that proves the boundary. A
141
+ // markdown hard-break backslash counts as whitespace here (only when a
142
+ // newline follows it), and so does a blockquote continuation marker
143
+ // (`>` on a new line).
144
+ let j = close + 2;
145
+ let afterNewline = next === '\n' || next === '\r';
146
+ while (j < blockEnd) {
147
+ const ch = text[j];
148
+ if (ch === '\n' || ch === '\r') {
149
+ afterNewline = true;
150
+ j++;
151
+ }
152
+ else if (ch === ' ' || ch === '\t')
153
+ j++;
154
+ else if (ch === '\\' && (text[j + 1] === '\n' || text[j + 1] === '\r'))
155
+ j++;
156
+ else if (ch === '>' && afterNewline)
157
+ j++;
158
+ else
159
+ break;
160
+ }
161
+ // Emphasis markers, quotes, and brackets open a sentence only when the
162
+ // wrapped text itself starts like one ("**Apigee X** supports…",
163
+ // "(See the guide.)") — otherwise a code-like identifier such as
164
+ // `*args` or a lowercase parenthetical such as "(textarea)" would
165
+ // trigger a false split. A code tick opens unconditionally: code
166
+ // content carries no case signal.
167
+ let opener = j;
168
+ while (opener < blockEnd && '*_"\'([“‘'.includes(text[opener]))
169
+ opener++;
170
+ const after = text[opener];
171
+ if (after === undefined || opener >= blockEnd || !/[A-Z`]/.test(after))
117
172
  continue;
118
173
  if (char === '.') {
119
174
  const word = lastWordBefore(text, i);
@@ -124,20 +179,24 @@ export function splitSentences(text) {
124
179
  if (isOrdinalEnumerator(text, i))
125
180
  continue;
126
181
  }
127
- const end = i + 1;
128
- const raw = text.slice(start, end);
129
- if (raw.trim())
130
- spans.push({ text: raw.trim(), start: start + (raw.length - raw.trimStart().length), end });
182
+ const end = close + 1;
183
+ pushSpan(spans, text, start, end);
131
184
  start = end;
132
185
  }
133
- const tail = text.slice(start);
134
- if (tail.trim()) {
135
- spans.push({
136
- text: tail.trim(),
137
- start: start + (tail.length - tail.trimStart().length),
138
- end: text.length,
139
- });
140
- }
141
- return spans;
186
+ pushSpan(spans, text, start, blockEnd);
187
+ }
188
+ // A span between boundaries may open with markup left over from the
189
+ // previous line — a hard-break backslash ("sentence. \\\n Next") or a
190
+ // blockquote continuation marker ("sentence.\n> Next") — so those are
191
+ // trimmed away with the surrounding whitespace.
192
+ function pushSpan(spans, text, start, end) {
193
+ const raw = text.slice(start, end);
194
+ // Only a backslash directly before a newline is hard-break markup; a
195
+ // leading escape like `\\*` or a UNC path keeps its backslash. A `>` is
196
+ // a quote marker only at the start of a line.
197
+ const lead = /^(?:[ \t]|\r|\n[ \t>]*|>[ \t]*|\\(?=[\r\n]))*/.exec(raw)?.[0].length ?? 0;
198
+ const clean = raw.slice(lead).trimEnd();
199
+ if (clean)
200
+ spans.push({ text: clean, start: start + lead, end });
142
201
  }
143
202
  //# sourceMappingURL=sentences.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sentences.js","sourceRoot":"","sources":["../../src/scopes/sentences.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sentences.js","sourceRoot":"","sources":["../../src/scopes/sentences.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redocly/recheck",
3
- "version": "0.9.0",
3
+ "version": "0.10.0",
4
4
  "description": "Content linting (configurable + built-in rules)",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -59,13 +59,22 @@
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.2"
62
+ "@redocly/theme": "0.69.0-next.4"
63
+ },
64
+ "nx": {
65
+ "targets": {
66
+ "vitest:test": {
67
+ "dependsOn": [
68
+ "build"
69
+ ]
70
+ }
71
+ }
63
72
  },
64
73
  "scripts": {
65
74
  "build": "tsgo && tsgo --noEmit -p tsconfig.typecheck.json",
66
75
  "dev": "tsgo --watch",
67
76
  "start": "node dist/cli.js",
68
- "validate": "node dist/cli.js validate",
77
+ "validate": "node dist/cli.js --validate-config",
69
78
  "test": "nx run vitest:test",
70
79
  "examples:generate": "node scripts/generate-examples.mjs",
71
80
  "markdoc-schema:generate": "tsx scripts/generate-markdoc-schema.mjs",
@@ -17,7 +17,7 @@ Configure recheck for a project the way its maintainers would: measure first, de
17
17
  ```
18
18
 
19
19
  ```bash
20
- npx recheck validate
20
+ npx recheck --validate-config
21
21
  ```
22
22
 
23
23
  2. Add prose rules deliberately, not wholesale.
@@ -28,7 +28,7 @@ Configure recheck for a project the way its maintainers would: measure first, de
28
28
  1. Run the whole corpus and count findings per rule:
29
29
 
30
30
  ```bash
31
- npx recheck run docs --output json --annotations-limit 5000 --output-path findings.json
31
+ npx recheck docs --output json --annotations-limit 5000 --output-path findings.json
32
32
  ```
33
33
 
34
34
  Group the findings by `ruleName` and look at real examples of each before deciding anything.
@@ -53,7 +53,7 @@ Configure recheck for a project the way its maintainers would: measure first, de
53
53
  When the corpus has too many errors to fix at once, record them and gate only new ones:
54
54
 
55
55
  ```bash
56
- npx recheck baseline
56
+ npx recheck --generate-baseline
57
57
  ```
58
58
 
59
59
  Commit `recheck-baseline.yaml` and add `baseline: recheck-baseline.yaml` to the config.
@@ -61,6 +61,6 @@ Counts only step down: when findings get fixed, regenerate the baseline and comm
61
61
 
62
62
  ## Finish
63
63
 
64
- - `npx recheck validate` must pass.
64
+ - `npx recheck --validate-config` must pass.
65
65
  - Every `off` and every exception carries a comment with its reason.
66
66
  - The config's README section or the project docs say how contributors run recheck locally.
@@ -18,13 +18,13 @@ If none exists, this skill does not apply.
18
18
  1. After you write or edit markdown files, run recheck on them:
19
19
 
20
20
  ```bash
21
- npx recheck run <file-or-directory>
21
+ npx recheck <file-or-directory>
22
22
  ```
23
23
 
24
24
  2. If it reports errors, run the auto-fix first — most structural findings repair themselves:
25
25
 
26
26
  ```bash
27
- npx recheck run <file-or-directory> --fix
27
+ npx recheck <file-or-directory> --fix
28
28
  ```
29
29
 
30
30
  3. Fix the remaining errors by hand.