ChainSafe / ChainSafe/lodestar
General dependency cleanup
- Dominant language
- TypeScript
- Stars
- 1.4k
- Forks
- 483
- Avg merge
- 1d 16h
- Merged PRs (30d)
- 150
Description
Lodestar libraries depend on a number of external dependencies for historical reasons.
Identify dependencies that are not maintained anymore or can be considered a security risk.
- [ ] https://github.com/ChainSafe/lodestar/issues/6490
- [x] https://github.com/ChainSafe/lodestar/issues/6489
- [ ] https://github.com/ChainSafe/lodestar/issues/6488
# Lodestar libraries dependencies
Following is a comprehensive list a direct dependencies (excluding `lodestar`, `chainsafe`, `libp2p` and `ethereum-cryptography` dependencies; `chainsafe` and `libp2p` libraries should be analyzed similarly):
## api
* [eventsource](https://github.com/EventSource/eventsource)
* [qs](https://github.com/ljharb/qs)
## beacon-node
* [@ethersproject/abi](https://github.com/ethers-io/ethers.js)
* [@fastify/bearer-auth](https://github.com/fastify/fastify-bearer-auth)
* [@fastify/cors](https://github.com/fastify/fastify-cors)
* [@fastify/swagger](https://github.com/fastify/fastify-swagger)
* [@fastify/swagger-ui](https://github.com/fastify/fastify-swagger-ui)
* [@multiformats/multiaddr](https://github.com/multiformats/js-multiaddr)
* [c-kzg](https://github.com/ethereum/c-kzg-4844)
* [datastore-core](https://github.com/ipfs/js-stores/tree/main/packages/datastore-core)
* [datastore-level](https://github.com/ipfs/js-stores/tree/main/packages/datastore-level)
* [deepmerge](https://github.com/TehShrike/deepmerge)
* [fastify](https://github.com/fastify/fastify)
* [interface-datastore](https://github.com/ipfs/js-stores)
* [it-all](https://github.com/achingbrain/it/tree/main/packages/it-all)
* [it-pipe](https://www.npmjs.com/package/it-pipe)
* [jwt-simple](https://github.com/hokaccha/node-jwt-simple)
* [lodash](https://www.npmjs.com/package/lodash)
* [multiformats](https://github.com/multiformats/js-multiformats)
* [prom-client](https://github.com/siimon/prom-client)
* [qs](https://github.com/ljharb/qs)
* [snappy](https://github.com/Brooooooklyn/snappy)
* [strict-event-emitter-types](https://github.com/bterlson/strict-event-emitter-types)
* [systeminformation](https://github.com/sebhildebrandt/systeminformation)
* [uint8arraylist](https://github.com/achingbrain/uint8arraylist)
* [xxhash-wasm](https://www.npmjs.com/package/xxhash-wasm)
## cli
* [@multiformats/multiaddr](https://github.com/multiformats/js-multiaddr)
* [deepmerge](https://github.com/TehShrike/deepmerge)
* [ethers](https://github.com/ethers-io/ethers.js)
* [find-up](https://github.com/sindresorhus/find-up)
* [got](https://github.com/sindresorhus/got)
* [inquirer](https://github.com/SBoudrias/Inquirer.js)
* [js-yaml](https://www.npmjs.com/package/js-yaml)
* [prom-client](https://github.com/siimon/prom-client)
* [proper-lockfile](https://github.com/moxystudio/node-proper-lockfile)
* [rimraf](https://github.com/isaacs/rimraf)
* [source-map-support](https://github.com/evanw/node-source-map-support)
* [uint8arrays](https://github.com/achingbrain/uint8arrays)
* [yargs](https://github.com/yargs/yargs)
## config
`nothing`
## db
* [it-all](https://github.com/achingbrain/it/tree/main/packages/it-all)
* [level](https://github.com/Level/level)
## flare
* [source-map-support](https://github.com/evanw/node-source-map-support)
* [yargs](https://github.com/yargs/yargs)
## fork-choice
`nothing`
## light-client
* [mitt](https://www.npmjs.com/package/mitt)
* [strict-event-emitter-types](https://github.com/bterlson/strict-event-emitter-types)
## logger
* [winston](https://github.com/winstonjs/winston)
* [winston-daily-rotate-file](https://github.com/winstonjs/winston-daily-rotate-file)
* [winston-transport](https://github.com/winstonjs/winston-transport)
## params
`nothing`
## reqresp
* [it-all](https://github.com/achingbrain/it/tree/main/packages/it-all)
* [it-pipe](https://www.npmjs.com/package/it-pipe)
* [snappy](https://github.com/Brooooooklyn/snappy)
* [snappyjs](https://github.com/zhipeng-jia/snappyjs)
* [uint8-varint](https://github.com/achingbrain/uint8arraylist)
* [uint8arraylist](https://github.com/achingbrain/uint8arraylist)
## state-transition
* [buffer-xor](https://github.com/browserify/buffer-xor)
## types
`nothing`
## utils
* [any-signal](https://github.com/jacobheun/any-signal)
* [bigint-buffer](https://github.com/no2chem/bigint-buffer)
* [case](https://github.com/nbubna/Case)
* [js-yaml](https://www.npmjs.com/package/js-yaml)
## validator
* [strict-event-emitter-types](https://github.com/bterlson/strict-event-emitter-types)
# Analysis
## Unmaintained librairies
* [buffer-xor](https://github.com/browserify/buffer-xor)
* [bigint-buffer](https://github.com/no2chem/bigint-buffer)
* [source-map-support](https://github.com/evanw/node-source-map-support)
* [case](https://github.com/nbubna/Case)
* [js-yaml](https://www.npmjs.com/package/js-yaml)
* [jwt-simple](https://github.com/hokaccha/node-jwt-simple)
* [lodash](https://www.npmjs.com/package/lodash)
## Low value providing libraries
* [any-signal](https://github.com/jacobheun/any-signal)
* [it-all](https://github.com/achingbrain/it/tree/main/packages/it-all)
* [case](https://github.com/nbubna/Case)
* [deepmerge](https://github.com/TehShrike/deepmerge)
* [lodash](https://www.npmjs.com/package/lodash)
* [got](https://github.com/sindresorhus/got)
* [find-up](https://github.com/sindresorhus/find-up)
Contributor guide
Assessment
This issue has not been assessed yet.