{ "scripts": { "start": "open-cli http://localhost:8000 && nodemon --ext ts --exec 'ts-node .'", "test": "prettier --check '**/*.{ts,css}' && jest" }, "dependencies": { "@types/express": "^4.17.3", "@types/jsdom": "^16.2.1", "@types/mailparser": "^2.7.2", "@types/node": "^13.9.8", "@types/smtp-server": "^3.5.4", "@types/write-file-atomic": "^3.0.0", "caddy-npm": "^2.1.1", "crypto-random-string": "^3.2.0", "entities": "^2.0.0", "escape-string-regexp": "^4.0.0", "express": "^4.17.1", "jsdom": "^16.2.2", "mailparser": "^2.7.7", "pm2": "^4.2.3", "sanitize-xml-string": "^1.1.0", "smtp-server": "^3.6.0", "ts-node": "^8.10.1", "typescript": "^3.8.3", "write-file-atomic": "^3.0.3" }, "devDependencies": { "@types/jest": "^25.1.4", "@types/nodemailer": "^6.4.0", "@types/qs": "^6.9.1", "axios": "^0.19.2", "jest": "^25.2.4", "nodemailer": "^6.4.6", "nodemon": "^2.0.2", "open-cli": "^6.0.1", "prettier": "^2.0.2", "qs": "^6.9.3", "ts-jest": "^25.5.0" }, "jest": { "preset": "ts-jest", "testEnvironment": "node" }, "apps": [ { "name": "kill-the-newsletter", "script": "ts-node .", "env": { "NODE_ENV": "production", "WEB_PORT": "8000", "EMAIL_PORT": "25", "BASE_URL": "https://www.kill-the-newsletter.com", "EMAIL_DOMAIN": "kill-the-newsletter.com", "ISSUE_REPORT": "mailto:kill-the-newsletter@leafac.com" } }, { "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_14.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", "post-deploy": "env NODE_ENV=production npm ci && npx pm2 startOrRestart package.json && npx pm2 save", "ssh_options": [ "ForwardAgent=yes", "StrictHostKeyChecking=no" ] } } }