From 2cfb5d84471d0bf01a67d732befcbe9e5d863e2f Mon Sep 17 00:00:00 2001 From: aojunhao123 <1844749591@qq.com> Date: Wed, 15 Jul 2026 15:09:49 +0800 Subject: [PATCH 1/2] chore: run eslint over test files and fix surfaced errors The `lint` script only scanned `src/`, so the jest config block for `tests/**` in eslint.config.mjs never actually ran. Extend the script to cover `tests/` and fix the 3 errors it surfaces: - domHook.js: setter used `return` for control flow, but a setter's return value is silently discarded (no-setter-return) -> use if/else - scroll.test.js: oversized deltaY literal lost precision (no-loss-of-precision) -> 1e20, same magnitude - drop dead `eslint-disable no-param-reassign` directives in domHook.js and useScrollTo.tsx (the rule isn't enabled) --- package.json | 2 +- src/hooks/useScrollTo.tsx | 1 - tests/scroll.test.js | 2 +- tests/utils/domHook.js | 11 +++++------ 4 files changed, 7 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 8c42e4b3..b4f85221 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "docs:deploy": "gh-pages -d docs-dist", "deploy": "npm run gh-pages", "gh-pages": "npm run compile && cross-env GH_PAGES=1 npm run docs:build && npm run docs:deploy", - "lint": "eslint src/ --ext .tsx,.ts", + "lint": "eslint src/ tests/ --ext .tsx,.ts,.jsx,.js", "prepublishOnly": "npm run compile && rc-np", "prettier": "prettier --write --ignore-unknown .", "start": "dumi dev", diff --git a/src/hooks/useScrollTo.tsx b/src/hooks/useScrollTo.tsx index eb137ed3..ce143c9d 100644 --- a/src/hooks/useScrollTo.tsx +++ b/src/hooks/useScrollTo.tsx @@ -1,4 +1,3 @@ -/* eslint-disable no-param-reassign */ import * as React from 'react'; import { raf, useLayoutEffect, warning } from '@rc-component/util'; import type { GetKey, GetSize } from '../interface'; diff --git a/tests/scroll.test.js b/tests/scroll.test.js index c0a0bc04..f9dd1d23 100644 --- a/tests/scroll.test.js +++ b/tests/scroll.test.js @@ -559,7 +559,7 @@ describe('List.Scroll', () => { const holder = container.querySelector('ul'); const event = createEvent.wheel(holder, { - deltaY: 99999999999999999999, + deltaY: 1e20, }); fireEvent(holder, event); diff --git a/tests/utils/domHook.js b/tests/utils/domHook.js index 4a420088..8a2cf6a1 100644 --- a/tests/utils/domHook.js +++ b/tests/utils/domHook.js @@ -1,11 +1,10 @@ -/* eslint-disable no-param-reassign */ const NO_EXIST = { __NOT_EXIST: true }; export function spyElementPrototypes(Element, properties) { const propNames = Object.keys(properties); const originDescriptors = {}; - propNames.forEach(propName => { + propNames.forEach((propName) => { const originDescriptor = Object.getOwnPropertyDescriptor(Element.prototype, propName); originDescriptors[propName] = originDescriptor || NO_EXIST; @@ -22,9 +21,10 @@ export function spyElementPrototypes(Element, properties) { ...spyProp, set(value) { if (spyProp.set) { - return spyProp.set.call(this, originDescriptor, value); + spyProp.set.call(this, originDescriptor, value); + } else { + originDescriptor.set(value); } - return originDescriptor.set(value); }, get() { if (spyProp.get) { @@ -39,7 +39,7 @@ export function spyElementPrototypes(Element, properties) { return { mockRestore() { - propNames.forEach(propName => { + propNames.forEach((propName) => { const originDescriptor = originDescriptors[propName]; if (originDescriptor === NO_EXIST) { delete Element.prototype[propName]; @@ -58,4 +58,3 @@ export function spyElementPrototype(Element, propName, property) { [propName]: property, }); } -/* eslint-enable no-param-reassign */ From 606b7d84ba985a911f1d4bbfbe143fa4478b6fa4 Mon Sep 17 00:00:00 2001 From: aojunhao123 <1844749591@qq.com> Date: Wed, 15 Jul 2026 15:10:29 +0800 Subject: [PATCH 2/2] update --- .github/workflows/react-doctor.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/react-doctor.yml b/.github/workflows/react-doctor.yml index 56430b6e..91e74c33 100644 --- a/.github/workflows/react-doctor.yml +++ b/.github/workflows/react-doctor.yml @@ -19,6 +19,4 @@ jobs: - uses: actions/checkout@v7 with: persist-credentials: false - - uses: millionco/react-doctor@0b4f4f4bd248a154e64eb508a48347f71154b3f3 - with: - github-token: ${{ secrets.GITHUB_TOKEN }} + - uses: millionco/react-doctor@964622bf15fa5f8eef7e05196407aa08dc779087 # v2.2.7