-
-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Closed as not planned
Closed as not planned
Copy link
Labels
bugSomething isn't workingSomething isn't workingfix: out of date packagesuser was on an old version of our tooling or ESLint, updating fixed ituser was on an old version of our tooling or ESLint, updating fixed itpackage: eslint-pluginIssues related to @typescript-eslint/eslint-pluginIssues related to @typescript-eslint/eslint-plugin
Description
Before You File a Bug Report Please Confirm You Have Done The Following...
- I have tried restarting my IDE and the issue persists.
- I have updated to the latest version of the packages.
- I have searched for related issues and found none that matched my issue.
- I have read the FAQ and my problem is not listed.
Playground Link
Repro Code
import { Base, ListChunk } from '@ideamall/data-service';
import { ListModel, NewData } from 'mobx-restful';
import queryString from 'query-string';
export abstract class TableModel<
D extends Base,
F extends NewData<D> = NewData<D>
> extends ListModel<D, F> {
async loadPage(pageIndex: number, pageSize: number, filter: F) {
const { body } = await this.client.get<ListChunk<D>>(
`${this.baseURI}?${queryString.stringify({
...filter,
pageIndex,
pageSize
})}`
);
return { pageData: body!.list, totalCount: body!.count };
}
}
IdeaMall/IdeaShop-miniapp@0ab7e17
ESLint Config
{
"extends": ["taro/react"],
"plugins": ["simple-import-sort"],
"rules": {
"import/first": "off",
"simple-import-sort/imports": "error",
"simple-import-sort/exports": "error",
"@typescript-eslint/no-shadow": "off",
"react/sort-comp": "off",
"react/jsx-uses-react": "off",
"react/react-in-jsx-scope": "off"
}
}
tsconfig
Expected Result
ESLint run with no crash in IdeaMall/IdeaShop-miniapp#45.
Actual Result
Oops! Something went wrong! :(
ESLint: 8.54.0
TypeError: Cannot read properties of undefined (reading 'length')
Occurred while linting ~/idea2app/IdeaMall/mini-app/src/store/Base.ts:9
Rule: "@typescript-eslint/no-useless-constructor"
at ~/idea2app/IdeaMall/mini-app/node_modules/.pnpm/@typescript-eslint+eslint-plugin@6.12.0_@typescript-eslint+parser@6.12.0_eslint@8.54.0_typescript@5.2.2/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-useless-constructor.js:30:26
at Array.some (<anonymous>)
at checkParams (~/idea2app/IdeaMall/mini-app/node_modules/.pnpm/@typescript-eslint+eslint-plugin@6.12.0_@typescript-eslint+parser@6.12.0_eslint@8.54.0_typescript@5.2.2/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-useless-constructor.js:29:31)
at MethodDefinition (~/idea2app/IdeaMall/mini-app/node_modules/.pnpm/@typescript-eslint+eslint-plugin@6.12.0_@typescript-eslint+parser@6.12.0_eslint@8.54.0_typescript@5.2.2/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-useless-constructor.js:52:21)
at ruleErrorHandler (~/idea2app/IdeaMall/mini-app/node_modules/.pnpm/eslint@8.54.0/node_modules/eslint/lib/linter/linter.js:1091:28)
at ~/idea2app/IdeaMall/mini-app/node_modules/.pnpm/eslint@8.54.0/node_modules/eslint/lib/linter/safe-emitter.js:45:58
at Array.forEach (<anonymous>)
at Object.emit (~/idea2app/IdeaMall/mini-app/node_modules/.pnpm/eslint@8.54.0/node_modules/eslint/lib/linter/safe-emitter.js:45:38)
at NodeEventGenerator.applySelector (~/idea2app/IdeaMall/mini-app/node_modules/.pnpm/eslint@8.54.0/node_modules/eslint/lib/linter/node-event-generator.js:297:26)
at NodeEventGenerator.applySelectors (~/idea2app/IdeaMall/mini-app/node_modules/.pnpm/eslint@8.54.0/node_modules/eslint/lib/linter/node-event-generator.js:326:22)
at NodeEventGenerator.enterNode (~/idea2app/IdeaMall/mini-app/node_modules/.pnpm/eslint@8.54.0/node_modules/eslint/lib/linter/node-event-generator.js:340:14)
at CodePathAnalyzer.enterNode (~/idea2app/IdeaMall/mini-app/node_modules/.pnpm/eslint@8.54.0/node_modules/eslint/lib/linter/code-path-analysis/code-path-analyzer.js:803:23)
at ~/idea2app/IdeaMall/mini-app/node_modules/.pnpm/eslint@8.54.0/node_modules/eslint/lib/linter/linter.js:1126:32
at Array.forEach (<anonymous>)
at runRules (~/idea2app/IdeaMall/mini-app/node_modules/.pnpm/eslint@8.54.0/node_modules/eslint/lib/linter/linter.js:1121:15)
at Linter._verifyWithoutProcessors (~/idea2app/IdeaMall/mini-app/node_modules/.pnpm/eslint@8.54.0/node_modules/eslint/lib/linter/linter.js:1370:31)
at Linter._verifyWithConfigArray (~/idea2app/IdeaMall/mini-app/node_modules/.pnpm/eslint@8.54.0/node_modules/eslint/lib/linter/linter.js:1822:21)
at Linter.verify (~/idea2app/IdeaMall/mini-app/node_modules/.pnpm/eslint@8.54.0/node_modules/eslint/lib/linter/linter.js:1452:65)
at Linter.verifyAndFix (~/idea2app/IdeaMall/mini-app/node_modules/.pnpm/eslint@8.54.0/node_modules/eslint/lib/linter/linter.js:2083:29)
at verifyText (~/idea2app/IdeaMall/mini-app/node_modules/.pnpm/eslint@8.54.0/node_modules/eslint/lib/cli-engine/cli-engine.js:254:48)
at CLIEngine.executeOnFiles (~/idea2app/IdeaMall/mini-app/node_modules/.pnpm/eslint@8.54.0/node_modules/eslint/lib/cli-engine/cli-engine.js:834:28)
at ESLint.lintFiles (~/idea2app/IdeaMall/mini-app/node_modules/.pnpm/eslint@8.54.0/node_modules/eslint/lib/eslint/eslint.js:551:23)
at Object.execute (~/idea2app/IdeaMall/mini-app/node_modules/.pnpm/eslint@8.54.0/node_modules/eslint/lib/cli.js:402:36)
at async main (~/idea2app/IdeaMall/mini-app/node_modules/.pnpm/eslint@8.54.0/node_modules/eslint/bin/eslint.js:152:22)
Additional Info
If I turn off this rule, the error disappears:
{
"rules": {
"@typescript-eslint/no-useless-constructor": "off",
}
}
May be related with #7721.
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingfix: out of date packagesuser was on an old version of our tooling or ESLint, updating fixed ituser was on an old version of our tooling or ESLint, updating fixed itpackage: eslint-pluginIssues related to @typescript-eslint/eslint-pluginIssues related to @typescript-eslint/eslint-plugin