node-express-mongodb-jwt-rest-api-skeleton
Version:
Node.js express.js MongoDB JWT REST API - This is a basic API REST skeleton written on JavaScript using async/await. Great for building a starter web API for your front-end (Android, iOS, Vue, react, angular, or anything that can consume an API)
142 lines (141 loc) • 4.02 kB
JSON
{
"name": "node-express-mongodb-jwt-rest-api-skeleton",
"version": "9.0.5",
"description": "Node.js express.js MongoDB JWT REST API - This is a basic API REST skeleton written on JavaScript using async/await. Great for building a starter web API for your front-end (Android, iOS, Vue, react, angular, or anything that can consume an API)",
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/davellanedam/node-express-mongodb-jwt-rest-api-skeleton.git"
},
"scripts": {
"start": "cross-env NODE_ENV=production pm2 start server.js",
"mocha": "nyc mocha --timeout=5000 --exit",
"test": "npm run coverage:clean && npm run test:unit && npm run test:e2e && npm run coverage",
"test:unit": "cross-env NODE_ENV=test jest --coverage",
"test:e2e": "cross-env NODE_ENV=test npm run fresh && npm run mocha",
"dev": "cross-env NODE_ENV=development nodemon --inspect=9230 server.js",
"fresh": "npm run clean && npm run seed",
"clean": "node clean.js",
"seed": "node seed.js",
"prettier": "prettier --write --config .prettierrc.json \"**/*.js\"",
"lint": "eslint --fix --config .eslintrc.json \"**/*.js\"",
"remark": "remark . -o",
"coverage": "npm run coverage:merge && npm run coverage:merge-report",
"coverage:clean": "rm -rf .nyc_output && rm -rf coverage",
"coverage:merge": "istanbul-merge --out coverage/merged/coverage-final.json ./coverage/unit/coverage-final.json ./coverage/e2e/coverage-final.json",
"coverage:merge-report": "nyc report --reporter=lcov --reporter=text --reporter=json --temp-dir=./coverage/merged --report-dir=./coverage/merged"
},
"nyc": {
"reporter": [
"json",
"text",
"lcov"
],
"report-dir": "coverage/e2e",
"include": [
"**/*.js"
],
"exclude": [
"**/*.test.js",
"jest.config.js",
"**/data/**",
"**/node_modules/**",
"**/.history/**",
"**/test/**",
"**/coverage/**",
"**/tmp/**"
],
"all": true
},
"husky": {
"hooks": {
"pre-commit": "lint-staged && npm run remark",
"pre-push": "npm run test"
}
},
"lint-staged": {
"*.js": [
"prettier --write",
"eslint --fix"
]
},
"dependencies": {
"babel-eslint": "^10.1.0",
"bcrypt": "^5.0.1",
"body-parser": "^1.20.0",
"compression": "^1.7.4",
"cors": "^2.8.5",
"date-fns": "^2.28.0",
"dotenv-safe": "^8.2.0",
"ejs": "^3.1.7",
"expeditious-engine-redis": "^0.1.2",
"express": "^4.18.1",
"express-expeditious": "^5.1.1",
"express-validator": "^6.14.0",
"helmet": "^4.6.0",
"i18n": "^0.13.4",
"jsonwebtoken": "^8.5.1",
"mongoose": "^5.13.14",
"mongoose-paginate-v2": "^1.6.3",
"morgan": "^1.10.0",
"nodemailer": "^6.7.4",
"nodemailer-mailgun-transport": "^2.1.3",
"passport": "^0.4.1",
"passport-jwt": "^4.0.0",
"request-ip": "^2.1.3",
"trim-request": "^1.0.6",
"uuid": "^8.3.2",
"validator": "^13.7.0"
},
"devDependencies": {
"chai": "^4.3.6",
"chai-http": "^4.3.0",
"cross-env": "^7.0.3",
"eslint": "^7.32.0",
"eslint-config-formidable": "^4.0.0",
"eslint-config-prettier": "^7.2.0",
"eslint-plugin-prettier": "^3.4.1",
"faker": "^5.5.3",
"husky": "^4.3.8",
"istanbul-merge": "^1.1.1",
"jest": "^26.6.3",
"lint-staged": "^10.5.4",
"mocha": "^8.4.0",
"mongo-seeding": "^3.7.1",
"nodemon": "^2.0.16",
"nyc": "^15.1.0",
"prettier": "^2.6.2",
"prettier-eslint": "^12.0.0",
"remark-cli": "^9.0.0"
},
"keywords": [
"javascript",
"api",
"node",
"express",
"mongo",
"mongodb",
"jwt",
"postman",
"i18n",
"jwt-authentication",
"token",
"eslint",
"starter",
"web",
"app",
"mongoose",
"rest",
"skeleton",
"async",
"await",
"mvp",
"front-end",
"testing",
"prettier",
"mocha",
"chai",
"redis",
"JSDoc"
]
}