aws / aws/graph-explorer

Move to Node 26 when it reaches Active LTS

Open
#2,153 0 comments 0 reactions 0 assignees View on GitHub
dependencies infrastructure internal
Dominant language
TypeScript
Stars
481
Forks
108
Avg merge
6d 8h
Merged PRs (30d)
5

Description

We track the latest Active LTS Node release. Node 24 is Active LTS today, so the pins are correct as
of now — this issue is the scheduled move to Node 26, which enters Active LTS on **2026-10-28**.

`@types/node` 26 is already published and typechecks cleanly against the current source, so the code
isn't the obstacle. We're holding it at ^24 only because shipping types ahead of the runtime would let
code compile against APIs the runtime doesn't have.

## Work

When Node 26 reaches Active LTS, change all of these together to the then-current 26.x LTS patch:

- `NODE_VERSION` in the `Dockerfile`
- `.nvmrc`
- `engines.node` and `devEngines.runtime.version` in the root `package.json`
- `engines.node` in `packages/graph-explorer/package.json`
- `@types/node` to `^26.x` in the root, `packages/graph-explorer`, and
`packages/graph-explorer-proxy-server` manifests
- The Node version references in `docs/development.md`

`.github/workflows/unit.yml` now reads `node-version-file: ".nvmrc"`, so CI follows the `.nvmrc` pin
directly — update that file and CI moves with it.

**How to check the trigger:** DefinitelyTyped pins the `@types/node` `latest` dist-tag to a much older
major, so `pnpm outdated` reports the highest in-range 24.x and will never surface 26.x. Use
`npm view @types/node versions` instead. For the runtime itself, the LTS date is in
[`nodejs/Release`](https://github.com/nodejs/Release)'s `schedule.json`.

Verify with `pnpm checks`, `pnpm test`, a Docker image build, and the container smoke checks in
`.github/workflows/test_build_docker.yml`.

## Acceptance

All Node version pins and `@types/node` sit on the current Node 26 LTS release, and CI is green.

> [!IMPORTANT]
> Internal only — this issue is maintained by the core team and is not accepting external contributions.

Contributor guide

Open the contributing guide

Research direction

When Node 26 reaches Active LTS, inspect the version pins in Dockerfile, .nvmrc, the root and graph-explorer package manifests, and docs/development.md. Check the Node release schedule and @types/node versions first, then run pnpm checks, pnpm test, the Docker build, and the container smoke checks; done means all pins target the current Node 26 LTS release and CI is green.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, nodejs, typescript
Domain
build-system, ci-cd, devops
Issue type
Refactor
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.