chore(deps): upgrade @uiw/codemirror packages to 4.25.7#13149
Merged
GeorgeDong32 merged 2 commits intomainfrom Mar 3, 2026
Merged
chore(deps): upgrade @uiw/codemirror packages to 4.25.7#13149GeorgeDong32 merged 2 commits intomainfrom
GeorgeDong32 merged 2 commits intomainfrom
Conversation
DeJeune
approved these changes
Mar 2, 2026
GeorgeDong32
approved these changes
Mar 3, 2026
Collaborator
GeorgeDong32
left a comment
There was a problem hiding this comment.
✅ Code Review Approved
Summary
This PR successfully upgrades @uiw/codemirror-* packages from 4.25.1 to 4.25.7, resolving the phantom dependency issue (#12829).
Highlights
- Exact version pinning prevents unexpected automatic upgrades
- pnpm.overrides correctly resolves CodeMirror multi-version conflicts
- Added
@codemirror/stateoverride fixes TypeScript type errors from version 6.5.3/6.5.4 coexistence - No breaking changes - safe to merge
Quality Score: 10/10
- Correctness: ✅
- Security: ✅
- Maintainability: ✅
- Documentation: ✅
Great work on the detailed PR description explaining the trade-offs and alternatives considered.
EurFelux
added a commit
that referenced
this pull request
Mar 3, 2026
### What this PR does Before this PR: `@uiw/codemirror-extensions-langs`, `@uiw/codemirror-themes-all`, and `@uiw/react-codemirror` were pinned at version 4.25.1 to work around a phantom dependency issue. After this PR: - All three `@uiw/codemirror-*` packages are upgraded to 4.25.7 with exact version pinning (no `^` prefix). The phantom dependency issue has been resolved upstream, making this upgrade safe. - Added `@codemirror/state` to `pnpm.overrides` to resolve version duplication, and updated the overrides for `@codemirror/view`, `@codemirror/language`, and `@codemirror/lint` to their latest versions. Fixes #12829 ### Why we need it and why it was done in this way The following tradeoffs were made: - Exact version pinning (removing `^`) is used to prevent unexpected automatic upgrades that could reintroduce dependency issues. - `pnpm.overrides` is used to enforce a single version of each `@codemirror/*` core package across the entire dependency tree. Without this, multiple versions coexist due to different sub-dependencies resolving independently, which causes TypeScript errors because CodeMirror uses private class properties for nominal typing. - After the update, `@codemirror/state` has multiple dependency versions (6.5.3 and 6.5.4 coexisting), which declare different types for the same type name, causing TypeScript errors. Therefore, an override was added for this dependency. The following alternatives were considered: - Using `^4.25.7` (range specifier) was considered but rejected in favor of exact pinning for more predictable dependency resolution. - Considered removing the override, but dependency analysis is difficult to handle because the previous override has already left a fixed version in the lock file. Deleting the lock file and regenerating it would cause extensive changes. Links to places where the discussion took place: - #12829 — original issue that pinned versions to 4.25.1 - #13133 — also referenced the phantom dependency problem - uiwjs/react-codemirror#760 ### Breaking changes None. ### Special notes for your reviewer The `@codemirror/*` override versions are updated as follows: | Package | Old | New | |---|---|---| | `@codemirror/state` | _(none)_ | 6.5.4 | | `@codemirror/view` | 6.38.1 | 6.39.16 | | `@codemirror/language` | 6.11.3 | 6.12.2 | | `@codemirror/lint` | 6.8.5 | 6.9.5 | ### Checklist - [x] PR: The PR description is expressive enough and will help future contributors - [x] Code: [Write code that humans can understand](https://en.wikiquote.org/wiki/Martin_Fowler#code-for-humans) and [Keep it simple](https://en.wikipedia.org/wiki/KISS_principle) - [x] Refactor: You have [left the code cleaner than you found it (Boy Scout Rule)](https://learning.oreilly.com/library/view/97-things-every/9780596809515/ch08.html) - [x] Upgrade: Impact of this change on upgrade flows was considered and addressed if required - [ ] Documentation: A [user-guide update](https://docs.cherry-ai.com) was considered and is present (link) or not required. Check this only when the PR introduces or changes a user-facing feature or behavior. - [ ] Self-review: I have reviewed my own code (e.g., via [`/gh-pr-review`](/.claude/skills/gh-pr-review/SKILL.md), `gh pr diff`, or GitHub UI) before requesting review from others ### Release note ```release-note NONE ```
DeJeune
added a commit
that referenced
this pull request
Mar 4, 2026
### What this PR does This is a release PR for **Cherry Studio v1.7.23**. **Changes included:** - Bump version from 1.7.22 to 1.7.23 - Update release notes with user-facing bug fixes ### Release Notes <!--LANG:en--> Cherry Studio 1.7.23 - Bug Fixes 🐛 Bug Fixes - [Selection] Fix app crash on Windows when closing action window - [MiniApp] Fix settings state synchronization and region filter consistency - [Plugin Browser] Make detail modal text selectable and improve search experience - [Tools] Fix approval card not showing for builtin and provider tools ### Included Commits - fix(Selection): prevent Windows crash when closing transparent action window (#13177) - fix(renderer): synchronize miniapp settings state and respect region filter (#13166) - fix: improve plugin browser UX with three small fixes (#13153) - fix: show approval card for builtin and provider tools (#13154) - fix: support esc to close modal (#13159) - fix: open external editor in new window instead of reusing existing one (#13160) - fix: render directory Select options with optionRender (#13152) - refactor: replace static pnpm patch with postinstall script for claude-agent-sdk (#13139) - feat: add dev-only message data inspection button (#13142) - docs: add review workflow to CLAUDE.md (#13145) - chore(deps): upgrade @uiw/codemirror packages to 4.25.7 (#13149) - fix(ci): skip CI on PR body/title edits, only re-run on base branch changes (#13150) ### Review Checklist - [ ] Review generated release notes in `electron-builder.yml` - [ ] Verify version bump in `package.json` - [ ] CI passes - [ ] Merge to trigger release build ### Release note ```release-note Cherry Studio 1.7.23 - Bug Fixes 🐛 Bug Fixes - [Selection] Fix app crash on Windows when closing action window - [MiniApp] Fix settings state synchronization and region filter consistency - [Plugin Browser] Make detail modal text selectable and improve search experience - [Tools] Fix approval card not showing for builtin and provider tools ``` 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: suyao <[email protected]> Co-authored-by: Claude Opus 4.6 <[email protected]>
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 this PR does
Before this PR:
@uiw/codemirror-extensions-langs,@uiw/codemirror-themes-all, and@uiw/react-codemirrorwere pinned at version 4.25.1 to work around a phantom dependency issue.After this PR:
@uiw/codemirror-*packages are upgraded to 4.25.7 with exact version pinning (no^prefix). The phantom dependency issue has been resolved upstream, making this upgrade safe.@codemirror/statetopnpm.overridesto resolve version duplication, and updated the overrides for@codemirror/view,@codemirror/language, and@codemirror/lintto their latest versions.Fixes #12829
Why we need it and why it was done in this way
The following tradeoffs were made:
^) is used to prevent unexpected automatic upgrades that could reintroduce dependency issues.pnpm.overridesis used to enforce a single version of each@codemirror/*core package across the entire dependency tree. Without this, multiple versions coexist due to different sub-dependencies resolving independently, which causes TypeScript errors because CodeMirror uses private class properties for nominal typing.@codemirror/statehas multiple dependency versions (6.5.3 and 6.5.4 coexisting), which declare different types for the same type name, causing TypeScript errors. Therefore, an override was added for this dependency.The following alternatives were considered:
^4.25.7(range specifier) was considered but rejected in favor of exact pinning for more predictable dependency resolution.Links to places where the discussion took place:
HtmlArtifactsPopupre-rendering #13133 — also referenced the phantom dependency problemBreaking changes
None.
Special notes for your reviewer
The
@codemirror/*override versions are updated as follows:@codemirror/state@codemirror/view@codemirror/language@codemirror/lintChecklist
/gh-pr-review,gh pr diff, or GitHub UI) before requesting review from othersRelease note