{
  "name": "twilio-video",
  "title": "Twilio Video",
  "description": "Twilio Video JavaScript Library",
  "version": "2.35.0",
  "homepage": "https://twilio.com",
  "author": "Mark Andrus Roberts <mroberts@twilio.com>",
  "contributors": [
    "Ryan Rowland <rrowland@twilio.com>",
    "Manjesh Malavalli <mmalavalli@twilio.com>",
    "Makarand Patwardhan <mpatwardhan@twilio.com>",
    "Luis Rivas <lrivas@twilio.com>"
  ],
  "keywords": [
    "twilio",
    "webrtc",
    "library",
    "javascript",
    "video",
    "rooms"
  ],
  "repository": {
    "type": "git",
    "url": "https://github.com/twilio/twilio-video.js.git"
  },
  "devDependencies": {
    "@babel/core": "^7.14.2",
    "@babel/plugin-proposal-class-properties": "^7.18.6",
    "@babel/plugin-proposal-object-rest-spread": "^7.20.7",
    "@babel/preset-env": "^7.14.2",
    "@babel/preset-typescript": "^7.13.0",
    "@eslint/js": "^9.20.0",
    "@stylistic/eslint-plugin": "^2.12.1",
    "@types/express": "^4.17.21",
    "@types/mocha": "^10.0.10",
    "@types/node": "^24.7.2",
    "@types/selenium-webdriver": "^3.0.8",
    "@types/sinon": "^17.0.4",
    "@types/ws": "^8.5.10",
    "@typescript-eslint/eslint-plugin": "^8.18.2",
    "@typescript-eslint/parser": "^8.18.2",
    "browserify": "^17.0.1",
    "cheerio": "^0.22.0",
    "cors": "^2.8.5",
    "electron": "^17.2.0",
    "envify": "^4.0.0",
    "eslint": "^9.37.0",
    "eslint-plugin-import": "^2.29.1",
    "eslint-plugin-n": "^16.6.2",
    "eslint-plugin-promise": "^6.6.0",
    "express": "^4.16.2",
    "glob": "^7.1.7",
    "globals": "^15.14.0",
    "ink-docstrap": "^1.3.2",
    "inquirer": "^7.0.0",
    "is-docker": "^2.0.0",
    "jsdoc": "^3.5.5",
    "jsdoc-babel": "^0.5.0",
    "json-loader": "^0.5.7",
    "karma": "^6.4.4",
    "karma-browserify": "^8.0.0",
    "karma-chrome-launcher": "^2.0.0",
    "karma-edgium-launcher": "^4.0.0-0",
    "karma-electron": "^6.1.0",
    "karma-firefox-launcher": "^2.1.3",
    "karma-htmlfile-reporter": "^0.3.8",
    "karma-junit-reporter": "^1.2.0",
    "karma-mocha": "^2.0.1",
    "karma-safari-launcher": "^1.0.0",
    "karma-spec-reporter": "0.0.32",
    "karma-typescript": "^5.5.1",
    "karma-typescript-es6-transform": "^5.5.1",
    "mocha": "^10.8.2",
    "mock-require": "^3.0.3",
    "ncp": "^2.0.0",
    "node-http-server": "^8.1.2",
    "npm-run-all": "^4.1.5",
    "nyc": "^15.1.0",
    "puppeteer": "19.2.2",
    "regex-replace": "^2.3.1",
    "requirejs": "^2.3.3",
    "rimraf": "^2.6.1",
    "simple-git": "^1.126.0",
    "sinon": "^4.0.1",
    "ts-node": "^10.9.2",
    "rollup": "^4.41.0",
    "@rollup/plugin-alias": "^5.1.1",
    "@rollup/plugin-commonjs": "^28.0.6",
    "@rollup/plugin-json": "^6.1.0",
    "@rollup/plugin-node-resolve": "^16.0.3",
    "@rollup/plugin-terser": "^0.4.4",
    "twilio": "^3.49.0",
    "twilio-release-tool": "^1.0.2",
    "typescript": "5.9.3",
    "vinyl-fs": "^2.4.4",
    "webrtc-adapter": "^7.7.1"
  },
  "engines": {
    "node": ">=22"
  },
  "license": "BSD-3-Clause",
  "main": "./es5/index.js",
  "types": "./tsdef/index.d.ts",
  "scripts": {
    "lint:js": "eslint ./lib ./test/*.js ./docker/**/*.js ./test/framework/*.js ./test/lib/*.js ./test/integration/** ./test/unit/** ",
    "lint:ts": "eslint ./tsdef/*.ts ./lib/**/*.ts",
    "lint": "npm-run-all lint:js lint:ts",
    "patch-linkifyit-111": "regex-replace \"readonly linkify: LinkifyIt.LinkifyIt;\" \"readonly linkify: typeof LinkifyIt;\" \"node_modules/@types/markdown-it/lib/index.d.ts\" --filecontents",
    "printVersion": "node --version && npm --version",
    "test:unit": "npm-run-all printVersion build:es5 && nyc --report-dir=./coverage --include=lib/**/* --reporter=html --reporter=lcov --reporter=text mocha -r ts-node/register/transpile-only --exit ./test/unit/*",
    "test:unit:quick": "nyc --report-dir=./coverage --include=lib/**/* --reporter=html --reporter=lcov mocha -r ts-node/register/transpile-only --exit",
    "test:serversiderender": "mocha --exit ./test/serversiderender/index.js",
    "test:integration:adapter": "node ./scripts/karma.js karma/integration.adapter.conf.js",
    "test:integration": "npm run build:es5 && node ./scripts/karma.js karma/integration.conf.js",
    "test:umd": "mocha --exit ./test/umd/index.js",
    "test:crossbrowser:build:clean": "rimraf ./test/crossbrowser/lib ./test/crossbrowser/src/browser/index.js",
    "test:crossbrowser:build:lint": "cd ./test/crossbrowser && eslint '**/*.ts'",
    "test:crossbrowser:build:tsc": "cd ./test/crossbrowser && tsc",
    "test:crossbrowser:build:browser": "cd ./test/crossbrowser && browserify lib/crossbrowser/src/browser/index.js > src/browser/index.js",
    "test:crossbrowser:build": "npm-run-all test:crossbrowser:build:*",
    "test:crossbrowser:test": "cd ./test/crossbrowser && mocha -r ts-node/register/transpile-only --exit test/integration/spec/**/*.ts",
    "test:crossbrowser": "npm-run-all test:crossbrowser:*",
    "test:sdkdriver:build:clean": "rimraf ./test/lib/sdkdriver/lib ./test/lib/sdkdriver/test/integration/browser/index.js",
    "test:sdkdriver:build:lint": "cd ./test/lib/sdkdriver && eslint '**/*.ts'",
    "test:sdkdriver:build:tsc": "cd ./test/lib/sdkdriver && tsc --rootDir src",
    "test:sdkdriver:build": "npm-run-all test:sdkdriver:build:*",
    "test:sdkdriver:test:unit": "cd ./test/lib/sdkdriver && mocha -r ts-node/register/transpile-only --exit test/unit/spec/**/*.ts",
    "test:sdkdriver:test:integration:browser": "cd ./test/lib/sdkdriver/test/integration && browserify browser/browser.js > browser/index.js",
    "test:sdkdriver:test:integration:run": "cd ./test/lib/sdkdriver && mocha -r ts-node/register/transpile-only --exit test/integration/spec/**/*.ts",
    "test:sdkdriver:test:integration": "npm-run-all test:sdkdriver:test:integration:*",
    "test:sdkdriver:test": "npm-run-all test:sdkdriver:test:*",
    "test:sdkdriver": "npm-run-all test:sdkdriver:*",
    "test:framework:angular:install": "cd ./test/framework/twilio-video-angular && rimraf ./node_modules package-lock.json && npm install",
    "test:framework:angular:run": "mocha ./test/framework/twilio-video-angular.js",
    "test:framework:angular": "npm-run-all test:framework:angular:*",
    "test:framework:no-framework:run": "mocha ./test/framework/twilio-video-no-framework.js",
    "test:framework:no-framework": "npm-run-all test:framework:no-framework:*",
    "test:framework:react:install": "cd ./test/framework/twilio-video-react && rimraf ./node_modules package-lock.json && npm install",
    "test:framework:react:test": "node ./scripts/framework.js twilio-video-react",
    "test:framework:react:build": "cd ./test/framework/twilio-video-react && npm run build",
    "test:framework:react:run": "mocha ./test/framework/twilio-video-react.js",
    "test:framework:react": "npm-run-all test:framework:react:*",
    "test:framework:install": "npm install chromedriver && npm install selenium-webdriver && npm install geckodriver && npm install puppeteer",
    "test:framework": "npm-run-all test:framework:install test:framework:no-framework test:framework:react",
    "test": "npm-run-all test:unit test:integration",
    "typecheck": "npm run patch-linkifyit-111 && tsc tsdef/twilio-video-tests.ts --noEmit --lib es2018,dom && tsc --noEmit",
    "build:es5": "npm run clean && npm run typecheck && tsc && rollup -c rollup.config.mjs",
    "build": "npm-run-all clean lint docs test:unit test:integration build:es5 test:umd",
    "build:quick": "npm-run-all clean lint docs build:es5",
    "docs": "node ./scripts/docs.js ./dist/docs",
    "watch:tsc": "tsc -w",
    "watch:rollup": "rollup -c rollup.config.mjs --watch",
    "watch": "npm-run-all -p watch:tsc watch:rollup",
    "clean": "rimraf ./coverage ./es5 ./dist"
  },
  "dependencies": {
    "events": "^3.3.0",
    "tslib": "^2.8.1",
    "util": "^0.12.4",
    "ws": "^8.18.3"
  },
  "browser": {
    "ws": "./src/ws.js"
  }
}
