chore(deps): move oxc to 0.151 and ruff to 0.0.15 as families - #1098
Merged
Merged
Conversation
Dependabot bumps these one crate at a time, and neither family survives that: their crates share types, so oxc_span 0.150 next to oxc_parser 0.147 fails with "expected `Span`, found a different `Span`". All four open Dependabot PRs (#1093, #1094, #1095, #1096) were red for this reason alone. cpd-tokenizer and basta were also on different oxc versions (0.147 and 0.150), so the tree carried two full copies of oxc. Both now use 0.151, and the lockfile holds one. The one API change: ParserReturn::panicked is now fatal_error, with the same meaning. The log line about OXC panicking stays as it is -- it reports a real panic caught by catch_unwind, not the field. dependabot.yml groups each family, so the next bump arrives as one PR.
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.
What
Replaces #1093, #1094, #1095 and #1096. All four were red for the same reason: Dependabot bumps one crate at a time, and oxc and ruff each publish a family of crates that share their types.
oxc_span0.150 next tooxc_parser0.147 is two differentSourceTypes, and the build fails with messages likeNone of them could be fixed on its own branch — each needs the rest of its family to move with it. This PR moves each family as a whole:
oxc_*dependency to 0.151, incpd-tokenizerandbastabothruff_python_astandruff_python_parserto 0.0.15, one past what Dependabot offeredTwo copies of oxc
cpd-tokenizerwas on oxc 0.147 andbastaon 0.150, so the tree built two full copies of the parser, AST, semantic analyser and their helpers. It worked only because the two crates never pass oxc types to each other. Both are on 0.151 now and the lockfile holds one copy, 190 lines shorter. Nothing outside the two families changed version;owo-colorsdrops out because only the old oxc used it.Code
One real API change:
ParserReturn::panickedis nowfatal_error, documented the same way — the parser gave up and the program is empty. Two call sites incpd-tokenizer. The debug line that says OXC panicked stays: it reports a real panic caught bycatch_unwind, not the field.The
&ThinVec<Stmt>error in #1094 was not an API break to work around. It came fromruff_python_parser0.0.14 handingruff_python_ast0.0.13 its own types; with both on 0.0.15 theThinVecderefs to a slice andbastacompiles unchanged.So it does not happen again
dependabot.ymlgroups the families,oxc*andruff_*, so each future bump arrives as one PR.Validation
cargo test --workspace --locked: all 30 suites pass. fmt and clippy (-D warnings) clean.cargo +1.96 check --workspace --lockedpasses on rustc 1.96.1. Every new version declaresrust-version1.96, the same as ours.fixtures/against the released 5.3.2: 254 clones, 10200 duplicated lines, 172231 tokens, identical in every format. The parser moved four minor versions and tokenizes the corpus exactly as before.fixtures/dead-code-demodirectory against 5.3.2: identical findings, includingpython/(ruff),typescript/,components/andframeworks/(oxc_semantic), andrust/from its committed diagnostics.cpd-tokenizerchanged code here, so the next release should bump it insync-version.mjs.bastachanged only its dependency versions and releases from its own repository.This change is