diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml
index d8765012..f6827c73 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 910f8daa..05bced6a 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 edc3f726..e95d9dbf 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",