Skip to content
This repository has been archived by the owner on Mar 25, 2021. It is now read-only.

3.12.0: TypeError: Cannot read property 'kind' of undefined #1345

Closed
sanex3339 opened this issue Jun 25, 2016 · 17 comments
Closed

3.12.0: TypeError: Cannot read property 'kind' of undefined #1345

sanex3339 opened this issue Jun 25, 2016 · 17 comments

Comments

@sanex3339
Copy link

sanex3339 commented Jun 25, 2016

Bug Report

  • TSLint version: 3.12.0
  • TypeScript version: 1.8.10
  • Running TSLint via: CLI

after update to 3.12.0 i got a following error when run tslint:

/home/sanex/PhpstormProjects/javascript-obfuscator/node_modules/tslint/lib/rules/typedefRule.js:134
        var performCheck = !(node.initializer.kind === ts.SyntaxKind.ArrowFunction && node.type == null);


TypeError: Cannot read property 'kind' of undefined
 at TypedefWalker.visitPropertyDeclaration (/home/sanex/PhpstormProjects/javascript-obfuscator/node_modules/tslint/lib/rules/typedefRule.js:134:46)
    at TypedefWalker.SyntaxWalker.visitNode (/home/sanex/PhpstormProjects/javascript-obfuscator/node_modules/tslint/lib/language/walker/syntaxWalker.js:399:22)
    at /home/sanex/PhpstormProjects/javascript-obfuscator/node_modules/tslint/lib/language/walker/syntaxWalker.js:459:63
    at visitEachNode (/home/sanex/PhpstormProjects/javascript-obfuscator/node_modules/typescript/lib/typescript.js:7255:30)
    at Object.forEachChild (/home/sanex/PhpstormProjects/javascript-obfuscator/node_modules/typescript/lib/typescript.js:7484:21)
    at TypedefWalker.SyntaxWalker.walkChildren (/home/sanex/PhpstormProjects/javascript-obfuscator/node_modules/tslint/lib/language/walker/syntaxWalker.js:459:12)
    at TypedefWalker.SyntaxWalker.visitClassDeclaration (/home/sanex/PhpstormProjects/javascript-obfuscator/node_modules/tslint/lib/language/walker/syntaxWalker.js:43:14)
    at TypedefWalker.SyntaxWalker.visitNode (/home/sanex/PhpstormProjects/javascript-obfuscator/node_modules/tslint/lib/language/walker/syntaxWalker.js:264:22)
    at /home/sanex/PhpstormProjects/javascript-obfuscator/node_modules/tslint/lib/language/walker/syntaxWalker.js:459:63
    at visitEachNode (/home/sanex/PhpstormProjects/javascript-obfuscator/node_modules/typescript/lib/typescript.js:7255:30)

config:

{
  "rules": {
    ...
    "typedef": [
      true,
      "call-signature",
      "parameter",
      "arrow-parameter",
      "property-declaration",
      "variable-declaration",
      "member-variable-declaration"
    ],
   ...
  }
}
@jkillian
Copy link
Contributor

Thanks for the report @sanex3339 - can you post a snippet of code that causes this error?

@sanex3339
Copy link
Author

sanex3339 commented Jun 25, 2016

TSLint check all files in this directory:
https://github.com/sanex3339/javascript-obfuscator/tree/dev/src

@sanex3339
Copy link
Author

jkillian pushed a commit that referenced this issue Jun 25, 2016
@sanex3339
Copy link
Author

@JonathanPorta
Copy link

I am seeing this as well. Stacktrace:

TypeError: Cannot read property 'kind' of undefined
    at TypedefWalker.visitPropertyDeclaration (/home/portaj/devel/portaj/mtna/Montana-News-Archive/node_modules/tslint/lib/rules/typedefRule.js:134:46)
    at TypedefWalker.SyntaxWalker.visitNode (/home/portaj/devel/portaj/mtna/Montana-News-Archive/node_modules/tslint/lib/language/walker/syntaxWalker.js:399:22)
    at /home/portaj/devel/portaj/mtna/Montana-News-Archive/node_modules/tslint/lib/language/walker/syntaxWalker.js:459:63
    at visitEachNode (/home/portaj/devel/portaj/mtna/Montana-News-Archive/node_modules/typescript/lib/typescript.js:7255:30)
    at Object.forEachChild (/home/portaj/devel/portaj/mtna/Montana-News-Archive/node_modules/typescript/lib/typescript.js:7484:21)
    at TypedefWalker.SyntaxWalker.walkChildren (/home/portaj/devel/portaj/mtna/Montana-News-Archive/node_modules/tslint/lib/language/walker/syntaxWalker.js:459:12)
    at TypedefWalker.SyntaxWalker.visitClassDeclaration (/home/portaj/devel/portaj/mtna/Montana-News-Archive/node_modules/tslint/lib/language/walker/syntaxWalker.js:43:14)
    at TypedefWalker.SyntaxWalker.visitNode (/home/portaj/devel/portaj/mtna/Montana-News-Archive/node_modules/tslint/lib/language/walker/syntaxWalker.js:264:22)
    at /home/portaj/devel/portaj/mtna/Montana-News-Archive/node_modules/tslint/lib/language/walker/syntaxWalker.js:459:63
    at visitEachNode (/home/portaj/devel/portaj/mtna/Montana-News-Archive/node_modules/typescript/lib/typescript.js:7255:30)

@jkillian
Copy link
Contributor

jkillian commented Jun 25, 2016

Thanks @sanex3339 and @JonathanPorta, I've filed #1346 which should fix this.

@sanex3339
Copy link
Author

thank you!

jkillian added a commit that referenced this issue Jun 25, 2016
@JonathanPorta
Copy link

Thanks for hopping on this so quick!

@jkillian
Copy link
Contributor

New version of TSLint is published, let me know if you run into any other issues!

@joshwiens
Copy link

joshwiens commented Jul 15, 2016

@jkillian Running into a slightly different variation of this on both the current published version & @next ( please let me know if you would prefer a new issue as opposed to using the "related-ish" one )

Node : v6.3.0
OSX: 10.11.4

Using the following config ...

    "one-line": [
      true,
      "check-open-brace",
      "check-catch",
      "check-else",
      "check-finally",
      "check-whitespace"
    ],
/Users/d3viant0ne/Projects/easymetrics/emnext-client/node_modules/tslint/lib/rules/oneLineRule.js:163
        if (body.kind === ts.SyntaxKind.ModuleBlock) {
                ^

TypeError: Cannot read property 'kind' of undefined
    at OneLineWalker.visitModuleDeclaration (/Users/d3viant0ne/Projects/easymetrics/emnext-client/node_modules/tslint/lib/rules/oneLine
    at OneLineWalker.SyntaxWalker.visitNode (/Users/d3viant0ne/Projects/easymetrics/emnext-client/node_modules/tslint/lib/language/walk
    at /Users/d3viant0ne/Projects/easymetrics/emnext-client/node_modules/tslint/lib/language/walker/syntaxWalker.js:459:63
    at visitEachNode (/Users/d3viant0ne/Projects/easymetrics/emnext-client/node_modules/typescript/lib/typescript.js:7959:30)
    at Object.forEachChild (/Users/d3viant0ne/Projects/easymetrics/emnext-client/node_modules/typescript/lib/typescript.js:8117:24)
    at OneLineWalker.SyntaxWalker.walkChildren (/Users/d3viant0ne/Projects/easymetrics/emnext-client/node_modules/tslint/lib/language/w
    at OneLineWalker.SyntaxWalker.visitSourceFile (/Users/d3viant0ne/Projects/easymetrics/emnext-client/node_modules/tslint/lib/languag
    at OneLineWalker.SyntaxWalker.visitNode (/Users/d3viant0ne/Projects/easymetrics/emnext-client/node_modules/tslint/lib/language/walk
    at OneLineWalker.SyntaxWalker.walk (/Users/d3viant0ne/Projects/easymetrics/emnext-client/node_modules/tslint/lib/language/walker/sy
    at Rule.AbstractRule.applyWithWalker (/Users/d3viant0ne/Projects/easymetrics/emnext-client/node_modules/tslint/lib/language/rule/ab

@sebastianhaas
Copy link

sebastianhaas commented Jul 15, 2016

Exact same stack trace for me. The issue does occur on Travis but not on my local Windows machine. Both running Node 6.

@JohannesRudolph
Copy link

same issue here. @d3viant0ne should probably open a new ticket, this one is closed.

@adidahiya
Copy link
Contributor

Yeah a new ticket would be nice, as well as an isolated code sample where the linter crashes.

@joshwiens
Copy link

@adidahiya - I'll open a new ticket and get you an isolated example

@omelhoro
Copy link

omelhoro commented Oct 2, 2016

I had this issue in the ng2 starter pack using tslint@3.15.1 and traced the error to that file https://github.com/AngularClass/angular2-webpack-starter/blob/master/src/custom-typings.d.ts

I resolved it by commenting out this line

declare module '*';

The error stack:

/Users/igor/dev/own/lang-project/ld-angular-rx/node_modules/tslint/lib/rules/oneLineRule.js:163
        if (body.kind === ts.SyntaxKind.ModuleBlock) {
                ^

TypeError: Cannot read property 'kind' of undefined
    at OneLineWalker.visitModuleDeclaration (/Users/igor/dev/own/lang-project/ld-angular-rx/node_modules/tslint/lib/rules/oneLineRule.js:163:17)
    at OneLineWalker.SyntaxWalker.visitNode (/Users/igor/dev/own/lang-project/ld-angular-rx/node_modules/tslint/lib/language/walker/syntaxWalker.js:366:22)
    at /Users/igor/dev/own/lang-project/ld-angular-rx/node_modules/tslint/lib/language/walker/syntaxWalker.js:459:63
    at visitEachNode (/Users/igor/dev/own/lang-project/ld-angular-rx/node_modules/typescript/lib/typescript.js:8251:30)
    at Object.forEachChild (/Users/igor/dev/own/lang-project/ld-angular-rx/node_modules/typescript/lib/typescript.js:8411:24)
    at OneLineWalker.SyntaxWalker.walkChildren (/Users/igor/dev/own/lang-project/ld-angular-rx/node_modules/tslint/lib/language/walker/syntaxWalker.js:459:12)
    at OneLineWalker.SyntaxWalker.visitSourceFile (/Users/igor/dev/own/lang-project/ld-angular-rx/node_modules/tslint/lib/language/walker/syntaxWalker.js:190:14)
    at OneLineWalker.SyntaxWalker.visitNode (/Users/igor/dev/own/lang-project/ld-angular-rx/node_modules/tslint/lib/language/walker/syntaxWalker.js:414:22)
    at OneLineWalker.SyntaxWalker.walk (/Users/igor/dev/own/lang-project/ld-angular-rx/node_modules/tslint/lib/language/walker/syntaxWalker.js:7:14)
    at Rule.AbstractRule.applyWithWalker (/Users/igor/dev/own/lang-project/ld-angular-rx/node_modules/tslint/lib/language/rule/abstractRule.js:19:16)

@adidahiya
Copy link
Contributor

@omelhoro that looks like #1425

@Andrey-Pavlov
Copy link

npm install tslint@next helps me
#1425

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

9 participants