{ "private": true, "type": "module", "scripts": { "preinstall": "npx only-allow pnpm", "build:clean": "rm -rf dist", "build:compile": "tsc -p tsconfig.json", "build:copy-locales": "mkdir -p dist/bot/locales && cp -r src/bot/locales/*.ftl dist/bot/locales/", "build": "npm run build:clean && npm run build:compile && npm run build:copy-locales", "start": "node dist/main.js", "start:dev": "DEBUG=grammy* nodemon src/main.ts", "format": "prettier --write src", "lint": "eslint ." }, "engines": { "pnpm": "10", "node": "22" }, "nodemonConfig": { "execMap": { "ts": "node --loader ts-node/esm --no-warnings=ExperimentalWarning" } }, "prettier": { "semi": false, "arrowParens": "avoid", "printWidth": 100, "singleQuote": true, "bracketSpacing": false, "endOfLine": "lf", "proseWrap": "preserve", "quoteProps": "as-needed", "requirePragma": false, "trailingComma": "all", "useTabs": false }, "devDependencies": { "@eslint/js": "^9.19.0", "@ngrok/ngrok": "^1.4.1", "@types/better-sqlite3": "^7.6.12", "@types/koa": "^2.15.0", "@types/koa__router": "^12.0.4", "@types/node": "^22.13.1", "@types/qrcode": "^1.5.5", "@types/ws": "^8.5.14", "drizzle-kit": "^0.30.4", "eslint": "^9.19.0", "nodemon": "^3.1.9", "pino-pretty": "^13.0.0", "prettier": "^3.4.2", "ts-node": "^10.9.2", "typescript": "^5.7.3", "typescript-eslint": "^8.23.0" }, "dependencies": { "@getalby/lightning-tools": "^5.1.2", "@getalby/sdk": "^4.1.1", "@grammyjs/auto-retry": "^2.0.2", "@grammyjs/conversations": "^2.0.1", "@grammyjs/i18n": "^1.1.2", "@grammyjs/parse-mode": "^1.11.1", "@koa/bodyparser": "^5.1.1", "@koa/router": "^13.1.0", "better-sqlite3": "^11.8.1", "better-sse": "^0.14.1", "bottleneck": "^2.19.5", "cron": "^3.5.0", "dotenv": "^16.4.7", "drizzle-orm": "^0.39.2", "got": "^14.4.6", "grammy": "^1.34.1", "koa": "^2.16.1", "pino": "^9.6.0", "qrcode": "^1.5.4", "serialize-error": "^12.0.0", "ws": "^8.18.0", "znv": "^0.4.0", "zod": "^3.24.2" }, "pnpm": { "onlyBuiltDependencies": [ "better-sqlite3", "esbuild" ] } }