chore: update maintenance dependencies#92
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Warning Review limit reached
Next review available in: 59 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (8)
Walkthrough本 PR 将 React 升级至 19、TypeScript 升级至 6,新增 ESLint flat config ( ChangesReact 19 / TypeScript 6 兼容性升级
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Code Review
This pull request upgrades the project's dependencies to React 19, TypeScript 6, and ESLint 9, introducing a flat ESLint configuration and adding several type definition files. Feedback on these changes highlights critical type-safety and configuration issues: disabling strict type-checking flags in tsconfig.json reduces safety; the ESLint configuration normalization may silently discard custom TypeScript rules; declaring Jest globals as any in global.d.ts conflicts with @types/jest; and redeclaring React functions in react-compat.d.ts can cause compiler conflicts.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub. |
|
All alerts resolved. Learn more about Socket for GitHub. This PR previously contained dependency changes with security issues that have been resolved, removed, or ignored. |
|
React Doctor found no new issues. 🎉 Reviewed by React Doctor for commit |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #92 +/- ##
=======================================
Coverage 98.09% 98.09%
=======================================
Files 11 11
Lines 421 421
Branches 119 121 +2
=======================================
Hits 413 413
Misses 7 7
Partials 1 1 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
Deployment failed with the following error: Learn More: https://vercel.com/afc163s-projects?upgradeToPro=build-rate-limit |
|
Deployment failed with the following error: Learn More: https://vercel.com/react-component?upgradeToPro=build-rate-limit |
❌ Deploy failed
📋 Build log (last lines)🤖 Powered by surge-preview |
|||||||||
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@eslint.config.mjs`:
- Around line 26-45: The normalizeConfig function is filtering out too many
`@typescript-eslint/`* rules, which drops legacy rules like
`@typescript-eslint/no-explicit-any` from the merged config. Update
normalizeConfig so it only removes the intended rules and explicitly preserves
any legacy TS rules that should still apply, using the existing
recommendedTsRules check and the `@typescript-eslint/ban-types` exception as the
place to add the needed allowlist logic.
In `@tests/CSSMotion.spec.tsx`:
- Around line 859-864: The ReactDOM.findDOMNode stub in CSSMotion.spec.tsx is
missing writable: true, which can make later jest.spyOn(ReactDOM, 'findDOMNode')
calls fail on a read-only property. Update the Object.defineProperty setup in
the findDOMNode fallback so the defined property is writable as well as
configurable, keeping the existing jest.fn() stub and the surrounding ReactDOM
feature check unchanged.
In `@tsconfig.json`:
- Around line 15-21: The tsconfig changes are disabling global strict type
checking, which weakens coverage across the whole repository. Revert the blanket
switches in tsconfig.json for strict, noImplicitAny, strictNullChecks,
strictFunctionTypes, and related flags, then address any remaining TypeScript
incompatibilities locally in the affected modules using targeted fixes or
isolated suppressions instead of lowering the project-wide bar.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 852cffc1-cd8f-404e-9623-9617e04043dc
📒 Files selected for processing (10)
.github/dependabot.ymlREADME.mdREADME.zh-CN.mddocs/examples/ssr.tsxeslint.config.mjsglobal.d.tspackage.jsonreact-compat.d.tstests/CSSMotion.spec.tsxtsconfig.json
|
Related to ant-design/ant-design#58514. |
There was a problem hiding this comment.
Pull request overview
This PR modernizes the repo’s maintenance/tooling stack (React/TypeScript/ESLint/Testing Library), migrates ESLint to flat config for ESLint 9 + TypeScript ESLint 8, and applies a few small documentation and example updates to better align with newer React runtimes.
Changes:
- Updates core dev dependencies (React/ReactDOM, TypeScript, ESLint and related plugins, Testing Library, typings) and adds grouped Dependabot updates.
- Migrates from
.eslintrc.jstoeslint.config.mjs(flat config) for ESLint 9 compatibility. - Adjusts SSR example to use
hydrateRootand updates README logo links.
Reviewed changes
Copilot reviewed 11 out of 13 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| tsconfig.json | Updates TS module resolution and compiler options; adjusts include/exclude. |
| package.json | Bumps a broad set of dev dependencies and adds new lint-related deps. |
| eslint.config.mjs | Introduces ESLint flat config with TS/React/Jest integrations. |
| .eslintrc.js | Removes legacy ESLint config in favor of flat config. |
| global.d.ts | Adds global type references and ambient module declarations for tooling/tests. |
| src/hooks/useDomMotionEvents.ts | Tweaks useRef initialization for updated TS behavior. |
| src/CSSMotion.tsx | Initializes a ref with null to match updated React/TS expectations. |
| tests/CSSMotion.spec.tsx | Adds compatibility handling for ReactDOM.findDOMNode in newer React versions. |
| tests/snapshots/CSSMotion.spec.tsx.snap | Updates snapshot header comment. |
| docs/examples/ssr.tsx | Switches SSR hydration to hydrateRoot and unmounts properly. |
| README.md | Wraps Ant Design ecosystem logo with a link to ant.design. |
| README.zh-CN.md | Same logo link change for Chinese README. |
| .github/dependabot.yml | Enables grouped updates for npm and GitHub Actions. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| languageOptions: { | ||
| parserOptions: { | ||
| projectService: true, | ||
| tsconfigRootDir: import.meta.dirname, |
| export default ( | ||
| onInternalMotionEnd: (event: MotionEvent) => void, | ||
| ): [(element: HTMLElement) => void, (element: HTMLElement) => void] => { | ||
| const cacheElementRef = useRef<HTMLElement>(); | ||
| const cacheElementRef = useRef<HTMLElement | undefined>(undefined); | ||
|
|
| beforeEach(() => { | ||
| if (!('findDOMNode' in ReactDOM)) { | ||
| Object.defineProperty(ReactDOM, 'findDOMNode', { | ||
| value: jest.fn(), | ||
| writable: true, |

Summary
Test Plan
Summary by CodeRabbit
Documentation
Bug Fixes
Chores