Uploaded image for project: 'Thrift'
  1. Thrift
  2. THRIFT-3546

NodeJS code should not be namespaced (and is currently not strict-mode compliant)

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.9.3
    • 0.10.0
    • Node.js - Compiler
    • None

    Description

      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?

      Attachments

        Issue Links

          Activity

            People

              bcg Benjamin Gould
              yunchi Yunchi Luo
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: