{
    "name": "element-web",
    "version": "1.12.17",
    "description": "Element: the future of secure communication",
    "author": "New Vector Ltd.",
    "repository": {
        "type": "git",
        "url": "https://github.com/element-hq/element-web"
    },
    "license": "SEE LICENSE IN README.md",
    "type": "module",
    "matrix_i18n_extra_translation_funcs": [
        "UserFriendlyError"
    ],
    "scripts": {
        "i18n": "matrix-gen-i18n src res && pnpm i18n:sort && pnpm i18n:lint",
        "i18n:sort": "matrix-sort-i18n src/i18n/strings/en_EN.json",
        "i18n:lint": "matrix-i18n-lint && prettier --log-level=silent --write src/i18n/strings/ --ignore-path /dev/null",
        "i18n:diff": "cp src/i18n/strings/en_EN.json src/i18n/strings/en_EN_orig.json && pnpm i18n && matrix-compare-i18n-files src/i18n/strings/en_EN_orig.json src/i18n/strings/en_EN.json",
        "rethemendex": "sh ./res/css/rethemendex.sh",
        "build": "nx build",
        "build-stats": "nx build --json=webpack-stats.json",
        "vendor:modernizr": "modernizr -c .modernizr.json -d src/vector/modernizr.js && mv src/vector/modernizr.js src/vector/modernizr.cjs",
        "vendor:jitsi": "curl -s https://meet.element.io/libs/external_api.min.js > ./res/jitsi_external_api.min.js",
        "dist": "./scripts/package.sh",
        "start": "nx start",
        "lint": "pnpm lint:types && pnpm lint:js && pnpm lint:style",
        "lint:js": "eslint --max-warnings 0 src test playwright module_system",
        "lint:js-fix": "eslint --fix src test playwright module_system",
        "lint:types": "nx lint:types",
        "lint:style": "stylelint \"res/css/**/*.pcss\"",
        "test": "nx test:unit",
        "test:playwright": "nx test:playwright --",
        "test:playwright:open": "nx test:playwright -- --ui",
        "test:playwright:screenshots": "nx test:playwright:screenshots --",
        "coverage": "pnpm test --coverage",
        "analyse:webpack-bundles": "webpack-bundle-analyzer webpack-stats.json webapp"
    },
    "dependencies": {
        "@babel/runtime": "^7.12.5",
        "@element-hq/element-web-module-api": "workspace:*",
        "@element-hq/web-shared-components": "workspace:*",
        "@fontsource/fira-code": "^5",
        "@fontsource/inter": "catalog:",
        "@formatjs/intl-segmenter": "^12.0.0",
        "@matrix-org/analytics-events": "^0.33.0",
        "@matrix-org/emojibase-bindings": "^1.5.0",
        "@matrix-org/react-sdk-module-api": "^2.4.0",
        "@sentry/browser": "^10.0.0",
        "@types/png-chunks-extract": "^1.0.2",
        "@vector-im/compound-design-tokens": "catalog:",
        "@vector-im/compound-web": "catalog:",
        "@vector-im/matrix-wysiwyg": "2.40.0",
        "@zxcvbn-ts/core": "^3.0.4",
        "@zxcvbn-ts/language-common": "^3.0.4",
        "@zxcvbn-ts/language-en": "^3.0.2",
        "await-lock": "^3.0.0",
        "bloom-filters": "^3.0.3",
        "blurhash": "^2.0.3",
        "browserslist": "^4.23.2",
        "classnames": "^2.2.6",
        "commonmark": "^0.31.0",
        "css-tree": "^3.0.0",
        "diff-dom": "^5.0.0",
        "diff-match-patch": "^1.0.5",
        "domutils": "^4.0.0",
        "emojibase-regex": "^17.0.0",
        "escape-html": "^1.0.3",
        "file-saver": "^2.0.5",
        "filesize": "11.0.17",
        "github-markdown-css": "^5.5.1",
        "glob-to-regexp": "^0.4.1",
        "highlight.js": "^11.3.1",
        "html-entities": "^2.0.0",
        "html-react-parser": "^6.0.0",
        "is-ip": "^5.0.0",
        "js-xxhash": "^5.0.0",
        "jsrsasign": "^11.0.0",
        "jszip": "^3.7.0",
        "katex": "^0.16.0",
        "lodash": "npm:lodash-es@4.18.1",
        "maplibre-gl": "^5.0.0",
        "matrix-encrypt-attachment": "^1.0.3",
        "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#d19cb751da8bbdc75c19db751fff25f21761d23a",
        "matrix-widget-api": "^1.16.1",
        "memoize-one": "^6.0.0",
        "mime": "^4.0.4",
        "oidc-client-ts": "^3.0.1",
        "opus-recorder": "^8.0.3",
        "pako": "^2.0.3",
        "png-chunks-extract": "^1.0.0",
        "posthog-js": "1.372.8",
        "qrcode": "1.5.4",
        "re-resizable": "6.11.2",
        "react": "catalog:",
        "react-beautiful-dnd": "^13.1.0",
        "react-blurhash": "^0.3.0",
        "react-dom": "catalog:",
        "react-focus-lock": "^2.5.1",
        "react-string-replace": "^2.0.0",
        "react-transition-group": "^4.4.1",
        "rfc4648": "^1.4.0",
        "sanitize-filename": "^1.6.3",
        "sanitize-html": "2.17.3",
        "tar-js": "^0.3.0",
        "ua-parser-js": "1.0.40",
        "what-input": "^5.2.10"
    },
    "devDependencies": {
        "@babel/core": "^7.12.10",
        "@babel/eslint-parser": "^7.12.10",
        "@babel/eslint-plugin": "^7.12.10",
        "@babel/plugin-proposal-decorators": "^7.25.9",
        "@babel/plugin-proposal-export-default-from": "^7.12.1",
        "@babel/plugin-syntax-dynamic-import": "^7.8.3",
        "@babel/plugin-transform-class-properties": "^7.12.1",
        "@babel/plugin-transform-class-static-block": "^7.26.0",
        "@babel/plugin-transform-logical-assignment-operators": "^7.20.7",
        "@babel/plugin-transform-nullish-coalescing-operator": "^7.12.1",
        "@babel/plugin-transform-numeric-separator": "^7.12.7",
        "@babel/plugin-transform-object-rest-spread": "^7.12.1",
        "@babel/plugin-transform-optional-chaining": "^7.12.7",
        "@babel/plugin-transform-runtime": "^7.12.10",
        "@babel/preset-env": "^7.12.11",
        "@babel/preset-react": "^7.12.10",
        "@babel/preset-typescript": "^7.12.7",
        "@casualbot/jest-sonar-reporter": "2.7.0",
        "@sorb/threadnet-call-embedded": "0.19.2-threadnet.5",
        "@element-hq/element-web-playwright-common": "workspace:*",
        "@fetch-mock/jest": "^0.2.20",
        "@jest/globals": "^30.2.0",
        "@peculiar/webcrypto": "^1.4.3",
        "@playwright/test": "catalog:",
        "@principalstudio/html-webpack-inject-preload": "^1.2.7",
        "@sentry/webpack-plugin": "^5.0.0",
        "@stylistic/eslint-plugin": "^5.0.0",
        "@svgr/webpack": "^8.0.0",
        "@testing-library/dom": "^10.4.0",
        "@testing-library/jest-dom": "^6.4.8",
        "@testing-library/react": "^16.0.0",
        "@testing-library/user-event": "^14.5.2",
        "@types/commonmark": "^0.27.4",
        "@types/content-type": "^1.1.9",
        "@types/css-tree": "^2.3.8",
        "@types/diff-match-patch": "^1.0.32",
        "@types/escape-html": "^1.0.1",
        "@types/express": "^5.0.0",
        "@types/file-saver": "^2.0.3",
        "@types/glob-to-regexp": "^0.4.1",
        "@types/jest": "30.0.0",
        "@types/jitsi-meet": "^2.0.2",
        "@types/jsrsasign": "^10.5.4",
        "@types/lodash": "^4.14.168",
        "@types/modernizr": "^3.5.3",
        "@types/node": "22",
        "@types/pako": "^2.0.0",
        "@types/postcss-import": "^14.0.3",
        "@types/qrcode": "^1.3.5",
        "@types/react": "catalog:",
        "@types/react-beautiful-dnd": "^13.0.0",
        "@types/react-dom": "catalog:",
        "@types/react-transition-group": "^4.4.0",
        "@types/sanitize-html": "2.16.1",
        "@types/sdp-transform": "^2.4.10",
        "@types/semver": "^7.5.8",
        "@types/tar-js": "^0.3.5",
        "@types/ua-parser-js": "^0.7.36",
        "@typescript-eslint/eslint-plugin": "^8.19.0",
        "@typescript-eslint/parser": "^8.19.0",
        "babel-jest": "^30.0.0",
        "babel-loader": "^10.0.0",
        "babel-plugin-jsx-remove-data-test-id": "^3.0.0",
        "blob-polyfill": "^9.0.0",
        "copy-webpack-plugin": "^14.0.0",
        "css-loader": "^7.0.0",
        "css-minimizer-webpack-plugin": "^8.0.0",
        "dotenv": "^17.0.0",
        "eslint": "8.57.1",
        "eslint-config-google": "^0.14.0",
        "eslint-config-prettier": "^10.0.0",
        "eslint-plugin-deprecate": "0.9.0",
        "eslint-plugin-import": "^2.25.4",
        "eslint-plugin-jest": "^29.0.0",
        "eslint-plugin-jsx-a11y": "^6.5.1",
        "eslint-plugin-matrix-org": "^3.0.0",
        "eslint-plugin-react": "^7.28.0",
        "eslint-plugin-react-compiler": "^19.0.0-beta-df7b47d-20241124",
        "eslint-plugin-react-hooks": "^7.0.0",
        "eslint-plugin-unicorn": "^56.0.0",
        "express": "^5.0.0",
        "fake-indexeddb": "^6.0.0",
        "file-loader": "^6.0.0",
        "html-webpack-plugin": "^5.5.3",
        "identity-obj-proxy": "^3.0.0",
        "jest": "^30.0.0",
        "jest-canvas-mock": "^2.5.2",
        "jest-environment-jsdom": "^30.2.0",
        "jest-fixed-jsdom": "^0.0.11",
        "jest-mock": "^30.0.0",
        "jest-raw-loader": "^1.0.1",
        "jsqr": "^1.4.0",
        "matrix-web-i18n": "catalog:",
        "mini-css-extract-plugin": "2.10.2",
        "modernizr": "^3.12.0",
        "playwright-core": "catalog:",
        "postcss": "8.5.14",
        "postcss-easings": "4.0.0",
        "postcss-hexrgba": "2.1.0",
        "postcss-import": "16.1.1",
        "postcss-loader": "8.2.1",
        "postcss-mixins": "12.1.2",
        "postcss-nested": "7.0.2",
        "postcss-preset-env": "11.2.1",
        "postcss-scss": "4.0.9",
        "postcss-simple-vars": "7.0.1",
        "prettier": "3.8.3",
        "process": "^0.11.10",
        "raw-loader": "^4.0.2",
        "semver": "^7.5.2",
        "source-map-loader": "^5.0.0",
        "stylelint": "^17.0.0",
        "stylelint-config-standard": "^40.0.0",
        "stylelint-scss": "^7.0.0",
        "stylelint-value-no-unknown-custom-properties": "^6.0.1",
        "terser-webpack-plugin": "^5.3.9",
        "testcontainers": "^11.0.0",
        "typescript": "catalog:",
        "util": "^0.12.5",
        "web-streams-polyfill": "^4.0.0",
        "webpack": "^5.89.0",
        "webpack-bundle-analyzer": "^5.0.0",
        "webpack-cli": "^7.0.0",
        "webpack-dev-server": "^5.0.0",
        "webpack-retry-chunk-load-plugin": "^3.1.1",
        "webpack-version-file-plugin": "^0.5.0",
        "yaml": "^2.3.3"
    },
    "@casualbot/jest-sonar-reporter": {
        "outputDirectory": "coverage",
        "outputName": "jest-sonar-report.xml",
        "relativePaths": true
    },
    "engines": {
        "node": ">=22.18"
    },
    "packageManager": "pnpm@10.33.3+sha512.a19744364a7e248b92657a4ca5973f9354d21caf982579674b1c539f32c7420c47138ad8b1254df07aba9bc782d9b3029e3db34d5dbff974326eb74dac8ff489",
    "private": true
}
