{ "scripts": { "start": "concurrently \"tsc --watch\" \"nodemon lib\"", "test": "tsc && jest && prettier --check 'src/**'", "deploy": "pm2 deploy package.json production", "deploy:start": "pm2 startOrRestart package.json" }, "dependencies": { "caddy-npm": "^2.0.0-beta.18", "crypto-random-string": "^3.2.0", "express": "^4.17.1", "mailparser": "^2.7.7", "pm2": "^4.2.3", "react": "^16.13.0", "react-dom": "^16.13.0", "smtp-server": "^3.6.0", "xml2js": "^0.4.23" }, "devDependencies": { "@types/express": "^4.17.3", "@types/jest": "^25.1.4", "@types/mailparser": "^2.7.0", "@types/node": "^13.9.1", "@types/nodemailer": "^6.4.0", "@types/qs": "^6.9.1", "@types/react": "^16.9.23", "@types/react-dom": "^16.9.5", "@types/smtp-server": "^3.5.3", "@types/xml2js": "^0.4.5", "axios": "^0.19.2", "concurrently": "^5.1.0", "jest": "^25.1.0", "nodemailer": "^6.4.5", "nodemon": "^2.0.2", "prettier": "^1.19.1", "qs": "^6.9.1", "typescript": "^3.8.3" }, "jest": { "rootDir": "lib", "testEnvironment": "node" }, "apps": [ { "name": "kill-the-newsletter", "script": "lib", "env": { "NODE_ENV": "production" } }, { "name": "caddy", "script": "caddy run" } ], "deploy": { "production": { "user": "root", "host": "kill-the-newsletter.com", "ref": "origin/master", "repo": "git@github.com:leafac/www.kill-the-newsletter.com.git", "path": "/root/www.kill-the-newsletter.com", "pre-setup": "(curl -sL https://deb.nodesource.com/setup_13.x | bash -) && apt install -y nodejs build-essential && (ssh -o StrictHostKeyChecking=no git@github.com || true)", "pre-deploy-local": "rsync -av --delete lib/ root@kill-the-newsletter.com:www.kill-the-newsletter.com/current/lib/", "post-deploy": "env NODE_ENV=production npm ci && npm deploy:start", "ssh_options": [ "ForwardAgent=yes", "StrictHostKeyChecking=no" ] } } }