MetaMask / eth-token-tracker

A JS module for tracking Ethereum token balances over block changes
ISC License
76 stars 43 forks source link

deps: upgrade deep-equal@1.1.0->2.1.0 #90

Closed legobeat closed 1 year ago

legobeat commented 1 year ago

Valid thing to check for sure - looking at the deep-equal changelog and version history, these do serve their role in addressing more cases (fixing several bugs, though nothing stands out as obviously affecting us here) and some performance improvements in form of optimization.

Seems worth it to me, though not super clear-cut.

FWIW, as for dev, tape has also upgraded this dependency in #89, so the combination of these two is a larger net-reduction in lockfile entries than it may first appear

legobeat commented 1 year ago

To address thew question about size, when measured by yarn install --prod: This commit is an increase of 3284 b (27368 - 24084).

The main contributor here is object.assign clocking in at 1284b. It seems the maintainer is optimizing heavily for backwards-compatibility: https://github.com/inspect-js/node-deep-equal/pull/100

This package is using babel to address that. I think you're right @mcmire that this one isn't worth it. Thank you for catching that!

Is object.assign et al worth filling in for still? Might be worth replacing deep-equal alltogether for something more appropriate.

Alternatively, 2.0.2 is the last version not depending on object.assign.

legobeat commented 1 year ago

(then on the other hand, in context of metamask-extension, we already have a runtime dependency on the same version of object.assign :shrug: )

legobeat commented 1 year ago

@mcmire I resurrected this in #94, with the ambition of getting out a non-breaking maintenance release before deprecating nodejs v12, which would also unlock bringing this in line with metamask-module-template.