Skip to content

fix(deps): pin typescript to ^6.0.3 — TS7 breaks the lint toolchain - #67

Merged
dmchaledev merged 4 commits into
mainfrom
fix/typescript-6-pin
Aug 7, 2026
Merged

fix(deps): pin typescript to ^6.0.3 — TS7 breaks the lint toolchain#67
dmchaledev merged 4 commits into
mainfrom
fix/typescript-6-pin

Conversation

@dmchaledev

Copy link
Copy Markdown
Contributor

Problem

typescript@7.0.2 (dependabot #61) is outside typescript-eslint@8.59.3's peer range (>=4.8.4 <6.1.0). CI runners (npm 10.x) fail npm ci hard with ERESOLVE — the lockfile only worked on npm 12's lenient auto-override. Every PR against main has been red at the install step since #61/#63 landed.

Fix

Pin typescript to ^6.0.3 — the newest version the typescript-eslint ecosystem supports (latest typescript-eslint 8.66.0 still pins <6.1.0). Regenerated the lockfile.

Verification

  • npm ci passes with --strict-peer-deps (npm 10 behavior)
  • tsc --noEmit clean, eslint passes, 100 tests pass

Hermes Agent added 4 commits August 7, 2026 12:26
…iff reports

Closes #52

- ChangeReport gains from/to SBOMIdentity fields, populated by diff() from
  each SBOM's parsed identity
- Text and markdown reporters render a 'Compared' section stating exactly
  which two artifacts the report was produced from
- JSON output carries the fields naturally (already stringified wholesale)
- New test asserts both renderers state the compared artifacts
Closes #46

- New SeverityEscalation type; ChangeReport gains severityEscalations and
  summary.totalSeverityEscalations
- diff() flags a CVE present in both SBOMs whose severity rank increased or
  whose CVSS score rose (e.g. medium -> critical). De-escalations are not
  flagged. Such CVEs previously fell into neither newCVEs nor fixedCVEs and
  were invisible.
- Text and markdown reporters render a Severity Escalations section; summary
  table gains the metric
- Tests: escalation detection, CVSS-only rise, de-escalation not flagged
typescript@7.0.2 (from dependabot #61) is outside the peer range of
typescript-eslint@8.59.3 (>=4.8.4 <6.1.0). npm on CI runners (10.x) fails
npm ci hard with ERESOLVE; only newer local npm (12.x) tolerates it via
auto-override. The lockfile also carried inconsistent resolutions.

Pin typescript to ^6.0.3, the newest version the lint ecosystem supports:
- npm ci passes on runner npm 10 (strict peer deps)
- tsc --noEmit clean, eslint passes, 100 tests pass

This unblocks all PRs against main (the CI install step was red for
everyone since #61/#63 landed).
The eslint 10.8.0 bump (#63) pulled @eslint/config-array which requires
^20.19.0 || ^22.13.0 || >=24. Node 18 in the CI matrix (and the >=18
engines claim) is no longer supportable. Bump engines to >=20.19.0 and
test on Node 20/22 only.
@dmchaledev
dmchaledev merged commit 2b35ae2 into main Aug 7, 2026
2 checks passed
@dmchaledev
dmchaledev deleted the fix/typescript-6-pin branch August 7, 2026 19:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant