{
  "name": "testcafe",
  "description": "Automated browser testing for the modern web development stack.",
  "license": "MIT",
  "version": "2.3.1",
  "author": {
    "name": "Developer Express Inc.",
    "url": "https://www.devexpress.com/"
  },
  "esm": {
    "sourceMap": false
  },
  "bugs": {
    "url": "https://github.com/DevExpress/testcafe/issues"
  },
  "homepage": "https://testcafe.io/",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/DevExpress/testcafe.git"
  },
  "engines": {
    "node": ">=14.0.0"
  },
  "main": "lib/index",
  "types": "ts-defs/index.d.ts",
  "bin": {
    "testcafe": "./bin/testcafe-with-v8-flag-filter.js"
  },
  "files": [
    "lib",
    "bin",
    "ts-defs"
  ],
  "keywords": [
    "automated",
    "functional",
    "browser",
    "browsers",
    "website",
    "webapp",
    "testing",
    "automation",
    "test",
    "runner",
    "tdd",
    "assert",
    "assertion",
    "QA",
    "ES6",
    "ES2015",
    "async",
    "await"
  ],
  "scripts": {
    "test": "gulp travis",
    "build": "gulp build",
    "test-functional-local-headless-chrome-run-esm": "cross-env NODE_OPTIONS='--experimental-loader=./lib/compiler/esm-loader.js' gulp test-functional-local-headless-chrome-run --steps-as-tasks",
    "test-functional-local-headless-chrome-esm": "npm run build && npm run test-functional-local-headless-chrome-run-esm",
    "publish-please-only": "publish-please",
    "publish-please": "del-cli package-lock.json node_modules && npm i && publish-please",
    "prepublishOnly": "publish-please guard"
  },
  "dependencies": {
    "@babel/core": "^7.12.1",
    "@babel/plugin-proposal-async-generator-functions": "^7.12.1",
    "@babel/plugin-proposal-class-properties": "^7.12.1",
    "@babel/plugin-proposal-decorators": "^7.12.1",
    "@babel/plugin-proposal-object-rest-spread": "^7.12.1",
    "@babel/plugin-proposal-private-methods": "^7.14.5",
    "@babel/plugin-syntax-dynamic-import": "^7.8.3",
    "@babel/plugin-syntax-import-meta": "^7.10.4",
    "@babel/plugin-transform-async-to-generator": "^7.12.1",
    "@babel/plugin-transform-exponentiation-operator": "^7.12.1",
    "@babel/plugin-transform-for-of": "^7.12.1",
    "@babel/plugin-transform-runtime": "^7.12.1",
    "@babel/preset-env": "^7.12.1",
    "@babel/preset-flow": "^7.12.1",
    "@babel/preset-react": "^7.12.1",
    "@babel/runtime": "^7.12.5",
    "@miherlosev/esm": "3.2.26",
    "@types/node": "^12.20.10",
    "async-exit-hook": "^1.1.2",
    "babel-plugin-module-resolver": "^5.0.0",
    "babel-plugin-syntax-trailing-function-commas": "^6.22.0",
    "@devexpress/bin-v8-flags-filter": "^1.3.0",
    "bowser": "^2.8.1",
    "callsite": "^1.0.0",
    "callsite-record": "^4.0.0",
    "chai": "4.3.4",
    "chalk": "^2.3.0",
    "chrome-remote-interface": "^0.31.3",
    "coffeescript": "^2.3.1",
    "commander": "^8.3.0",
    "debug": "^4.3.1",
    "dedent": "^0.4.0",
    "del": "^3.0.0",
    "device-specs": "^1.0.0",
    "diff": "^4.0.2",
    "elegant-spinner": "^1.0.1",
    "email-validator": "^2.0.4",
    "emittery": "^0.4.1",
    "endpoint-utils": "^1.0.2",
    "error-stack-parser": "^1.3.6",
    "execa": "^4.0.3",
    "get-os-info": "^1.0.2",
    "globby": "^11.0.4",
    "graceful-fs": "^4.1.11",
    "graphlib": "^2.1.5",
    "http-status-codes": "^2.2.0",
    "humanize-duration": "^3.25.0",
    "import-lazy": "^3.1.0",
    "indent-string": "^1.2.2",
    "is-ci": "^1.0.10",
    "is-docker": "^2.0.0",
    "is-glob": "^2.0.1",
    "is-podman": "^1.0.1",
    "is-stream": "^2.0.0",
    "json5": "^2.2.2",
    "lodash": "^4.17.13",
    "log-update-async-hook": "^2.0.7",
    "make-dir": "^3.0.0",
    "mime-db": "^1.41.0",
    "moment": "^2.29.4",
    "moment-duration-format-commonjs": "^1.0.0",
    "mustache": "^2.1.2",
    "nanoid": "^3.1.31",
    "os-family": "^1.0.0",
    "parse5": "^1.5.0",
    "pify": "^2.3.0",
    "pinkie": "^2.0.4",
    "pngjs": "^3.3.1",
    "pretty-hrtime": "^1.0.3",
    "promisify-event": "^1.0.0",
    "prompts": "^2.4.2",
    "qrcode-terminal": "^0.10.0",
    "read-file-relative": "^1.2.0",
    "replicator": "^1.0.5",
    "resolve-cwd": "^1.0.0",
    "resolve-from": "^4.0.0",
    "sanitize-filename": "^1.6.0",
    "semver": "^5.6.0",
    "source-map-support": "^0.5.16",
    "strip-bom": "^2.0.0",
    "testcafe-browser-tools": "2.0.23",
    "testcafe-hammerhead": "28.4.2",
    "testcafe-legacy-api": "5.1.6",
    "testcafe-reporter-dashboard": "^0.2.10",
    "testcafe-reporter-json": "^2.1.0",
    "testcafe-reporter-list": "^2.1.0",
    "testcafe-reporter-minimal": "^2.1.0",
    "testcafe-reporter-spec": "^2.1.1",
    "testcafe-reporter-xunit": "^2.2.1",
    "testcafe-safe-storage": "^1.1.1",
    "time-limit-promise": "^1.0.2",
    "tmp": "0.0.28",
    "tree-kill": "^1.2.2",
    "typescript": "4.7.4",
    "unquote": "^1.1.1",
    "url-to-options": "^2.0.0"
  },
  "devDependencies": {
    "@ffmpeg-installer/ffmpeg": "^1.0.17",
    "@ffprobe-installer/ffprobe": "^1.4.1",
    "@rollup/plugin-alias": "^3.1.1",
    "@rollup/plugin-commonjs": "^11.0.2",
    "@rollup/plugin-inject": "^4.0.2",
    "@rollup/plugin-node-resolve": "^7.1.1",
    "@types/callsite": "^1.0.30",
    "@types/chai": "^3.5.2",
    "@types/debug": "^4.1.5",
    "@types/dedent": "^0.7.0",
    "@types/diff": "^4.0.2",
    "@types/json5": "0.0.30",
    "@types/mime-db": "^1.27.0",
    "@types/mustache": "^0.8.32",
    "@types/prompts": "^2.0.14",
    "@types/semver": "^7.3.4",
    "@types/source-map-support": "^0.5.0",
    "@types/useragent": "^2.1.1",
    "@typescript-eslint/eslint-plugin": "^5.29.0",
    "@typescript-eslint/parser": "^5.29.0",
    "babel-plugin-add-module-exports": "^0.2.0",
    "basic-auth": "^1.1.0",
    "body-parser": "^1.17.1",
    "browserstack-connector": "^0.1.7",
    "caller": "^1.0.1",
    "chai-as-promised": "^7.1.1",
    "chai-string": "^1.5.0",
    "chrome-launcher": "^0.15.0",
    "connect": "^3.4.0",
    "cross-env": "^7.0.3",
    "devtools-protocol": "0.0.1078443",
    "dom-walk": "^0.1.1",
    "escape-string-regexp": "^4.0.0",
    "eslint": "^7.13.0",
    "eslint-plugin-hammerhead": "0.4.0",
    "eslint-plugin-no-only-tests": "^2.0.1",
    "express": "^4.13.3",
    "express-ntlm": "2.4.0",
    "gulp": "^4.0.2",
    "gulp-babel": "^6.1.1",
    "gulp-clone": "^2.0.1",
    "gulp-data": "^1.3.1",
    "gulp-eslint": "^6.0.0",
    "gulp-gh-pages": "^0.6.0-6",
    "gulp-git": "^2.4.2",
    "gulp-less": "^4.0.0",
    "gulp-ll-next": "^2.1.0",
    "gulp-mocha-simple": "^1.1.0",
    "gulp-mustache": "^3.0.1",
    "gulp-prompt": "^1.0.1",
    "gulp-qunit-harness": "^1.0.3",
    "gulp-rename": "^1.3.0",
    "gulp-step": "^1.0.1",
    "gulp-uglify": "^3.0.0",
    "gulp-util": "^3.0.7",
    "js-yaml": "^3.6.1",
    "license-checker": "^20.0.0",
    "markdownlint": "^0.19.0",
    "merge-stream": "^1.0.1",
    "minimist": "^1.2.0",
    "mocha-reporter-spec-with-retries": "0.0.5",
    "multer": "^1.1.0",
    "npm-auditor": "^1.1.1",
    "open": "^6.4.0",
    "openssl-self-signed-certificate": "^1.1.6",
    "proxyquire": "^2.1.0",
    "publish-please": "^5.5.2",
    "react": "^16.13.1",
    "recursive-copy": "^2.0.5",
    "request": "^2.58.0",
    "rollup": "2.16.1",
    "rollup-plugin-typescript2": "^0.32.1",
    "run-sequence": "^1.2.2",
    "saucelabs-connector": "^1.0.0",
    "serve-static": "^1.10.0",
    "sinon": "^7.3.0",
    "stack-chain": "^2.0.0",
    "strip-ansi": "^3.0.0",
    "testcafe-browser-provider-browserstack": "^1.14.1",
    "tslib": "^2.4.0",
    "uglify-js": "~3.10.4"
  }
}