{
    "name": "pamsika-whatsapp-bot",
    "version": "1.0.0",
    "description": "WhatsApp Ticketing Chatbot for PamsikaOnline",
    "main": "server.js",
    "scripts": {
        "start": "node server.js",
        "dev": "nodemon server-improved.js",
        "dev:secure": "nodemon server-improved.js",
        "test": "jest",
        "test:watch": "jest --watch",
        "test:coverage": "jest --coverage",
        "lint": "eslint . --ext .js",
        "lint:fix": "eslint . --ext .js --fix",
        "security:audit": "npm audit --audit-level moderate",
        "security:fix": "npm audit fix",
        "logs:view": "tail -f logs/combined.log",
        "logs:error": "tail -f logs/error.log",
        "db:migrate": "node scripts/migrate.js",
        "db:seed": "node scripts/seed.js",
        "build": "npm run lint && npm test",
        "docker:build": "docker build -t pamsika-whatsapp-bot .",
        "docker:run": "docker run -p 3003:3003 pamsika-whatsapp-bot",
        "pm2:start": "pm2 start ecosystem.config.js",
        "pm2:stop": "pm2 stop ecosystem.config.js",
        "pm2:restart": "pm2 restart ecosystem.config.js"
    },
    "keywords": [
        "whatsapp",
        "bot",
        "ticketing",
        "pamsika",
        "baileys",
        "express",
        "nodejs",
        "api",
        "chatbot"
    ],
    "author": "PamsikaOnline",
    "license": "ISC",
    "repository": {
        "type": "git",
        "url": "https://github.com/pamsikaonline/whatsapp-bot.git"
    },
    "bugs": {
        "url": "https://github.com/pamsikaonline/whatsapp-bot/issues"
    },
    "homepage": "https://pamsikaonline.com",
    "engines": {
        "node": ">=16.0.0",
        "npm": ">=8.0.0"
    },
    "dependencies": {
        "@whiskeysockets/baileys": "^6.7.18",
        "axios": "^1.8.4",
        "bcryptjs": "^2.4.3",
        "compression": "^1.7.4",
        "cors": "^2.8.5",
        "dotenv": "^16.3.1",
        "express": "^4.18.2",
        "express-rate-limit": "^7.5.0",
        "express-validator": "^7.0.1",
        "fs-extra": "^11.3.0",
        "helmet": "^7.1.0",
        "joi": "^17.11.0",
        "jsonwebtoken": "^9.0.2",
        "multer": "^1.4.5-lts.1",
        "node-cron": "^3.0.3",
        "pdfkit": "^0.15.0",
        "pm2": "^5.3.0",
        "qrcode": "^1.5.4",
        "qrcode-terminal": "^0.12.0",
        "redis": "^4.6.10",
        "sharp": "^0.33.0",
        "uuid": "^9.0.1",
        "winston": "^3.11.0",
        "winston-daily-rotate-file": "^4.7.1"
    },
    "devDependencies": {
        "@types/jest": "^29.5.8",
        "eslint": "^8.57.1",
        "eslint-config-airbnb-base": "^15.0.0",
        "eslint-plugin-import": "^2.29.0",
        "eslint-plugin-security": "^1.7.1",
        "husky": "^8.0.3",
        "jest": "^29.7.0",
        "lint-staged": "^15.1.0",
        "nodemon": "^3.0.1",
        "supertest": "^6.3.3"
    },
    "optionalDependencies": {
        "cheerio": "^1.0.0",
        "form-data": "^4.0.0",
        "jimp": "^0.16.13"
    },
    "husky": {
        "hooks": {
            "pre-commit": "lint-staged",
            "pre-push": "npm run test"
        }
    },
    "lint-staged": {
        "*.js": [
            "eslint --fix",
            "git add"
        ]
    },
    "jest": {
        "testEnvironment": "node",
        "collectCoverageFrom": [
            "**/*.js",
            "!node_modules/**",
            "!coverage/**",
            "!logs/**",
            "!sessions/**",
            "!users/**"
        ],
        "coverageThreshold": {
            "global": {
                "branches": 70,
                "functions": 70,
                "lines": 70,
                "statements": 70
            }
        }
    },
    "eslintConfig": {
        "extends": [
            "airbnb-base",
            "plugin:security/recommended"
        ],
        "env": {
            "node": true,
            "jest": true
        },
        "rules": {
            "no-console": "warn",
            "security/detect-object-injection": "off",
            "import/no-extraneous-dependencies": [
                "error",
                {
                    "devDependencies": [
                        "**/*.test.js",
                        "**/*.spec.js"
                    ]
                }
            ]
        }
    }
}
