Summary
PR #140 bumped the @rspack/core devDependency 1.7.11 → 2.1.2 (a major) inside the 19.2.1 line. The bump is safe (verified: hook ordering unchanged, both majors exercised), but the package now has no declared supported-rspack range and its compat matrix only tests 1.x — so 2.x coverage exists only by accident of the lockfile, and a future 3.x bump would silently drop it. Best resolved before 19.2.1 final.
Evidence
- At
origin/main (9fae9c7) there is no rspack peerDependency — peers list only react ^19.2.7, react-dom ^19.2.7, webpack ^5.59.0. Consumers bring their own rspack; the plugin duck-types the compiler (AnyCompiler, resolveBundler).
- No README/docs statement of supported rspack majors.
.github/workflows/compatibility-matrix.yml pins rspack-version: '1.x' in all four rows. 2.x is only exercised because the lockfile happens to resolve 2.1.2 for the unit/e2e jobs.
docs/versioning.md states bundler peers are "compatibility contracts for the plugin layer — keep them tied to tested bundler behavior".
Implementation plan
- Add explicit
rspack 2.x row(s) to compatibility-matrix.yml so 2.x is a pinned, guaranteed lane (keep a 1.x row if 1.x is still supported).
- Add an optional
peerDependenciesMeta rspack entry or a documented support statement (README + docs/versioning.md) naming the supported rspack majors.
- Note the supported majors in the README/CHANGELOG for 19.2.1.
Acceptance criteria
Audit ledger: shakacode/react_on_rails#4010 (comment)
Post-merge audit follow-up (19.2.1-rc.0 wave, e528e8b..9fae9c7). Filed by Claude Code on behalf of Justin Gordon.
Summary
PR #140 bumped the
@rspack/coredevDependency 1.7.11 → 2.1.2 (a major) inside the 19.2.1 line. The bump is safe (verified: hook ordering unchanged, both majors exercised), but the package now has no declared supported-rspack range and its compat matrix only tests 1.x — so 2.x coverage exists only by accident of the lockfile, and a future 3.x bump would silently drop it. Best resolved before 19.2.1 final.Evidence
origin/main(9fae9c7) there is no rspack peerDependency — peers list onlyreact ^19.2.7,react-dom ^19.2.7,webpack ^5.59.0. Consumers bring their own rspack; the plugin duck-types the compiler (AnyCompiler,resolveBundler)..github/workflows/compatibility-matrix.ymlpinsrspack-version: '1.x'in all four rows. 2.x is only exercised because the lockfile happens to resolve 2.1.2 for the unit/e2e jobs.docs/versioning.mdstates bundler peers are "compatibility contracts for the plugin layer — keep them tied to tested bundler behavior".Implementation plan
rspack 2.xrow(s) tocompatibility-matrix.ymlso 2.x is a pinned, guaranteed lane (keep a 1.x row if 1.x is still supported).peerDependenciesMetarspack entry or a documented support statement (README +docs/versioning.md) naming the supported rspack majors.Acceptance criteria
Audit ledger: shakacode/react_on_rails#4010 (comment)
Post-merge audit follow-up (19.2.1-rc.0 wave, e528e8b..9fae9c7). Filed by Claude Code on behalf of Justin Gordon.