eslint-config-universe
eslint-config-universe copied to clipboard
Cannot read property 'type' of undefined
Hello !
I have a problem when I'm trying to write es7 decorators.
I have this error with this command ./node_modules/.bin/eslint pages/login.js :
Cannot read property 'type' of undefined
TypeError: Cannot read property 'type' of undefined
at isForInRef (/Users/guillaumemartinez/GitHub/sodexo-web/node_modules/eslint/lib/rules/no-unused-vars.js:410:24)
at variable.references.some.ref (/Users/guillaumemartinez/GitHub/sodexo-web/node_modules/eslint/lib/rules/no-unused-vars.js:447:21)
at Array.some (<anonymous>)
at isUsedVariable (/Users/guillaumemartinez/GitHub/sodexo-web/node_modules/eslint/lib/rules/no-unused-vars.js:446:40)
at collectUnusedVariables (/Users/guillaumemartinez/GitHub/sodexo-web/node_modules/eslint/lib/rules/no-unused-vars.js:569:26)
at collectUnusedVariables (/Users/guillaumemartinez/GitHub/sodexo-web/node_modules/eslint/lib/rules/no-unused-vars.js:576:17)
at Program:exit (/Users/guillaumemartinez/GitHub/sodexo-web/node_modules/eslint/lib/rules/no-unused-vars.js:621:36)
at listeners.(anonymous function).forEach.listener (/Users/guillaumemartinez/GitHub/sodexo-web/node_modules/eslint/lib/util/safe-emitter.js:47:58)
at Array.forEach (<anonymous>)
at Object.emit (/Users/guillaumemartinez/GitHub/sodexo-web/node_modules/eslint/lib/util/safe-emitter.js:47:38)
at NodeEventGenerator.applySelector (/Users/guillaumemartinez/GitHub/sodexo-web/node_modules/eslint/lib/util/node-event-generator.js:251:26)
at NodeEventGenerator.applySelectors (/Users/guillaumemartinez/GitHub/sodexo-web/node_modules/eslint/lib/util/node-event-generator.js:280:22)
at NodeEventGenerator.leaveNode (/Users/guillaumemartinez/GitHub/sodexo-web/node_modules/eslint/lib/util/node-event-generator.js:303:14)
at CodePathAnalyzer.leaveNode (/Users/guillaumemartinez/GitHub/sodexo-web/node_modules/eslint/lib/code-path-analysis/code-path-analyzer.js:630:23)
at Traverser.leave [as _leave] (/Users/guillaumemartinez/GitHub/sodexo-web/node_modules/eslint/lib/linter.js:1000:32)
at Traverser._traverse (/Users/guillaumemartinez/GitHub/sodexo-web/node_modules/eslint/lib/util/traverser.js:155:18)
Content of pages/login.js :
@App
export default class Login extends React.PureComponent {
render() {
return <div />
}
}
Updating babel-eslint to ^8.1.2 solve the problem
I got this same error, as well. I haven't tried upgrading babel-eslint, but it goes away if you downgrade eslint to 4.13.1. There's a thread about it on the eslint side, as well: https://github.com/eslint/eslint/issues/9778. Short story, they want us to upgrade to the latest babel :-)
Weird, I tried to downgrade eslint too but it didn't work for me !
I can reproduce this with babel-eslint 8.2.1. Not sure if babel-eslint related.
This error appears to be intermittent. I'm using babel-eslint 8.6.2
Module build failed: TypeError: MyFile.jx: Cannot read property 'type' of undefined
at Whitespace.getNewlinesAfter (node_modules/babel-generator/lib/whitespace.js:50:20)
at Generator._printNewline (node_modules/babel-generator/lib/printer.js:459:34)
at Generator.printJoin (node_modules/babel-generator/lib/printer.js:376:32)
at Generator.printList (node_modules/babel-generator/lib/printer.js:430:17)
at Generator.ObjectExpression (node_modules/babel-generator/lib/generators/types.js:57:10)
at node_modules/babel-generator/lib/printer.js:298:23
at Buffer.withSource (node_modules/babel-generator/lib/buffer.js:168:5)
at Generator.withSource (node_modules/babel-generator/lib/printer.js:189:15)
at Generator.print (node_modules/babel-generator/lib/printer.js:297:10)
at Generator.ArrayExpression (node_modules/babel-generator/lib/generators/types.js:106:12)
at node_modules/babel-generator/lib/printer.js:298:23
at Buffer.withSource (node_modules/babel-generator/lib/buffer.js:168:5)
at Generator.withSource (node_modules/babel-generator/lib/printer.js:189:15)
at Generator.print (node_modules/babel-generator/lib/printer.js:297:10)
at Generator.ObjectProperty (node_modules/babel-generator/lib/generators/types.js:92:8)
at node_modules/babel-generator/lib/printer.js:298:23
at Buffer.withSource (node_modules/babel-generator/lib/buffer.js:168:5)
at Generator.withSource (node_modules/babel-generator/lib/printer.js:189:15)
at Generator.print (node_modules/babel-generator/lib/printer.js:297:10)
at Generator.printJoin (node_modules/babel-generator/lib/printer.js:366:12)
at Generator.printList (node_modules/babel-generator/lib/printer.js:430:17)
at Generator.ObjectExpression (node_modules/babel-generator/lib/generators/types.js:57:10)
at node_modules/babel-generator/lib/printer.js:298:23
at Buffer.withSource (node_modules/babel-generator/lib/buffer.js:168:5)
at Generator.withSource (node_modules/babel-generator/lib/printer.js:189:15)
at Generator.print (node_modules/babel-generator/lib/printer.js:297:10)
at Generator.ObjectProperty (node_modules/babel-generator/lib/generators/types.js:92:8)
at node_modules/babel-generator/lib/printer.js:298:23
at Buffer.withSource (node_modules/babel-generator/lib/buffer.js:168:5)
at Generator.withSource (node_modules/babel-generator/lib/printer.js:189:15)
Where I suspect there's a problem:
import React, { PureComponent } from 'react';
export class MyComponent extends PureComponent {
someFn = (someArg, someDefaultArg = {}) => {
console.log('hi');
};
render() {
}
}
When I change someDefaultArg = {}, the error goes away (sometimes).
I tried a project with flow with this lib and I had a similar problem (even if I updated babel-eslint):
Cannot read property 'type' of undefined
TypeError: Cannot read property 'type' of undefined
at /Users/guillaumemartinez/GitHub/project-example/node_modules/eslint-plugin-flowtype/dist/rules/noDupeKeys.js:76:32
at arrayEach (/Users/guillaumemartinez/GitHub/project-example/node_modules/lodash/lodash.js:537:11)
at Function.forEach (/Users/guillaumemartinez/GitHub/project-example/node_modules/lodash/lodash.js:9359:14)
at checkForDuplicates (/Users/guillaumemartinez/GitHub/project-example/node_modules/eslint-plugin-flowtype/dist/rules/noDupeKeys.js:73:22)
at listeners.(anonymous function).forEach.listener (/Users/guillaumemartinez/GitHub/project-example/node_modules/eslint/lib/util/safe-emitter.js:47:58)
at Array.forEach (<anonymous>)
at Object.emit (/Users/guillaumemartinez/GitHub/project-example/node_modules/eslint/lib/util/safe-emitter.js:47:38)
at NodeEventGenerator.applySelector (/Users/guillaumemartinez/GitHub/project-example/node_modules/eslint/lib/util/node-event-generator.js:251:26)
at NodeEventGenerator.applySelectors (/Users/guillaumemartinez/GitHub/project-example/node_modules/eslint/lib/util/node-event-generator.js:280:22)
at NodeEventGenerator.enterNode (/Users/guillaumemartinez/GitHub/project-example/node_modules/eslint/lib/util/node-event-generator.js:294:14)
at CodePathAnalyzer.enterNode (/Users/guillaumemartinez/GitHub/project-example/node_modules/eslint/lib/code-path-analysis/code-path-analyzer.js:608:23)
at Traverser.enter (/Users/guillaumemartinez/GitHub/project-example/node_modules/eslint/lib/linter.js:956:32)
at Traverser.__execute (/Users/guillaumemartinez/GitHub/project-example/node_modules/estraverse/estraverse.js:397:31)
at Traverser.traverse (/Users/guillaumemartinez/GitHub/project-example/node_modules/estraverse/estraverse.js:501:28)
at Traverser.traverse (/Users/guillaumemartinez/GitHub/project-example/node_modules/eslint/lib/util/traverser.js:31:22)
at Linter._verifyWithoutProcessors (/Users/guillaumemartinez/GitHub/project-example/node_modules/eslint/lib/linter.js:953:19)
I fix it with help from this pr that tell us to disable the related rule (for me no-dupe-keys, we see it in the error message) to temporarily fix it. The pr will be merged soon.
EDIT: Disable the rule didn't fix the issue, sorry my bad 😔
I had the same issue. Try: npm install [email protected]
also I have add rule to eslint config file
parser: "babel-eslint", rules: { strict: 0 },
Recieving this error.
Test suite failed to run
TypeError: /Users/Magne/Workspace/bilen-min/app/src/modules/dashboard/ActivityHistory/ActivityHistoryWithData.js: Cannot read property 'type' of undefined
at Whitespace.getNewlinesAfter (node_modules/babel-generator/lib/whitespace.js:50:20)
at Generator._printNewline (node_modules/babel-generator/lib/printer.js:459:34)
at Generator.printJoin (node_modules/babel-generator/lib/printer.js:376:32)
at Generator.printList (node_modules/babel-generator/lib/printer.js:430:17)
at Generator.ObjectExpression (node_modules/babel-generator/lib/generators/types.js:57:10)
at node_modules/babel-generator/lib/printer.js:298:23
at Buffer.withSource (node_modules/babel-generator/lib/buffer.js:168:5)
at Generator.withSource (node_modules/babel-generator/lib/printer.js:189:15)
at Generator.print (node_modules/babel-generator/lib/printer.js:297:10)
at Generator.VariableDeclarator (node_modules/babel-generator/lib/generators/statements.js:314:10)
Using:
"babel-core": "^6.26.3",
"babel-eslint": "^8.2.1",
"babel-jest": "^23.0.1",
"babel-plugin-module-resolver": "^3.1.0",
"babel-preset-expo": "^4.0.0",
The Cannot read property 'type' of undefined error seems to be pretty general, but like @AndrewRayCode I got the error with the stack: at Whitespace.getNewlinesAfter (node_modules/babel-generator/lib/whitespace.js:50:20)
I removed some whitespace/newlines in the test file that was failing, and suddenly it worked again. Incidentally, all the other test files failing with the same error then also started working again. So it seems to have been something with a cache having been cleared out. Maybe the babel cache, or the jest cache.
See perhaps: https://github.com/babel/babel/pull/7205#issuecomment-362818338