Comments (6)
from ethereumjs-util.
Here are my assumptions:
- we're only exporting what we're using internally, nothing extra added on
- the types exported are guaranteed to behave the way we expect to inject
- different versions of the modules exported should still work, within reason
- we're mostly doing this for people who havent figured out how empowering an automated dependency graph is -- its for producing bundles that such users can copy-paste in - and not having to say "oh and also go get a bundle for X and Y so you can use this properly"
Thats my thoughts. Not sure what change you are suggesting. Using the exported modules is optional as it works with your own versions, so I see no problem here. Though, do clarify your concerns.
from ethereumjs-util.
I understand the motivation behind that would be code size when processed via browserify. Is that really a problem?
No this is not a problem
Shouldn't browserify work out it as long as the modules in the dependency chain use the same version of the imports?
yep!
There are two reason for the current behavior
- as @kumavis to help some front-end devs that didn't use npm
- it make keeping all of the common ethereumjs-* deps versions in sync, easy.
from ethereumjs-util.
Will transfer this to organization
(will delete ideas
since this never caught off and it is already challenging to maintain one organizational repo).
from ethereumjs-util.
This is reduced to the question around the ethereumjs-util
re-exports, will move the issue there.
from ethereumjs-util.
I think we have found a good balance here with dropping the cryptosecp256k1
reexport with v7 in #249 and keeping the BN.js
and rlp
reexports. Especially the BN.js
reexport turned out to be very useful and somewhat needed after some experiences we made along the BN v4 to v5 switch which caused major incompatibilities when we partly switched some libraries here. The rlp
reexport is not so strictly needed eventually and might be up for discussion, not really some urgency here though.
Will close.
from ethereumjs-util.
Related Issues (20)
- Split tests from index.js into separate files HOT 3
- Update TypeDoc and typedoc-plugin-markdown dev dependencies
- Examples in README for different categories
- Add basic API tests for re-exports
- Browser compatible elliptic alternative to secp256k1 HOT 2
- [Util v7| Tracking Issue for BN.js v4 and v5 interoperability issues HOT 2
- Buffer error with keccak256 related to abi.encodePacked HOT 8
- Crashes on node:12-alpine HOT 3
- [bug] hash.ts not work on alpine linux image HOT 2
- BN re-export failure HOT 1
- Error: Expected private key to be an Uint8Array HOT 8
- Node crashes when require ethereumjs-util in worker threads HOT 5
- Extend Address class to handle BN HOT 7
- Cannot read property 'fromRpcSig' of undefined HOT 2
- Memory leak HOT 2
- How to use ecrecover? HOT 8
- bnToRlp: misleading name HOT 1
- Upgrade ethereumjs-config to v2, switch from Coveralls to CodeCov
- ethereumjs-util v8 Release Planning HOT 1
- housekeeping: remove use of deprecated assert methods HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ethereumjs-util.