**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
**Motivation**
It is commonly practice that if code builds fine, it works fine.
**Description**
- Having type checking and other checks disabled for the build step
causing confusing in dev experience
- Revert the **noCheck** from the build tsconfig.
**Steps to test or reproduce**
- Run all tests
**Motivation**
Update vitest and browser engine.
**Description**
- Move root level shared configs to `configs` directory
- Update to vitest 3.x
- Migrate from `webdriverio` to `playwright` which is more stable and
recommended by Vitest.
**NOTE**
Reverted the `playwright` upgrade. See the comments.
d2a7af0308/configs/vitest.config.base.browser.ts (L41-L43)
**Steps to test or reproduce**
Run all tests
**Motivation**
Keep the deps updated.
**Description**
Use latest features provided by Typescript. See the comments below.
**Steps to test or reproduce**
- Run all tests
* Race building execution and builder block with cutoff
* resolve race before deadline if nothing pending
* improve race
* improve flow
* update builder test args
* cleanup
* improve log ux
* update the race with better flow
* return early post cutoff
* improve comment
* add jsdoc
* add test cases to race
* comment
* cleanup
* more test cases and events improvs
* more jsdocs and tests
* some more refinement
* cutoff resolution refinement
* measure event delayms
* cleanup
* some more improvs and feedback inclusion
* reduce diff
* improv