kill-the-newsletter/package.json

79 lines
2.3 KiB
JSON

{
"scripts": {
"start": "open-cli http://localhost:8000 && nodemon --ext ts --exec 'ts-node .'",
"test": "prettier --check '**/*.{ts,css}' && jest"
},
"dependencies": {
"caddy-npm": "^2.0.0-beta.20",
"crypto-random-string": "^3.2.0",
"entities": "^2.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",
"write-file-atomic": "^3.0.3"
},
"devDependencies": {
"@types/express": "^4.17.3",
"@types/jest": "^25.1.4",
"@types/jsdom": "^16.2.1",
"@types/mailparser": "^2.7.2",
"@types/node": "^13.9.8",
"@types/nodemailer": "^6.4.0",
"@types/qs": "^6.9.1",
"@types/smtp-server": "^3.5.4",
"@types/write-file-atomic": "^3.0.0",
"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",
"typescript": "^3.8.3"
},
"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",
"pre-deploy-local": "(ssh -o StrictHostKeyChecking=no root@kill-the-newsletter.com || true)",
"post-deploy": "env NODE_ENV=production npm ci && npx pm2 startOrRestart package.json && npx pm2 save",
"ssh_options": [
"ForwardAgent=yes",
"StrictHostKeyChecking=no"
]
}
}
}