BuilderIO / BuilderIO/builder

Bug: @builder.io/react fails to install on Node.js 24+ due to C++20 compilation requirements

Open
#4,137 2 comments 2 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
8.8k
Forks
1.2k
Avg merge
1d 6h
Merged PRs (30d)
17

Description

Environment:
- Node.js version: v24.6.0
- Platform: macOS (darwin arm64)
- Package: @builder.io/react@^8.2.7
- Compiler: Xcode Command Line Tools

Issue:
Installation of @builder.io/react fails on Node.js 24+ because the isolated-vm dependency requires C++20 compilation support, but the current compilation configuration doesn't enable it.

Urgency:
Node.js 24 will become the LTS version in October 2025, making this a critical compatibility issue that will affect all new projects and LTS migrations.

Root Cause:
Node.js 24+ ships with V8 headers that require C++20 features (concept, requires, etc.), but isolated-vm's build configuration doesn't specify C++20 standard, causing compilation failures.

Key Error Messages:
error: "C++20 or later required."
error: unknown type name 'concept'
error: unknown type name 'requires'
error: a non-type template parameter cannot have type 'ExternalPointerTagRange' (aka 'TagRange') before C++20

Attempted Workarounds:
- ✅ Works: Node.js 22.x
- ❌ Fails: Node.js 24+ (even with --no-node-snapshot flag)
- ❌ Fails: node --no-node-snapshot $(which npm) install @builder.io/react

Expected Behavior:
npm install @builder.io/react should work on all supported Node.js versions, including 24+.

Suggested Solutions:
1. Update isolated-vm dependency: Use a version that supports Node.js 24+ with proper C++20 compilation flags
2. Replace isolated-vm: Consider alternatives that are compatible with modern Node.js versions
3. Build configuration: Ensure C++20 standard is enabled when building native extensions
4. Provide prebuilt binaries: Distribute prebuilt binaries for Node.js 24+ to avoid compilation issues

Impact:
This blocks the adoption of Builder.io in projects using modern Node.js versions (24+). With Node.js 24 becoming LTS soon, this will affect all new projects and teams migrating to the latest LTS version.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing npm install @builder.io/react on Node.js 24+ with the listed macOS environment and compare it with Node.js 22.x. Investigate the isolated-vm build configuration and dependency version involved in the native compilation failure. Done means installation succeeds on supported Node.js versions, including Node.js 24+.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, node.js, typescript
Domain
build-system, frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.