From ce5c374f44ebd7dec2ef3484180270384e202f4d Mon Sep 17 00:00:00 2001 From: Dan Ditomaso Date: Sun, 18 Oct 2026 15:48:48 -0400 Subject: [PATCH] chore: standardize on Node 24 CI already runs Node 24 but the version was hardcoded in each workflow, the devcontainer was still on Node 22, and nothing told local tooling which version to use. - add .nvmrc (24) as the single source of truth - point every setup-node step at node-version-file: .nvmrc - bump the devcontainer image to typescript-node:24-bookworm - declare engines.node >=24 in the root package.json --- .devcontainer/devcontainer.json | 2 +- .github/workflows/ci.yml | 2 +- .github/workflows/e2e.yml | 2 +- .github/workflows/nightly.yml | 2 +- .github/workflows/pr.yml | 2 +- .github/workflows/release-packages.yml | 2 +- .github/workflows/release-web.yml | 2 +- .nvmrc | 1 + package.json | 3 +++ 9 files changed, 11 insertions(+), 7 deletions(-) create mode 100644 .nvmrc diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index c92d312cb..2b7baa36a 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,6 +1,6 @@ { "name": "meshtastic-web", - "image": "mcr.microsoft.com/devcontainers/typescript-node:1-22-bookworm", + "image": "mcr.microsoft.com/devcontainers/typescript-node:24-bookworm", "features": { "ghcr.io/r3dpoint/devcontainer-features/tailwindcss-standalone-cli:1": { "version": "latest" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 54d5c0518..d67bb772e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,7 +22,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v7 with: - node-version: 24 + node-version-file: .nvmrc cache: pnpm cache-dependency-path: "**/pnpm-lock.yaml" diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 25b94e043..0a28e4e0a 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -26,7 +26,7 @@ jobs: - uses: actions/setup-node@v7 with: - node-version: 24 + node-version-file: .nvmrc cache: pnpm - name: Install workspace deps diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index d835e558d..55e73691f 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -26,7 +26,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v7 with: - node-version: 24 + node-version-file: .nvmrc cache: pnpm cache-dependency-path: "**/pnpm-lock.yaml" diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 5f2ac3152..bc5817f99 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -29,7 +29,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v7 with: - node-version: 24 + node-version-file: .nvmrc cache: pnpm cache-dependency-path: pnpm-lock.yaml diff --git a/.github/workflows/release-packages.yml b/.github/workflows/release-packages.yml index d972d865e..5e13ea4ac 100644 --- a/.github/workflows/release-packages.yml +++ b/.github/workflows/release-packages.yml @@ -30,7 +30,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v7 with: - node-version: 24 + node-version-file: .nvmrc cache: pnpm cache-dependency-path: "**/pnpm-lock.yaml" registry-url: "https://registry.npmjs.org" diff --git a/.github/workflows/release-web.yml b/.github/workflows/release-web.yml index 280010c24..4ecb07067 100644 --- a/.github/workflows/release-web.yml +++ b/.github/workflows/release-web.yml @@ -41,7 +41,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v7 with: - node-version: 24 + node-version-file: .nvmrc cache: pnpm cache-dependency-path: "**/pnpm-lock.yaml" diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 000000000..a45fd52cc --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +24 diff --git a/package.json b/package.json index 3255ce9d3..8e6da009a 100644 --- a/package.json +++ b/package.json @@ -54,5 +54,8 @@ "oxfmt" ] }, + "engines": { + "node": ">=24" + }, "packageManager": "pnpm@11.9.0" }