"Cannot read property 'toString' of undefined"
odzb opened this issue · comments
odzb commented
I found that this piece of code:
function func() {
this.el = <div
></div>;
}
...crashes nativejsx so badly that Webpack's watch mechanism stops watching for changes, and the Webpack process needs to be restarted.
I usually come across this bug in code like this:
class Test {
method() {
this.el = <div
style="position: relative"
></div>;
}
}
The error message is:
ERROR in ./src/path/file.js
Module build failed: TypeError: Cannot read property 'toString' of undefined
at join (C:\MyProject\node_modules\escodegen\escodegen.js:555:52)
at CodeGenerator.ReturnStatement (C:\MyProject\node_modules\escodegen\escodegen.js:1753:25)
at CodeGenerator.generateStatement (C:\MyProject\node_modules\escodegen\escodegen.js:2469:33)
at C:\MyProject\node_modules\escodegen\escodegen.js:1083:51
at withIndent (C:\MyProject\node_modules\escodegen\escodegen.js:582:9)
at CodeGenerator.BlockStatement (C:\MyProject\node_modules\escodegen\escodegen.js:1033:13)
at CodeGenerator.generateStatement (C:\MyProject\node_modules\escodegen\escodegen.js:2469:33)
at CodeGenerator.maybeBlock (C:\MyProject\node_modules\escodegen\escodegen.js:837:33)
at CodeGenerator.generateFunctionBody (C:\MyProject\node_modules\escodegen\escodegen.js:955:30)
at CodeGenerator.FunctionExpression (C:\MyProject\node_modules\escodegen\escodegen.js:2051:30)
at CodeGenerator.generateExpression (C:\MyProject\node_modules\escodegen\escodegen.js:2456:28)
at CodeGenerator.CallExpression (C:\MyProject\node_modules\escodegen\escodegen.js:1877:28)
at CodeGenerator.generateExpression (C:\MyProject\node_modules\escodegen\escodegen.js:2456:28)
at CodeGenerator.generateAssignment (C:\MyProject\node_modules\escodegen\escodegen.js:1012:22)
at CodeGenerator.AssignmentExpression (C:\MyProject\node_modules\escodegen\escodegen.js:1811:25)
at CodeGenerator.generateExpression (C:\MyProject\node_modules\escodegen\escodegen.js:2456:28)
at CodeGenerator.ExpressionStatement (C:\MyProject\node_modules\escodegen\escodegen.js:1335:28)
at CodeGenerator.generateStatement (C:\MyProject\node_modules\escodegen\escodegen.js:2469:33)
at C:\MyProject\node_modules\escodegen\escodegen.js:1083:51
at withIndent (C:\MyProject\node_modules\escodegen\escodegen.js:582:9)
at CodeGenerator.BlockStatement (C:\MyProject\node_modules\escodegen\escodegen.js:1033:13)
at CodeGenerator.generateStatement (C:\MyProject\node_modules\escodegen\escodegen.js:2469:33)
at CodeGenerator.maybeBlock (C:\MyProject\node_modules\escodegen\escodegen.js:837:33)
at CodeGenerator.generateFunctionBody (C:\MyProject\node_modules\escodegen\escodegen.js:955:30)
at CodeGenerator.FunctionDeclaration (C:\MyProject\node_modules\escodegen\escodegen.js:1747:22)
at CodeGenerator.generateStatement (C:\MyProject\node_modules\escodegen\escodegen.js:2469:33)
at CodeGenerator.Program (C:\MyProject\node_modules\escodegen\escodegen.js:1717:43)
at CodeGenerator.generateStatement (C:\MyProject\node_modules\escodegen\escodegen.js:2469:33)
at generateInternal (C:\MyProject\node_modules\escodegen\escodegen.js:2490:28)
at Object.generate (C:\MyProject\node_modules\escodegen\escodegen.js:2558:18)
@ ./src/path/index.js 3:0-56
Trey Cordova commented
Turns out that I forgot about AssignmentExpression
s. A fix is now in master.
Trey Cordova commented
4.0.0 is out the door! Cheers.