Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Won't Fix
-
0.9.3
-
None
-
Patch Available
-
Patch
Description
Node.js projects that depend on Thrift and need to use a specific transport or protocol must require them in separately, like this:
var thrift = require('thrift'), ThriftTransports = require('thrift/lib/thrift/transport');
The new version (0.9.3) changed that directory structure of the thrift module so that the transport file is now located at thrift/lib/nodejs/lib/thrift/transport.js, which breaks any application that was requiring it at the old path. This type of breaking change is inappropriate for a patch version, and should be fixed immediately.
The directory structure change also has the undesirable side effect of including every single language implementation of thrift in the Node.js module, bloating the size of the module with unnecessary files.
Long-term, the right fix for this is to export useful parts of the library (e.g. transport and protocol constructors) from the main file, but since this is a patch version the immediate fix should be to maintain existing behavior.
Attachments
Issue Links
- links to