Skip to content

chore: convert to ESM - #79

Open
damusix wants to merge 8 commits into
hapijs:nextfrom
damusix:esm-conversion
Open

chore: convert to ESM#79
damusix wants to merge 8 commits into
hapijs:nextfrom
damusix:esm-conversion

Conversation

@damusix

@damusix damusix commented Aug 1, 2026

Copy link
Copy Markdown

Moves the package onto the toolchain the recent conversions established:
src/ layout, conditional exports, vitest + @hapi/oxc-plugin, Node 22
baseline.

@hapi/hoek is pinned to ^12.0.0-rc.0 to match #74 in topo and #309 in
boom. @hapi/boom stays at ^10.0.1 until its own conversion lands, so
two hoek majors coexist in the tree — only hoek's main export is imported,
so no subpath is involved.

API.md is added to files; npm does not ship it automatically.

Supersedes #77.

Convert package from CommonJS to native ES modules.
All tests passing with no memory leaks.
Completes the ESM conversion: lab/code/eslint-plugin swapped for
vitest + @hapi/oxc-plugin, conditional exports, Node 22 baseline.
Version reset to the published 6.0.3 — the release process owns bumps.
ESM module scope already makes these private; exporting nothing is what
keeps them so. media.js's `internals.preferences` becomes
`filterPreferences` to avoid shadowing the `preferences` parameter.
hoek 12 is the ESM-only release; matches the pin hapijs/topo#74 and
hapijs/boom#309 set. @hapi/boom stays on 10 (still CJS), so hoek 11
remains in the tree transitively.
@hapi/oxc-plugin 1.0.4 peers on oxfmt >=0.61.0, so a fresh install
hit ERESOLVE against the pinned oxfmt ^0.57.0. Versions now match the
concurrent topo/boom conversions.
@Marsup
Marsup changed the base branch from master to next August 2, 2026 12:25
damusix added 2 commits August 2, 2026 18:41
Conflicts kept this branch's vitest/oxc toolchain over next's lab
devDeps, and its min-node-22 CI target; next's 'next' push trigger
was taken.
Matches the convention in the published ESM RCs (topo, boom, teamwork,
file): no grouped export clause, no default export.
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.

1 participant