{ "scripts": { "start": "concurrently \"tsc --watch\" \"nodemon lib\"", "test": "tsc && jest && prettier --check src" }, "dependencies": { "caddy-npm": "^2.0.0-beta.20", "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", "write-file-atomic": "^3.0.3", "xmlbuilder2": "^2.1.0" }, "devDependencies": { "@types/express": "^4.17.3", "@types/jest": "^25.1.4", "@types/mailparser": "^2.7.2", "@types/node": "^13.9.8", "@types/nodemailer": "^6.4.0", "@types/qs": "^6.9.1", "@types/react": "^16.9.29", "@types/react-dom": "^16.9.5", "@types/smtp-server": "^3.5.4", "@types/write-file-atomic": "^3.0.0", "axios": "^0.19.2", "concurrently": "^5.1.0", "jest": "^25.2.4", "nodemailer": "^6.4.6", "nodemon": "^2.0.2", "prettier": "^2.0.2", "qs": "^6.9.3", "typescript": "^3.8.3" }, "jest": { "rootDir": "lib", "testEnvironment": "node" }, "apps": [ { "name": "kill-the-newsletter", "script": "lib", "env": { "NODE_ENV": "production", "EMAIL_PORT": "25" } }, { "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)", "post-setup": "env NODE_ENV=production npm ci && npx pm2 startup", "pre-deploy-local": "(ssh -o StrictHostKeyChecking=no root@kill-the-newsletter.com || true) && rsync -av --delete lib/ root@kill-the-newsletter.com:www.kill-the-newsletter.com/current/lib/", "post-deploy": "env NODE_ENV=production npm ci && npx pm2 startOrRestart package.json && npx pm2 save", "ssh_options": [ "ForwardAgent=yes", "StrictHostKeyChecking=no" ] } } }