-
-
Notifications
You must be signed in to change notification settings - Fork 8.2k
refactor: import biome and check all files #11496
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
🎊 PR Preview has been successfully built and deployed to https://ant-design-pro-preview-pr-11496.surge.sh |
|
Warning Rate limit exceeded@afc163 has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 16 minutes and 40 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📒 Files selected for processing (1)
## Walkthrough
本次更新将项目的代码风格和静态检查工具从 ESLint 和 Prettier 统一切换为 Biome,涉及配置文件和依赖的全面替换。同步调整了相关脚本、CI流程、忽略文件、格式化规则,并对代码和多语言资源文件进行了大量格式化优化,未改变业务逻辑。
## Changes
| 文件/分组 | 变更简述 |
|----------------------------------------------------------|----------------------------------------------------------------------------------------------------|
| `.eslintrc.js`, `.eslintignore`, `.prettierignore`, `.prettierrc.js`, `jsconfig.json` | 移除 ESLint、Prettier 配置及 jsconfig.json |
| `.lintstagedrc`, `biome.json` | 新增 Biome 配置,lint-staged 统一用 Biome 格式化与检查 |
| `.gitignore` | 移除 `.eslintcache` 忽略规则 |
| `package.json` | 移除 ESLint/Prettier 相关依赖与脚本,增加 Biome 依赖与脚本 |
| `.github/workflows/ci.yml` | CI 流程移除 TypeScript 编译步骤,Node 版本矩阵简化 |
| `.github/workflows/coverage.yml` | 升级 GitHub Actions 版本,切换包管理和测试命令至 Bun |
| `.github/workflows/preview-build.yml` | 升级 checkout Action 版本 |
| `tsconfig.json` | 修改 JSX 编译模式为 `react-jsx` |
| `config/config.ts`, `mock/*.ts`, `mock/*.js` | import 路径标准化、类型导入优化、变量声明与格式化调整 |
| `public/scripts/loading.js`, `src/service-worker.js`, `tests/setupTests.jsx` | IIFE 语法、ESLint 注释、格式化微调 |
| `src/access.ts`, `src/app.tsx`, `src/components/*`, `src/pages/*` | 函数参数、导入、JSX、错误变量命名等格式化与风格统一 |
| `src/global.tsx` | 可选链优化、格式化调整 |
| `src/components/RightContent/index.tsx` | 问号按钮由 div 改为 a 标签,样式调整 |
| `src/locales/*` | 多语言资源文件大范围格式化,字符串拆分多行,未改动内容 |
| `types/cache/mock/login.mock.cache.js`, `mock/requestRecord.mock.js` | 头像 URL 格式化为多行字符串 |
| `README.*.md`, `README.md` | README 中徽章区域拆分多行,新增 Biome 检查徽章 |
## Sequence Diagram(s)
```mermaid
sequenceDiagram
participant 开发者
participant Biome
participant Git
participant CI
开发者->>Biome: 运行 lint/format/check
Biome-->>开发者: 输出格式化与检查结果
开发者->>Git: 提交代码(包含 .eslintcache/.prettierignore/等已移除)
CI->>Biome: 执行 lint/check 步骤
CI-->>开发者: 反馈 Biome 检查结果Possibly related PRs
Poem
|
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
Deploying ant-design-pro with
|
| Latest commit: |
27fa371
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://3948efa5.ant-design-pro-nd3.pages.dev |
| Branch Preview URL: | https://refactor-use-biome.ant-design-pro-nd3.pages.dev |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 5
🧹 Nitpick comments (12)
src/locales/en-US/globalHeader.ts (1)
11-11:messsages单词拼写错误
You have viewed all messsages.多了一个s,应为messages。虽然此次 PR 侧重格式化,但该拼写错误会直接呈现在 UI 中,建议一并修复。- 'component.globalHeader.message.empty': 'You have viewed all messsages.', + 'component.globalHeader.message.empty': 'You have viewed all messages.',src/service-worker.js (1)
41-44: 建议使用更精确的正则表达式匹配color.less
/\/color.less/可能匹配到诸如foo/color.less.map或mycolor.less等非预期路径。若仅想匹配完整文件名,可加入转义及结尾锚点:- /\/color.less/, + /\/color\.less$/,src/locales/pt-BR/settingDrawer.ts (1)
24-25: 拼写错误:应为 “habilitado”
abilitado为误拼,正确写法应为habilitado:- 'Funciona quando o esconder cabeçalho está abilitado', + 'Funciona quando o esconder cabeçalho está habilitado',src/locales/en-US/settingDrawer.ts (1)
28-29: 语法优化:将 “copy success” 改为 “Copy succeeded”更符合英语表达习惯:
- 'copy success, please replace defaultSettings in src/models/setting.js', + 'Copy succeeded, please replace defaultSettings in src/models/setting.js',src/locales/en-US/pwa.ts (1)
4-5: 措辞改进:信息提示更自然- 'Please press the "Refresh" button to reload current page', + 'Please click "Refresh" to reload the current page',config/config.ts (1)
3-3:node:path前缀可能受 Node 版本限制
import { join } from 'node:path'需 Node ≥ 14.14 才支持。请确保:
- 项目
package.json的engines.node声明满足此最低版本;- CI⁄部署环境同步升级,否则运行时会因无法解析前缀报错。
可在
package.json中加入:{ "name": "ant-design-pro", + "engines": { + "node": ">=14.14.0" + } }mock/requestRecord.mock.js (1)
37-38: 重复数据建议集中管理
avatar URL 在多处 mock 文件重复出现,可考虑抽取为常量或共享模块以减少维护成本。types/cache/mock/login.mock.cache.js (1)
37-38: 与其他 mock 文件存在大量重复
可统一 mock 数据源,避免两份缓存数据长期漂移。src/locales/en-US.ts (1)
16-17: 英文文案语法小瑕疵
“Quickly build standard, pages …” 里的逗号多余。建议:- 'app.welcome.link.block-list': - 'Quickly build standard, pages based on `block` development', + 'app.welcome.link.block-list': + 'Quickly build standard pages based on `block` development',package.json (1)
18-19: 每次执行都npx拉取可执行文件,影响性能频繁调用
npx @biomejs/biome …会导致:
- CI/本地首次执行需要解析包版本,耗时数秒;
- 可能出现全局与本地版本不一致的问题。
更推荐直接依赖本地安装的二进制并利用 npm 的 bin 解析:
- "biome:lint": "npx @biomejs/biome lint", - "biome:check": "npx @biomejs/biome check", + "biome:lint": "biome lint", + "biome:check": "biome check",src/app.tsx (2)
36-38: catch 块完全吞掉错误,不利于排查将变量改名为
_error可以绕过 lint,但实际生产环境中仍需要日志以便排错。可在开发模式下输出到控制台:- } catch (_error) { + } catch (_error) { + if (process.env.NODE_ENV === 'development') { + // eslint-disable-next-line no-console + console.error('fetchUserInfo failed', _error); + }
63-66:actionsRender每次渲染都会创建新元素,可能触发不必要的 diff虽然影响不大,但可以用
useMemo或将静态数组定义到组件外部,避免每次 layout 计算时重复生成:- actionsRender: () => [ - <Question key="doc" />, - <SelectLang key="SelectLang" />, - ], + actionsRender: () => staticActions,并在文件顶部:
const staticActions = [<Question key="doc" />, <SelectLang key="SelectLang" />];
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (65)
.eslintignore(0 hunks).eslintrc.js(0 hunks).github/workflows/ci.yml(0 hunks).gitignore(0 hunks).lintstagedrc(1 hunks).prettierignore(0 hunks).prettierrc.js(0 hunks)biome.json(1 hunks)config/config.ts(2 hunks)mock/listTableList.ts(5 hunks)mock/notices.ts(3 hunks)mock/requestRecord.mock.js(21 hunks)mock/user.ts(9 hunks)package.json(2 hunks)public/scripts/loading.js(1 hunks)src/access.ts(1 hunks)src/app.tsx(3 hunks)src/components/Footer/index.tsx(1 hunks)src/components/HeaderDropdown/index.tsx(2 hunks)src/components/RightContent/AvatarDropdown.tsx(2 hunks)src/components/RightContent/index.tsx(1 hunks)src/global.tsx(2 hunks)src/locales/bn-BD/pages.ts(3 hunks)src/locales/bn-BD/settingDrawer.ts(1 hunks)src/locales/bn-BD/settings.ts(1 hunks)src/locales/en-US.ts(1 hunks)src/locales/en-US/globalHeader.ts(1 hunks)src/locales/en-US/pages.ts(3 hunks)src/locales/en-US/pwa.ts(1 hunks)src/locales/en-US/settingDrawer.ts(1 hunks)src/locales/en-US/settings.ts(1 hunks)src/locales/fa-IR.ts(1 hunks)src/locales/fa-IR/globalHeader.ts(1 hunks)src/locales/fa-IR/pages.ts(3 hunks)src/locales/fa-IR/settings.ts(2 hunks)src/locales/id-ID/globalHeader.ts(1 hunks)src/locales/id-ID/menu.ts(1 hunks)src/locales/id-ID/pages.ts(3 hunks)src/locales/id-ID/settingDrawer.ts(1 hunks)src/locales/id-ID/settings.ts(2 hunks)src/locales/ja-JP.ts(1 hunks)src/locales/ja-JP/pages.ts(3 hunks)src/locales/ja-JP/settingDrawer.ts(1 hunks)src/locales/ja-JP/settings.ts(2 hunks)src/locales/pt-BR/globalHeader.ts(1 hunks)src/locales/pt-BR/menu.ts(1 hunks)src/locales/pt-BR/pages.ts(5 hunks)src/locales/pt-BR/settingDrawer.ts(1 hunks)src/locales/pt-BR/settings.ts(2 hunks)src/locales/zh-CN/pages.ts(2 hunks)src/locales/zh-CN/settingDrawer.ts(1 hunks)src/locales/zh-CN/settings.ts(2 hunks)src/locales/zh-TW/pages.ts(2 hunks)src/locales/zh-TW/settingDrawer.ts(1 hunks)src/locales/zh-TW/settings.ts(2 hunks)src/pages/404.tsx(1 hunks)src/pages/Admin.tsx(3 hunks)src/pages/TableList/components/UpdateForm.tsx(1 hunks)src/pages/TableList/index.tsx(12 hunks)src/pages/User/Login/index.tsx(5 hunks)src/pages/User/Login/login.test.tsx(3 hunks)src/pages/Welcome.tsx(1 hunks)src/service-worker.js(1 hunks)tests/setupTests.jsx(1 hunks)types/cache/mock/login.mock.cache.js(21 hunks)
💤 Files with no reviewable changes (6)
- .github/workflows/ci.yml
- .gitignore
- .eslintignore
- .prettierignore
- .eslintrc.js
- .prettierrc.js
🧰 Additional context used
🧬 Code Graph Analysis (2)
mock/notices.ts (1)
src/services/ant-design-pro/api.ts (1)
getNotices(36-41)
src/app.tsx (1)
src/components/RightContent/index.tsx (2)
Question(16-32)SelectLang(6-14)
⏰ Context from checks skipped due to timeout of 90000ms (5)
- GitHub Check: build-preview
- GitHub Check: build (16, windows-latest)
- GitHub Check: build (20, windows-latest)
- GitHub Check: build (20, windows-latest)
- GitHub Check: build (16, windows-latest)
🔇 Additional comments (78)
src/locales/en-US/globalHeader.ts (1)
8-9: 纯格式化修改,无功能差异
仅将长字符串拆分成多行,内容保持不变。src/components/Footer/index.tsx (1)
3-3: 仅类型导入 React,需确保开启 automatic JSX runtime
把react改为import type React可以减少运行时代码,但前提是项目使用 React 17+ 的 automatic runtime,且tsconfig中已启用jsx: "react-jsx"。请确认 CI 与打包配置已同步更新,否则会出现运行时缺少 React 的错误。src/locales/bn-BD/settingDrawer.ts (1)
28-30: 纯格式化修改,无功能差异
只是换行,内容未变。src/locales/id-ID/globalHeader.ts (1)
8-9: 纯格式化修改,无功能差异
仅拆分长字符串。src/locales/id-ID/menu.ts (1)
21-22: 纯格式化修改,无功能差异
内容未变,仅调整换行。src/locales/fa-IR/globalHeader.ts (1)
8-9: 无功能变更,格式化调整符合预期
仅格式化换行,内容保持一致。src/locales/zh-CN/settingDrawer.ts (1)
28-29: 字符串拆行仅格式化,无功能性风险改动只是把原本的单行字符串拆为多行模板字面量,内容未变,运行时也不会影响。
src/locales/bn-BD/settings.ts (1)
56-57: 仅格式化变动,翻译内容保持一致这里同样只是把长句拆行,建议确认最终构建产物中没有意外换行或多余空格。
src/locales/ja-JP.ts (1)
14-15: 格式化 OK字符串改为多行字面量,含义与原先一致,无其他问题。
config/config.ts (1)
161-163: 多行 URL 保持可读性即可仅格式化,URL 本身未改动,无需进一步调整。
src/locales/en-US/settings.ts (1)
47-48: 拆行后仍保持英文语义完整内容未变,格式更易读,无其他问题。
src/locales/fa-IR.ts (1)
16-17: 字符串拆行符合整体格式化策略仅格式化调整,语义未变,保持与其他 locale 文件一致,无需额外操作。
src/pages/Welcome.tsx (1)
4-4: 确认启用了 React 17+ 自动 JSX 运行时或jsx: 'react-jsx'此处改为
import type React后,运行时代码将不再引入react。
请确认项目tsconfig.json/ 构建链已启用自动 JSX 运行时,否则在旧版运行时 (React.createElement) 下会导致编译或运行时错误。src/locales/zh-TW/settingDrawer.ts (1)
28-29: 格式化 OK纯展示层变动,不影响功能。
src/locales/pt-BR/globalHeader.ts (1)
8-9: 格式化 OK与其它 locale 文件保持一致,可读性提升。
src/pages/404.tsx (1)
3-3: 同样需要确保自动 JSX 运行时可用与
Welcome.tsx相同的类型导入改动,请确认构建配置已适配,否则可能缺少运行时React引用。src/locales/id-ID/settingDrawer.ts (1)
24-25: 字符串拆行无功能影响,变更可接受。拆分长字符串提高可读性,对运行时无影响。
src/locales/pt-BR/menu.ts (1)
20-23: 仅格式化拆行,无风险。tests/setupTests.jsx (1)
62-66: 多行 if 提升可读性,逻辑保持不变。src/locales/ja-JP/settingDrawer.ts (1)
24-25: 格式化调整符合整体迁移到 Biome 的规范
仅字符串换行,内容未变;无功能性问题。Also applies to: 31-32
mock/requestRecord.mock.js (1)
5-6: 字符串多行拆分无功能影响
只是格式化;数据保持不变,可接受。types/cache/mock/login.mock.cache.js (1)
5-6: 同上:仅格式化
多行拆分 OK。src/locales/zh-CN/settings.ts (1)
32-33: 仅格式化,无问题
多行拆分提升可读性,内容保持一致。Also applies to: 37-38, 50-55
src/locales/pt-BR/pages.ts (5)
5-6: 纯格式化分行,内容保持不变,符合 Biome 统一风格
19-20: 同上,仅字符串换行,无功能改动
29-30: 保持一致性:分行处理 OK
40-41: 仅格式调整,LGTM
51-52: 格式化更新无风险src/locales/id-ID/pages.ts (3)
5-6: 字符串分行,符合新格式化规则
39-40: 同类格式化,仅视觉调整
52-53: 格式一致性良好src/locales/zh-TW/settings.ts (4)
32-33: 纯格式化,无逻辑风险
37-38: 格式化一致,LGTM
50-51: 换行处理 OK
53-54: 仅样式更新,可接受src/locales/id-ID/settings.ts (4)
14-15: 内容未变,仅分行
19-20: 格式化 OK
45-46: 保持统一风格,LGTM
48-49: 无业务影响,接受src/locales/zh-CN/pages.ts (4)
2-3: 字符串拆行,符合 Biome 规则
5-6: 仅格式调整,无需额外动作
32-33: 分行处理 OK,内容未变
41-42: 格式化一致性良好src/access.ts (1)
4-6: 代码格式化改进良好函数参数格式从单行改为多行,并添加了尾随逗号,这符合 Biome 的格式化规则,提高了代码的可读性和维护性。
src/global.tsx (2)
35-35: 优化了属性访问的安全性使用可选链操作符
?.替代逻辑与操作符,这是一个功能性改进,能够更安全地访问嵌套属性,避免潜在的运行时错误。
70-72: 格式化改进符合预期将
useIntl().formatMessage调用改为多行格式,提高了代码的可读性。src/locales/fa-IR/settings.ts (1)
18-19: 本地化文件格式化统一字符串字面量从单行格式改为多行格式,提高了代码的可读性和一致性。字符串内容保持不变,确保了翻译的完整性。
Also applies to: 44-45, 47-48, 50-51
src/locales/en-US/pages.ts (1)
5-6: 英文本地化文件格式化改进多个字符串字面量从单行格式改为多行格式,与其他本地化文件的格式化保持一致,提高了代码的可读性。
Also applies to: 28-29, 39-40, 42-43, 50-51, 53-54
mock/notices.ts (3)
1-1: 类型导入优化使用类型专用导入
import type导入 Express 类型,这是 TypeScript 的最佳实践,有助于更好的类型检查和构建优化。
3-3: 未使用参数命名规范将未使用的参数
req重命名为_req,清晰地表明该参数是故意未使用的,符合 TypeScript 编码规范。
88-89: 描述字段格式化改进将描述字段的字符串字面量改为多行格式,提高了代码的可读性,与项目中其他类似的格式化改进保持一致。
Also applies to: 105-106
src/pages/Admin.tsx (1)
5-5: 格式化调整 ✅本文件仅做了类型导入、字符串换行及 JSX 属性换行等风格层面的修改,未涉及业务逻辑,确认无误。
Also applies to: 20-22, 32-34, 38-42
src/locales/ja-JP/settings.ts (1)
43-45: 多行字符串格式化 ✅仅将长字符串拆分为多行,未改动实际文案内容,无风险。
Also applies to: 46-48, 49-51, 59-60
src/locales/ja-JP/pages.ts (1)
2-3: 本地化文件格式化 ✅所有改动均为长字符串换行,保持原有翻译不变,可直接合并。
Also applies to: 28-32, 40-47, 51-56
src/locales/zh-TW/pages.ts (1)
2-3: 仅样式调整 ✅同样为字符串换行,无功能/内容变动。
Also applies to: 5-6, 32-34, 41-42
src/locales/pt-BR/settings.ts (1)
11-13: 字符串拆行 ✅纯格式化更新,文本保持一致,无需进一步操作。
Also applies to: 19-21, 24-26, 46-48, 49-51, 52-54
src/components/HeaderDropdown/index.tsx (2)
28-38: 确认是否仍需支持overlay属性组件通过
Omit<DropDownProps, 'overlay'>显式剔除了overlay,但仍允许调用方透传其它Dropdown属性。如果项目已完全迁移到 Ant Design v5 的新menuAPI,这样处理没问题;若仍有旧代码传递overlay,将触发 TS 报错并在运行时失效。请确认业务侧已完成替换。
1-38: 代码仅格式化,逻辑无改动,LGTM
本文件的所有调整皆为 import 重排与多行排版,对运行时无影响。src/locales/fa-IR/pages.ts (1)
2-54: 纯排版更新,无内容变更,LGTM
翻译文本保持不变,仅把长句拆为多行字符串。src/locales/bn-BD/pages.ts (1)
5-52: 纯排版更新,无内容变更,LGTM
同上。mock/listTableList.ts (3)
1-4:node:url路径可能影响旧 Node/TS 解析
import { parse } from 'node:url'需要 Node ≥ 14.18 且 TSmoduleResolution为node16/nodenext才能正确编译。若仓库仍使用默认的node解析或需要兼容旧版本 Node(≤ 14.17),应继续使用'url'。
57-76: 可读性提升 👍
使用可选链访问prev?.[key]/next?.[key]避免未定义报错,改动正确。
83-95: 过滤器回调使用some提前返回,性能小幅优化
实现正确,赞。src/pages/TableList/index.tsx (3)
41-45: catch 参数改为_error更符合 ESLint/Biome 未使用变量规则
语义无变化,👍
120-152: 描述列排版调整,无逻辑变化
328-336: 使用空值合并运算符避免callNo未定义时报错- (pre, item) => pre + (item.callNo ?? 0) + (pre, item) => pre + (item.callNo ?? 0)改动正确,提高健壮性。
.lintstagedrc (1)
2-3: 配置简化得很好!将原来的 ESLint 和 Prettier 分离的命令合并为单个 Biome 命令,同时增加了 CSS 文件的支持,这样的配置更加简洁高效。
src/components/RightContent/index.tsx (1)
18-30: 优秀的可访问性改进!将
Question组件从div+onClick改为语义化的<a>标签,并添加了适当的href、target和rel属性,这显著提升了组件的可访问性和语义化程度。src/pages/User/Login/login.test.tsx (2)
48-53: 格式化改进提升了可读性将长的链式调用和函数参数格式化为多行,提高了代码的可读性。
Also applies to: 73-75, 81-83
1-2: 需要手动确认startMock的类型声明目前在代码库中未能定位到
@@/requestRecordMock模块或其导出的startMock的任何 TypeScript 类型定义。请手动检查并确认以下几点:
- 模块的实际存放位置及文件名(例如在
src/…下的哪一份文件)- 是否已为该模块提供了
.d.ts声明文件或在tsconfig.json中正确配置了路径别名- 若无类型声明,建议为该模块新增类型(或修改导出语句),以便移除
@ts-ignore完成上述确认后,再决定是否需要继续保留或移除该注释。
src/components/RightContent/AvatarDropdown.tsx (2)
1-12: 导入语句优化得很好将导入语句重新组织,使用类型导入
type React而不是值导入,这是现代 React 开发的最佳实践。
44-47: 参数解构格式化改进将函数参数解构展开为多行格式,提高了代码的可读性。
src/pages/User/Login/index.tsx (4)
15-22: 导入语句组织得很好将
@umijs/max的导入语句重新组织为多行格式,并使用类型导入type React,提高了代码的可读性和遵循了现代 React 开发最佳实践。
74-85: JSX 格式化改进将原来的单行 JSX 元素展开为多行格式,每个属性占一行,这样的格式更加清晰易读。
188-190: FormattedMessage 组件格式化优化将
FormattedMessage组件的属性展开为多行,提高了国际化代码的可读性。Also applies to: 375-378, 385-388
285-287: 条件渲染格式化改进将条件渲染的 JSX 用括号包围并格式化为多行,使代码结构更加清晰。
package.json (1)
73-75: Biome 2.x 最低要求 Node ≥16,engines字段需同步新增
@biomejs/[email protected]后,项目依赖最低 Node 版本已被提升。如果依旧保持engines.node为">=12.0.0",在旧版 Node 环境下安装依赖会直接失败。请确认 CI/CD 及 README 中的 Node 版本要求并同步更新:
- "node": ">=12.0.0" + "node": ">=16.0.0"mock/user.ts (1)
1-1: type-only 导入 👍使用
import type消除了运行时代码,降低了 bundle 体积,符合 TS 最佳实践。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Nitpick comments (1)
biome.json (1)
20-22: 建议显式声明缩进宽度以避免团队认知偏差仅设置
"indentStyle": "space"会沿用 Biome 默认的indentWidth = 2。为对齐原 Prettier 配置并消除歧义,建议显式写出宽度:"enabled": true, "indentStyle": "space", + "indentWidth": 2
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (7)
biome.json(1 hunks)public/scripts/loading.js(1 hunks)src/components/HeaderDropdown/index.tsx(2 hunks)src/components/RightContent/AvatarDropdown.tsx(2 hunks)src/pages/Admin.tsx(2 hunks)src/pages/TableList/index.tsx(12 hunks)src/pages/User/Login/index.tsx(5 hunks)
✅ Files skipped from review due to trivial changes (1)
- public/scripts/loading.js
🚧 Files skipped from review as they are similar to previous changes (5)
- src/pages/Admin.tsx
- src/components/RightContent/AvatarDropdown.tsx
- src/pages/User/Login/index.tsx
- src/components/HeaderDropdown/index.tsx
- src/pages/TableList/index.tsx
⏰ Context from checks skipped due to timeout of 90000ms (9)
- GitHub Check: Analyze (javascript-typescript)
- GitHub Check: build-preview
- GitHub Check: build (16, windows-latest)
- GitHub Check: build (20, windows-latest)
- GitHub Check: build
- GitHub Check: build (16, macOS-latest)
- GitHub Check: build (16, windows-latest)
- GitHub Check: build (20, windows-latest)
- GitHub Check: build
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (5)
README.md (1)
13-13: 缺少替代文本,影响可访问性
会触发 MD045 规则,对屏幕阅读器也不友好。建议补充 alt 文本。- +README.zh-CN.md (1)
13-13: 缺少替代文本,影响可访问性
同样建议为徽章图片添加 alt 文本,避免 markdownlint 报错并提升可访问性。- +README.ru-RU.md (1)
13-13: 缺少替代文本,影响可访问性
为徽章补充 alt,可同时解决 MD045 警告。- +README.ar-DZ.md (1)
14-14: 缺少替代文本,影响可访问性
为徽章图片添加 alt 文本可以提升可访问性并通过 markdownlint 检查。- +README.tr-TR.md (1)
13-13: 缺少替代文本,影响可访问性
建议补写 alt 文本以符合 MD045 规则。- +
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
src/pages/User/Login/__snapshots__/login.test.tsx.snapis excluded by!**/*.snap
📒 Files selected for processing (16)
.lintstagedrc(1 hunks)README.ar-DZ.md(1 hunks)README.es-ES.md(1 hunks)README.fr-FR.md(1 hunks)README.ja-JP.md(1 hunks)README.md(1 hunks)README.pt-BR.md(1 hunks)README.ru-RU.md(1 hunks)README.tr-TR.md(1 hunks)README.zh-CN.md(1 hunks)biome.json(1 hunks)jsconfig.json(0 hunks)src/app.tsx(3 hunks)src/components/RightContent/index.tsx(2 hunks)src/pages/User/Login/index.tsx(5 hunks)tsconfig.json(1 hunks)
💤 Files with no reviewable changes (1)
- jsconfig.json
✅ Files skipped from review due to trivial changes (5)
- tsconfig.json
- README.pt-BR.md
- README.es-ES.md
- README.ja-JP.md
- README.fr-FR.md
🚧 Files skipped from review as they are similar to previous changes (5)
- .lintstagedrc
- src/components/RightContent/index.tsx
- biome.json
- src/pages/User/Login/index.tsx
- src/app.tsx
🧰 Additional context used
🪛 markdownlint-cli2 (0.17.2)
README.ar-DZ.md
13-13: Images should have alternate text (alt text)
(MD045, no-alt-text)
README.md
13-13: Images should have alternate text (alt text)
(MD045, no-alt-text)
README.ru-RU.md
13-13: Images should have alternate text (alt text)
(MD045, no-alt-text)
README.tr-TR.md
13-13: Images should have alternate text (alt text)
(MD045, no-alt-text)
README.zh-CN.md
13-13: Images should have alternate text (alt text)
(MD045, no-alt-text)
⏰ Context from checks skipped due to timeout of 90000ms (3)
- GitHub Check: build-preview
- GitHub Check: build
- GitHub Check: build
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (1)
README.zh-CN.md (1)
9-13: 为 Ant Design 徽章添加替代文本以消除无障碍 lint 警告
第 13 行的徽章使用![]()语法,缺少 alt 文本,markdownlint已提示MD045。建议补充描述,既能消除静态检查告警,也能提升可访问性。示例修正如下:- +[](https://ant.design/)顺便一并检查其他 README 语言版本,保持一致性。
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (4)
.github/workflows/ci.yml(1 hunks).lintstagedrc(1 hunks)README.zh-CN.md(2 hunks)biome.json(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (3)
- .github/workflows/ci.yml
- biome.json
- .lintstagedrc
🧰 Additional context used
🧠 Learnings (1)
README.zh-CN.md (2)
Learnt from: afc163
PR: ant-design/ant-design-pro#11474
File: src/pages/TableList/components/UpdateForm.tsx:44-44
Timestamp: 2025-06-04T02:35:58.665Z
Learning: Ant Design 5.25.0 版本引入了新的 Modal 属性 `destroyOnHidden`,用于在 Modal 隐藏时销毁子组件,与 `destroyOnClose`(在关闭时销毁)不同。
Learnt from: afc163
PR: ant-design/ant-design-pro#11474
File: src/pages/TableList/components/UpdateForm.tsx:44-44
Timestamp: 2025-06-04T02:35:58.665Z
Learning: Ant Design 5.25.0 版本引入了 `destroyOnHidden` 属性来替代已弃用的 `destroyOnClose` 属性。`destroyOnHidden` 用于控制 Modal 组件在隐藏时是否销毁DOM元素,这是 Ant Design 跨组件API标准化的一部分。
🪛 markdownlint-cli2 (0.17.2)
README.zh-CN.md
13-13: Images should have alternate text (alt text)
(MD045, no-alt-text)
⏰ Context from checks skipped due to timeout of 90000ms (5)
- GitHub Check: build
- GitHub Check: build-preview
- GitHub Check: build (20, windows-latest)
- GitHub Check: build
- GitHub Check: build (20, windows-latest)
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #11496 +/- ##
==========================================
+ Coverage 58.41% 59.13% +0.71%
==========================================
Files 81 82 +1
Lines 594 602 +8
Branches 80 83 +3
==========================================
+ Hits 347 356 +9
+ Misses 244 225 -19
- Partials 3 21 +18 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (3)
.github/workflows/coverage.yml (3)
13-17:setup-node可能多余,可考虑移除或明确其用途在同一个作业里已经使用 Bun 运行测试和安装依赖;Bun 自带 Node API 兼容层,通常不再需要额外装 Node。
如无其他纯 Node 步骤(如npm、npx或 TypeScript CLI)可直接删除,能节约 5-6 s 的 CI 时间。- - name: Use Node.js 20 - uses: actions/setup-node@v4 - with: - node-version: 20
18-20: 开启 Bun 缓存,加速安装
oven-sh/setup-bun@v2已内置缓存功能,建议显式开启;同时用bun install --frozen-lockfile(或bun pm install) 保证锁文件一致性。- - uses: oven-sh/setup-bun@v2 - - run: bun install + - uses: oven-sh/setup-bun@v2 + with: + cache: true # 复用 ~/.cache/bun + - run: bun install --frozen-lockfile
21-21: Codecov 步骤缺少覆盖率文件路径,自动探测可能失败如果
bun run test:coverage将覆盖率输出到自定义目录(常见coverage/或coverage/lcov.info),建议在 Codecov Action 中显式指定files或flags,否则偶发上传空报告。- - uses: codecov/codecov-action@v5 + - uses: codecov/codecov-action@v5 + with: + files: ./coverage/lcov.info + flags: unittests
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (4)
.github/workflows/coverage.yml(1 hunks).github/workflows/preview-build.yml(1 hunks)biome.json(1 hunks)package.json(2 hunks)
✅ Files skipped from review due to trivial changes (1)
- .github/workflows/preview-build.yml
🚧 Files skipped from review as they are similar to previous changes (2)
- biome.json
- package.json
⏰ Context from checks skipped due to timeout of 90000ms (3)
- GitHub Check: build (20, windows-latest)
- GitHub Check: build-preview
- GitHub Check: build (20, windows-latest)
🔇 Additional comments (1)
.github/workflows/coverage.yml (1)
12-12: 升级到 actions/checkout@v4 👍跟随官方推荐使用 v4,没问题。

用 biome 代替 prettier 和 eslint。
Summary by CodeRabbit
新功能
样式
杂项
.gitignore现在不再忽略.eslintcache文件。jsconfig.json,调整 TypeScript 配置以支持 React 17+ JSX 转换。