{
  "name": "koatty",
  "version": "4.2.0",
  "description": "Koa + Typescript = koatty. Use Typescript's decorator implement auto injection.",
  "scripts": {
    "build": "pnpm run build:js && pnpm run build:dts && pnpm run build:doc && pnpm run build:cp",
    "build:js": "tsup",
    "build:dts": "bash scripts/build-dts.sh",
    "build:doc": "api-documenter markdown --input temp --output docs/api",
    "build:cp": "node scripts/copyFiles && node ../../scripts/postBuild.js",
    "clean": "rimraf dist temp docs/api",
    "lint": "eslint --ext .ts,.js ./src",
    "test": "pnpm run lint && jest --passWithNoTests",
    "test:cov": "jest --collectCoverage --detectOpenHandles"
  },
  "main": "./index.js",
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "import": "./dist/index.mjs",
      "require": "./dist/index.js"
    }
  },
  "keywords": [
    "koatty",
    "koa",
    "typescript",
    "framework",
    "mvc",
    "http",
    "https",
    "websocket",
    "grpc",
    "quic",
    "http2",
    "http3",
    "di",
    "aop",
    "ioc",
    "inversion of control",
    "dependency injection",
    "aspect-oriented programming",
    "decorator",
    "decorator pattern",
    "decorator factory"
  ],
  "directories": {
    "doc": "docs"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/koatty/koatty.git"
  },
  "engines": {
    "node": ">=18.0.0"
  },
  "author": {
    "name": "richenlin",
    "email": "richenlin@gmail.com"
  },
  "license": "BSD-3-Clause",
  "bugs": {
    "url": "https://github.com/koatty/koatty/issues"
  },
  "homepage": "https://github.com/koatty/koatty",
  "maintainers": [
    {
      "name": "richenlin",
      "email": "richenlin@gmail.com"
    }
  ],
  "devDependencies": {
    "@grpc/grpc-js": "^1.12.2",
    "@microsoft/api-documenter": "^7.26.x",
    "@microsoft/api-extractor": "^7.52.x",
    "@types/formidable": "^3.x.x",
    "@types/jest": "^29.5.x",
    "@types/koa": "^2.x.x",
    "@types/koa-compose": "^3.x.x",
    "@types/lodash": "^4.x.x",
    "@types/node": "^22.x.x",
    "@types/on-finished": "^2.x.x",
    "@types/supertest": "^6.x.x",
    "@types/ws": "^8.x.x",
    "@typescript-eslint/eslint-plugin": "^8.x.x",
    "@typescript-eslint/parser": "^8.x.x",
    "eslint": "^8.x.x",
    "eslint-plugin-jest": "^28.x.x",
    "jest": "^29.x.x",
    "jest-html-reporters": "^3.x.x",
    "koatty_validation": "^2.1.0",
    "reflect-metadata": "^0.2.2",
    "supertest": "^7.x.x",
    "ts-jest": "^29.x.x",
    "tslib": "^2.x.x"
  },
  "dependencies": {
    "koa": "^3.1.2",
    "koatty_config": "^1.3.0",
    "koatty_container": "^2.1.0",
    "koatty_core": "^2.2.0",
    "koatty_exception": "^2.2.0",
    "koatty_lib": "^1.5.0",
    "koatty_loader": "^1.2.0",
    "koatty_logger": "^2.9.0",
    "koatty_router": "^2.2.0",
    "koatty_serve": "^3.2.0",
    "koatty_trace": "^2.2.0",
    "ts-morph": "^27.0.2"
  },
  "types": "./index.d.ts"
}
