Skip to content

build(web): upgrade to Node 26 LTS and TypeScript 7 - #939

Merged
matteius merged 1 commit into
mainfrom
chore/frontend-node26-typescript7
Nov 9, 2026
Merged

matteius merged 1 commit into
mainfrom
chore/frontend-node26-typescript7

Conversation

@matteius

@matteius matteius commented Nov 9, 2026

Copy link
Copy Markdown
Contributor

The frontend toolchain now uses Node 26.13.0 LTS and TypeScript 7.0.2 for typechecking. Align Node engine requirements, typings, CI, Docker build defaults, and developer documentation, and update Preact to 11.2.0 and Babel core to 8.1.0.

TypeScript 7 runs through the official @typescript/native alias, alongside the TypeScript 6 compatibility API required by ESLint. Root TypeScript stays on 5.9.3 to satisfy the OpenAPI generator's compiler API and peer dependency. Contract declaration tests exercise the root compiler and the frontend's native compiler. Normalize MQTT test socket data to buffers for the Node 26 typings.

Validation on Node 26.13.0:

  • Clean npm ci installs for the root and frontend.
  • Production frontend build, frontend lint, and frontend/root/contract typechecks passed.
  • All 87 frontend suites passed (1,027 tests).
  • Contract lint, generated-artifact drift checks, contract tooling tests, and all 9 schema fixture tests passed.
  • MQTT binary-payload smoke test passed.
  • Production frontend dependency audit reports zero vulnerabilities.
  • NodeSource 26.13.0 packages verified available for amd64 and arm64.

Full Docker builds and browser E2E tests were not run. Existing Jest development dependency advisories remain (17 moderate, 1 low); this upgrade does not resolve them.

@matteius
matteius merged commit 8553df6 into main Nov 9, 2026
5 of 13 checks passed
@matteius
matteius deleted the chore/frontend-node26-typescript7 branch November 9, 2026 02:33
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.

1 participant