Not everyone needs big decimal support. Now that we're counting on native BigInts being available, bignumber is pretty heavyweight for a relatively-fringe feature.
Steps:
[x] centralize all use of bignumber.js to one require
[x] move bignumber.js to peerDependencies
[x] try/catch around require
[x] feature test all uses of of bignumber.js, this means bigdecimals will probably show up as Tag in decode
[x] figure out test strategy; ensure bignumber.js is installed, then fake that it isn't by overwriting with null.
Not everyone needs big decimal support. Now that we're counting on native BigInts being available, bignumber is pretty heavyweight for a relatively-fringe feature.
Steps:
Tag
in decode