-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpackage.json
80 lines (80 loc) · 2.95 KB
/
package.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
{
"name": "node-express-typescript-starter",
"version": "1.0.0",
"author": "Usman Shaikh",
"description": "Node Express TypeScript Starter is a boilerplate for building scalable applications with Node.js and Express. It includes essential packages like Axios, Mongoose, JWT, and testing support using Jest and Supertest. The project is also configured with ESLint and Prettier for consistent code quality.",
"main": "index.js",
"scripts": {
"start": "cross-env NODE_ENV=production npm run build && npm run serve",
"serve": "pm2 start build/server.js --name NETS --env production",
"build": "npm run clean && npm run build-ts && npm run copy-assets",
"copy-assets": "npx cpy \"src/public/**/*\" build/public/ --parents && npx cpy \"src/views/**/*\" build/views/ --parents",
"watch": "cross-env NODE_ENV=development npx concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"",
"watch-node": "nodemon -r dotenv/config build/server.js",
"clean": "rimraf ./build",
"build-ts": "tsc",
"watch-ts": "tsc -w",
"check": "tsc --noEmit",
"eslint": "eslint . --ext .js,.ts",
"test": "cross-env NODE_ENV=test jest --forceExit --detectOpenHandles --coverage --verbose"
},
"dependencies": {
"@faker-js/faker": "^9.4.0",
"@types/http-status": "^1.1.2",
"axios": "^1.7.9",
"bcrypt": "^5.1.1",
"compression": "^1.7.5",
"cookie-parser": "^1.4.7",
"cors": "^2.8.5",
"express": "^4.21.2",
"express-rate-limit": "^7.5.0",
"helmet": "^8.0.0",
"http-status-codes": "^2.3.0",
"ioredis": "^5.5.0",
"joi": "^17.13.3",
"jsonwebtoken": "^9.0.2",
"lodash": "^4.17.21",
"moment": "^2.30.1",
"mongoose": "^8.9.5",
"morgan": "^1.10.0",
"multer": "^1.4.5-lts.1",
"nodemailer": "^6.10.0",
"nodemailer-express-handlebars": "^6.1.2",
"pm2": "^5.4.3",
"redis": "^4.7.0",
"validator": "^13.12.0",
"winston": "^3.17.0",
"winston-daily-rotate-file": "^5.0.0"
},
"devDependencies": {
"@types/bcrypt": "^5.0.2",
"@types/compression": "^1.7.5",
"@types/cookie-parser": "^1.4.8",
"@types/cors": "^2.8.17",
"@types/express": "^5.0.0",
"@types/jest": "^29.5.14",
"@types/jsonwebtoken": "^9.0.8",
"@types/lodash": "^4.17.14",
"@types/morgan": "^1.9.9",
"@types/multer": "^1.4.12",
"@types/node": "^22.10.10",
"@types/nodemailer-express-handlebars": "^4.0.5",
"@types/request": "^2.48.12",
"@types/supertest": "^6.0.2",
"@types/validator": "^13.12.2",
"@typescript-eslint/eslint-plugin": "^8.22.0",
"@typescript-eslint/parser": "^8.22.0",
"colors": "^1.4.0",
"cpy-cli": "^5.0.0",
"cross-env": "^7.0.3",
"dotenv": "^16.4.7",
"eslint": "^9.19.0",
"jest": "^29.7.0",
"nodemon": "^3.1.9",
"prettier": "^3.4.2",
"supertest": "^7.0.0",
"ts-jest": "^29.2.5",
"ts-node": "^10.9.2",
"typescript": "^5.7.3"
}
}