{
  "name": "@goatlab/node-backend",
  "version": "1.6.3",
  "description": "Common tools to work with Node.js backend applications.",
  "homepage": "https://docs.goatlab.io",
  "main": "dist/index.js",
  "types": "dist/index.d.ts",
  "author": "ignacio.cabrera@goatlab.io",
  "license": "MIT",
  "private": false,
  "publishConfig": {
    "access": "public"
  },
  "files": [
    "./dist/**/*"
  ],
  "keywords": [
    "typescript",
    "TS"
  ],
  "dependencies": {
    "winston": "^3.19.0",
    "winston-transport": "^4.9.0",
    "ioredis": "^5.6.1",
    "@keyv/redis": "^3.0.1",
    "@sentry/node": "^9.42.0",
    "@sentry/profiling-node": "^9.42.0",
    "@trpc/server": "^11.4.3",
    "@types/compression": "^1.8.1",
    "@types/connect-timeout": "^1.9.0",
    "@types/express-rate-limit": "^6.0.2",
    "@types/express-session": "^1.18.2",
    "@types/response-time": "^2.3.9",
    "compression": "^1.8.1",
    "connect-timeout": "^1.9.1",
    "cors": "^2.8.5",
    "ejs": "^3.1.10",
    "express": "^5.1.0",
    "express-rate-limit": "^8.0.1",
    "express-session": "^1.18.2",
    "geoip-lite": "^1.4.10",
    "helmet": "^8.1.0",
    "keyv": "^4.5.4",
    "kleur": "^4.1.5",
    "mjml": "^4.15.3",
    "node-mocks-http": "^1.17.2",
    "passport-jwt": "^4.0.1",
    "public-ip": "^7.0.1",
    "response-time": "^2.3.4",
    "swagger-ui-express": "^5.0.1",
    "tiny-lru": "^11.3.4",
    "trpc-to-openapi": "^2.3.2",
    "ua-parser-js": "^2.0.4",
    "undici": "^7.12.0",
    "zod": "^4.0.10",
    "@goatlab/js-utils": "0.10.3",
    "@goatlab/node-utils": "0.11.2"
  },
  "devDependencies": {
    "@biomejs/biome": "^2.1.3",
    "@testcontainers/redis": "^11.0.3",
    "@testcontainers/vault": "^11.4.0",
    "@types/cors": "^2.8.17",
    "@types/ejs": "^3.1.5",
    "@types/express": "^5.0.0",
    "@types/geoip-lite": "^1.4.4",
    "@types/jest": "^27.4.1",
    "@types/mjml": "^4.7.4",
    "@types/node": "^17.0.23",
    "@types/passport-jwt": "^4.0.1",
    "@types/supertest": "^6.0.3",
    "@types/swagger-ui-dist": "^3.30.5",
    "@types/swagger-ui-express": "^4.1.6",
    "@types/ua-parser-js": "^0.7.39",
    "dotenv-cli": "^5.1.0",
    "jest": "^29.7.0",
    "jest-environment-node": "^27.5.1",
    "pretty-quick": "^3.1.3",
    "supertest": "^7.1.4",
    "ts-jest": "^29.2.6",
    "ts-node": "^10.9.2",
    "turbo": "^1.1.10",
    "typescript": "^5.6.3",
    "vitest": "^3.1.1",
    "@goatlab/biome": "0.1.1",
    "@goatlab/tsconfig": "0.2.0"
  },
  "engines": {
    "node": ">=14.16.0"
  },
  "scripts": {
    "prebuild": "rimraf dist",
    "prestart": "rimraf dist",
    "predev": "rimraf dist",
    "test": "vitest run",
    "dev": "tsc --watch",
    "lint": "biome check --write .",
    "format": "biome format --write .",
    "update:packages": "npm-check-updates -u && yarn",
    "serve": "tsc -w",
    "build": "tsc",
    "pack": "npm-pack-zip",
    "release": "release-it patch --no-npm.publish --ci",
    "release:patch": "release-it patch --no-npm.publish --ci",
    "release:minor": "release-it minor --no-npm.publish --ci",
    "release:major": "release-it major --no-npm.publish --ci ",
    "rc": "release-it --no-npm.publish --ci --preRelease=rc",
    "rc:patch": "release-it patch --no-npm.publish --ci --preRelease=rc",
    "rc:minor": "release-it minor --no-npm.publish --ci --preRelease=rc",
    "rc:major": "release-it major --no-npm.publish --ci --preRelease=rc",
    "changelog": "auto-changelog --template changelog-template.hbs -p -u --commit-limit false",
    "changelog-debug": "auto-changelog --template changelog-template.hbs -p --template json --output changelog-data.json"
  }
}