-
Notifications
You must be signed in to change notification settings - Fork 153
Closed
Labels
Description
Hello, prefer-user-event
rule seems to crash in certain cases. This issue was spotted by automated CI run - it is not blocking my development or anything.
AriPerkkio/eslint-remote-tester#210 (comment)
"eslint-plugin-testing-library": "^4.9.0"
module.exports = {
root: true,
env: {
es6: true,
node: true,
},
parserOptions: {
ecmaVersion: 2020,
sourceType: "module",
ecmaFeatures: {
jsx: true,
},
},
plugins: ["testing-library"],
rules: {
"testing-library/prefer-user-event": "error",
},
};
Minimal repro:
const createEvent = () => "Event";
const event = createEvent();
TypeError: Cannot read property 'value' of undefined
Occurred while linting /home/runner/work/eslint-remote-tester/eslint-remote-tester/ci/node_modules/eslint-remote-tester/.cache-eslint-remote-tester/doasync/trace-router/src/router.ts:35
at Object.VariableDeclarator (/home/runner/work/eslint-remote-tester/eslint-remote-tester/ci/node_modules/eslint-plugin-testing-library/rules/prefer-user-event.js:139:26)
at enhancedRuleInstructions.<computed> (/home/runner/work/eslint-remote-tester/eslint-remote-tester/ci/node_modules/eslint-plugin-testing-library/create-testing-library-rule/detect-testing-library-utils.js:518:105)
Crash reports from real projects
Rule: prefer-user-event
- Message:
Cannot read property 'value' of undefined Occurred while linting /home/runner/work/eslint-remote-tester/eslint-remote-tester/ci/node_modules/eslint-remote-tester/.cache-eslint-remote-tester/doasync/trace-router/src/route.ts:114
- Path:
doasync/trace-router/src/route.ts
- Link
112 | const { path, matchOptions } = config;
113 | const match = createMatch<P>(path, matchOptions);
> 114 | const navigate = createEvent<P | void>();
115 | const redirect = createEvent<P | void>();
116 | const $params = createStore<P | null>(null);
117 | const $visible = $params.map(Boolean);
TypeError: Cannot read property 'value' of undefined
Occurred while linting /home/runner/work/eslint-remote-tester/eslint-remote-tester/ci/node_modules/eslint-remote-tester/.cache-eslint-remote-tester/doasync/trace-router/src/route.ts:114
at Object.VariableDeclarator (/home/runner/work/eslint-remote-tester/eslint-remote-tester/ci/node_modules/eslint-plugin-testing-library/rules/prefer-user-event.js:139:26)
at enhancedRuleInstructions.<computed> (/home/runner/work/eslint-remote-tester/eslint-remote-tester/ci/node_modules/eslint-plugin-testing-library/create-testing-library-rule/detect-testing-library-utils.js:518:105)
at /home/runner/work/eslint-remote-tester/eslint-remote-tester/ci/node_modules/eslint/lib/linter/safe-emitter.js:45:58
at Array.forEach (<anonymous>)
at Object.emit (/home/runner/work/eslint-remote-tester/eslint-remote-tester/ci/node_modules/eslint/lib/linter/safe-emitter.js:45:38)
at NodeEventGenerator.applySelector (/home/runner/work/eslint-remote-tester/eslint-remote-tester/ci/node_modules/eslint/lib/linter/node-event-generator.js:293:26)
at NodeEventGenerator.applySelectors (/home/runner/work/eslint-remote-tester/eslint-remote-tester/ci/node_modules/eslint/lib/linter/node-event-generator.js:322:22)
at NodeEventGenerator.enterNode (/home/runner/work/eslint-remote-tester/eslint-remote-tester/ci/node_modules/eslint/lib/linter/node-event-generator.js:336:14)
at CodePathAnalyzer.enterNode (/home/runner/work/eslint-remote-tester/eslint-remote-tester/ci/node_modules/eslint/lib/linter/code-path-analysis/code-path-analyzer.js:711:23)
at /home/runner/work/eslint-remote-tester/eslint-remote-tester/ci/node_modules/eslint/lib/linter/linter.js:960:32
Rule: prefer-user-event
- Message:
Cannot read property 'value' of undefined Occurred while linting /home/runner/work/eslint-remote-tester/eslint-remote-tester/ci/node_modules/eslint-remote-tester/.cache-eslint-remote-tester/doasync/trace-router/src/router.ts:35
- Path:
doasync/trace-router/src/router.ts
- Link
33 | let history = userHistory! ?? createHistory<S>(root);
34 |
> 35 | const historyUpdated = createEvent<Update<S>>();
36 | const $historyUpdate = createStore<Update<S>>({
37 | location: history.location,
38 | action: history.action,
TypeError: Cannot read property 'value' of undefined
Occurred while linting /home/runner/work/eslint-remote-tester/eslint-remote-tester/ci/node_modules/eslint-remote-tester/.cache-eslint-remote-tester/doasync/trace-router/src/router.ts:35
at Object.VariableDeclarator (/home/runner/work/eslint-remote-tester/eslint-remote-tester/ci/node_modules/eslint-plugin-testing-library/rules/prefer-user-event.js:139:26)
at enhancedRuleInstructions.<computed> (/home/runner/work/eslint-remote-tester/eslint-remote-tester/ci/node_modules/eslint-plugin-testing-library/create-testing-library-rule/detect-testing-library-utils.js:518:105)
at /home/runner/work/eslint-remote-tester/eslint-remote-tester/ci/node_modules/eslint/lib/linter/safe-emitter.js:45:58
at Array.forEach (<anonymous>)
at Object.emit (/home/runner/work/eslint-remote-tester/eslint-remote-tester/ci/node_modules/eslint/lib/linter/safe-emitter.js:45:38)
at NodeEventGenerator.applySelector (/home/runner/work/eslint-remote-tester/eslint-remote-tester/ci/node_modules/eslint/lib/linter/node-event-generator.js:293:26)
at NodeEventGenerator.applySelectors (/home/runner/work/eslint-remote-tester/eslint-remote-tester/ci/node_modules/eslint/lib/linter/node-event-generator.js:322:22)
at NodeEventGenerator.enterNode (/home/runner/work/eslint-remote-tester/eslint-remote-tester/ci/node_modules/eslint/lib/linter/node-event-generator.js:336:14)
at CodePathAnalyzer.enterNode (/home/runner/work/eslint-remote-tester/eslint-remote-tester/ci/node_modules/eslint/lib/linter/code-path-analysis/code-path-analyzer.js:711:23)
at /home/runner/work/eslint-remote-tester/eslint-remote-tester/ci/node_modules/eslint/lib/linter/linter.js:960:32