Skip to content

Publish a darwin-x64 (Intel macOS) Node binding - #468

Open
wenzhengjiang wants to merge 1 commit into
firecrawl:mainfrom
wenzhengjiang:add-darwin-x64-target
Open

Publish a darwin-x64 (Intel macOS) Node binding#468
wenzhengjiang wants to merge 1 commit into
firecrawl:mainfrom
wenzhengjiang:add-darwin-x64-target

Conversation

@wenzhengjiang

@wenzhengjiang wenzhengjiang commented Aug 29, 2026

Copy link
Copy Markdown

Why

@firecrawl/pdf-inspector has no darwin-x64 platform package, so on an Intel Mac require("@firecrawl/pdf-inspector") fails even though the generated index.js already has a darwin + x64 branch. We ship pdf-inspector inside Miyo, an Electron app, and this is the one dependency keeping us from an Intel macOS build.

What

  • Add x86_64-apple-darwin to the build and smoke-test matrices in publish.yml, on GitHub's macos-15-intel runner. publish-pypi.yml already uses that runner for the Intel wheel.
  • Add the darwin-x64 entry to the platform-package metadata map, napi.targets, and optionalDependencies.
  • List the package in the napi README.

PDFium and ONNX Runtime are loaded at runtime, so the build needs nothing beyond the Rust target. As docs/ocr-runtime.md already notes for the Python wheel, ONNX Runtime 1.27.0 has no Intel macOS archive, so local OCR on that target still needs a custom build. Text extraction is unaffected.

Verification

I ran the new matrix leg on my fork, on macos-15-intel: the build produces pdf-inspector.darwin-x64.node (Mach-O 64-bit dynamically linked shared library x86_64) and napi/test.mjs passes against it. Run: https://github.com/wenzhengjiang/pdf-inspector/actions/runs/33236213976

The publish step itself only runs on a napi/package.json version change from main, so the next release exercises it.


Summary by cubic

Adds an Intel macOS (darwin-x64) binary for @firecrawl/pdf-inspector so the package loads on Intel Macs instead of failing at require().

  • Builds and smoke-tests x86_64-apple-darwin on the macos-15-intel runner in the publish workflow.
  • Registers the darwin-x64 platform package in napi/package.json and documents it in the README.

Local OCR still needs a custom ONNX Runtime build on Intel macOS; text extraction is unaffected.

Written for commit ab07538. Summary will update on new commits.

Review in cubic

The npm package has no @firecrawl/pdf-inspector-darwin-x64, so Intel Macs
fail at require() even though index.js already has a darwin/x64 branch.
Build and smoke-test x86_64-apple-darwin on macos-15-intel, the same
runner the Python wheel already uses, and publish it like the other
platform packages.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 3 files

Shadow auto-approve: would require human review. Adds Intel macOS (darwin-x64) support to the napi package, build matrix, and optionalDependencies. This expands the supported platform set and publishes a new binary; the verification is only on a fork and not visible in the diff.

Re-trigger cubic

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant