Skip to content

Fix CI: bump @remix-run/* from 1.17 to 1.19 (peer dependency conflict)#29

Merged
mmcky merged 2 commits intomainfrom
fix/remix-peer-deps
Feb 25, 2026
Merged

Fix CI: bump @remix-run/* from 1.17 to 1.19 (peer dependency conflict)#29
mmcky merged 2 commits intomainfrom
fix/remix-peer-deps

Conversation

@mmcky
Copy link
Copy Markdown
Contributor

@mmcky mmcky commented Feb 25, 2026

Summary

Fixes CI build failure caused by peer dependency mismatch and addresses npm security vulnerabilities.

Changes

1. Remix Peer Dependency Fix

Bumps all 6 @remix-run/* packages from ~1.17.0 to ~1.19.0 (still Remix v1):

  • @remix-run/node, @remix-run/react, @remix-run/vercel (dependencies)
  • @remix-run/dev, @remix-run/eslint-config, @remix-run/serve (devDependencies)

Root cause: @myst-theme/site@0.14.0 declares peerDependency on @remix-run/node@^1.19, which conflicted with the project's ~1.17.0 pins, causing ERESOLVE failures on CI.

2. Security Vulnerability Remediation

Reduced npm audit findings from 60 → 37 (23 fixed):

Action Vulns Fixed Details
npm audit fix (non-breaking) 19 Safe transitive dependency updates
overrides.prismjs >=1.30.0 3 Fixes DOM Clobbering (GHSA-x7hr-w5r2-h6wg)
overrides.katex >=0.16.21 1 Fixes 5 KaTeX CVEs (URL bypass, XSS, maxExpand)
overrides.cytoscape 3.30.4 0 Pins to version compatible with mermaid@9 exports map (prevents build break from cytoscape@3.33.1 exports change)

Remaining 37 Vulnerabilities (all require breaking changes)

Blocker Vulns Tracking
Remix v2 migration ~13 #28
@myst-theme upstream (dompurify, nanoid, markdown-it, mermaid) ~9 Upstream
@vercel/node major upgrade (ajv, esbuild, path-to-regexp) ~8
tar v7 / cacache incompatibility ~4
Other transitive (estree-util-value-to-estree v1→v3) ~3

These cannot be addressed without breaking changes and should be resolved as part of the Remix v2 migration (#28) and upstream @myst-theme updates.

Testing

  • npm install ✅ (no ERESOLVE errors)
  • npm run prod:build ✅ (builds successfully, only pre-existing @myst-theme/site/src deep-import warning)
  • npm audit confirms 37 remaining (all require --force)

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates dependency constraints to resolve CI install failures caused by a Remix v1 peer dependency mismatch, and applies targeted dependency overrides to reduce npm audit findings.

Changes:

  • Bump @remix-run/* packages from ~1.17.0 to ~1.19.0 to satisfy @myst-theme/site@0.14.0 peer dependency requirements.
  • Add npm overrides for prismjs, katex, and cytoscape to address security advisories and maintain build compatibility.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread package.json Outdated
Comment thread package.json
@myst-theme/site@0.14.0 requires @remix-run/node@^1.19 as a peer
dependency, but the project pinned ~1.17.0. This caused npm install
to fail on CI (ERESOLVE) after recent dependency updates.

Bumps all 6 @remix-run packages together:
- @remix-run/node ~1.17.0 → ~1.19.0
- @remix-run/react ~1.17.0 → ~1.19.0
- @remix-run/vercel ~1.17.0 → ~1.19.0
- @remix-run/dev ~1.17.0 → ~1.19.0
- @remix-run/eslint-config ~1.17.0 → ~1.19.0
- @remix-run/serve ~1.17.0 → ~1.19.0

This is a minor version bump within Remix v1 (not the v2 migration
tracked in #28). Build tested and passes.
@mmcky mmcky force-pushed the fix/remix-peer-deps branch from 0f45f51 to 5fd2daa Compare February 25, 2026 01:25
- Run npm audit fix for non-breaking dependency updates (23 vulns fixed)
- Add npm overrides for transitive dependencies:
  - prismjs >=1.30.0 (fixes DOM Clobbering CVE)
  - katex >=0.16.21 (fixes 5 KaTeX CVEs)
  - cytoscape 3.30.4 (pin to version compatible with mermaid@9 exports)
- Remaining 37 vulnerabilities require breaking changes:
  - Remix v2 migration (tracked in #28)
  - @myst-theme upstream updates (dompurify, nanoid, markdown-it)
  - @vercel/node major upgrade (ajv, esbuild, path-to-regexp)
  - tar v7 (incompatible with cacache@15)
@mmcky mmcky force-pushed the fix/remix-peer-deps branch from 5fd2daa to f47f306 Compare February 25, 2026 01:39
@mmcky
Copy link
Copy Markdown
Contributor Author

mmcky commented Feb 25, 2026

Addressing Copilot Review Feedback

1. Unbounded override ranges — ✅ Fixed

Updated overrides from >= to ^ (caret) ranges in f47f306:

  • "prismjs": "^1.30.0" — allows 1.x patches, blocks hypothetical 2.x
  • "katex": "^0.16.21" — allows 0.16.x patches, blocks 0.17.x

2. packageManager vs lockfile version mismatch — Pre-existing, out of scope

The "packageManager": "npm@8.10.0" field predates this PR and is not changed here. The lockfile has been v3 (npm 9+) since before these changes. Updating the packageManager field should be done as a separate follow-up to keep this PR focused on the peer dependency fix and security remediation.

@mmcky mmcky merged commit 92431c5 into main Feb 25, 2026
@mmcky mmcky deleted the fix/remix-peer-deps branch February 25, 2026 01:42
mmcky added a commit that referenced this pull request Feb 25, 2026
mmcky added a commit that referenced this pull request Feb 25, 2026
mmcky added a commit that referenced this pull request Feb 25, 2026
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.

2 participants