diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ab79dacc..ae6eb0d5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,10 +17,10 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Use Node.js 20 + - name: Use Node.js 24 uses: actions/setup-node@v4 with: - node-version: 20.19.0 + node-version: 24.21.0 cache: 'npm' # middlewareNode diff --git a/README.md b/README.md index b734cd05..059a480d 100644 --- a/README.md +++ b/README.md @@ -4,13 +4,13 @@ This is an educational platform combining chess instruction with STEM learning, ## Development Environment Setup -To run the platform, you’ll need **Node.js v18** installed. **Nodemon** is optional and can be used to automatically restart servers when code changes, which is convenient during development. +To run the platform, you’ll need **Node.js v24** installed. **Nodemon** is optional and can be used to automatically restart servers when code changes, which is convenient during development. ### Node.js --- -This project requires **Node.js v18.20.8**. Using a version manager ensures consistent Node versions across contributors. +This project requires **Node.js v24.21.0**. Using a version manager ensures consistent Node versions across contributors. #### Option 1: Using [Volta](https://volta.sh) (recommended) @@ -28,7 +28,7 @@ source ~/.bashrc # or ~/.zshrc * **Windows** Download and run the installer from [volta.sh](https://volta.sh). -Volta will automatically install and use **Node.js v18.20.8** when you cd into the project. +Volta will automatically install and use **Node.js v24.21.0** when you cd into the project. #### Option 2: Using [nvm](https://github.com/nvm-sh/nvm) @@ -39,17 +39,17 @@ If you prefer nvm: ```bash curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash source ~/.nvm/nvm.sh -nvm install 18.20.8 -nvm use 18.20.8 -nvm alias default 18.20.8 # optional +nvm install 24.21.0 +nvm use 24.21.0 +nvm alias default 24.21.0 # optional ``` * **Windows** Use [nvm-windows](https://github.com/coreybutler/nvm-windows/releases). ```powershell -nvm install 18.20.8 -nvm use 18.20.8 +nvm install 24.21.0 +nvm use 24.21.0 ``` ### Nodemon (Optional) diff --git a/chessServer/Dockerfile b/chessServer/Dockerfile index dd9fd644..49c53526 100644 --- a/chessServer/Dockerfile +++ b/chessServer/Dockerfile @@ -1,4 +1,4 @@ -FROM node:alpine +FROM node:24.21.0-alpine WORKDIR /usr/src/app diff --git a/chessServer/package-lock.json b/chessServer/package-lock.json index 6caf4ff7..e6db99b9 100644 --- a/chessServer/package-lock.json +++ b/chessServer/package-lock.json @@ -19,6 +19,9 @@ "socket.io": "^4.7.5", "socket.io-client": "^4.8.0", "supertest": "^7.0.0" + }, + "engines": { + "node": ">=24 <25" } }, "node_modules/@babel/code-frame": { diff --git a/chessServer/package.json b/chessServer/package.json index 713b577b..e5e02012 100644 --- a/chessServer/package.json +++ b/chessServer/package.json @@ -23,6 +23,9 @@ "supertest": "^7.0.0" }, "volta": { - "node": "20.19.0" + "node": "24.21.0" + }, + "engines": { + "node": ">=24 <25" } } diff --git a/middlewareNode/Dockerfile b/middlewareNode/Dockerfile index 02354df2..7e780f11 100644 --- a/middlewareNode/Dockerfile +++ b/middlewareNode/Dockerfile @@ -1,4 +1,4 @@ -FROM node:alpine +FROM node:24.21.0-alpine WORKDIR /app diff --git a/middlewareNode/package-lock.json b/middlewareNode/package-lock.json index d07c1233..4a2009ec 100644 --- a/middlewareNode/package-lock.json +++ b/middlewareNode/package-lock.json @@ -43,6 +43,9 @@ "jest": "^30.3.0", "mongodb-memory-server": "^11.2.0", "supertest": "^7.2.2" + }, + "engines": { + "node": ">=24 <25" } }, "node_modules/@aws-crypto/crc32": { diff --git a/middlewareNode/package.json b/middlewareNode/package.json index c568ed32..1ca00490 100644 --- a/middlewareNode/package.json +++ b/middlewareNode/package.json @@ -41,11 +41,14 @@ "author": "", "license": "ISC", "volta": { - "node": "20.19.0" + "node": "24.21.0" }, "devDependencies": { "jest": "^30.3.0", "mongodb-memory-server": "^11.2.0", "supertest": "^7.2.2" + }, + "engines": { + "node": ">=24 <25" } } diff --git a/package-lock.json b/package-lock.json index 050aa3ab..f6181d03 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,6 +11,9 @@ "puppeteer-core": "^24.42.0", "sass": "^1.89.0", "socket.io": "^4.8.1" + }, + "engines": { + "node": ">=24 <25" } }, "node_modules/@parcel/watcher": { diff --git a/package.json b/package.json index e5be3450..59ef143f 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,9 @@ "socket.io": "^4.8.1" }, "volta": { - "node": "20.19.0" + "node": "24.21.0" + }, + "engines": { + "node": ">=24 <25" } } diff --git a/react-ystemandchess/Dockerfile b/react-ystemandchess/Dockerfile index 9e71c6d4..52c24db9 100644 --- a/react-ystemandchess/Dockerfile +++ b/react-ystemandchess/Dockerfile @@ -1,4 +1,4 @@ -FROM node:18.20.8-alpine AS build +FROM node:24.21.0-alpine AS build WORKDIR /app @@ -22,7 +22,7 @@ ENV REACT_APP_AGORA_APP_ID=$REACT_APP_AGORA_APP_ID RUN npm run build -FROM node:18.20.8-alpine +FROM node:24.21.0-alpine WORKDIR /app diff --git a/react-ystemandchess/package-lock.json b/react-ystemandchess/package-lock.json index 592ed92b..4af42f23 100644 --- a/react-ystemandchess/package-lock.json +++ b/react-ystemandchess/package-lock.json @@ -78,6 +78,9 @@ "typescript": "^4.9.5", "util": "^0.12.5", "yaml": "^2.8.3" + }, + "engines": { + "node": ">=24 <25" } }, "node_modules/@adobe/css-tools": { diff --git a/react-ystemandchess/package.json b/react-ystemandchess/package.json index 1a1dfee5..33c858a9 100644 --- a/react-ystemandchess/package.json +++ b/react-ystemandchess/package.json @@ -99,6 +99,9 @@ "yaml": "^2.8.3" }, "volta": { - "node": "20.19.0" + "node": "24.21.0" + }, + "engines": { + "node": ">=24 <25" } } diff --git a/stockfishServer/Dockerfile b/stockfishServer/Dockerfile index 01d6b4fc..33adbfe0 100644 --- a/stockfishServer/Dockerfile +++ b/stockfishServer/Dockerfile @@ -1,4 +1,4 @@ -FROM node:alpine +FROM node:24.21.0-alpine WORKDIR /usr/src/app diff --git a/stockfishServer/package-lock.json b/stockfishServer/package-lock.json index 13f628a9..65db14fc 100644 --- a/stockfishServer/package-lock.json +++ b/stockfishServer/package-lock.json @@ -23,6 +23,9 @@ "nodemon": "^3.1.10", "socket.io-client": "^4.8.1", "supertest": "^7.2.2" + }, + "engines": { + "node": ">=24 <25" } }, "node_modules/@babel/code-frame": { diff --git a/stockfishServer/package.json b/stockfishServer/package.json index b2ba097a..b3f45194 100644 --- a/stockfishServer/package.json +++ b/stockfishServer/package.json @@ -20,12 +20,15 @@ "stockfish": "^11.0.0" }, "volta": { - "node": "20.19.0" + "node": "24.21.0" }, "devDependencies": { "jest": "^30.0.4", "nodemon": "^3.1.10", "socket.io-client": "^4.8.1", "supertest": "^7.2.2" + }, + "engines": { + "node": ">=24 <25" } }