{
  "name": "screeps-toolkit",
  "version": "1.1.0",
  "description": "Useful functions for your next screeps bot",
  "main": "dist/index.js",
  "types": "dist/index.d.ts",
  "scripts": {
    "build": "tsc",
    "clean": "rimraf dist",
    "docs": "typedoc",
    "test": "run-p test:*",
    "test:types": "tsc --noEmit",
    "test:unit": "jest",
    "test:lint": "eslint --ignore-path .gitignore .",
    "test:format": "prettier --ignore-path .gitignore --check .",
    "format": "prettier --ignore-path .gitignore --write .",
    "format:changelog": "prettier --write ./CHANGELOG.md",
    "prepack": "run-s format:changelog clean test build",
    "commit": "cz",
    "semantic-release": "semantic-release"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/ShuP1/screeps-toolkit.git"
  },
  "bugs": {
    "url": "https://github.com/ShuP1/screeps-toolkit/issues"
  },
  "homepage": "https://github.com/ShuP1/screeps-toolkit",
  "keywords": [
    "library",
    "typescript"
  ],
  "author": "",
  "license": "Unlicense",
  "devDependencies": {
    "@semantic-release/changelog": "^6.0.3",
    "@types/jest": "^29.5.2",
    "@types/lodash": "^4.14.195",
    "@types/screeps": "^3.3.3",
    "@typescript-eslint/eslint-plugin": "^5.60.1",
    "@typescript-eslint/parser": "^5.60.1",
    "commitizen": "^4.3.0",
    "cz-conventional-changelog": "^3.3.0",
    "eslint": "^8.44.0",
    "eslint-config-prettier": "^8.8.0",
    "eslint-plugin-jsdoc": "^46.4.3",
    "jest": "^29.5.0",
    "npm-run-all": "^4.1.5",
    "prettier": "^2.8.8",
    "rimraf": "^5.0.1",
    "semantic-release": "^21.0.6",
    "ts-jest": "^29.1.1",
    "typedoc": "^0.24.8",
    "typedoc-plugin-external-link": "^2.1.0",
    "typedoc-theme-hierarchy": "^4.0.0",
    "typescript": "5.0.x"
  },
  "config": {
    "commitizen": {
      "path": "./node_modules/cz-conventional-changelog"
    }
  },
  "eslintConfig": {
    "extends": [
      "eslint:recommended",
      "plugin:@typescript-eslint/recommended",
      "prettier"
    ],
    "overrides": [
      {
        "files": [
          "**/*.ts"
        ],
        "excludedFiles": [
          "**/*.test.ts"
        ],
        "extends": [
          "plugin:@typescript-eslint/recommended-requiring-type-checking",
          "plugin:@typescript-eslint/strict",
          "plugin:jsdoc/recommended-typescript",
          "prettier"
        ],
        "rules": {
          "jsdoc/require-jsdoc": [
            "error",
            {
              "publicOnly": true
            }
          ],
          "jsdoc/require-description": "error",
          "prefer-const": [
            "error",
            {
              "destructuring": "all"
            }
          ]
        },
        "parserOptions": {
          "project": true
        }
      }
    ],
    "parser": "@typescript-eslint/parser",
    "plugins": [
      "@typescript-eslint",
      "jsdoc"
    ],
    "root": true
  },
  "jest": {
    "preset": "ts-jest",
    "collectCoverage": true,
    "collectCoverageFrom": [
      "*.ts",
      "{!(dist),}/**/*.ts"
    ]
  },
  "prettier": {
    "semi": false
  },
  "release": {
    "branches": [
      "main"
    ],
    "plugins": [
      "@semantic-release/commit-analyzer",
      "@semantic-release/release-notes-generator",
      "@semantic-release/changelog",
      "@semantic-release/npm",
      [
        "@semantic-release/github",
        {
          "failTitle": false,
          "addReleases": "top"
        }
      ]
    ]
  }
}
