Skip to content

[Bug] web/package.json: Relax engines.node constraint — Node.js 18 is EOL #2041

@MickLesk

Description

@MickLesk

What did I do

Attempted to build mqttx-web (the web/ subdirectory) using Node.js 22 LTS, which is the current Active LTS release.

yarn install --frozen-lockfile

What happened

Build fails immediately with an engine compatibility error:

error mqttx-web@1.13.0: The engine "node" is incompatible with this module. Expected version "18". Got "22.22.2"
error Found incompatible module.

The web/package.json has a strict engine constraint:

"engines": {
  "node": "18"
}

Expected

This prevents installation on any Node.js version other than 18.x — including all currently supported LTS versions (20, 22, 24).

"engines": {
  "node": ">=22"
}

Workaround: Using --ignore-engines flag works — the app builds and runs correctly on Node.js 22 LTS with no issues.

Environment

  • Node.js 18 EOL: April 30, 2025 (over 11 months ago)
  • Current LTS versions: Node.js 20 (EOL: April 2026), Node.js 22 (EOL: April 2027), Node.js 24 (EOL: April 2028)
  • MQTTX version: v1.13.0
  • Context: community-scripts/ProxmoxVED bare-metal installer for Proxmox — we install the latest Node.js LTS (currently 22 / but 24 is better) and build web/ from the tarball release

More detail

The strict "node": "18" constraint in web/package.json blocks installation on all currently supported Node.js versions. Since Node.js 18 reached End-of-Life on April 30, 2025, it no longer receives security patches.

The rest of the MQTTX project already uses "node": ">=18.18" in the root package.json — only web/package.json has this overly strict constraint.

The --openssl-legacy-provider flag is already set via cross-env NODE_OPTIONS=--openssl-legacy-provider in the build scripts, so OpenSSL compatibility is handled.

Suggested fix: Change web/package.json from "node": "18" to "node": ">=22".

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions