@redocly/recheck 0.2.0 → 0.4.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 (44) hide show
  1. package/README.md +38 -12
  2. package/dist/cli.js +13 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/run.d.ts +2 -0
  5. package/dist/commands/run.d.ts.map +1 -1
  6. package/dist/commands/run.js +19 -5
  7. package/dist/commands/run.js.map +1 -1
  8. package/dist/config/schema.d.ts +7 -0
  9. package/dist/config/schema.d.ts.map +1 -1
  10. package/dist/config/schema.js +6 -0
  11. package/dist/config/schema.js.map +1 -1
  12. package/dist/config/validate.d.ts.map +1 -1
  13. package/dist/config/validate.js +11 -2
  14. package/dist/config/validate.js.map +1 -1
  15. package/dist/core/rule-filters.d.ts +17 -0
  16. package/dist/core/rule-filters.d.ts.map +1 -1
  17. package/dist/core/rule-filters.js +64 -0
  18. package/dist/core/rule-filters.js.map +1 -1
  19. package/dist/core/runner.d.ts.map +1 -1
  20. package/dist/core/runner.js +12 -1
  21. package/dist/core/runner.js.map +1 -1
  22. package/dist/data/proper-nouns.d.ts.map +1 -1
  23. package/dist/data/proper-nouns.js +14 -175
  24. package/dist/data/proper-nouns.js.map +1 -1
  25. package/dist/reporter/formats/table.d.ts.map +1 -1
  26. package/dist/reporter/formats/table.js +6 -1
  27. package/dist/reporter/formats/table.js.map +1 -1
  28. package/dist/rules/scope/capitalization.d.ts.map +1 -1
  29. package/dist/rules/scope/capitalization.js +8 -5
  30. package/dist/rules/scope/capitalization.js.map +1 -1
  31. package/dist/rules/scope/consistency.d.ts.map +1 -1
  32. package/dist/rules/scope/consistency.js +1 -0
  33. package/dist/rules/scope/consistency.js.map +1 -1
  34. package/dist/rules/scope/title-case.d.ts +15 -11
  35. package/dist/rules/scope/title-case.d.ts.map +1 -1
  36. package/dist/rules/scope/title-case.js +65 -28
  37. package/dist/rules/scope/title-case.js.map +1 -1
  38. package/dist/scopes/sentences.d.ts +8 -0
  39. package/dist/scopes/sentences.d.ts.map +1 -1
  40. package/dist/scopes/sentences.js +30 -2
  41. package/dist/scopes/sentences.js.map +1 -1
  42. package/dist/types/problems.d.ts +1 -0
  43. package/dist/types/problems.d.ts.map +1 -1
  44. package/package.json +3 -3
@@ -1,3 +1,60 @@
1
+ export class UnknownRuleNameError extends Error {
2
+ constructor(unknown, available) {
3
+ super(`no rule in this configuration matches ${unknown.map((n) => `"${n}"`).join(', ')}`);
4
+ Object.defineProperty(this, "unknown", {
5
+ enumerable: true,
6
+ configurable: true,
7
+ writable: true,
8
+ value: unknown
9
+ });
10
+ Object.defineProperty(this, "available", {
11
+ enumerable: true,
12
+ configurable: true,
13
+ writable: true,
14
+ value: available
15
+ });
16
+ this.name = 'UnknownRuleNameError';
17
+ }
18
+ }
19
+ /**
20
+ * A rule matches a `--rule`/`--exclude-rule` value when the value equals its
21
+ * full config key (`recheck/us-spelling`) or its `shortName` -- the exact
22
+ * string the report prints, so you can filter by what you just read.
23
+ *
24
+ * `shortName` removes only the `recheck/` prefix (see config/validate.ts), so
25
+ * a rule from another namespace keeps that namespace: `google/passive-voice`
26
+ * stays `google/passive-voice`. Do not match on the last path segment
27
+ * instead. Preset rule keys share 20 bare names -- `no-trailing-punctuation`
28
+ * exists in `recheck/`, `google/`, and `microsoft/` -- so one bare name would
29
+ * select three different rules at once.
30
+ */
31
+ function matchesRuleName(rule, name) {
32
+ return rule.name === name || rule.shortName === name;
33
+ }
34
+ /**
35
+ * Restricts the run to the named rules. Unknown names throw rather than
36
+ * silently narrowing to nothing: a typo'd `--rule` that reported "no issues"
37
+ * would read exactly like a clean run.
38
+ */
39
+ export function filterByRuleNames(rules, names) {
40
+ if (!names.length)
41
+ return rules;
42
+ const unknown = names.filter((name) => !rules.some((rule) => matchesRuleName(rule, name)));
43
+ if (unknown.length > 0) {
44
+ throw new UnknownRuleNameError(unknown, rules.map((rule) => rule.name));
45
+ }
46
+ return rules.filter((rule) => names.some((name) => matchesRuleName(rule, name)));
47
+ }
48
+ /** Inverse of `filterByRuleNames`, with the same name matching and typo check. */
49
+ export function excludeByRuleNames(rules, names) {
50
+ if (!names.length)
51
+ return rules;
52
+ const unknown = names.filter((name) => !rules.some((rule) => matchesRuleName(rule, name)));
53
+ if (unknown.length > 0) {
54
+ throw new UnknownRuleNameError(unknown, rules.map((rule) => rule.name));
55
+ }
56
+ return rules.filter((rule) => !names.some((name) => matchesRuleName(rule, name)));
57
+ }
1
58
  const SEVERITY_LEVELS = {
2
59
  off: -1,
3
60
  info: 0,
@@ -49,6 +106,13 @@ export function applyFilters(rules, options) {
49
106
  if (options.tags?.length) {
50
107
  filtered = filterByTags(filtered, options.tags);
51
108
  }
109
+ // Name filters run last so they can narrow whatever the broader filters left.
110
+ if (options.rules?.length) {
111
+ filtered = filterByRuleNames(filtered, options.rules);
112
+ }
113
+ if (options.excludeRules?.length) {
114
+ filtered = excludeByRuleNames(filtered, options.excludeRules);
115
+ }
52
116
  return { filtered, disabledCount };
53
117
  }
54
118
  //# sourceMappingURL=rule-filters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rule-filters.js","sourceRoot":"","sources":["../../src/core/rule-filters.ts"],"names":[],"mappings":"AAOA,MAAM,eAAe,GAA2B;IAC9C,GAAG,EAAE,CAAC,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,CAAC;CACT,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAuB;IAIxD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC;IAChE,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACpD,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAuB,EAAE,WAAmB;IAC3E,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;IAC9C,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAEzC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,KAAM,SAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QACnF,MAAM,SAAS,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;QAChD,OAAO,SAAS,IAAI,QAAQ,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,KAAuB,EAAE,IAAyB;IAC7E,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAE/B,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAa,CAAC,CAAC,CAAC,CAAC;AACxF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAuB,EACvB,OAAsB;IAKtB,kCAAkC;IAClC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC7D,IAAI,QAAQ,GAAG,OAAO,CAAC;IAEvB,kCAAkC;IAClC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAED,8BAA8B;IAC9B,IAAI,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QACzB,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"rule-filters.js","sourceRoot":"","sources":["../../src/core/rule-filters.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/core/runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,KAAK,EAAE,gBAAgB,EAAoB,MAAM,mBAAmB,CAAC;AAc5E,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEtF,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC;;;;;OAKG;IACH,KAAK,EAAE,GAAG,EAAE,CAAC;IACb;;;;;;OAMG;IACH,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB;;;;;OAKG;IACH,SAAS,EAAE,OAAO,CAAC;CACpB;AA0ED,wBAAsB,QAAQ,CAC5B,KAAK,EAAE,SAAS,EAAE,EAClB,KAAK,EAAE,cAAc,EAAE,EACvB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,SAAS,CAAC,CAqPpB;AAOD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,SAAS,EAAE,EAClB,KAAK,EAAE,cAAc,EAAE,EACvB,OAAO,GAAE,IAAI,CAAC,aAAa,EAAE,KAAK,CAAM,GACvC,OAAO,CAAC,SAAS,CAAC,CAuCpB"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/core/runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,KAAK,EAAE,gBAAgB,EAAoB,MAAM,mBAAmB,CAAC;AAc5E,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEtF,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC;;;;;OAKG;IACH,KAAK,EAAE,GAAG,EAAE,CAAC;IACb;;;;;;OAMG;IACH,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB;;;;;OAKG;IACH,SAAS,EAAE,OAAO,CAAC;CACpB;AA0ED,wBAAsB,QAAQ,CAC5B,KAAK,EAAE,SAAS,EAAE,EAClB,KAAK,EAAE,cAAc,EAAE,EACvB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,SAAS,CAAC,CAgQpB;AAOD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,SAAS,EAAE,EAClB,KAAK,EAAE,cAAc,EAAE,EACvB,OAAO,GAAE,IAAI,CAAC,aAAa,EAAE,KAAK,CAAM,GACvC,OAAO,CAAC,SAAS,CAAC,CAuCpB"}
@@ -213,11 +213,19 @@ export async function runRules(files, rules, options = {}) {
213
213
  }
214
214
  const scopeRule = resolved.rule;
215
215
  const ctx = { segments, content, tree, fileMetadata: metadata };
216
+ // Same predicate the fix branch below uses, minus `options.fix`, so
217
+ // a plain run can say which findings `--fix` would have rewritten.
218
+ // A rule that sets `fixable` per problem can only narrow it: a
219
+ // detection-only site (capitalization's custom-regex mode, a
220
+ // consistency pair with different word counts) stays unmarked even
221
+ // though the rule as a whole can fix.
222
+ const canFix = Boolean(scopeRule.fixable && scopeRule.fix && rule.fix !== false);
216
223
  try {
217
224
  const ruleProblems = await scopeRule.execute(rule, path, ctx);
218
225
  problems.push(...ruleProblems
219
226
  .filter((problem) => problemAllowed(problem.line))
220
- .filter(isFirstOccurrence));
227
+ .filter(isFirstOccurrence)
228
+ .map((problem) => ({ ...problem, fixable: canFix && (problem.fixable ?? true) })));
221
229
  if (options.fix && scopeRule.fixable && scopeRule.fix && rule.fix !== false) {
222
230
  const ruleFixes = await scopeRule.fix(rule, path, ctx);
223
231
  const fileFixes = fixesByFile.get(path) ?? [];
@@ -256,6 +264,9 @@ export async function runRules(files, rules, options = {}) {
256
264
  // token rule falls back to the config's rule-level severity.
257
265
  severity: info.severity ?? rule.severity,
258
266
  message: formatTokenMessage(rule.message, tokenRule, info),
267
+ // Per-finding, not per-rule: a fixable token rule still emits
268
+ // findings it has no fixInfo for.
269
+ fixable: Boolean(tokenRule.fixable && rule.fix !== false && info.fixInfo),
259
270
  });
260
271
  if (options.fix && tokenRule.fixable && rule.fix !== false && info.fixInfo) {
261
272
  tokenFixes.push({ file: path, ruleName: rule.name, ...info.fixInfo });
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/core/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/core/runner.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"proper-nouns.d.ts","sourceRoot":"","sources":["../../src/data/proper-nouns.ts"],"names":[],"mappings":"AA+KA,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,EA+BnD,CAAC"}
1
+ {"version":3,"file":"proper-nouns.d.ts","sourceRoot":"","sources":["../../src/data/proper-nouns.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,EAgCnD,CAAC"}
@@ -1,183 +1,22 @@
1
- // Built-in technical/product proper-noun vocabulary (Phase 4 spec §5.5,
2
- // deliverable F). Every config that turns on sentence-case headings or
3
- // spelling immediately needs the same list of mixed-case technology names,
4
- // and hand-maintaining it per config is a losing game -- the evidence is
5
- // Redocly's own orphaned `accept.txt` (150 entries inherited from an
6
- // unrelated project, missing every current Redocly product name). Recheck
7
- // ships the common set instead, consumed by default (unless
8
- // `builtinVocabulary: false`) by both `capitalization` (unioned with the
9
- // rule's own `exceptions`, see rules/scope/capitalization.ts) and `spelling`
10
- // (unioned with `vocab`, see rules/scope/spelling.ts).
11
- //
12
- // -- Inclusion bar (Task 8 fix wave -- see task-8-report.md's "Fix wave"
13
- // section for the full regression writeup) ---------------------------------
14
- //
15
- // The FIRST version of this list (Task 8's initial landing) required
16
- // "exotic" casing to qualify -- an internal capital, a dot, or forced
17
- // lowercase -- reasoning that ordinary Title-Case brand names carry no
18
- // casing fact ordinary English capitalization doesn't already supply. That
19
- // reasoning was wrong: `capitalization`'s `$sentence` style lowercases
20
- // EVERY non-first word that isn't ALL-CAPS or an exception, regardless of
21
- // how "ordinary" its casing looks -- so a plain Title-Case brand name like
22
- // `Redocly` or `Docker` needs protection exactly as much as `Node.js` does.
23
- // The bar's real intent, per spec §5.5's prose, is narrower than "exotic
24
- // casing only": exclude an entry only when listing it would WEAKEN
25
- // capitalization checks. Two exclusion classes, and only these two:
26
- //
27
- // 1. Pure ALL-CAPS acronyms (`JWT`, `YAML`) -- `isAllCapsWord`
28
- // (title-case.ts) already leaves these untouched structurally in both
29
- // `capitalization` and `spelling`, so listing them adds maintenance
30
- // for no behavior change. Note this is narrower than "all-caps-ISH":
31
- // `OAuth` and `AsyncAPI` are mixed-case, not pure ALL-CAPS, and DO
32
- // qualify.
33
- // 2. Words with legitimate lowercase prose usage -- listing them would
34
- // force-capitalize ordinary English. `cloud` and `apps` are the
35
- // generic-English examples; `node` (common technical noun, "each node
36
- // in the graph" -- superseded by the `Node.js` phrase entry for the
37
- // platform specifically) and `realm`/`replay`/`respect` (Redocly
38
- // product names that are ALSO ordinary English words -- as
39
- // exceptions they would rewrite ordinary usage like "we respect your
40
- // privacy" into "we Respect your privacy") are the project-specific
41
- // ones. Of the Redocly-name group, only `Redoc` is included: it is a
42
- // coined word with no ordinary English sense. `Realm`, `Replay`,
43
- // `Respect` and `Reunite` are all excluded, because forcing their
44
- // casing for every user of this library would rewrite ordinary prose
45
- // ("the teams will reunite next quarter"). `Redocly` itself is included
46
- // on the same basis as `Redoc` -- not an English word.
47
- //
48
- // Redocly's own product names belong in Redocly's own configuration,
49
- // not in a vocabulary shipped to everyone. Note for whoever writes that
50
- // rule: lowercase `reunite` is legitimate in Redocly's docs as an
51
- // identifier prefix -- ClickHouse tables (`reunite.api_access_logs`),
52
- // package names (`reunite-ui`), and URL path segments -- so it must be
53
- // prose-scoped with code spans excluded, which is the default.
54
- //
55
- // Everything else that is a real technology/product/company name qualifies
56
- // now, including ordinary Title-Case brand names -- this list is no longer
57
- // scoped to "casing is the protected fact", it is the general technical-
58
- // vocabulary list spec §5.5 actually describes.
59
- //
60
- // Two automated guards enforce this (src/data/__tests__/proper-nouns.test.ts):
61
- // 1. A bar guard, MECHANIZED (final-review fix wave): no entry may be pure
62
- // ALL-CAPS (already covered structurally by isAllCapsWord), and no
63
- // single-token entry's plain lowercase form may be a real English word
64
- // as judged by the ACTUAL spelling dictionary (`dictionary-en`/`nspell`,
65
- // the exact pair `spelling` loads at runtime -- see
66
- // rules/scope/spelling.ts), unless it is named in an explicit
67
- // accepted-risk allowlist alongside its reason. This replaced a
68
- // hand-written six-word denylist (`cloud`, `apps`, `node`, `realm`,
69
- // `replay`, `respect`) that only ever caught re-additions of words its
70
- // author had already thought of -- and so passed cleanly while
71
- // `Chrome`/`Markdown`/`Postman`/`Prettier`/`Safari`/`Swagger`/`Windows`
72
- // shipped as entries despite each failing this exact bar (see the
73
- // "Task 8 fix-wave audit" section below). A guard narrower than the
74
- // rule it claims to enforce is worse than none: it produces false
75
- // confidence. Deriving the check from the real dictionary instead of a
76
- // hand list means a FUTURE entry that happens to double as an ordinary
77
- // word is caught automatically, without requiring a test author to have
78
- // already thought of that specific word.
79
- // 2. A round-trip (dead-entry) guard -- the direct lesson of the
80
- // `Node.js`/`VS Code` finding (Task 7 of this phase): every entry is
81
- // driven through the REAL `capitalization` rule inside a heading and
82
- // must survive unmodified, and through `spelling` and must not be
83
- // flagged. An entry that cannot actually be protected fails the suite
84
- // instead of sitting in the list looking effective.
85
- //
86
- // -- Multi-token entries -----------------------------------------------------
87
- //
88
- // Before Task 7 of this phase, the exception tokenizer split on dots and
89
- // whitespace, so a phrase like `Node.js` or `VS Code` could never match as
90
- // written and was dead config -- see title-case.ts's buildExceptionPlan/
91
- // recaseWords for the phrase-aware matching that now makes these
92
- // real entries instead of the single-token approximations (`Node`, `VS`) the
93
- // Phase 3 preset list had to settle for.
94
- //
95
- // -- Seed and what stays excluded --------------------------------------------
96
- //
97
- // Seeded from the Phase 3 `recheck/prose` preset's 38-entry starter list
98
- // (see git history / config/presets/prose.ts) plus the six multi-token names
99
- // Task 7 makes possible (`Node.js`, `VS Code`, `Visual Studio Code`,
100
- // `GitHub Actions`, `Google Cloud`, `Azure DevOps`), filtered through the bar
101
- // above. Under the widened bar, only three classes are excluded, each for a
102
- // stated reason so nobody re-adds them:
103
- //
104
- // | Entry | Why excluded |
105
- // |------------------------------|-----------------------------------------|
106
- // | `JWT`, `YAML` | pure ALL-CAPS; isAllCapsWord handles |
107
- // | | them structurally |
108
- // | `Realm`, `Replay`, `Respect`,| Redocly product names that are also |
109
- // | `Reunite` | common English words -- as exceptions |
110
- // | | they would rewrite ordinary usage ("we |
111
- // | | respect your privacy" -> "we Respect |
112
- // | | your privacy"; "the teams will reunite" |
113
- // | | -> "will Reunite"). Only `Redoc` and |
114
- // | | `Redocly` are included from the Redocly |
115
- // | | group -- neither is an English word. |
116
- // | | Enforcing the rest belongs in Redocly's |
117
- // | | own config, not a shipped vocabulary. |
118
- // | `Node` | common technical noun ("each node in |
119
- // | | the graph"); `Node.js` now works as a |
120
- // | | phrase entry, which covers the platform |
121
- //
122
- // None of these are silently lost: a project that relies on one of these for
123
- // its own brand or prose adds it back via its OWN rule's `exceptions`/
124
- // `vocab`, which compose with this built-in list rather than replacing it.
125
- //
126
- // -- Task 8 fix-wave audit (final-review fix wave) ---------------------------
127
- //
128
- // The widened bar above was correct in principle but was never actually RUN
129
- // against every entry it admitted. Four ordinary English words --
130
- // `Postman`, `Prettier`, `Safari`, `Windows` -- shipped as
131
- // forced-capitalization exceptions despite failing class 2 outright: with
132
- // `extends: [recheck/prose]`, a heading like "Close all windows before you
133
- // continue" or "A prettier interface for reviewers" was force-capitalized to
134
- // "Windows"/"Prettier" the moment the word appeared, lowercase, in ordinary
135
- // prose. A follow-up audit applied the bar's own stated test -- "would the
136
- // lowercase form appear as ordinary English in technical prose?" -- to EVERY
137
- // entry, mechanically, via the real spelling dictionary (guard 1 above).
138
- // Seven entries failed and were removed:
139
- //
140
- // | Entry | Why removed (real, attested lowercase English usage) |
141
- // |------------|------------------------------------------------------------|
142
- // | `Chrome` | "chrome plating", "a chrome bumper" -- the metal/finish |
143
- // | `Markdown` | "a markdown of thirty percent" -- the retail/finance |
144
- // | | term; `google/brand-capitalization` documents this exact |
145
- // | | homograph for the same word (see config/presets/google.ts)|
146
- // | `Postman` | "ask the postman for a receipt" -- the mail carrier |
147
- // | `Prettier` | "a prettier interface" -- the ordinary comparative |
148
- // | | adjective |
149
- // | `Safari` | "plan a safari with the team" -- the trip |
150
- // | `Swagger` | "he spoke with swagger" -- ordinary confidence/ |
151
- // | | boastfulness |
152
- // | `Windows` | "close all windows before you continue" -- plural of the |
153
- // | | ordinary noun |
154
- //
155
- // Three more entries ALSO have a real, dictionary-attested lowercase English
156
- // sense -- `Android` ("android" = a humanoid robot), `Docker` ("docker" = a
157
- // dockworker, chiefly British/historical usage), `TypeScript` ("typescript"
158
- // = a typed manuscript, an archaic sense) -- but were kept rather than
159
- // removed after adjudication: unlike the seven above, the call here is
160
- // genuinely debatable, not clear-cut. The ordinary sense of each is rare in
161
- // practice (dockworker and typed-manuscript both read as dated; the robot
162
- // sense is mostly genre fiction) and the proper-noun sense dominates current
163
- // usage -- especially `TypeScript`, central to this very codebase. This is a
164
- // deliberate, documented risk-acceptance, not an oversight: see the
165
- // `ACCEPTED_RISK_ENTRIES` allowlist in proper-nouns.test.ts, which the
166
- // mechanized dictionary guard consults so these three don't fail the suite.
167
- // `Reunite` (below) has the same real-word tension ("reunite" is an ordinary
168
- // verb) but predates this audit as an explicit, already-adjudicated
169
- // project-owner decision (see the exclusion table above) and is left as is.
170
- //
171
- // None of the seven removed entries are silently lost either: a project that
172
- // relies on one for its own brand or prose adds it back via its OWN rule's
173
- // `exceptions`/`vocab`, exactly as with the three-class exclusions above.
174
- //
175
- // Final count: 31 entries. Alphabetized case-insensitively, duplicate-free.
1
+ // Technical and product names that `capitalization` and `spelling` protect by
2
+ // default, unioned with each rule's own `exceptions`/`vocab`. Opt out with
3
+ // `builtinVocabulary: false`.
4
+ //
5
+ // Before adding an entry, note that two tests in __tests__/proper-nouns.test.ts
6
+ // reject most candidates and say why on failure: pure ALL-CAPS acronyms are
7
+ // already handled structurally by isAllCapsWord, and a word whose lowercase
8
+ // form is ordinary English would force-case ordinary prose. `curl` is the one
9
+ // entry deliberately admitted against that second rule, and the only entry
10
+ // whose as-written form is lowercase -- so a false hit force-LOWERCASES a
11
+ // capitalized `Curl`, where every other entry would force-capitalize.
12
+ //
13
+ // Alphabetized case-insensitively, duplicate-free (both enforced by test).
176
14
  export const TECHNICAL_PROPER_NOUNS = [
177
15
  'Android',
178
16
  'AsyncAPI',
179
17
  'Azure DevOps',
180
18
  'Bitbucket',
19
+ 'curl',
181
20
  'Docker',
182
21
  'ESLint',
183
22
  'Firefox',
@@ -1 +1 @@
1
- {"version":3,"file":"proper-nouns.js","sourceRoot":"","sources":["../../src/data/proper-nouns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proper-nouns.js","sourceRoot":"","sources":["../../src/data/proper-nouns.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,2EAA2E;AAC3E,8BAA8B;AAC9B,EAAE;AACF,gFAAgF;AAChF,4EAA4E;AAC5E,4EAA4E;AAC5E,8EAA8E;AAC9E,2EAA2E;AAC3E,0EAA0E;AAC1E,sEAAsE;AACtE,EAAE;AACF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,sBAAsB,GAAsB;IACvD,SAAS;IACT,UAAU;IACV,cAAc;IACd,WAAW;IACX,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,gBAAgB;IAChB,QAAQ;IACR,cAAc;IACd,UAAU;IACV,SAAS;IACT,KAAK;IACL,YAAY;IACZ,YAAY;IACZ,OAAO;IACP,OAAO;IACP,SAAS;IACT,SAAS;IACT,KAAK;IACL,OAAO;IACP,SAAS;IACT,MAAM;IACN,OAAO;IACP,SAAS;IACT,YAAY;IACZ,oBAAoB;IACpB,SAAS;IACT,SAAS;CACV,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/reporter/formats/table.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAIpD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,OAAO,EAAE,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,OAAO,GAClB,IAAI,CAqCN"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/reporter/formats/table.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAIpD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,OAAO,EAAE,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,OAAO,GAClB,IAAI,CA4CN"}
@@ -17,7 +17,12 @@ export function outputTableFormat(problems, fileCount, showStats) {
17
17
  const severityColor = problem.severity === 'error' ? red : problem.severity === 'warn' ? yellow : cyan;
18
18
  const location = `${problem.file}:${problem.line}:${problem.column}`;
19
19
  const ruleDisplay = problem.ruleName.replace('recheck/', '');
20
- console.log(`${severityColor(ruleDisplay.padEnd(25))} ${location.padEnd(40)} ${problem.message}`);
20
+ const fixMark = problem.fixable ? green(' [fixable]') : '';
21
+ console.log(`${severityColor(ruleDisplay.padEnd(25))} ${location.padEnd(40)} ${problem.message}${fixMark}`);
22
+ }
23
+ const fixableCount = problems.filter((problem) => problem.fixable).length;
24
+ if (fixableCount > 0) {
25
+ console.log(green(`\n ${fixableCount} of ${problems.length} fixable with --fix`));
21
26
  }
22
27
  // Summary
23
28
  const errorCount = problems.filter((h) => h.severity === 'error').length;
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sourceRoot":"","sources":["../../../src/reporter/formats/table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAAmB,EACnB,SAAiB,EACjB,SAAmB;IAEnB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAC5C,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,iBAAiB,SAAS,mCAAmC,CAAC,CAAC;QAC7E,CAAC;QACD,OAAO;IACT,CAAC;IAED,eAAe;IACf,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,QAAQ,CAAC,MAAM,cAAc,CAAC,CAAC,CAAC;IAE/D,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,aAAa,GACjB,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACnF,MAAM,QAAQ,GAAG,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACrE,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAE7D,OAAO,CAAC,GAAG,CACT,GAAG,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CACrF,CAAC;IACJ,CAAC;IAED,UAAU;IACV,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;IACzE,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IACvE,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IAEvE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,IAAI,UAAU,GAAG,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,UAAU,WAAW,CAAC,CAAC,CAAC;IAClE,IAAI,SAAS,GAAG,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,SAAS,aAAa,CAAC,CAAC,CAAC;IACrE,IAAI,SAAS,GAAG,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,SAAS,kBAAkB,CAAC,CAAC,CAAC;IAExE,wCAAwC;IACxC,IAAI,SAAS,EAAE,CAAC;QACd,iBAAiB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../../../src/reporter/formats/table.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"capitalization.d.ts","sourceRoot":"","sources":["../../../src/rules/scope/capitalization.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAoB,MAAM,aAAa,CAAC;AAkM/D,eAAO,MAAM,cAAc,EAAE,SAAiE,CAAC"}
1
+ {"version":3,"file":"capitalization.d.ts","sourceRoot":"","sources":["../../../src/rules/scope/capitalization.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAoB,MAAM,aAAa,CAAC;AAqM/D,eAAO,MAAM,cAAc,EAAE,SAAiE,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { formatTemplate } from '../token/messages.js';
2
2
  import { newLineRe } from '../../core/line-endings.js';
3
3
  import { maskInlineCode, restoreInlineCode } from '../../core/inline-code.js';
4
- import { apTitleCase, chicagoTitleCase, isAllCapsWord, buildExceptionPlan, recaseWords, } from './title-case.js';
4
+ import { apTitleCase, chicagoTitleCase, keepsOwnCasing, buildExceptionPlan, recaseWords, } from './title-case.js';
5
5
  import { TECHNICAL_PROPER_NOUNS } from '../../data/proper-nouns.js';
6
6
  // Fallback when a programmatically-built rule has no `message` (validate()
7
7
  // requires one). %s slots: the segment's first line, then the `match` value.
@@ -30,15 +30,17 @@ const DOLLAR_STYLES = new Set(['$title', '$sentence', '$lower', '$upper']);
30
30
  // treating it as a phrase), and `recaseWords` is the same tokenizer, which is
31
31
  // what makes each phrase ONE token that counts toward word position. $sentence
32
32
  // only supplies its own per-word casing rule below.
33
+ // Follows `startsSentence`, not `index === 0`: a heading can carry more than
34
+ // one sentence (`Step 1. Configure the project`). recaseWords decides where.
33
35
  function sentenceCase(text, exceptions) {
34
36
  const { wordMap, phrases } = buildExceptionPlan(exceptions);
35
- return recaseWords(text, phrases, (word, index) => {
37
+ return recaseWords(text, phrases, (word, _index, _total, startsSentence) => {
36
38
  const exceptionHit = wordMap.get(word.toLowerCase());
37
39
  if (exceptionHit !== undefined)
38
40
  return exceptionHit;
39
- if (isAllCapsWord(word))
41
+ if (keepsOwnCasing(word))
40
42
  return word;
41
- if (index === 0)
43
+ if (startsSentence)
42
44
  return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();
43
45
  return word.toLowerCase();
44
46
  });
@@ -119,7 +121,7 @@ function collectSites(rule, ctx) {
119
121
  }
120
122
  const execute = async (rule, file, ctx) => {
121
123
  const options = (rule.assertions['capitalization'] ?? {});
122
- return collectSites(rule, ctx).map(({ segment }) => {
124
+ return collectSites(rule, ctx).map(({ segment, fixable }) => {
123
125
  // Report the source, not the prose view: a segment whose markdoc tags were
124
126
  // masked out carries a run of blanks where `{% partial /%}` sits in the
125
127
  // file, and echoing that back in `match` or the message would show the user
@@ -138,6 +140,7 @@ const execute = async (rule, file, ctx) => {
138
140
  ruleName: rule.name,
139
141
  severity: rule.severity,
140
142
  message: formatTemplate(rule.message ?? FALLBACK_MESSAGE, firstLine, options.match),
143
+ fixable,
141
144
  };
142
145
  });
143
146
  };
@@ -1 +1 @@
1
- {"version":3,"file":"capitalization.js","sourceRoot":"","sources":["../../../src/rules/scope/capitalization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capitalization.js","sourceRoot":"","sources":["../../../src/rules/scope/capitalization.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"consistency.d.ts","sourceRoot":"","sources":["../../../src/rules/scope/consistency.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAoB,MAAM,aAAa,CAAC;AAuN/D,eAAO,MAAM,WAAW,EAAE,SAA8D,CAAC"}
1
+ {"version":3,"file":"consistency.d.ts","sourceRoot":"","sources":["../../../src/rules/scope/consistency.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAoB,MAAM,aAAa,CAAC;AAwN/D,eAAO,MAAM,WAAW,EAAE,SAA8D,CAAC"}
@@ -147,6 +147,7 @@ const execute = async (rule, file, ctx) => {
147
147
  ruleName: rule.name,
148
148
  severity: rule.severity,
149
149
  message: formatTemplate(rule.message ?? FALLBACK_MESSAGE, site.text, site.winner),
150
+ fixable: site.fixable,
150
151
  }));
151
152
  };
152
153
  const fix = async (rule, file, ctx) => {
@@ -1 +1 @@
1
- {"version":3,"file":"consistency.js","sourceRoot":"","sources":["../../../src/rules/scope/consistency.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consistency.js","sourceRoot":"","sources":["../../../src/rules/scope/consistency.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,15 @@
5
5
  * don't count toward the length or case check.
6
6
  */
7
7
  export declare function isAllCapsWord(word: string): boolean;
8
+ /** The `v2` of `v2.0`, or `v3`. The `v` must be the whole alphabetic part,
9
+ * so an ordinary word like `vector3` is untouched. */
10
+ export declare function isVersionToken(word: string): boolean;
11
+ /** `x-metadata`, `x-codeSamples`. Case-sensitive: matching `X-` too would
12
+ * freeze `X-ray` and AWS `X-Ray`. */
13
+ export declare function isVendorExtensionToken(word: string): boolean;
14
+ /** Tokens whose own casing is already correct. Must be checked before
15
+ * hyphen splitting -- an extension's `-` is part of its name. */
16
+ export declare function keepsOwnCasing(word: string): boolean;
8
17
  export interface ExceptionPlan {
9
18
  wordMap: Map<string, string>;
10
19
  phrases: string[];
@@ -12,21 +21,16 @@ export interface ExceptionPlan {
12
21
  export declare function buildExceptionPlan(exceptions: string[]): ExceptionPlan;
13
22
  /**
14
23
  * Rebuilds `text` with every word re-cased by `caseWord`, which receives the
15
- * word plus its `index` in the token sequence and that sequence's `total`
16
- * length -- so `index === 0` is the real first word and `index === total - 1`
17
- * the real last one. Separators between tokens are copied through verbatim.
24
+ * word, its `index`, the sequence `total`, and whether it opens a sentence.
25
+ * Separators are copied through verbatim.
18
26
  *
19
- * A phrase-exception token is emitted as-written and never passed to
20
- * `caseWord`, but it DOES occupy an index. That is the whole point: a leading
21
- * or trailing phrase no longer hands its first/last position to a neighbour
22
- * (#25610).
27
+ * Phrase-exception and mask tokens are emitted as-written but still OCCUPY an
28
+ * index, so a leading one cannot hand position 0 to a neighbour (#25610).
23
29
  *
24
- * Shared by this module's apTitleCase/chicagoTitleCase and by
25
- * capitalization.ts's sentenceCase, so all three `$`-styles agree on
26
- * tokenization and phrase protection, not merely on the exception plan.
30
+ * Shared by apTitleCase/chicagoTitleCase and capitalization.ts's sentenceCase.
27
31
  * Length-preserving whenever `caseWord` is.
28
32
  */
29
- export declare function recaseWords(text: string, phrases: string[], caseWord: (word: string, index: number, total: number) => string): string;
33
+ export declare function recaseWords(text: string, phrases: string[], caseWord: (word: string, index: number, total: number, startsSentence: boolean) => string): string;
30
34
  /**
31
35
  * AP style: lowercases articles, coordinating conjunctions, and
32
36
  * prepositions of 3 letters or fewer -- everything else is capitalized,