chore: update maintenance dependencies#317
Conversation
|
Deployment failed with the following error: Learn More: https://vercel.com/react-component?upgradeToPro=build-rate-limit |
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
Walkthrough本次变更升级了开发依赖版本、新增 ESLint Flat Config 配置文件、补充全局类型声明文件(global.d.ts)、调整 TypeScript 编译选项、为 Dependabot 新增依赖分组,并在 README 与 README.zh-CN 顶部标识增加了跳转链接。 Changes工具链现代化
Estimated code review effort: 2 (Simple) | ~12 minutes Poem
🚥 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 updates the project's dependencies to React 19, ESLint 9, and TypeScript 6, introduces an ESLint flat configuration, and adds type declaration files for compatibility. Feedback on these changes emphasizes maintaining type safety: you should avoid disabling strict type-checking in tsconfig.json, refrain from globally overriding core React types in react-compat.d.ts to prevent consumer type conflicts, and remove redundant any declarations for testing globals in global.d.ts since Jest types are already referenced.
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. |
✅ Preview is ready!
↩️ Previous: ⚡️ 🤖 Powered by surge-preview |
|||||||||||||||
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
package.json (1)
49-80: 🩺 Stability & Availability | 🔵 Trivial补一条打包/文档冒烟检查。 这次同时升级了
father和dumi,而npm run lint/npm run tsc覆盖不到npm run build、npm run docs:build、npm run compile这条链路;合并前至少再补一条库构建和文档站点构建检查。🤖 Prompt for 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. In `@package.json` around lines 49 - 80, The dependency upgrades in package.json affect the build and docs toolchain, but the current validation only covers linting and type checking. Add a smoke-check for the build path by running and/or documenting verification for the library build and docs site build, using the existing scripts such as build, docs:build, and compile, so the father and dumi upgrade is covered before merge.
🤖 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 40-48: `next.rules` 的过滤逻辑把迁移中需要保留的
`@typescript-eslint/no-explicit-any` 丢掉了,导致原来在 `.eslintrc.js` 里显式关闭的规则在 flat
config 中失效。请在 `eslint.config.mjs` 的这段 allowlist 过滤中把
`@typescript-eslint/no-explicit-any` 加回去,或者在最终的 flat config `rules`
合并结果里再次显式关闭它,确保迁移后的行为与现有配置一致。
---
Nitpick comments:
In `@package.json`:
- Around line 49-80: The dependency upgrades in package.json affect the build
and docs toolchain, but the current validation only covers linting and type
checking. Add a smoke-check for the build path by running and/or documenting
verification for the library build and docs site build, using the existing
scripts such as build, docs:build, and compile, so the father and dumi upgrade
is covered before merge.
🪄 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: a88ad097-d820-49f0-a48f-5c1622bf7c23
📒 Files selected for processing (8)
.github/dependabot.ymlREADME.mdREADME.zh-CN.mdeslint.config.mjsglobal.d.tspackage.jsonreact-compat.d.tstsconfig.json
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #317 +/- ##
=======================================
Coverage 99.38% 99.38%
=======================================
Files 7 7
Lines 162 162
Branches 51 51
=======================================
Hits 161 161
Misses 1 1 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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 `@tsconfig.json`:
- Line 7: The tsconfig setting currently skips declaration checking, which can
hide issues in the new compatibility layer. Update the tsconfig entry for
skipLibCheck to stop bypassing checks so the newly added global.d.ts and
react-compat.d.ts are type-checked, and make sure the package’s d.ts output is
validated; if needed, add a type-check path that runs without skipLibCheck.
🪄 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: 1dd7cf04-88f2-4569-823e-d3cdc0f1de02
📒 Files selected for processing (3)
eslint.config.mjsglobal.d.tstsconfig.json
💤 Files with no reviewable changes (1)
- global.d.ts
|
Deployment failed with the following error: Learn More: https://vercel.com/afc163s-projects?upgradeToPro=build-rate-limit |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
eslint.config.mjs (1)
79-89: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win建议补充注释说明
noopRule覆盖consistent-type-exports的用意这里用
noopRule替换插件规则实现(而不是简单在rules中设为'off'),结合后面normalizeConfig会删除旧配置数组里重复注册的'@typescript-eslint'插件条目,从而保证该 noop 版本不会被后续compat.config(legacyConfig)展开的普通插件对象覆盖。这个设计是必要且正确的,但相当隐晦——从 past review 的排查记录也能看出,仅从代码本身很难看出这层因果关系。建议在此处加一行注释说明为什么要用 noop 而不是直接关闭规则severity,方便后续维护者理解。💡 建议的注释补充
plugins: { + // 用 noop 覆盖规则实现而非仅设置 severity=off, + // 因为后续 compat.config(legacyConfig) 展开的配置项会重新注册未修改的 + // '`@typescript-eslint`' 插件;normalizeConfig 已将这些旧配置里的插件条目剔除, + // 以保证此处的 noop 版本在合并后仍然生效。 '`@typescript-eslint`': { ...tsEslintPlugin, rules: { ...tsEslintPlugin.rules, 'consistent-type-exports': noopRule, }, }, },🤖 Prompt for 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. In `@eslint.config.mjs` around lines 79 - 89, This section uses noopRule to override '`@typescript-eslint/consistent-type-exports`' instead of simply disabling it, because the later compat.config(legacyConfig) expansion can reintroduce a normal plugin object and overwrite a plain severity toggle. Add a brief comment near the plugins setup and normalizeConfig mapping explaining that the noop override is intentional and protects against legacy config collisions. Reference noopRule, consistent-type-exports, and normalizeConfig so future maintainers can quickly locate the rationale.
🤖 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.
Nitpick comments:
In `@eslint.config.mjs`:
- Around line 79-89: This section uses noopRule to override
'`@typescript-eslint/consistent-type-exports`' instead of simply disabling it,
because the later compat.config(legacyConfig) expansion can reintroduce a normal
plugin object and overwrite a plain severity toggle. Add a brief comment near
the plugins setup and normalizeConfig mapping explaining that the noop override
is intentional and protects against legacy config collisions. Reference
noopRule, consistent-type-exports, and normalizeConfig so future maintainers can
quickly locate the rationale.
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
tsconfig.json (1)
14-20: 🎯 Functional Correctness | 🔵 Trivial | 🏗️ Heavy lift不要把严格检查一次性全部关掉。
strict及相关选项都设为false,而这个包还会输出并发布es/index.d.ts,容易把类型问题继续带到对外声明里;如果只是迁移期妥协,建议保留一份收紧计划,逐步恢复这些检查。🤖 Prompt for 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. In `@tsconfig.json` around lines 14 - 20, The TypeScript config is disabling all strictness checks at once, which can let type issues leak into the published declaration output from the package’s public API. Update the tsconfig strictness settings so they are not all turned off together, and use the existing config keys like strict, noImplicitAny, strictNullChecks, and strictPropertyInitialization to keep a gradual tightening path instead of a full blanket disable.
🤖 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 `@package.json`:
- Line 63: Remove or replace the `@umijs/fabric` dependency from the package.json
ESLint toolchain so the project can move to ESLint 9 and `@typescript-eslint` 8;
update the lint configuration around eslint.config.mjs and any shared presets
that currently rely on `@umijs/fabric`@^4.0.1, and switch to compatible
replacements so the upgrade path no longer depends on that package.
---
Nitpick comments:
In `@tsconfig.json`:
- Around line 14-20: The TypeScript config is disabling all strictness checks at
once, which can let type issues leak into the published declaration output from
the package’s public API. Update the tsconfig strictness settings so they are
not all turned off together, and use the existing config keys like strict,
noImplicitAny, strictNullChecks, and strictPropertyInitialization to keep a
gradual tightening path instead of a full blanket disable.
🪄 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: 0eae8b11-ab72-49e7-9ee9-ddadb91b21d6
⛔ Files ignored due to path filters (2)
tests/__snapshots__/conic.spec.tsx.snapis excluded by!**/*.snaptests/__snapshots__/index.spec.js.snapis excluded by!**/*.snap
📒 Files selected for processing (4)
README.mdeslint.config.mjspackage.jsontsconfig.json
💤 Files with no reviewable changes (1)
- README.md
🚧 Files skipped from review as they are similar to previous changes (1)
- eslint.config.mjs
|
Related to ant-design/ant-design#58514. |
There was a problem hiding this comment.
Pull request overview
This PR modernizes the repository’s maintenance tooling by updating core frontend/tooling dependencies, migrating ESLint to the flat config format for ESLint 9 / TypeScript ESLint 8 compatibility, and making minor documentation and automation tweaks.
Changes:
- Updated dev tooling dependencies (React/ReactDOM, TypeScript, ESLint + plugins, Testing Library, etc.).
- Replaced legacy
.eslintrc.jswith a neweslint.config.mjs(flat config) and adjusted TypeScript configuration. - Updated README branding links and refreshed Jest snapshot header links; grouped Dependabot updates.
Reviewed changes
Copilot reviewed 8 out of 10 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| tsconfig.json | Switches module resolution mode and restructures TS config/paths/includes. |
| package.json | Updates devDependencies for the toolchain (ESLint 9, TS/React/testing deps, etc.). |
| eslint.config.mjs | Introduces ESLint flat config with React/TS/Jest integration and ignores. |
| .eslintrc.js | Removes legacy ESLint config (superseded by flat config). |
| global.d.ts | Adds a shared global typings entrypoint and references for common test/runtime types. |
| .github/dependabot.yml | Adds grouped updates for npm dependencies and GitHub Actions. |
| README.md | Links Ant Design ecosystem logo to https://ant.design and removes an extra blank line. |
| README.zh-CN.md | Links Ant Design ecosystem logo to https://ant.design. |
| tests/snapshots/index.spec.js.snap | Updates the snapshot header URL. |
| tests/snapshots/conic.spec.tsx.snap | Updates the snapshot header URL. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Summary
Test Plan
Summary by CodeRabbit
Documentation
Chores
Bug Fixes