Skip to content

fix(rest/nodejs): support Node.js 24 - #170

Open
tianyubing-tiktok wants to merge 2 commits into
Universal-Commerce-Protocol:mainfrom
tianyubing-tiktok:fix/node24-compat
Open

fix(rest/nodejs): support Node.js 24#170
tianyubing-tiktok wants to merge 2 commits into
Universal-Commerce-Protocol:mainfrom
tianyubing-tiktok:fix/node24-compat

Conversation

@tianyubing-tiktok

@tianyubing-tiktok tianyubing-tiktok commented Aug 7, 2026

Copy link
Copy Markdown

Description

The Node.js REST sample documented support for Node.js 20 or newer, but npm ci failed on Node.js 24 because better-sqlite3 9.x could not install a compatible native binary.

  • Upgrade better-sqlite3 to 12.11.1, the latest 12.x release supporting Node.js 20, 22, and 24.
  • Declare the supported Node.js versions in package.json.
  • Run the Node.js workflow against Node.js 20, 22, and 24.
  • Pin the workflow's third-party Actions to immutable commit SHAs.
  • Align the README prerequisite with the tested versions.

Category (Required)

  • Core Protocol: Changes to the base communication layer, global context, or breaking refactors. (Requires Technical Council approval)
  • Governance/Contributing: Updates to GOVERNANCE.md, CONTRIBUTING.md, or CODEOWNERS. (Requires Governance Council approval)
  • Capability: New schemas (Discovery, Cart, etc.) or extensions. (Requires Maintainer approval)
  • Documentation: Updates to README, or documentations regarding schema or capabilities. (Requires Maintainer approval)
  • Infrastructure: CI/CD, Linters, or build scripts. (Requires DevOps Maintainer approval)
  • Maintenance: Version bumps, lockfile updates, or minor bug fixes. (Requires DevOps Maintainer approval)
  • SDK: Language-specific SDK updates and releases. (Requires DevOps Maintainer approval)
  • Samples / Conformance: Maintaining samples and the conformance suite. (Requires Maintainer approval)
  • UCP Schema: Changes to the ucp-schema tool (resolver, linter, validator). (Requires Maintainer approval)
  • Community Health (.github): Updates to templates, workflows, or org-level configs. (Requires DevOps Maintainer approval)

Related Issues

None. No open issue or PR currently covers the Node.js REST sample's Node.js 24 dependency compatibility.

Checklist

  • I have followed the Contributing Guide (including Conventional Commits title requirements and ! for breaking changes).
  • I have updated the documentation (if applicable).
  • My changes pass all local linting and formatting checks.
  • I have added tests that prove my fix is effective or that my feature works.
  • New and existing unit tests pass locally with my changes.
  • (For Core/Capability) I have included/updated the relevant JSON schemas.
  • I have regenerated Python Pydantic models by running generate_models.sh under python_sdk.

Verification

  • Node.js 24.1.0: npm ci, npm run build, and npm test (116 passing)
  • Node.js 22.22.2: npm ci, npm run build, and npm test (116 passing)
  • Node.js 20: covered by the added GitHub Actions matrix job

@damaz91 damaz91 added the status:needs-triage Signal that the PR is ready for human triage label Aug 7, 2026
@damaz91 damaz91 added status:under-review and removed status:needs-triage Signal that the PR is ready for human triage labels Aug 10, 2026
@tianyubing-tiktok

Copy link
Copy Markdown
Author

Hi @carolinerg1 @damaz91 — this PR is mergeable and already has @damaz91's approval, but the repository ruleset requires two approvals for rest/** changes.

The post-review PR Review Listener workflow is also waiting for maintainer approval because this PR comes from a fork, so Governance / Approvals has not refreshed. Could you please provide the second review and approve the pending workflow run? Once the governance status is green, this should be ready to squash-merge. Thank you!

@tianyubing-tiktok

Copy link
Copy Markdown
Author

Hi @ptiper — could you please take a look at this Node.js compatibility PR when you have a chance? It is mergeable, the Node.js 24 build and all 116 tests pass locally, and @damaz91 has already approved it.

The repository ruleset still requires a second eligible approval. The fork workflows, including PR Review Listener, are also awaiting maintainer approval, so the governance status has not refreshed yet. Thank you!

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants