{
  "name": "arrest",
  "version": "15.0.0",
  "description": "OpenAPI v3 compliant REST framework for Node.js, with support for MongoDB and JSON-Schema",
  "type": "module",
  "exports": {
    ".": "./dist/index.js",
    "./dist/*.js": "./dist/*.js",
    "./dist/mongo/*.js": "./dist/mongo/*.js",
    "./dist/mongo/operation/*.js": "./dist/mongo/operation/*.js"
  },
  "types": "./dist/index.d.ts",
  "directories": {
    "test": "test"
  },
  "files": [
    "dist/**/*.js",
    "dist/**/*.ts",
    "README.md",
    "LICENSE"
  ],
  "repository": {
    "type": "git",
    "url": "https://github.com/vivocha/arrest.git"
  },
  "keywords": [
    "node",
    "node.js",
    "rest",
    "mongodb",
    "express",
    "swagger",
    "openapi",
    "schema",
    "jsonschema",
    "json",
    "rql",
    "oauth2"
  ],
  "author": {
    "name": "Federico Pinna",
    "email": "fpinna@vivocha.com"
  },
  "contributors": [
    {
      "name": "Andrea Lovicu",
      "email": "alovicu@vivocha.com"
    },
    {
      "name": "Gianfranco Frau",
      "email": "gianfranco@glaamy.com"
    },
    {
      "name": "Antonio Pintus",
      "email": "apintus@vivocha.com"
    },
    {
      "name": "William Ghelfi",
      "email": "trumbitta@gmail.com",
      "url": "https://github.com/trumbitta"
    }
  ],
  "license": "MIT",
  "bugs": {
    "url": "https://github.com/vivocha/arrest/issues"
  },
  "homepage": "https://github.com/vivocha/arrest",
  "devDependencies": {
    "@changesets/cli": "^2.27.6",
    "@types/body-parser": "^1.19.5",
    "@types/chai": "^4.3.16",
    "@types/chai-as-promised": "^7.1.8",
    "@types/chai-spies": "^1.0.6",
    "@types/debug": "^4.1.12",
    "@types/express": "^4.17.21",
    "@types/lodash": "^4.17.6",
    "@types/luxon": "^3.4.2",
    "@types/mocha": "^10.0.7",
    "@types/needle": "^3.3.0",
    "@types/node": "^20.14.9",
    "@types/semver": "^7.5.8",
    "@types/sinon": "^17.0.4",
    "c8": "^10.1.2",
    "chai": "^5.1.1",
    "chai-as-promised": "^8.0.0",
    "chai-spies": "^1.1.0",
    "coveralls": "^3.1.1",
    "mocha": "^10.5.2",
    "mochawesome": "^7.1.3",
    "mongodoki": "^5.0.0",
    "pem": "^1.14.8",
    "rimraf": "^5.0.7",
    "semantic-release": "^24.0.0",
    "sinon": "^21.0.0",
    "supertest": "^7.0.0",
    "typescript": "^5.5.2"
  },
  "dependencies": {
    "@casl/ability": "^6.7.1",
    "@vivocha/scopes": "^1.0.0",
    "body-parser": "^1.20.2",
    "camelcase": "^8.0.0",
    "cookie-parser": "^1.4.6",
    "debug": "^4.3.5",
    "debuggo": "^2.0.1",
    "decamelize": "^6.0.0",
    "dot-prop": "^9.0.0",
    "eredita": "^1.2.1",
    "express": "^4.19.2",
    "jsonref": "^9.0.2",
    "lodash": "^4.17.21",
    "luxon": "^3.4.4",
    "mongodb": "^7.1.0",
    "needle": "^3.3.1",
    "openapi-police": "^5.0.1",
    "rql": "^0.3.3",
    "semver": "^7.6.2"
  },
  "engines": {
    "node": ">=20.0.0"
  },
  "c8": {
    "lines": 100,
    "statements": 100,
    "functions": 100,
    "branches": 100,
    "include": [
      "dist/**/*.js",
      "src/**/*.ts"
    ],
    "extension": [
      ".js",
      ".ts"
    ],
    "exclude": [
      "**/test"
    ],
    "reporter": [
      "lcov",
      "text"
    ],
    "sourceMap": true
  },
  "scripts": {
    "build": "tsc",
    "build:all": "pnpm install && pnpm run build && pnpm install --package-lock",
    "build:tests": "tsc -p test",
    "clean": "rimraf dist coverage .nyc_output test-results && find ./test/ts -type f -name '*.js' -delete && rimraf test/tsconfig.tsbuildinfo",
    "clean:all": "pnpm run clean && rimraf node_modules",
    "cover": "c8 --reporter=lcov --reporter=text pnpm t",
    "report-coverage": "cat ./coverage/lcov.info | coveralls",
    "check-coverage": "c8 check-coverage --statements 100 --branches 100 --functions 100 --lines 100",
    "watch:test": "pnpm t -- -w",
    "test": "pnpm run build && tsc -p test && mocha --exit --no-timeouts --recursive --reporter mochawesome --reporter-options reportDir=test-results test/**/*.test.js",
    "test:debug": "find ./test/ts -type f -name '*.js' -delete && pnpm run build && pnpm run build:tests && mocha --exit --no-timeouts --inspect-brk --recursive test/**/*.test.js",
    "test:watch": "nodemon -e ts --ignore dist/ --ignore 'test/ts/*.js' --exec pnpm run test",
    "semantic-release": "semantic-release",
    "semantic-release-dry": "semantic-release --dry-run"
  }
}