From 8aea706598ab1476ba81e4d49b9be8d072f76112 Mon Sep 17 00:00:00 2001 From: alexcos20 Date: Fri, 21 Aug 2026 17:04:49 +0300 Subject: [PATCH] bump to node 24 --- .github/workflows/ci.yml | 10 +++++----- .nvmrc | 3 +-- CLAUDE.md | 9 +++++---- Dockerfile | 4 ++-- package-lock.json | 2 +- package.json | 2 +- 6 files changed, 15 insertions(+), 15 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 098f91029..8a994012c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,7 +17,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: - node-version: '22.23.1' + node-version: '24.19.0' - name: Cache node_modules uses: actions/cache@v3 env: @@ -42,7 +42,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest] - node: ['22.23.1'] + node: ['24.19.0'] steps: - uses: actions/checkout@v4 @@ -66,7 +66,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: - node-version: '22.23.1' + node-version: '24.19.0' - name: Cache node_modules uses: actions/cache@v3 env: @@ -102,7 +102,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: - node-version: '22.23.1' + node-version: '24.19.0' - name: Cache node_modules uses: actions/cache@v3 env: @@ -197,7 +197,7 @@ jobs: - name: Set up Node.js uses: actions/setup-node@v4 with: - node-version: '22.23.1' + node-version: '24.19.0' - name: Cache node_modules uses: actions/cache@v3 diff --git a/.nvmrc b/.nvmrc index 995f17e78..60ade1ae0 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1,2 +1 @@ -22.23.1 - +24.19.0 diff --git a/CLAUDE.md b/CLAUDE.md index f49e32d37..46e3fae19 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -5,15 +5,16 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co Ocean Node is the all-in-one backend for the Ocean Protocol stack. A single Node process replaces three legacy components: **Provider** (data access / encryption / compute), **Aquarius** (metadata cache) and the **subgraph** (on-chain event indexing). It is a -TypeScript ESM project (Node 22) that exposes an HTTP API and a libp2p P2P interface, both +TypeScript ESM project (Node 24) that exposes an HTTP API and a libp2p P2P interface, both of which dispatch to the same set of command handlers. --- ## 1. Environment & tooling prerequisites -- **Node.js ≥ 22.13 is required** (`.nvmrc` pins `22.23.1`, matching the Dockerfile and CI; - `package.json` `engines` requires `>=22.13.0`). The Dockerfile additionally pins each base +- **Node.js 24 is required** (`.nvmrc` pins `24.19.0` — the current Node 24 LTS "Krypton" — + matching the Dockerfile and CI; `package.json` `engines` requires `>=24`, so Node 22 is + no longer a supported runtime). The Dockerfile additionally pins each base image by digest, so bumping the version means updating the `sha256:` alongside the tag — resolve it with `docker buildx imagetools inspect node:-trixie`, not from the tag alone. Always run `nvm use` (or `source ~/.nvm/nvm.sh && nvm use`) before @@ -323,7 +324,7 @@ Handler source is grouped under `src/components/core/`: ## 5. Docker & deployment -Multi-stage `Dockerfile` (builder + slim runner) on `node:22`. The runner ships only +Multi-stage `Dockerfile` (builder + slim runner) on `node:24`. The runner ships only `dist/`, `node_modules`, `schemas/`, `config.json`, and `docs/serviceTemplates/` (`.dockerignore` excludes the rest of `docs/`). It exposes P2P ports `9000-9003,9005` and HTTP `8000`. `docker-entrypoint.sh` handles Docker socket group membership at runtime so C2D diff --git a/Dockerfile b/Dockerfile index 17b94a105..5628c46e7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:22.23.1-trixie@sha256:3145536027ca5268e24654f7efebf1dbdd684cda3708324e6c53f4ad61af8710 AS builder +FROM node:24.19.0-trixie@sha256:66bb8d36ae1ddd72199ed235a089904874ca4079ee517936ca3adb80506a75c1 AS builder RUN apt-get update && apt-get install -y --no-install-recommends \ python3 \ build-essential \ @@ -14,7 +14,7 @@ COPY . . RUN npm run build && npm prune --omit=dev -FROM node:22.23.1-trixie-slim@sha256:e6d9a389d34ff9678438af985c9913fbd1eb6ed36e80fea56644f4b4f6dd70ba AS runner +FROM node:24.19.0-trixie-slim@sha256:0711b541c1c33a8a530ac4f0d391baa9a15b3d804695b1b24a47daa5fb60e74d AS runner RUN apt-get update && apt-get install -y --no-install-recommends \ dumb-init \ gosu \ diff --git a/package-lock.json b/package-lock.json index 199e08c48..ad5020da4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -89,7 +89,7 @@ "typescript-eslint": "^8.67.0" }, "engines": { - "node": ">=22.13.0" + "node": ">=24" }, "optionalDependencies": { "koffi": "^3.1.6" diff --git a/package.json b/package.json index 343b97dea..a7c71e70f 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "type": "module", "main": "index.js", "engines": { - "node": ">=22.13.0" + "node": ">=24" }, "bugs": { "url": "https://github.com/oceanprotocol/ocean-node/issues"