You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
How do we control users using bigi@latest in conjunction with our API instead of what we use internally?
The best we can do is either simplify our API such that common JS types are used for data interchange or we ask the users to verify their dependencies against what we use internally.
The concern was previously ignored because our instructions for compilation were to just use the dependencies found in bitcoinjs-lib itself; however this is an incomplete instruction for users who are using browserify for their entire project.
As far as I can tell, the only way for us to enforce consistency in the interop between our APIs and prospective users who might use things like ecurve etc in their own applications is to let them cross verify their own dependencies, or simply provide typical interfaces with only common data types.
The text was updated successfully, but these errors were encountered:
Note that the version inconsistency issue only exists for users using browserify bundled script directly (i.e. expose bitcoin under window then access it from their own unbrowserified scripts) instead of using browserify proper (i.e. require('bitcoinjs-lib') in one's code and browserify the entire app). It boils down to the issue that the former type of usage does not use a dependency manager.
That's a good reason to limit the public interface arguments to primitive/native types instead of allowing objects defined by other modules to be passed around.
As discussed in #315.
The concern was previously ignored because our instructions for compilation were to just use the dependencies found in
bitcoinjs-lib
itself; however this is an incomplete instruction for users who are using browserify for their entire project.As far as I can tell, the only way for us to enforce consistency in the interop between our APIs and prospective users who might use things like
ecurve
etc in their own applications is to let them cross verify their own dependencies, or simply provide typical interfaces with only common data types.The text was updated successfully, but these errors were encountered: