96da68e18e
- Express 4 → 5.2.1 - Remove method-override (unused with Angular HttpClient) and errorhandler (superseded by exceptions.handler.js) - Remove asyncHandler wrapper from all controllers — Express 5 propagates async rejections natively - Remove body-parser (redundant, Express 5 includes it internally) - Patch/minor updates: cors, dotenv, ejs, express-jwt, express-session, jsonwebtoken, morgan, mysql2, sequelize, underscore - Dev updates: eslint 9.0→9.39, nodemon 2→3, globals, sequelize-cli - Fix getUser endpoint to include SkydiverProfile data in response - docs: add ADR 0013, update README
70 lines
2.4 KiB
JSON
70 lines
2.4 KiB
JSON
{
|
|
"name": "adastra-api",
|
|
"version": "1.0.0",
|
|
"description": "Ad Astra API",
|
|
"main": "app.js",
|
|
"author": {
|
|
"name": "Julien Gautier",
|
|
"email": "jgautier.webdev@gmail.com"
|
|
},
|
|
"scripts": {
|
|
"start": "APP_ENV=production node ./app.js",
|
|
"dev": "APP_ENV=development node ./app.js",
|
|
"local": "APP_ENV=local nodemon ./app.js",
|
|
"test": "jest",
|
|
"test:postman": "newman run ./tests/adastra-api-tests.postman_collection.json -e ./tests/adastra-api-tests.postman_environment.json",
|
|
"stop": "lsof -ti :3200 | xargs kill",
|
|
"mongo:start": "docker run --name hu-mongo -p 27017:27017 mongo & sleep 5",
|
|
"mongo:stop": "docker stop hu-mongo && docker rm hu-mongo",
|
|
"create:user": "node scripts/create-user.js",
|
|
"setup:api": "npx sequelize-cli db:migrate && npx sequelize-cli db:seed --seed 20251126-add-roles.js && npm run create:user && npx sequelize-cli db:seed --seed 20251127-add-articles.js"
|
|
},
|
|
"engines": {
|
|
"node": "^16.20.2 || ^18.19.1 || ^20.11.1"
|
|
},
|
|
"license": "UNLICENSED",
|
|
"private": true,
|
|
"dependencies": {
|
|
"@sendgrid/mail": "^7.7.0",
|
|
"bcrypt": "^5.1.1",
|
|
"cors": "^2.8.6",
|
|
"dotenv": "^16.6.1",
|
|
"ejs": "^3.1.10",
|
|
"express": "^5",
|
|
"express-jwt": "^8.5.1",
|
|
"express-rate-limit": "^8.4.1",
|
|
"express-session": "^1.19.0",
|
|
"express-validator": "^7.3.2",
|
|
"helmet": "^8.1.0",
|
|
"js-yaml": "^4.1.1",
|
|
"jsonwebtoken": "^9.0.3",
|
|
"methods": "1.1.2",
|
|
"mongoose": "^6.12.6",
|
|
"mongoose-unique-validator": "^3.1.0",
|
|
"morgan": "^1.10.1",
|
|
"mysql2": "^3.22.3",
|
|
"node-fetch": "^3.3.2",
|
|
"passport": "^0.6.0",
|
|
"passport-headerapikey": "^1.2.2",
|
|
"passport-local": "^1.0.0",
|
|
"request": "^2.88.2",
|
|
"sequelize": "^6.37.8",
|
|
"sequelize-auto": "^0.8.8",
|
|
"slug": "^8.2.3",
|
|
"swagger-jsdoc": "^6.2.8",
|
|
"swagger-ui-express": "^5.0.1",
|
|
"underscore": "^1.13.8",
|
|
"uuid": "^9.0.1"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/js": "^9.39.4",
|
|
"eslint": "^9.39.4",
|
|
"globals": "^15.15.0",
|
|
"jest": "^30.3.0",
|
|
"newman": "^5.3.2",
|
|
"nodemon": "^3.1.14",
|
|
"sequelize-cli": "^6.6.5",
|
|
"supertest": "^7.2.2"
|
|
}
|
|
}
|