Skip to content

feat!: convert to native ESM (vitest + oxc toolchain) - #43

Draft
damusix wants to merge 3 commits into
hapijs:masterfrom
damusix:esm-conversion
Draft

damusix wants to merge 3 commits into
hapijs:masterfrom
damusix:esm-conversion

Conversation

@damusix

@damusix damusix commented Nov 2, 2026 •

Copy link
Copy Markdown

Breaking: ESM-only, Node >=22. The public API is unchanged; exports.foo became named exports with no default. The tooling swap rides along because lab cannot run ESM.

Types in src/index.d.ts start from #34, adjusted so err accepts the unknown a catch clause binds and return: true includes undefined. #41's rework and #37's and #40's changes are not adopted; rebase whichever lands second.

Boom classification is duck-typed, so boom 10 errors still match in mixed trees. Hoek.AssertError uses instanceof, so one thrown by hoek 11 is not system when bounce resolves hoek 12.

Closes #44

BREAKING CHANGE: ESM-only; require() of @hapi/bounce needs Node's
require(esm) support. Node >=22 required. Swaps lab/code/eslint for
vitest and oxc because lab cannot run ESM.
@damusix damusix changed the title Convert to native ESM (vitest + oxc toolchain) feat!: convert to native ESM (vitest + oxc toolchain) Nov 2, 2026
@damusix damusix mentioned this pull request Nov 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Convert to native ESM

1 participant