eslint/typescript-eslint-parser

TypeError: Cannot read property 'variables' of undefined

odanado opened this issue ยท 7 comments

What version of TypeScript are you using?
typescript@^3.1.6

What version of typescript-eslint-parser are you using?
typescript-eslint-parser@^20.1.1

What code were you trying to parse?

export interface Counter {
    count: number;
}

What did you expect to happen?
no error.

What happened?

$ yarn eslint index.ts
TypeError: Cannot read property 'variables' of undefined
    at findVariablesInScope (/Users/user/source/sandbox/eslint-parser-sandbox/node_modules/eslint/lib/rules/no-redeclare.js:46:19)
    at checkForGlobal (/Users/user/source/sandbox/eslint-parser-sandbox/node_modules/eslint/lib/rules/no-redeclare.js:74:17)
    at listeners.(anonymous function).forEach.listener (/Users/user/source/sandbox/eslint-parser-sandbox/node_modules/eslint/lib/util/safe-emitter.js:45:58)
    at Array.forEach (<anonymous>)
    at Object.emit (/Users/user/source/sandbox/eslint-parser-sandbox/node_modules/eslint/lib/util/safe-emitter.js:45:38)
    at NodeEventGenerator.applySelector (/Users/user/source/sandbox/eslint-parser-sandbox/node_modules/eslint/lib/util/node-event-generator.js:251:26)
    at NodeEventGenerator.applySelectors (/Users/user/source/sandbox/eslint-parser-sandbox/node_modules/eslint/lib/util/node-event-generator.js:280:22)
    at NodeEventGenerator.enterNode (/Users/user/source/sandbox/eslint-parser-sandbox/node_modules/eslint/lib/util/node-event-generator.js:294:14)
    at CodePathAnalyzer.enterNode (/Users/user/source/sandbox/eslint-parser-sandbox/node_modules/eslint/lib/code-path-analysis/code-path-analyzer.js:632:23)
    at nodeQueue.forEach.traversalInfo (/Users/user/source/sandbox/eslint-parser-sandbox/node_modules/eslint/lib/linter.js:860:28)
error Command failed with exit code 2.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
$ cat .eslintrc.js
module.exports = {
    "extends": "eslint:recommended",
    "parser": "typescript-eslint-parser",
};

Thank you for the report.

However, I couldn't reproduce it on the latest version of typescript-eslint-parser.
Would you confirm it?

I upgrade to the latest version (21.0.0) of typescript-eslint-parser.
As a result, the lint execution was successful. ๐Ÿ‘

Thanks @odanado, glad upgrading works for you! I'll go ahead and close this.

@platinumazure Not sure if it's the same bug, but that's my log for typescript-eslint-parser@^20.1.1 and typescript@3.1.6:

TypeError: Cannot read property 'parent' of undefined
    at variable.defs.some.def (/Users/fedirushakov/Documents/phyzeek-mobile/node_modules/eslint/lib/rules/no-unused-vars.js:184:54)
    at Array.some (<anonymous>)
    at hasRestSpreadSibling (/Users/fedirushakov/Documents/phyzeek-mobile/node_modules/eslint/lib/rules/no-unused-vars.js:182:38)
    at collectUnusedVariables (/Users/fedirushakov/Documents/phyzeek-mobile/node_modules/eslint/lib/rules/no-unused-vars.js:578:80)
    at collectUnusedVariables (/Users/fedirushakov/Documents/phyzeek-mobile/node_modules/eslint/lib/rules/no-unused-vars.js:585:17)
    at collectUnusedVariables (/Users/fedirushakov/Documents/phyzeek-mobile/node_modules/eslint/lib/rules/no-unused-vars.js:585:17)
    at Program:exit (/Users/fedirushakov/Documents/phyzeek-mobile/node_modules/eslint/lib/rules/no-unused-vars.js:630:36)
    at listeners.(anonymous function).forEach.listener (/Users/fedirushakov/Documents/phyzeek-mobile/node_modules/eslint/lib/util/safe-emitter.js:45:58)
    at Array.forEach (<anonymous>)
    at Object.emit (/Users/fedirushakov/Documents/phyzeek-mobile/node_modules/eslint/lib/util/safe-emitter.js:45:38)
error Command failed with exit code 2.

Please let me know if any additional info is needed.

@todorone Would you try the latest version?

@mysticatea Sorry, it's typo in report, I meant I had latest version that resulted in bug - 21.0.1. Version 20.0.0 works correctly.

@todorone OK. It sounds like another issue. Would you open a new issue with our issue template?