Skip to content

Replace node-gyp and Mason with CMake/Ninja#201

Merged
kkaefer merged 6 commits into
masterfrom
kk/modernize-build
Jul 2, 2026
Merged

Replace node-gyp and Mason with CMake/Ninja#201
kkaefer merged 6 commits into
masterfrom
kk/modernize-build

Conversation

@kkaefer

@kkaefer kkaefer commented Jun 26, 2026

Copy link
Copy Markdown
Member

Migrate the native build to CMake with FetchContent for N-API headers, in-tree gzip and sdf-glyph-foundry headers, and prebuilds/- output. Remove Mason, submodules, and node-gyp; add release workflow and install-native.js for prebuild-aware npm installs. Adopt new npm OICD pubish workflow.

@kkaefer kkaefer requested review from a team, haseebehsan and miafan23 June 26, 2026 12:54
@kkaefer kkaefer marked this pull request as draft June 26, 2026 13:06
kkaefer and others added 6 commits June 26, 2026 15:54
Migrate the native build to CMake with FetchContent for N-API headers,
in-tree gzip and sdf-glyph-foundry headers, and prebuilds/<platform>-<arch>
output. Remove Mason, submodules, and node-gyp; add release workflow and
install-native.js for prebuild-aware npm installs. Adopt new npm OICD pubish
workflow.

Co-authored-by: Cursor <[email protected]>
Align bin entries and the test script with npm pkg fix so publish no longer strips CLI binaries or auto-corrects the manifest

Co-authored-by: Cursor <[email protected]>
Vendor FreeType via FetchContent with harfbuzz, bzip2, png, and brotli
disabled to match the old Mason build. Keep zlib dynamic for gzip-hpp.
Build FreeType with PIC so Linux shared-module linking works, and install
CMake 3.24+ on Linux CI runners

Co-authored-by: Cursor <[email protected]>
Build and publish darwin-x64 on macos-15-intel in CI and release workflows, and require the new prebuild at publish time

Co-authored-by: Cursor <[email protected]>
@kkaefer kkaefer force-pushed the kk/modernize-build branch from ad65803 to d8f9f9b Compare July 2, 2026 10:40
@kkaefer kkaefer marked this pull request as ready for review July 2, 2026 10:40
@kkaefer kkaefer merged commit d8f9f9b into master Jul 2, 2026
@kkaefer kkaefer deleted the kk/modernize-build branch July 2, 2026 10:48
This was referenced Jul 2, 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.

2 participants