docs: fix pre-tag CHANGELOG and doc blockers before v0.4.0 - #305
Merged
Conversation
A — Three CHANGELOG claims falsified by wave commits: - A1: browser entry point now exports lint, lintVirtual, LINT_RULE_NAMES; lintFile is intentionally absent (no node:fs in browser environments). - A2: stdin lint code frames use <stdin> as source label (not "input.mds") since cbb11d4. - A3: check() / checkFile() accept { vars?, basePath? }, not only { vars? }. B — Lift lint JSON wire-contract ledger to its own ### **BREAKING** heading as a sibling of the interpolation section, not a child. Consumers skimming ### headings can now find the wire changes without reading interpolation prose. C — Merge duplicate ### Fixed, ### Added, ### Changed sections in [Unreleased] and reorder into Keep a Changelog order (Added, Changed, Deprecated, BREAKING sections, Fixed, Security). D1 — Widen LintDiagnostic.help and .span to include null (types.ts, READMEs): - packages/mds/src/types.ts: help?: string | null; span?: LintSpan | null - packages/mds/README.md: note that help, span, fix_edits are always-present JSON keys whose value is null when absent - crates/mds-napi/README.md: same correction Semver event flagged in CHANGELOG: consumers checking diag.span !== undefined must now also guard against null. D2 — Fix "required" basePath language (code defaults to cwd): - types.ts CheckOptions and LintOptions JSDoc - packages/mds/README.md option tables User-facing caution added: omitting basePath resolves against cwd, which succeeds silently but may resolve against the wrong directory. E1 — examples/linting/README.md line 3: "nine" -> "ten" rules. E2 — CHANGELOG wasm size figure corrected from "~808 KB" to CI-measured 836,126 bytes (Binaryen v129). E3 — Add CHANGELOG entry for c9265b4 (wasm-opt flag tuning + rustc 1.96.0 pin; the only wave commit previously missing a CHANGELOG entry). E4 — ci.yml budget ledger: replace local estimate 841,937 with CI-measured 836,126 (Binaryen v129, CI run 31946611856); note local wasm-opt v117 reads roughly 2-3 KB higher. F — Replace stale line-number citations in output.rs and cli_lint.rs with symbolic function-name references (avoids citation drift on line insertions). Co-Authored-By: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
### **BREAKING**heading so consumers skimming###headings find wire changes without reading interpolation prose### Fixed,### Added,### Changedsections and reorders to Keep a Changelog orderLintDiagnostic.helpand.spanTypeScript types to includenull(matching actual wire format) and flags the semver event in CHANGELOGbasePath: requireddocumentation (code defaults to cwd, not required)Changes
A - Three CHANGELOG false statements corrected
lint,lintVirtual,LINT_RULE_NAMES; onlylintFileis absent<stdin>as source label (not"input.mds") since cbb11d4check()accepts{ vars?, basePath? }not only{ vars? }B - Wire ledger lifted to its own BREAKING section
#### Lint JSON wire contractwas nested as a child of### **BREAKING** — Interpolation syntax. Lifted to### **BREAKING** — lint JSON wire contractas a sibling.C - Duplicate sections merged
Merged the two
### Fixed, two### Added, and two### Changedsections in[Unreleased]; reordered to Added, Changed, Deprecated, BREAKING, Fixed, Security.D1 - TypeScript type widening (semver event)
LintDiagnostic.help?: string | nullandspan?: LintSpan | null-- the JSON wire format has always emittednullfor these fields; only the declared type was narrower. Matching the already-correctfix_edits?: ... | nullpattern. Flagged in CHANGELOG. Updatedcrates/mds-napi/README.mdandpackages/mds/README.md.D2 - basePath documentation corrected
Changed "required when..." to "defaults to cwd when omitted" with a caution about silent wrong-directory resolution.
E - Five smaller factual fixes
examples/linting/README.md"nine" -> "ten" rulesci.ymlbudget ledger updated from local estimate 841,937 to CI-measured 836,126output.rsandcli_lint.rswith symbolic function-name referencesBreaking Changes
D1 type widening is technically a semver event for TypeScript consumers checking
diag.span !== undefined. After this change bothundefinedandnullindicate no span. See CHANGELOG entry.Reviewer Focus Areas
### **BREAKING** — lint JSON wire contractheadingtsc -p tsconfig.jsonexits 0)cargo fmt --all --checkexits 0,verify-versions.mjsexits 0,verify-no-control-bytes.mjsexits 0