{ "scripts": { "start": "concurrently \"tsc --watch\" \"nodemon lib\"", "test": "tsc && jest && prettier --check 'src/**'", "deploy": "pm2 deploy package.json production" }, "dependencies": { "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" } ], "deploy": { "production": { "user": "root", "host": "204.48.21.111", "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 -) && sudo apt-get install -y nodejs build-essential && (curl https://getcaddy.com | bash -s personal) && (ssh -o StrictHostKeyChecking=no git@github.com || true)", "ssh_options": [ "ForwardAgent=yes", "StrictHostKeyChecking=no" ], "TODO": [ "Caddyfile", "/root/www.kill-the-newsletter.com/current/node_modules/.bin/pm2 startOrRestart all", "env NODE_ENV=production npm ci", "rsync", "pm2 startup OR pm2 save", "pm2 start env.js", "https://pm2.keymetrics.io/docs/usage/deployment/", "https://pm2.keymetrics.io/docs/usage/startup/", "host: kill-the-newsletter.com", "test: basic application workflow, previously created newsletter, /feeds/ directory listing, port 8000 isn’t responding" ], "env": { "NODE_ENV": "production" } } } }