{
  "name": "ts-japi",
  "version": "1.11.5",
  "description": "A highly-modular (typescript-friendly)-framework agnostic library for serializing data to the JSON:API specification",
  "main": "lib/index.js",
  "scripts": {
    "api-extractor": "api-extractor run",
    "benchmark": "ts-node ./benchmarks/serializer.benchmark",
    "build": "tsc",
    "clean": "make clean",
    "commitlint": "commitlint --from=HEAD~1",
    "docs": "npm run api-extractor && ts-node tools/generate_docs.ts",
    "format": "run-s format:*",
    "format:prettier": "prettier --write .",
    "format:eslint": "eslint --fix .",
    "examples": "ts-node ./examples/",
    "lint": "run-s lint:*",
    "lint:prettier": "prettier --check .",
    "lint:eslint": "eslint .",
    "playground": "ts-node ./benchmarks/playground.benchmark",
    "prepare": "husky install",
    "test": "jest --runInBand --verbose --coverage",
    "test:watch": "jest --runInBand --verbose --watch"
  },
  "publishConfig": {
    "access": "public",
    "registry": "https://registry.npmjs.org/"
  },
  "author": "jun-sheaf <rjung@mathematic.io>",
  "license": "MIT",
  "keywords": [
    "json",
    "api",
    "json-api",
    "json:api",
    "serializer",
    "normalizer",
    "formatter",
    "typescript",
    "ts",
    "backend",
    "front-end"
  ],
  "repository": "mathematic-inc/ts-japi",
  "engines": {
    "node": ">=10"
  },
  "devDependencies": {
    "@babel/cli": "^7.18.6",
    "@babel/core": "^7.18.6",
    "@babel/plugin-proposal-class-properties": "^7.18.6",
    "@babel/plugin-proposal-export-namespace-from": "^7.18.6",
    "@babel/plugin-proposal-object-rest-spread": "^7.18.6",
    "@babel/preset-env": "^7.18.6",
    "@babel/preset-typescript": "^7.18.6",
    "@changesets/cli": "^2.23.0",
    "@commitlint/cli": "^17.0.1",
    "@commitlint/config-conventional": "^17.0.2",
    "@microsoft/api-documenter": "^7.18.0",
    "@microsoft/api-extractor": "^7.28.2",
    "@types/benchmark": "^2.1.1",
    "@types/jest": "^28.1.4",
    "@types/lodash": "^4.14.182",
    "@types/uuid": "^8.3.4",
    "@typescript-eslint/eslint-plugin": "^5.30.3",
    "@typescript-eslint/parser": "^5.30.3",
    "babel-jest": "^28.1.2",
    "benchmark": "^2.1.4",
    "core-js": "^3.23.3",
    "eslint": "^8.19.0",
    "eslint-config-prettier": "^8.5.0",
    "eslint-plugin-prettier": "^4.2.1",
    "eslint-plugin-tsdoc": "^0.2.16",
    "husky": "^8.0.1",
    "jest": "^28.1.2",
    "lodash": "^4.17.21",
    "npm-run-all": "^4.1.5",
    "prettier": "^2.7.1",
    "regenerator-runtime": "^0.13.9",
    "ts-node": "^10.8.2",
    "typedoc": "^0.23.5",
    "typedoc-plugin-markdown": "^3.13.2",
    "typescript": "^4.7.4",
    "uuid": "^8.3.2"
  },
  "babel": {
    "presets": [
      "@babel/preset-env",
      "@babel/preset-typescript"
    ],
    "plugins": [
      "@babel/proposal-class-properties",
      "@babel/proposal-object-rest-spread",
      "@babel/plugin-proposal-export-namespace-from"
    ]
  },
  "jest": {
    "clearMocks": true,
    "collectCoverageFrom": [
      "lib/**/*.js"
    ],
    "coverageDirectory": "coverage",
    "setupFiles": [
      "core-js",
      "./test/setup/per-test.ts"
    ],
    "testEnvironment": "node"
  }
}
