Skip to content

chore: update maintenance dependencies#1079

Open
afc163 wants to merge 6 commits into
masterfrom
codex/update-maintenance-deps
Open

chore: update maintenance dependencies#1079
afc163 wants to merge 6 commits into
masterfrom
codex/update-maintenance-deps

Conversation

@afc163

@afc163 afc163 commented Jun 29, 2026

Copy link
Copy Markdown
Member

Summary

  • Link the Ant Design ecosystem logo in README files to https://ant.design
  • Update React, React DOM, TypeScript, ESLint, Testing Library, @types/, @typescript-eslint/, lint-staged, and related lint dependencies
  • Add ESLint flat config compatibility for ESLint 9 and TypeScript ESLint 8
  • Use grouped Dependabot updates for npm and GitHub Actions

Test Plan

  • npm run lint
  • npm run tsc

Summary by CodeRabbit

  • 开发体验/维护
    • 依赖更新现在可按生态分组进行聚合管理。
    • 升级开发工具链,并更新代码规范与 TypeScript 配置以改善开发期体验。
  • 类型与兼容性
    • 扩展全局与 React 兼容的类型声明,增强测试能力与 JSX 支持。
  • 文档
    • README 顶部徽标改为可点击链接,并同步更新中英文页面样式。

@vercel

vercel Bot commented Jun 29, 2026

Copy link
Copy Markdown

Deployment failed with the following error:

Resource is limited - try again in 24 hours (more than 100, code: "api-deployments-free-per-day").

Learn More: https://vercel.com/react-component?upgradeToPro=build-rate-limit

@coderabbitai

coderabbitai Bot commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Note

Reviews paused

It 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 reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 67f485aa-f718-40e3-9a01-6ecd6ea8449c

📥 Commits

Reviewing files that changed from the base of the PR and between 405b175 and 0560cb7.

📒 Files selected for processing (1)
  • eslint.config.mjs
🚧 Files skipped from review as they are similar to previous changes (1)
  • eslint.config.mjs

Walkthrough

将开发工具链升级至 React 19、TypeScript 6、ESLint 9 和 @typescript-eslint 8,新增 ESLint Flat 配置、全局类型声明与 React 兼容声明,更新 tsconfig.json,并调整 Dependabot 分组与 README 徽标链接。

Changes

工具链升级与类型声明

Layer / File(s) Summary
依赖版本升级
package.json
升级 React、TypeScript、@typescript-eslint、ESLint 及相关插件/解析器,并补充 Flat 配置所需依赖。
全局类型声明与 React 兼容补丁
global.d.ts, react-compat.d.ts, tsconfig.json
新增 Jest、vi、JSX、模块声明和 React 模块类型签名,并将这两个声明文件纳入 tsconfig.json,同时调整模块解析和严格性选项。
ESLint Flat 配置迁移
eslint.config.mjs
新增 Flat 配置导出,转换原有配置并过滤 @typescript-eslint 相关规则。

其他配置更新

Layer / File(s) Summary
Dependabot 与 README 更新
.github/dependabot.yml, README.md, README.zh-CN.md
为 npm 和 GitHub Actions 添加依赖分组,并将 README 顶部 Ant Design 徽标改为链接形式。

估算代码审查工作量

🎯 3 (Moderate) | ⏱️ ~25 minutes

建议的审阅者

  • zombieJ

Poem

🐰 我蹦进新工具链,
React 十九亮晶晶;
ESLint 换上平整新装,
类型声明咔哒更分明;
README 牵起小彩带,
代码世界更整齐。

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 标题与此次维护依赖、ESLint/TypeScript 工具链升级的主要变更一致,简洁清晰。
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/update-maintenance-deps

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

eslint.config.mjs

Parsing error: Cannot find module '@babel/plugin-proposal-decorators'
Require stack:

  • /node_modules/.pnpm/@babel+core@7.29.7/node_modules/@babel/core/lib/config/files/plugins.js
  • /node_modules/.pnpm/@babel+core@7.29.7/node_modules/@babel/core/lib/config/files/index.js
  • /node_modules/.pnpm/@babel+core@7.29.7/node_modules/@babel/core/lib/index.js
  • /node_modules/.pnpm/@babel+eslint-parser@7.29.7_@babel+core@7.29.7_eslint@9.39.4_jiti@2.7.0_/node_modules/@babel/eslint-parser/lib/worker/babel-core.cjs
  • /node_modules/.pnpm/@babel+eslint-parser@7.29.7_@babel+core@7.29.7_eslint@9.39.4_jiti@2.7.0_/node_modules/@babel/eslint-parser/lib/worker/handle-message.cjs
  • /node_modules/.pnpm/@babel+eslint-parser@7.29.7_@babel+core@7.29.7_eslint@9.39.4_jiti@2.7.0_/node_modules/@babel/eslint-parser/lib/client.cjs
  • /node_modules/.pnpm/@babel+eslint-parser@7.29.7_@babel+core@7.29.7_eslint@9.39.4_jiti@2.7.0_/node_modules/@babel/eslint-parser/lib/index.cjs
  • /node_modules/.pnpm/@eslint+eslintrc@3.3.5/node_modules/@eslint/eslintrc/dist/eslintrc.cjs

Make sure that all the Babel plugins and presets you are using
are defined as dependencies or devDependencies in your package.json
file. It's possible that the missing plugin is loaded by a preset
you are using that forgot to add the plugin to its dependencies: you
can workaround this problem by explicitly adding the missing package
to your top-level package.json.


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request upgrades the project to React 19 and TypeScript 6, updates various dependencies (including ESLint to v9), and introduces compatibility shims and global type definitions. Feedback on these changes highlights critical type-safety concerns: disabling strict type-checking options in tsconfig.json reduces safety during this major upgrade, declaring test globals as any in global.d.ts overrides Jest's strongly-typed definitions, and shimming the deprecated hydrate method in react-compat.d.ts is unsafe and could lead to runtime crashes.

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.

Comment thread tsconfig.json Outdated
Comment on lines +31 to +37
"noImplicitAny": false,
"strictNullChecks": false,
"strictPropertyInitialization": false,
"strictFunctionTypes": false,
"strict": false,
"noImplicitThis": false,
"strictBindCallApply": false

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

high

Disabling strict type-checking options (strict, strictNullChecks, noImplicitAny, etc.) significantly reduces type safety and can mask potential runtime errors, especially during a major upgrade to React 19 and TypeScript 6. It is highly recommended to keep strict mode enabled and address the type errors directly.

Comment thread global.d.ts Outdated
Comment on lines +47 to +54
declare const describe: any;
declare const it: any;
declare const test: any;
declare const beforeEach: any;
declare const afterEach: any;
declare const beforeAll: any;
declare const afterAll: any;
declare const expect: any;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

Declaring test globals like describe, it, and expect as any overrides the strongly-typed definitions provided by the jest reference at the top of the file. This disables type safety and autocompletion in test files. These declarations should be removed.

Comment thread react-compat.d.ts Outdated
Comment on lines +14 to +16
declare module 'react-dom' {
function hydrate(element: React.ReactNode, container: Element | DocumentFragment): void;
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

Shimming hydrate in react-dom for React 19 is unsafe. React 19 has completely removed hydrate from react-dom (replaced by hydrateRoot in react-dom/client). Shimming the type will allow the code to compile but will result in runtime crashes if hydrate is called. It is recommended to migrate the usage to hydrateRoot instead.

@socket-security

socket-security Bot commented Jun 29, 2026

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatednpm/​@​types/​jest@​29.5.14 ⏵ 30.0.01001007780100
Addednpm/​@​types/​react@​19.2.171001007995100
Addednpm/​@​eslint/​eslintrc@​3.3.59910010084100
Addednpm/​@​eslint/​js@​9.39.410010010088100
Addednpm/​typescript@​6.0.3100100909690
Addednpm/​eslint@​9.39.49710010096100

View full report

@socket-security

socket-security Bot commented Jun 29, 2026

Copy link
Copy Markdown

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.

View full report

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🧹 Nitpick comments (1)
react-compat.d.ts (1)

3-6: 📐 Maintainability & Code Quality | 🔵 Trivial | 🏗️ Heavy lift

useRef() 的零参数重载建议只作为极短期过渡。

React 19 类型层面要求 useRef 显式传入初始值;这里全局补回零参数签名后,旧调用点都不会再被 tsc 报出来,等于绕过了这次升级最有价值的一条检查。更稳妥的是把调用点改成 useRef(undefined) / useRef(null),然后删除这个 augmentation。

🤖 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 `@react-compat.d.ts` around lines 3 - 6, The zero-argument useRef overload
added in the react module augmentation is masking React 19 migration errors.
Update the affected call sites to pass an explicit initial value such as
useRef(undefined) or useRef(null), using the useRef signature in
react-compat.d.ts as the locator, and then remove this temporary augmentation so
tsc continues to flag any remaining legacy usages.
🤖 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 `@react-compat.d.ts`:
- Around line 14-16: Remove the ambient react-dom hydrate declaration from
react-compat.d.ts so the typings stay aligned with React 19. This module
augmentation is reintroducing an API that no longer exists at runtime and can
hide migration issues; update any call sites to use hydrateRoot instead of
relying on hydrate being typed.

In `@tsconfig.json`:
- Around line 39-41: 主 tsconfig 的 include 现在把 global.d.ts 一起纳入了,导致
vi、describe、it、expect 等测试全局泄露到 src 和 docs/examples。请把这些测试类型从主配置中移出,放到专用的测试
tsconfig 中,或将它们的范围限制到 tests/**/*,并保留 react-compat.d.ts 等业务通用声明在主配置里。
- Around line 31-37: The root tsconfig has been loosened too much by disabling
strict mode and related checks, which hides real type regressions across src,
tests, and docs/examples. Keep the main configuration strict, then move
test-only globals from global.d.ts into a separate test-specific declaration or
tsconfig so they do not leak into production source. In tsconfig and the shared
type declarations, preserve the strict baseline and only relax individual flags
temporarily where a migration blocker is unavoidable.

---

Nitpick comments:
In `@react-compat.d.ts`:
- Around line 3-6: The zero-argument useRef overload added in the react module
augmentation is masking React 19 migration errors. Update the affected call
sites to pass an explicit initial value such as useRef(undefined) or
useRef(null), using the useRef signature in react-compat.d.ts as the locator,
and then remove this temporary augmentation so tsc continues to flag any
remaining legacy usages.
🪄 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: 8abaa679-2826-4c54-948e-ed468ed5d7cc

📥 Commits

Reviewing files that changed from the base of the PR and between aaf9d2f and 4a70380.

📒 Files selected for processing (8)
  • .github/dependabot.yml
  • README.md
  • README.zh-CN.md
  • eslint.config.mjs
  • global.d.ts
  • package.json
  • react-compat.d.ts
  • tsconfig.json

Comment thread react-compat.d.ts Outdated
Comment thread tsconfig.json Outdated
Comment thread tsconfig.json
@vercel

vercel Bot commented Jun 30, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
slider Ready Ready Preview, Comment Jun 30, 2026 11:15am

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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 `@eslint.config.mjs`:
- Around line 18-19: The TypeScript recommended-rule allowlist in
eslint.config.mjs is dropping custom rules from the old .eslintrc.js setup, so
update the migration logic around recommendedTsRules to preserve user-defined TS
rules instead of filtering them out. Make sure
`@typescript-eslint/no-inferrable-types` is carried through, and add an explicit
mapping in the config migration for `@typescript-eslint/no-empty-interface` to its
modern equivalent `@typescript-eslint/no-empty-object-type` so the same constraint
stays enabled.
🪄 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: 2caff7b9-bee0-4312-bb82-68c9a10c4adb

📥 Commits

Reviewing files that changed from the base of the PR and between 4a70380 and 9c764dc.

📒 Files selected for processing (3)
  • eslint.config.mjs
  • global.d.ts
  • tsconfig.json
💤 Files with no reviewable changes (1)
  • global.d.ts

Comment thread eslint.config.mjs Outdated
Comment on lines +18 to +19
const recommendedTsRules = new Set(
Object.keys(tsEslintPlugin.configs.recommended.rules || {}),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '== .eslintrc.js ==\n'
nl -ba .eslintrc.js | sed -n '1,240p'

printf '\n== `@typescript-eslint` rules declared in .eslintrc.js ==\n'
rg -n "`@typescript-eslint/`" .eslintrc.js || true

Repository: react-component/slider

Length of output: 219


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '== eslint.config.mjs (relevant slice) ==\n'
sed -n '1,140p' eslint.config.mjs | cat -n

printf '\n== .eslintrc.js (full) ==\n'
sed -n '1,240p' .eslintrc.js | cat -n

printf '\n== `@typescript-eslint` rule keys in .eslintrc.js ==\n'
python3 - <<'PY'
import re, pathlib
text = pathlib.Path('.eslintrc.js').read_text()
rules = sorted(set(re.findall(r'["\'](`@typescript-eslint/`[^"\']+)["\']\s*:', text)))
for r in rules:
    print(r)
print(f'\ncount={len(rules)}')
PY

Repository: react-component/slider

Length of output: 3863


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '== package.json references ==\n'
rg -n '"`@typescript-eslint/eslint-plugin`"|typescript-eslint|eslint' package.json package-lock.json pnpm-lock.yaml yarn.lock 2>/dev/null || true

printf '\n== repo files mentioning no-empty-interface / no-explicit-any / no-inferrable-types ==\n'
rg -n "`@typescript-eslint/`(no-explicit-any|no-empty-interface|no-inferrable-types)" -S .

Repository: react-component/slider

Length of output: 20999


🌐 Web query:

@typescript-eslint/eslint-plugin recommended rules no-explicit-any no-empty-interface no-inferrable-types

💡 Result:

In the @typescript-eslint/eslint-plugin, the inclusion of these rules in the recommended configuration is as follows: - @typescript-eslint/no-explicit-any: Included in the recommended configuration [1]. - @typescript-eslint/no-empty-interface: Historically included in the recommended configuration, but this rule is now deprecated in favor of @typescript-eslint/no-empty-object-type [2], which is included in the recommended configuration [1]. - @typescript-eslint/no-inferrable-types: This rule is not included in the recommended configuration [1][3]. It is part of the stylistic configuration [4]. Summary Table Rule | Recommended Config | Notes --- | --- | --- @typescript-eslint/no-explicit-any | Yes [1] | - @typescript-eslint/no-empty-interface | Deprecated [2] | Replaced by @typescript-eslint/no-empty-object-type (included) [1][2] @typescript-eslint/no-inferrable-types | No [1][3] | Included in stylistic config [4] As of June 2026, typescript-eslint recommends using shared configurations such as recommended, strict, or stylistic [5][6]. The recommended configuration focuses on rules for code correctness, while the stylistic configuration contains rules that enforce consistent coding patterns without necessarily catching bugs [5].

Citations:


别静默丢掉自定义 TS 规则 这里会把 .eslintrc.js 里的 @typescript-eslint/no-inferrable-types 过滤掉;@typescript-eslint/no-empty-interface 也需要单独迁移/映射到 @typescript-eslint/no-empty-object-type,否则不会自动保留等价约束。

🤖 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 18 - 19, The TypeScript recommended-rule
allowlist in eslint.config.mjs is dropping custom rules from the old
.eslintrc.js setup, so update the migration logic around recommendedTsRules to
preserve user-defined TS rules instead of filtering them out. Make sure
`@typescript-eslint/no-inferrable-types` is carried through, and add an explicit
mapping in the config migration for `@typescript-eslint/no-empty-interface` to its
modern equivalent `@typescript-eslint/no-empty-object-type` so the same constraint
stays enabled.

@codecov

codecov Bot commented Jun 30, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.67%. Comparing base (aaf9d2f) to head (0560cb7).

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1079   +/-   ##
=======================================
  Coverage   98.67%   98.67%           
=======================================
  Files          15       15           
  Lines         752      752           
  Branches      234      234           
=======================================
  Hits          742      742           
  Misses         10       10           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions

github-actions Bot commented Jun 30, 2026

Copy link
Copy Markdown

❌ Deploy failed

PR preview ❌ Failed ❌ Failed
🔗 Preview https://react-component-slider-preview-pr-1079.surge.sh (may be unavailable)
📝 Commit0560cb7
🪵 LogsView logs
📋 Build log (last lines)
npm warn exec The following package was not found and will be installed: surge@0.27.4

   Running as afc163@gmail.com (Student)

        project: ./docs-dist
         domain: react-component-slider-preview-pr-1079.surge.sh
           size: 64 files, 1.9 MB

   Aborted - you do not have permission to publish to react-component-slider-preview-pr-1079.surge.sh

🤖 Powered by surge-preview

@github-actions

github-actions Bot commented Jun 30, 2026

Copy link
Copy Markdown

React Doctor skipped this pull request — it changed no React files.

Reviewed by React Doctor for commit 0560cb7.

@vercel

vercel Bot commented Jun 30, 2026

Copy link
Copy Markdown

Deployment failed with the following error:

Resource is limited - try again in 24 hours (more than 100, code: "api-deployments-free-per-day").

Learn More: https://vercel.com/afc163s-projects?upgradeToPro=build-rate-limit

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

♻️ Duplicate comments (1)
eslint.config.mjs (1)

18-25: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

不要在迁移时静默丢掉旧配置里的 TS 规则约束。

这里按 configs.recommended 过滤 @typescript-eslint/* 后,.eslintrc.js 里显式开启的 @typescript-eslint/no-empty-interface 会被直接删掉;但当前迁移里又没有把它改写成 v8 对应的 @typescript-eslint/no-empty-object-type,所以这条 lint 约束会在 Flat 配置下消失,npm run lint 会比旧配置更宽松。

💡 最小修复思路
+const remappedTsRules = {
+  '`@typescript-eslint/no-empty-interface`': '`@typescript-eslint/no-empty-object-type`',
+};

 function normalizeConfig(config) {
   const normalizedConfig = { ...config };

   if (normalizedConfig.rules) {
-    normalizedConfig.rules = Object.fromEntries(
-      Object.entries(normalizedConfig.rules).filter(([ruleName]) => {
-        if (!ruleName.startsWith('`@typescript-eslint/`')) {
-          return true;
-        }
-
-        return recommendedTsRules.has(ruleName);
-      }),
-    );
+    normalizedConfig.rules = Object.fromEntries(
+      Object.entries(normalizedConfig.rules).flatMap(([ruleName, ruleValue]) => {
+        const mappedRuleName = remappedTsRules[ruleName] ?? ruleName;
+
+        if (!mappedRuleName.startsWith('`@typescript-eslint/`')) {
+          return [[mappedRuleName, ruleValue]];
+        }
+
+        return recommendedTsRules.has(mappedRuleName)
+          ? [[mappedRuleName, ruleValue]]
+          : [];
+      }),
+    );
   }
 }

并同步删除后面仅用于关闭 @typescript-eslint/no-empty-interface 的覆盖项,避免把已迁移的新规则再关掉。

Also applies to: 41-41

🤖 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 18 - 25, 迁移 Flat 配置时不要静默丢掉旧的 TS 规则约束;当前在
eslint.config.mjs 里通过 recommendedTsRules 过滤 `@typescript-eslint/`* 会把 .eslintrc.js
显式开启的 `@typescript-eslint/no-empty-interface` 删除掉。请在生成规则集时把这条约束迁移为 v8 对应的
`@typescript-eslint/no-empty-object-type`,并同步检查 ESLint 覆盖配置,移除只为关闭
`@typescript-eslint/no-empty-interface` 而存在的后续覆盖项,避免把新规则也一起关掉。
🤖 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.

Duplicate comments:
In `@eslint.config.mjs`:
- Around line 18-25: 迁移 Flat 配置时不要静默丢掉旧的 TS 规则约束;当前在 eslint.config.mjs 里通过
recommendedTsRules 过滤 `@typescript-eslint/`* 会把 .eslintrc.js 显式开启的
`@typescript-eslint/no-empty-interface` 删除掉。请在生成规则集时把这条约束迁移为 v8 对应的
`@typescript-eslint/no-empty-object-type`,并同步检查 ESLint 覆盖配置,移除只为关闭
`@typescript-eslint/no-empty-interface` 而存在的后续覆盖项,避免把新规则也一起关掉。

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: cf51e9eb-3273-463b-88fd-cb0295f82a1c

📥 Commits

Reviewing files that changed from the base of the PR and between 1e9b44c and 405b175.

📒 Files selected for processing (2)
  • eslint.config.mjs
  • react-compat.d.ts
💤 Files with no reviewable changes (1)
  • react-compat.d.ts

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.

1 participant