**Motivation**
Update the vitest to avoid using third party test pool.
**Description**
- Use latest vitest
- Remove custom process pool which we developed to run our tests in Bun
runtime
- Migrate test configs to latest version
- Update types
- Switch to playwright from webdriverio for browser tests performance,
which was due for long.
**Steps to test or reproduce**
- Run all tests
**Motivation**
- #7280
**Description**
- update `@types/node` to the latest node v22 version
- add `@lodestar/bun` dependency using git+https (for now! so that we
don't have to republish a bazillion times)
- keep in mind that this requires a manual build/rebuild of the so (via
`cd node_modules/@lodestar/bun && zig build`)
- Add a bun-specific `LevelDbController` which uses
[`@lodestar/bun`](https://github.com/ChainSafe/lodestar-bun)
- Only expose the leveldb controller via a subpath export (and for
tests, as a custom import, like in #8320 )
- add bun bun global override types
**Motivation**
Use latest `module` and `moduleResolution` for TS.
**Description**
- To use [subpath
imports](https://nodejs.org/api/packages.html#subpath-imports) in the PR
#8320 we need to update the module solution strategy for TS.
- That requires to change the `module` for the TS as well.
- Earlier tried to stay with `node18` or `node20`, but the `ts-node`
does not work with that.
- Maintaining different tsconfig for ts-node is more of hassle on wrong
run.
- So decided to stick with `nodenext` strategy for `moduleResolution`
**Steps to test or reproduce**
Run all tests
---------
Co-authored-by: Cayman <caymannava@gmail.com>
**Motivation**
Add types support for Bun. So we can start using `if(Bun)` in our
codebase.
**Description**
- Add `@types/bun` package
**Steps to test or reproduce**
- Run all tests
* Replace eslint with biomejs
* Update the inclusion of word
* Fix the formatting
* Update the lint task to do all checks
* Update biome rules from eslint config
* Replace eslint with biomejs
* Update the inclusion of word
* Fix the formatting
* Update the lint task to do all checks
* Update biome rules from eslint config
* Fix all lint issues
* Fix formatting
* Add extension recomendation for vscode
* Enable recommended rules
* Enable rule noUselessSwitchCase
* Enable rule noUselessConstructor
* Fix the types
* Fix unit tests
* Enforce import extensions
* Update the cli command
* Enforce useConsistentMemberAccessibility
* Update rules
* Fix rules
* Upgrade biomejs to latest version
* Update the rules
* Update and format the config file
* Fix types break during merge
* Fix unused check
* Add comment for explicit-return-type
* Remove eslint file
* Add _e objects for empty catch blocks
* Update formatter config
* Fix formatting
* Add jest dependencies
* Convert beacon node unit tests to jest
* Convert all beacon unit tests to vitest
* Update dependencies
* Move all e2e tests to vitest
* Fix http but which was causing abort to not work
* Update the e2e script for the beacon-node
* Fix the e2e tests
* Update yarn dependencies
* Remove .only filter
* Fix lint and type errors
* Made close callbacks async
* Fix the test path
* Fix order of resource cleanup
* Fix the peer manager for agent version
* Fix failing unit test
* Update e2e workflow
* Add code coverage support for vitest
* Match the code coverage configuration to previous nyc config
* Fix the formatting for easy code review
* Add custom error messages to extremely confusing assertions
* Add custom matcher support in the vitest
* Update code with feedback