{
  "name": "twitch-js",
  "version": "2.0.0-beta.45",
  "description": "Javascript library for the Twitch Messaging Interface.",
  "license": "MIT",
  "author": "Marc Andrews",
  "homepage": "https://twitch-js.netlify.com",
  "keywords": [
    "bot",
    "broadcast",
    "interface",
    "message",
    "messaging",
    "robot",
    "stream",
    "tmi",
    "twitch.tv",
    "twitch",
    "websocket",
    "ws"
  ],
  "repository": {
    "type": "git",
    "url": "git://github.com/twitch-js/twitch-js.git"
  },
  "bugs": {
    "url": "https://github.com/twitch-js/twitch-js/issues"
  },
  "engines": {
    "node": ">=10",
    "yarn": "^1.9.2"
  },
  "files": [
    "dist",
    "es",
    "lib",
    "shims",
    "types"
  ],
  "main": "lib/index.js",
  "module": "es/index.js",
  "unpkg": "dist/twitch.js",
  "types": "types/index.d.ts",
  "runkitExampleFilename": "examples/node.js",
  "scripts": {
    "clean": "rimraf dist lib es types",
    "prettier": "prettier --list-different \"**/*.{ts,md}\"",
    "lint": "eslint \"{__e2e__,__mocks__,examples,shims,src}/**/*.ts\"",
    "lint:generated-types": "tsc --project tsconfig.types.json",
    "test:types": "tsc --noEmit",
    "pretest:coverage": "rimraf coverage",
    "test:coverage": "jest --maxWorkers=4 --collectCoverage src",
    "test:e2e:browser": "jest __e2e__/browser",
    "test:e2e:node": "jest __e2e__/node",
    "test:e2e": "jest --runInBand __e2e__",
    "test": "jest",
    "prebuild": "yarn clean",
    "build:lib": "tsc --project tsconfig.build.json",
    "build:dist": "rollup -c",
    "build": "run-p build:**",
    "start:nightly": "ts-node --project tsconfig.json --transpile-only --require dotenv/config __e2e__/nightly/nightly.e2e.ts",
    "start:example": "ts-node-dev examples/node.js",
    "predocs:build": "rimraf docs",
    "docs:build": "typedoc",
    "docs:build:watch": "ts-node-dev --exec yarn docs:build"
  },
  "dependencies": {
    "camelcase-keys": "^6.2.2",
    "cross-fetch": "^3.1.5",
    "delay": "^4.4.0",
    "eventemitter3": "^4.0.7",
    "invariant": "^2.2.4",
    "lodash": "^4.17.20",
    "p-cancelable": "^2.0.0",
    "p-event": "^4.2.0",
    "p-queue": "^6.6.1",
    "p-timeout": "^4.1.0",
    "pify": "^5.0.0",
    "pino": "^6.6.1",
    "pino-pretty": "^4.2.1",
    "qs": "^6.9.4",
    "tekko": "2.4.0",
    "ts-custom-error": "^3.2.0",
    "ws": "^7.3.1"
  },
  "devDependencies": {
    "@actions/core": "^1.2.6",
    "@rollup/plugin-alias": "^3.1.1",
    "@rollup/plugin-json": "^4.1.0",
    "@rollup/plugin-replace": "^2.3.3",
    "@types/expect-puppeteer": "^4.4.7",
    "@types/invariant": "^2.2.34",
    "@types/jest": "^26.0.14",
    "@types/jest-environment-puppeteer": "^5.0.0",
    "@types/lodash-es": "^4.17.3",
    "@types/pify": "^5.0.0",
    "@types/pino": "^6.3.1",
    "@types/puppeteer": "^5.4.4",
    "@types/qs": "^6.9.5",
    "@types/ws": "^7.2.6",
    "@typescript-eslint/eslint-plugin": "^4.2.0",
    "@typescript-eslint/parser": "^4.2.0",
    "@wessberg/rollup-plugin-ts": "^1.3.4",
    "benchmark": "^2.1.4",
    "codecov": "^3.0.2",
    "dotenv": "^8.2.0",
    "eslint": "^7.9.0",
    "eslint-config-prettier": "^7.1.0",
    "eslint-plugin-import": "^2.25.4",
    "eslint-plugin-jest": "^24.0.2",
    "eslint-plugin-node": "^11.1.0",
    "eslint-plugin-tsdoc": "^0.2.0",
    "husky": "^4.3.0",
    "jest": "^26.6.3",
    "jest-puppeteer": "^6.1.0",
    "lint-staged": "^10.4.0",
    "npm-run-all": "^4.1.5",
    "prettier": "^2.1.2",
    "puppeteer": "^5.3.1",
    "rimraf": "^3.0.0",
    "rollup": "^2.28.1",
    "rollup-plugin-commonjs": "^10.1.0",
    "rollup-plugin-filesize": "^9.0.2",
    "rollup-plugin-gzip": "^2.5.0",
    "rollup-plugin-node-resolve": "^5.2.0",
    "rollup-plugin-terser": "^7.0.2",
    "semver": "^7.3.2",
    "sonic-boom": "^1.3.0",
    "terser": "^5.3.2",
    "ts-jest": "^26.4.4",
    "ts-node-dev": "^1.1.1",
    "tslib": "^2.0.1",
    "typedoc": "^0.19.2",
    "typescript": "^3.9.7"
  },
  "browser": {
    "ws": "./shims/ws.js",
    "pino": "pino/browser.js"
  },
  "eslintConfig": {
    "parser": "@typescript-eslint/parser",
    "plugins": [
      "@typescript-eslint",
      "jest"
    ],
    "env": {
      "es6": true,
      "node": true,
      "browser": true,
      "jest/globals": true
    },
    "extends": [
      "plugin:@typescript-eslint/recommended",
      "prettier",
      "prettier/@typescript-eslint"
    ],
    "rules": {
      "no-alert": 2,
      "no-debugger": 2,
      "no-console": 2,
      "@typescript-eslint/no-explicit-any": 0,
      "@typescript-eslint/explicit-function-return-type": 0,
      "@typescript-eslint/no-empty-interface": 0,
      "jest/no-disabled-tests": 2,
      "jest/no-focused-tests": 2
    },
    "overrides": [
      {
        "files": [
          "src/**"
        ],
        "rules": {
          "no-process-env": 2
        }
      }
    ]
  },
  "eslintIgnore": [
    "dist",
    "es",
    "lib",
    "node_modules"
  ],
  "prettier": {
    "printWidth": 80,
    "tabWidth": 2,
    "bracketSpacing": true,
    "useTabs": false,
    "semi": false,
    "singleQuote": true,
    "trailingComma": "all",
    "proseWrap": "always",
    "overrides": [
      {
        "files": [
          "examples/*",
          "shims/*"
        ],
        "options": {
          "semi": true
        }
      }
    ]
  },
  "jest": {
    "projects": [
      {
        "displayName": "unit",
        "rootDir": "<rootDir>",
        "preset": "ts-jest",
        "globals": {
          "ts-jest": {
            "tsconfig": {
              "diagnostics": false
            },
            "diagnostics": false
          }
        }
      },
      {
        "displayName": "e2e:node",
        "rootDir": "<rootDir>/__e2e__/node",
        "preset": "ts-jest",
        "testEnvironment": "node",
        "testMatch": [
          "**/?(*.)+(e2e).ts"
        ],
        "setupFiles": [
          "dotenv/config"
        ],
        "globals": {
          "ts-jest": {
            "tsconfig": {
              "diagnostics": false
            },
            "diagnostics": false
          }
        }
      },
      {
        "displayName": "e2e:browser",
        "rootDir": "<rootDir>/__e2e__/browser",
        "preset": "jest-puppeteer",
        "testMatch": [
          "**/?(*.)+(e2e).js"
        ],
        "setupFiles": [
          "dotenv/config"
        ]
      }
    ],
    "testPathIgnorePatterns": [
      "<rootDir>/__mocks__",
      "<rootDir>/dist",
      "<rootDir>/lib",
      "<rootDir>/node_modules",
      "<rootDir>/shims"
    ],
    "collectCoverageFrom": [
      "src/**/*.ts"
    ],
    "coverageDirectory": "./coverage/"
  },
  "husky": {
    "hooks": {
      "pre-commit": "yarn lint-staged"
    }
  },
  "lint-staged": {
    "*.ts": [
      "yarn prettier --write",
      "yarn lint"
    ],
    "*.md": [
      "prettier --write"
    ]
  }
}
