diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml
index d8765012b..f6827c73d 100644
--- a/.github/workflows/CI.yml
+++ b/.github/workflows/CI.yml
@@ -12,8 +12,8 @@ jobs:
strategy:
matrix:
- node-version: [20.x]
- mongodb-version: ['6.0', '7.0']
+ node-version: [22.x, 24.x]
+ mongodb-version: ['7.0']
steps:
- uses: actions/checkout@v4
@@ -31,7 +31,7 @@ jobs:
npm i
npm run lint
npm run test:coverage
- - name: Coveralls
- uses: coverallsapp/github-action@master
+ - name: Upload coverage reports to Codecov
+ uses: codecov/codecov-action@v5
with:
- github-token: ${{ secrets.GITHUB_TOKEN }}
+ token: ${{ secrets.CODECOV_TOKEN }}
diff --git a/README.md b/README.md
index 910f8daa1..05bced6aa 100644
--- a/README.md
+++ b/README.md
@@ -15,7 +15,7 @@ Designed to be cloned into downstream projects and kept up-to-date via `git merg
| Subject | Informations |
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Architecture | Layered Architecture : everything is separated in layers, and the upper layers are abstractions of the lower ones, that's why every layer should only reference the immediate lower layer (vertical modules architecture with Repository and Services Pattern) |
-| Server | [Node >= 20 LTS](https://nodejs.org/en/) - [Express](https://github.com/expressjs/express) - [Helmet](https://github.com/helmetjs/helmet) - [CORS](https://github.com/expressjs/cors)
[nodemon](https://github.com/remy/nodemon) |
+| Server | [Node >= 22](https://nodejs.org/en/) - [Express](https://github.com/expressjs/express) - [Helmet](https://github.com/helmetjs/helmet) - [CORS](https://github.com/expressjs/cors)
[nodemon](https://github.com/remy/nodemon) |
| Database | [MongoDB](https://www.mongodb.com/) - [Mongoose](https://github.com/Automattic/mongoose) - GridFS upload
[Sequelize](https://github.com/sequelize/sequelize) - PostgreSQL, MySQL, SQLite (option)
[JOI](https://github.com/hapijs/joi) - Models & Repository validation |
| Security | [passport-jwt](https://github.com/themikenicholson/passport-jwt) - JWT Stateless
[bcrypt](https://en.wikipedia.org/wiki/Bcrypt) - [zxcvbn](https://github.com/dropbox/zxcvbn) - Passwords
SSL - Express / Reverse Proxy |
| API | [jsend](https://github.com/omniti-labs/jsend) - Default response wrapper: status, message, data or error |
@@ -43,7 +43,7 @@ Designed to be cloned into downstream projects and kept up-to-date via `git merg
## :pushpin: Prerequisites
- Git - [Download & Install Git](https://git-scm.com/downloads)
-- Node.js (20.x or 22.x) - [Download & Install Node.js](https://nodejs.org/en/download/)
+- Node.js (22.x or 24.x) - [Download & Install Node.js](https://nodejs.org/en/download/)
- Recommended: Use [nvm](https://github.com/nvm-sh/nvm) for Node version management
- MongoDB - [Download & Install MongoDB](https://www.mongodb.com/try/download/community)
diff --git a/package.json b/package.json
index edc3f726d..e95d9dbfd 100644
--- a/package.json
+++ b/package.json
@@ -20,7 +20,7 @@
"url": "https://github.com/pierreb-devkit/Node.git"
},
"engines": {
- "node": ">=20.10.0"
+ "node": ">=22.0.0"
},
"scripts": {
"start": "node server.js",
@@ -29,7 +29,6 @@
"test": "cross-env NODE_ENV=test NODE_OPTIONS=--experimental-vm-modules jest --runInBand",
"test:watch": "cross-env NODE_ENV=test NODE_OPTIONS=--experimental-vm-modules jest --watch --runInBand",
"test:coverage": "cross-env NODE_ENV=test NODE_OPTIONS=--experimental-vm-modules jest --coverage --runInBand",
- "test:coveralls": "cross-env NODE_ENV=test NODE_OPTIONS=--experimental-vm-modules jest --coverage --runInBand && cat ./coverage/lcov.info | coveralls",
"lint": "eslint ./modules ./lib ./config ./scripts",
"seed:dev": "cross-env NODE_ENV=development node scripts/seed.js seed",
"seed:prod": "cross-env NODE_ENV=production node scripts/seed.js seed",
@@ -100,7 +99,6 @@
"@semantic-release/git": "^10.0.1",
"@weareopensource/conventional-changelog": "^1.7.0",
"commitizen": "^4.3.1",
- "coveralls": "~3.1.1",
"eslint": "10.0.0",
"@eslint/js": "^10.0.0",
"eslint-config-prettier": "^10.1.8",