Yunchi Luo created THRIFT-3546:
----------------------------------
Summary: NodeJS code should not be namespaced (and is currently
not strict-mode compliant)
Key: THRIFT-3546
URL: https://issues.apache.org/jira/browse/THRIFT-3546
Project: Thrift
Issue Type: Bug
Components: Node.js - Compiler
Affects Versions: 0.9.3
Reporter: Yunchi Luo
Code generated for NodeJS, whether with a js namespace specified or not, seems
to fail strict mode. Specifically, it doesn't always generate "var" when
needed. This might not sound like a big issue but it's quite a pain to deal
with...
It is standard nowadays to enable strict mode for Javascript code
(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode).
And babel, which is one of most popular ES6 => ES5 transpilers, while does not
force strict mode, does seem to break when you don't use "var".
I think the best solution here is really to just stop using namespaces in node
code. Every type will be declared with "var", and if exported, also assigned to
"module.exports".
I don't believe namespaces currently generated in the node code is directly
used anywhere or is even accessible outside the file?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)