{
  "name": "whistle",
  "description": "HTTP, HTTP2, HTTPS, Websocket debugging proxy",
  "version": "2.10.2",
  "dataDirname": ".whistle",
  "localUIHost": "local.whistlejs.com",
  "port": 8899,
  "sockets": 256,
  "timeout": 360000,
  "author": "avenwu <avwu@qq.com>",
  "contributors": [],
  "license": "MIT",
  "bugs": {
    "url": "https://github.com/avwo/whistle/issues"
  },
  "homepage": "https://wproxy.org",
  "keywords": [
    "proxy",
    "fiddler",
    "charles",
    "websocket",
    "http2",
    "hosts",
    "debug",
    "mock"
  ],
  "bin": {
    "whistle": "./bin/whistle.js",
    "w2": "./bin/whistle.js",
    "wproxy": "./bin/whistle.js"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/avwo/whistle.git"
  },
  "dependencies": {
    "adm-zip": "0.5.16",
    "async-limiter": "2.0.0",
    "body-parser": "^1.20.3",
    "colors": "1.1.2",
    "express": "^4.21.2",
    "extend": "^3.0.2",
    "fs-extra2": "^1.0.0",
    "hagent": "^0.9.3",
    "hparser": "^0.5.0",
    "iconv-lite": "^0.4.24",
    "json5": "^2.2.3",
    "lru-cache": "^4.1.1",
    "mime": "^1.6.0",
    "multer2": "^1.1.1",
    "node-forge": "^1.3.1",
    "node-pac": "^0.5.1",
    "parseurl": "^1.3.1",
    "pfork": "^0.6.3",
    "pipestream": "^0.7.5",
    "set-global-proxy": "^0.3.0",
    "sni": "1.0.0",
    "sockx": "^0.2.3",
    "starting": "^8.0.3",
    "weinre2": "^1.3.6",
    "ws-parser": "^0.6.4",
    "xml2js": "0.5.0"
  },
  "scripts": {
    "dev": "webpack --config ./biz/webui/htdocs/src/webpack.config -w",
    "start": "node bin/whistle.js run",
    "test": "npm run lintfix && node test/index.test.js",
    "lint": "eslint *.js ./lib ./bin ./biz ./test ./docs/script",
    "lintfix": "eslint --fix *.js ./lib ./bin ./biz ./test ./docs/script",
    "cov": "node_modules/istanbul/lib/cli.js cover node_modules/.bin/tape -- test/index.test.js",
    "docs:dev": "vitepress dev docs",
    "docs": "vitepress build docs"
  },
  "engines": {
    "node": ">= 8.8"
  },
  "devDependencies": {
    "babel-core": "^6.7.6",
    "babel-eslint": "^6.1.2",
    "babel-loader": "^6.2.4",
    "babel-plugin-transform-class-properties": "^6.24.1",
    "babel-plugin-transform-object-rest-spread": "^6.26.0",
    "babel-preset-env": "^1.7.0",
    "babel-preset-react": "^6.5.0",
    "babel-runtime": "^6.26.0",
    "base64-js": "^1.3.0",
    "bootstrap": "3.3.5",
    "clipboard": "^2.0.11",
    "codemirror": "^5.65.16",
    "coveralls": "^3.1.1",
    "css-loader": "0.16.0",
    "eslint": "^2.8.0",
    "eslint-plugin-react": "^4.3.0",
    "file-loader": "0.8.4",
    "istanbul": "^0.4.5",
    "jquery": "^4.0.0",
    "js-base64": "^2.4.5",
    "qrcode": "1.2.0",
    "react": "^15.6.2",
    "react-base16-styling": "^0.5.1",
    "react-dom": "^15.6.2",
    "react-virtualized": "^9.21.2",
    "request": "^2.74.0",
    "should": "^13.2.3",
    "should-http": "^0.1.1",
    "style-loader": "0.12.3",
    "tape": "^4.6.0",
    "url-loader": "0.5.6",
    "vitepress": "^1.6.3",
    "webpack": "1.11.0",
    "ws": "^1.1.4"
  }
}
