{ "name": "mailship", "type": "module", "version": "1.0.0", "scripts": { "build": "tsc && pnpm run build:html && pnpm run build:web", "build:web": "cd web && pnpm run build", "build:html": "cp -r src/pages dist/ && cp -r src/emails dist/", "check": "tsc --noEmit && eslint src", "format": "prettier --write \"src/**/*.{ts,js,json,html}\"", "start": "node dist/index.js", "run-alert": "node dist/run.js", "test": "bash test/integration.sh", "test:server": "bash test/integration.sh --server-only" }, "devDependencies": { "@eslint/js": "^9.35.0", "@types/better-sqlite3": "^7.6.13", "@types/express": "^5.0.3", "@types/express-ws": "^3.0.5", "@types/mjml": "^4.7.4", "@types/mustache": "^4.2.6", "@types/sanitize-html": "^2.16.0", "@types/ws": "^8.18.1", "@typescript-eslint/eslint-plugin": "^8.43.0", "@typescript-eslint/parser": "^8.43.0", "eslint": "^9.35.0", "globals": "^15.15.0", "onchange": "^7.1.0", "prettier": "^3.6.2", "typescript": "^5.9.2" }, "dependencies": { "@types/node": "^22.18.1", "@welshman/content": "^0.6.3", "@welshman/feeds": "^0.6.3", "@welshman/lib": "^0.6.3", "@welshman/net": "^0.6.3", "@welshman/router": "^0.6.3", "@welshman/signer": "^0.6.3", "@welshman/store": "^0.6.3", "@welshman/util": "^0.6.3", "bcrypt": "^5.1.1", "cron": "^4.3.3", "cron-parser": "^5.3.1", "dotenv": "^16.6.1", "express": "^4.21.2", "express-rate-limit": "^7.5.1", "express-ws": "^5.0.2", "localstorage-polyfill": "^1.0.1", "mjml": "^4.15.3", "mustache": "^4.2.0", "nostr-tools": "^2.16.2", "postmark": "^4.0.5", "sanitize-html": "^2.17.0", "sqlite3": "^5.1.7", "succinct-async": "^1.0.4", "ts-node-dev": "^2.0.0", "ws": "^8.18.3" }, "pnpm": { "onlyBuiltDependencies": [ "bcrypt", "sqlite3" ] } }