Files
bun.sh/packages/bun-types
robobun a3f18b9e0e feat(test): implement onTestFinished hook for bun:test (#24038)
## Summary

Implements `onTestFinished()` for `bun:test`, which runs after all
`afterEach` hooks have completed.

## Implementation

- Added `onTestFinished` export to the test module in `jest.zig`
- Modified `genericHook` in `bun_test.zig` to handle `onTestFinished` as
a special case that:
  - Can only be called inside a test (not in describe blocks or preload)
  - Appends hooks at the very end of the execution sequence
- Added comprehensive tests covering basic ordering, multiple callbacks,
async callbacks, and interaction with other hooks

## Execution Order

When called inside a test:
1. Test body executes
2. `afterAll` hooks (if added inside the test)
3. `afterEach` hooks
4. `onTestFinished` hooks 

## Test Plan

-  All new tests pass with `bun bd test`
-  Tests correctly fail with `USE_SYSTEM_BUN=1` (feature not in
released version)
-  Verifies correct ordering with `afterEach`, `afterAll`, and multiple
`onTestFinished` calls
-  Tests async `onTestFinished` callbacks

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude Bot <claude-bot@bun.sh>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: pfg <pfg@pfg.pw>
2025-10-24 19:07:40 -07:00
..
2025-06-09 15:06:26 -07:00
2023-12-18 13:27:48 -08:00
2025-07-10 00:10:43 -07:00
2025-08-01 16:09:44 -07:00
2025-08-01 16:09:44 -07:00
2025-07-10 00:10:43 -07:00
2025-09-30 13:27:25 -07:00
2025-08-01 16:09:44 -07:00
2025-10-14 17:43:38 -07:00
2025-08-19 23:15:53 -07:00

TypeScript types for Bun

Logo

These are the type definitions for Bun's JavaScript runtime APIs.

Installation

Install the @types/bun npm package:

# yarn/npm/pnpm work too
# @types/bun is an ordinary npm package
bun add -D @types/bun

That's it! VS Code and TypeScript automatically load @types/* packages into your project, so the Bun global and all bun:* modules should be available immediately.

Contributing

The @types/bun package is a shim that loads bun-types. The bun-types package lives in the Bun repo under packages/bun-types.

To add a new file, add it under packages/bun-types. Then add a triple-slash directive pointing to it inside ./index.d.ts.

+ /// <reference path="./newfile.d.ts" />
bun build