{
  "version": "0.0.0",
  "type": "module",
  "scripts": {
    "dev": "vite",
    "build": "NODE_OPTIONS=--max-old-space-size=16384 vite build",
    "serve": "vite preview",
    "prettier:check": "prettier -c .",
    "prettier:format": "prettier -w .",
    "lint": "yarn lint:types && yarn lint:eslint",
    "lint:eslint": "eslint --max-warnings 0 src",
    "lint:eslint-fix": "eslint --max-warnings 0 src --fix",
    "lint:types": "tsc",
    "i18n": "node_modules/i18next-parser/bin/cli.js",
    "i18n:check": "node_modules/i18next-parser/bin/cli.js --fail-on-warnings --fail-on-update",
    "test": "jest",
    "backend": "docker-compose -f backend-docker-compose.yml up"
  },
  "dependencies": {
    "@juggle/resize-observer": "^3.3.1",
    "@livekit/components-react": "^1.1.0",
    "@matrix-org/olm": "https://gitlab.matrix.org/api/v4/projects/27/packages/npm/@matrix-org/olm/-/@matrix-org/olm-3.2.14.tgz",
    "@opentelemetry/api": "^1.4.0",
    "@opentelemetry/context-zone": "^1.9.1",
    "@opentelemetry/exporter-jaeger": "^1.9.1",
    "@opentelemetry/exporter-trace-otlp-http": "^0.41.0",
    "@opentelemetry/instrumentation-document-load": "^0.33.0",
    "@opentelemetry/instrumentation-user-interaction": "^0.33.0",
    "@opentelemetry/sdk-trace-web": "^1.9.1",
    "@radix-ui/react-dialog": "^1.0.4",
    "@radix-ui/react-visually-hidden": "^1.0.3",
    "@react-aria/button": "^3.3.4",
    "@react-aria/focus": "^3.5.0",
    "@react-aria/menu": "^3.3.0",
    "@react-aria/overlays": "^3.7.3",
    "@react-aria/select": "^3.6.0",
    "@react-aria/tabs": "^3.1.0",
    "@react-aria/tooltip": "^3.1.3",
    "@react-aria/utils": "^3.10.0",
    "@react-spring/web": "^9.4.4",
    "@react-stately/collections": "^3.3.4",
    "@react-stately/select": "^3.1.3",
    "@react-stately/tooltip": "^3.0.5",
    "@react-stately/tree": "^3.2.0",
    "@sentry/react": "^7.0.0",
    "@sentry/tracing": "^7.0.0",
    "@types/lodash": "^4.14.199",
    "@use-gesture/react": "^10.2.11",
    "@vector-im/compound-design-tokens": "^0.0.6",
    "@vector-im/compound-web": "^0.5.0",
    "@vitejs/plugin-basic-ssl": "^1.0.1",
    "@vitejs/plugin-react": "^4.0.1",
    "buffer": "^6.0.3",
    "classnames": "^2.3.1",
    "events": "^3.3.0",
    "i18next": "^23.0.0",
    "i18next-browser-languagedetector": "^7.0.0",
    "i18next-http-backend": "^2.0.0",
    "livekit-client": "^1.12.3",
    "lodash": "^4.17.21",
    "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#c8f8fb587d29dce22d314bfc16bf25a76b04e8bb",
    "matrix-widget-api": "^1.3.1",
    "normalize.css": "^8.0.1",
    "pako": "^2.0.4",
    "postcss-preset-env": "^9.0.0",
    "posthog-js": "^1.29.0",
    "react": "18",
    "react-dom": "18",
    "react-i18next": "^13.0.0",
    "react-router-dom": "^5.2.0",
    "react-use-clipboard": "^1.0.7",
    "react-use-measure": "^2.1.1",
    "sdp-transform": "^2.14.1",
    "tinyqueue": "^2.0.3",
    "unique-names-generator": "^4.6.0",
    "uuid": "9",
    "vaul": "^0.7.0"
  },
  "devDependencies": {
    "@babel/core": "^7.16.5",
    "@babel/preset-env": "^7.22.20",
    "@babel/preset-react": "^7.22.15",
    "@babel/preset-typescript": "^7.23.0",
    "@react-spring/rafz": "^9.7.3",
    "@react-types/dialog": "^3.5.5",
    "@sentry/vite-plugin": "^2.0.0",
    "@testing-library/jest-dom": "^6.0.0",
    "@testing-library/react": "^14.0.0",
    "@testing-library/user-event": "^14.5.1",
    "@types/content-type": "^1.1.5",
    "@types/d3": "^7.4.0",
    "@types/dom-screen-wake-lock": "^1.0.1",
    "@types/dompurify": "^3.0.2",
    "@types/grecaptcha": "^3.0.4",
    "@types/jest": "^29.5.5",
    "@types/node": "^18.13.0",
    "@types/react-router-dom": "^5.3.3",
    "@types/request": "^2.48.8",
    "@types/sdp-transform": "^2.4.5",
    "@types/uuid": "9",
    "@typescript-eslint/eslint-plugin": "^6.1.0",
    "@typescript-eslint/parser": "^6.1.0",
    "babel-loader": "^9.0.0",
    "babel-plugin-transform-vite-meta-env": "^1.0.3",
    "eslint": "^8.14.0",
    "eslint-config-google": "^0.14.0",
    "eslint-config-prettier": "^9.0.0",
    "eslint-plugin-deprecate": "^0.8.2",
    "eslint-plugin-import": "^2.26.0",
    "eslint-plugin-jsx-a11y": "^6.5.1",
    "eslint-plugin-matrix-org": "^1.2.1",
    "eslint-plugin-react": "^7.29.4",
    "eslint-plugin-react-hooks": "^4.5.0",
    "eslint-plugin-unicorn": "^48.0.1",
    "i18next-parser": "^8.0.0",
    "identity-obj-proxy": "^3.0.0",
    "jest": "^29.2.2",
    "jest-environment-jsdom": "^29.3.1",
    "jest-mock": "^29.5.0",
    "prettier": "^3.0.0",
    "sass": "^1.42.1",
    "typescript": "^5.1.6",
    "typescript-eslint-language-service": "^5.0.5",
    "vite": "^4.2.0",
    "vite-plugin-html-template": "^1.1.0",
    "vite-plugin-svgr": "^4.0.0"
  },
  "jest": {
    "testEnvironment": "./test/environment.ts",
    "testMatch": [
      "<rootDir>/test/**/*-test.[jt]s?(x)"
    ],
    "transformIgnorePatterns": [
      "/node_modules/(?!d3)+$",
      "/node_modules/(?!internmap)+$"
    ],
    "moduleNameMapper": {
      "\\.css$": "identity-obj-proxy",
      "\\.svg\\?react$": "<rootDir>/test/mocks/svgr.ts",
      "^\\./IndexedDBWorker\\?worker$": "<rootDir>/test/mocks/workerMock.ts",
      "^\\./olm$": "<rootDir>/test/mocks/olmMock.ts"
    },
    "collectCoverage": true,
    "coverageReporters": [
      "text",
      "cobertura"
    ]
  }
}
