Skip to content

build(deps-dev): update formatter and linter with Node 25 support - #61

Merged
vincentkoc merged 2 commits into
mainfrom
fix/deps-node25-compatible-tools-20261016
Oct 16, 2026
Merged

vincentkoc merged 2 commits into
mainfrom
fix/deps-node25-compatible-tools-20261016

Conversation

@vincentkoc

@vincentkoc vincentkoc commented Oct 16, 2026 •

Copy link
Copy Markdown
Member

What Problem This Solves

Updates the formatter and linter while preserving supported Node 25 development installs.

User Impact

Contributors receive oxfmt 0.73.0 and oxlint 1.88.0 with the existing Node support and strict engine checks. The router API and runtime output contract are unchanged.

Why This Change Was Made

This preserves Dependabot's original update commit from #60. Its branch does not allow maintainer edits, so this replacement restores tsdown 0.22.14 and the complete compatible bundler/declaration dependency graph while retaining the formatter and linter updates. The newer tsdown and declaration generator explicitly exclude Node 25, causing the original PR's installation failure.

Retaining Node 25 follows the existing maintainer decision: #58 (comment). This addresses both original ClawSweeper before-merge items: restore the compatible graph and preserve its recorded intent. Thanks @dependabot.

Evidence

Related: #60

dependabot Bot and others added 2 commits October 15, 2026 18:54
Bumps the development group with 3 updates: [oxfmt](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt), [oxlint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint) and [tsdown](https://github.com/rolldown/tsdown).


Updates `oxfmt` from 0.72.0 to 0.73.0
- [Release notes](https://github.com/oxc-project/oxc/releases)
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxfmt/CHANGELOG.md)
- [Commits](https://github.com/oxc-project/oxc/commits/oxfmt_v0.73.0/npm/oxfmt)

Updates `oxlint` from 1.87.0 to 1.88.0
- [Release notes](https://github.com/oxc-project/oxc/releases)
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxlint/CHANGELOG.md)
- [Commits](https://github.com/oxc-project/oxc/commits/oxlint_v1.88.0/npm/oxlint)

Updates `tsdown` from 0.22.14 to 0.23.1
- [Release notes](https://github.com/rolldown/tsdown/releases)
- [Commits](rolldown/tsdown@v0.22.14...v0.23.1)

---
updated-dependencies:
- dependency-name: oxfmt
  dependency-version: 0.73.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development
- dependency-name: oxlint
  dependency-version: 1.88.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development
- dependency-name: tsdown
  dependency-version: 0.23.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development
...

Signed-off-by: dependabot[bot] <support@github.com>
@clawsweeper

clawsweeper Bot commented Oct 16, 2026

Copy link
Copy Markdown

🦞👀
ClawSweeper picked this up.

Pull request received. I will update this pull request when review starts.

@vincentkoc

Copy link
Copy Markdown
Member Author

@clawsweeper re-review

The replacement preserves the original Dependabot commit and addresses both before-merge items from #60: restore the complete Node 25-compatible build/declaration graph and retain the recorded maintainer intent. Please review exact head f1b9a3f0609fc2caf0eff95f472d6ce95cf2f260; existing full CI is running.

@clawsweeper

clawsweeper Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

🦞👀
Exact review queued.

Re-review progress:

@vincentkoc
vincentkoc marked this pull request as ready for review October 16, 2026 14:31
@vincentkoc
vincentkoc requested a review from a team as a code owner October 16, 2026 14:31
@clawsweeper clawsweeper Bot added P3 Low-risk cleanup, docs, polish, ergonomics, or speculative feature. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. labels Oct 16, 2026
@clawsweeper

clawsweeper Bot commented Oct 16, 2026

Copy link
Copy Markdown

Codex review: needs maintainer review before merge.

What this changes

This PR updates oxfmt to 0.73.0 and locked oxlint to 1.88.0 while retaining main’s compatible build dependency graph.

Example: A contributor installs development dependencies on Node 25 with pnpm install --frozen-lockfile.

  • Before: Main installs oxfmt 0.72.0 and oxlint 1.87.0 with tsdown 0.22.14.
  • After: This PR installs oxfmt 0.73.0 and oxlint 1.88.0 while preserving tsdown 0.22.14 and successful Node 25 installation.

Review scores

Measure Result What it means
Overall readiness 🐚 platinum hermit (4/6) A focused, correct maintenance update supported by complete lockfile comparison and passing exact-head compatibility CI.
Proof confidence 🐚 platinum hermit (4/6) This maintainer-authored development dependency PR is outside the ordinary contributor proof gate; exact-head CI supports frozen installation and the full package check across all seven supported lanes.
Patch quality 🐚 platinum hermit (4/6) No actionable review findings were identified.

Product

Kind: Maintenance · Worth it: Yes · Fix scope: Complete
User problem: Contributors need current formatter and linter fixes without losing supported Node 25 development installs.
Reason: The maintainer-authored replacement follows an explicit compatibility decision and established tooling maintenance practice.

Merge readiness

✅ Ready for maintainer review

Keep this PR open: it preserves the approved Node 25 tooling contract, introduces useful dependency updates absent from main, and has no actionable findings; all seven exact-head package CI jobs pass.

Priority: P3
Reviewed head: f1b9a3f0609fc2caf0eff95f472d6ce95cf2f260

Before merge

None.

Findings

None.

Agent review details

How this fits together

These development dependencies format, lint, and compile router source into ESM and TypeScript declarations; they add no router runtime dependencies.

flowchart LR
  A[Contributor or CI] --> B[pnpm frozen install]
  B --> C[Strict engine checks]
  C --> D[Formatter and linter]
  C --> E[Bundler and declaration generator]
  E --> F[Packed router package]
Loading

Technical review

Best possible solution:

Retain this focused formatter/linter update with main’s complete Node 25-compatible build graph.

Do we have a high-confidence way to reproduce the issue?

This is maintenance rather than a current-main bug; source comparison and exact-head CI establish that the replacement preserves supported Node 25 installation.

Is this the best way to solve the issue?

The narrow update follows recorded maintainer direction and avoids the incompatible bundler upgrade in the original Dependabot proposal.

AGENTS.md: found and applied where relevant.

Codex review notes: model internal, reasoning medium; reviewed against 251c5f19a107.

Provenance checked

Testing

Proof path: in-process harness.

Security

None.

Evidence

What I checked:

Likely related people:

  • Vincent Koc: Raw commit cd289d3 adds CHANGELOG.md:5 relative to its recorded parents. This identifies author metadata, not feature responsibility or a PR merger. (role: source-line author; confidence: high; commits: cd289d3d3d30; files: CHANGELOG.md)
  • Peter Steinberger: Raw commit 292a54d adds package.json:55 relative to its recorded parents. This identifies author metadata, not feature responsibility or a PR merger. (role: source-line author; confidence: high; commits: 292a54dcf5d4; files: package.json)

Review metrics

Metric Value Why it matters
Production and test changes Production +0/-0; tests +0/-0 The update stays within dependency metadata and one changelog entry.
Lockfile scope 170 unchanged non-tool blocks per section; 40 updated tool blocks per section The complete build graph is preserved without unrelated dependency churn.

Root-cause cluster

Relationship: canonical
Canonical: #61
Summary: This PR preserves the original update commit while repairing its Node 25-incompatible build graph.

Members:

Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything.

Labels

Label changes:

  • add P3: This is routine development-tool maintenance with passing compatibility checks and no router runtime change.
  • add rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🐚 platinum hermit and patch quality is 🐚 platinum hermit.
  • add status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR.

Label justifications:

  • P3: This is routine development-tool maintenance with passing compatibility checks and no router runtime change.
  • rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🐚 platinum hermit and patch quality is 🐚 platinum hermit.
  • status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR.

Rating scale

6/6 🦀 challenger crab · 5/6 🦞 diamond lobster · 4/6 🐚 platinum hermit · 3/6 🦐 gold shrimp · 2/6 🦪 silver shellfish · 1/6 🧂 unranked krab. Overall follows the weaker of proof and patch quality; ✨ marks media proof (a screenshot, video, or linked artifact) that directly shows the changed behavior.

Workflow

ClawSweeper edits this one comment on every review. Comment @clawsweeper re-review for a fresh review only. Repair and merge execution lanes are retired.

Reviewed October 16, 2026, 10:31 AM ET / 14:31 UTC.

@vincentkoc
vincentkoc merged commit f33fdcb into main Oct 16, 2026
18 checks passed
@vincentkoc
vincentkoc deleted the fix/deps-node25-compatible-tools-20261016 branch October 16, 2026 14:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

P3 Low-risk cleanup, docs, polish, ergonomics, or speculative feature. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant