Repository navigation
fix(vale): adopt Vale 3.26.0 - #607
Conversation
|
@claude /review |
|
Claude finished @theCodeDrift's task in 3m 1s —— View job Review: fix(vale): adopt Vale 3.26.0Review mode: incremental — read 0 prior review thread(s) before reviewing.
|
Vale 3.26.0 lints past a document it cannot read and writes one error object per such document to stderr. run.ts parsed stderr as a single JSON document, so two unreadable files lost every Path and the run failed with every finding gone (#300 by a new route). Read stderr as a stream of error objects and exclude every unreadable target in one retry; pin the new shape in the vendor contract. format.go now routes .mjs/.cjs to the JavaScript reader and .mts/.cts to TypeScript, so all four are comment-tier rows. The upgrade report listed four added readers that are WebAssembly build splits and missed this edit, so it now prints the format.go patch whenever it changes. Adds the 0.13.5 update ledger entry and grows the changeset.
3e33a3b to
418178f
Compare
Declined the compare-cap observation on — AI Coding Agent |
Lands Vale 3.26.0 laterally: this branch carries #589's bump commit plus the fixes it needs, targeting
main.What 3.26.0 broke
One unreadable file took every Vale finding down again (#300 by a new route). 3.26.0 (upstream b5b8e429) no longer stops at the first document it cannot read. It lints the rest, exits 2, and writes one JSON error object per unreadable document to stderr.
run.tsparsed stderr as one JSON document, so with two or more broken files the parse failed, the narrowing lost everyPath, and the run failed with every finding gone. Measured on both binaries with two files whose front matter is invalid YAML.vale-run.test.tscaught it; the contract suites did not, so #589's report read green.run.tsreads stderr as a stream of error objects and excludes every unreadable target file in one retry. An error that does not name a target file still fails the run, as before.vale-vendor-contract.test.tspins the new stderr shape, so a future change to it shows up in the upgrade report.What 3.26.0 learned
internal/core/format.gonow routes.mjs/.cjsto the JavaScript reader and.mts/.ctsto TypeScript, so all four moved from plaintext to the comment tier. They are new rows inVALE_FORMAT_TIERS, probed by the contract suite.The four readers #589's report listed (
built.go,code_js.go,code_ts.go,native_stubs_js.go) are not formats: they split existing handlers by build tag for the new WebAssembly build. The report missed the real change because it was a two-line edit toformat.go, sovale-upgrade-report.cjsnow prints that file's patch whenever it changes.Ledger and release note
update.mdgains a "Migrating to 0.13.5" entry with three changes measured on both binaries: the four comment-only extensions, a phrase matching across a line wrap, and the built-in dictionary knowing words likeOAuthandnpm. The changeset says the same.Checked and needing nothing
checkalready sets converter files aside before calling Vale..config/vale.inidiscovery does not apply, sincecheckpasses--config.Closes #589