Closed
Description
Have you read the Troubleshooting section?
Yes
Plugin version
v6.3.0
ESLint version
v9..9.0
Node.js version
20.16.0
package manager and version
yarn v1
Operating system
macOS
Bug description
Example error:
TypeError: context.getScope is not a function
Occurred while linting ./examples/example-web-frontend/src/hello-world.test.tsx:39
Rule: "testing-library/await-async-utils"
Steps to reproduce
run eslint in terminal or ide using eslint v9.9.0 and latest plugin.
Error output/screenshots
Rule: "testing-library/await-async-utils"
at getInnermostFunctionScope (/project/node_modules/eslint-plugin-testing-library/dist/node-utils/index.js:205:71)
at getInnermostReturningFunction (/project/node_modules/eslint-plugin-testing-library/dist/node-utils/index.js:331:27)
at detectAsyncUtilWrapper (/project/node_modules/eslint-plugin-testing-library/dist/rules/await-async-utils.js:32:82)
at CallExpression Identifier (/project/node_modules/eslint-plugin-testing-library/dist/rules/await-async-utils.js:86:21)
at enhancedRuleInstructions.<computed> (/project/node_modules/eslint-plugin-testing-library/dist/create-testing-library-rule/detect-testing-library-utils.js:528:105)
at ruleErrorHandler (/project/node_modules/eslint/lib/linter/linter.js:1124:48)
at /Users/dgreene/medallia/magic-fun/node_modules/eslint/lib/linter/safe-emitter.js:45:58
ESLint configuration
Not the whole config, just the part regarding test files.
The project is using [email protected]
.
import globals from 'globals';
import testingLibrary from 'eslint-plugin-testing-library';
import { config } from 'typescript-eslint';
import jest from 'eslint-plugin-jest';
import jestDom from 'eslint-plugin-jest-dom';
export const testConfig = config({
name: 'eslint-config-test-files',
files: [
'**/*.test.?(disabled.)?(m)[jt]s?(x)',
'**/*.spec.?(m)[jt]s?(x)',
'**/demo/**/*.[jt]s?(x)',
'**/demo-sandbox/**/*.[jt]s?(x)',
'**/__mocks__/**/*.[jt]s?(x)',
'**/test/**/*.[jt]s?(x)',
'**/fixtures/**/*.[jt]s?(x)'
],
languageOptions: {
globals: { ...globals.jest, jsdom: true }
},
plugins: {
jest,
'jest-dom': jestDom,
'testing-library': testingLibrary
},
rules: {
...jest.configs['flat/recommended'].rules,
...jestDom.configs['flat/recommended'].rules,
...testingLibrary.configs['flat/react'].rules
}
});
Rule(s) affected
Seems like all of them.
Anything else?
It seems that getScope
was moved from context
to sourceCode
https://eslint.org/docs/latest/use/troubleshooting/v9-rule-api-changes
https://eslint.org/blog/2023/09/preparing-custom-rules-eslint-v9/#context.getscope()
Do you want to submit a pull request to fix this bug?
No