package.json 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255
  1. {
  2. "name": "element-web",
  3. "version": "1.12.11-rc.0",
  4. "description": "Element: the future of secure communication",
  5. "author": "New Vector Ltd.",
  6. "repository": {
  7. "type": "git",
  8. "url": "https://github.com/element-hq/element-web"
  9. },
  10. "license": "SEE LICENSE IN README.md",
  11. "type": "module",
  12. "matrix_i18n_extra_translation_funcs": [
  13. "UserFriendlyError"
  14. ],
  15. "scripts": {
  16. "i18n": "matrix-gen-i18n src res && pnpm i18n:sort && pnpm i18n:lint",
  17. "i18n:sort": "matrix-sort-i18n src/i18n/strings/en_EN.json",
  18. "i18n:lint": "matrix-i18n-lint && prettier --log-level=silent --write src/i18n/strings/ --ignore-path /dev/null",
  19. "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",
  20. "rethemendex": "sh ./res/css/rethemendex.sh",
  21. "build": "nx build",
  22. "build-stats": "nx build --json=webpack-stats.json",
  23. "vendor:modernizr": "modernizr -c .modernizr.json -d src/vector/modernizr.js && mv src/vector/modernizr.js src/vector/modernizr.cjs",
  24. "vendor:jitsi": "curl -s https://meet.element.io/libs/external_api.min.js > ./res/jitsi_external_api.min.js",
  25. "dist": "./scripts/package.sh",
  26. "start": "nx start",
  27. "lint": "pnpm lint:types && pnpm lint:js && pnpm lint:style",
  28. "lint:js": "eslint --max-warnings 0 src test playwright module_system",
  29. "lint:js-fix": "eslint --fix src test playwright module_system",
  30. "lint:types": "nx lint:types",
  31. "lint:style": "stylelint \"res/css/**/*.pcss\"",
  32. "test": "nx test:unit",
  33. "test:playwright": "playwright test",
  34. "test:playwright:open": "pnpm test:playwright --ui",
  35. "test:playwright:screenshots": "playwright-screenshots-experimental pnpm playwright test --update-snapshots --project=Chrome --grep @screenshot",
  36. "coverage": "pnpm test --coverage",
  37. "analyse:webpack-bundles": "webpack-bundle-analyzer webpack-stats.json webapp"
  38. },
  39. "dependencies": {
  40. "@babel/runtime": "^7.12.5",
  41. "@element-hq/element-web-module-api": "catalog:",
  42. "@element-hq/web-shared-components": "workspace:*",
  43. "@fontsource/fira-code": "^5",
  44. "@fontsource/inter": "catalog:",
  45. "@formatjs/intl-segmenter": "^12.0.0",
  46. "@matrix-org/analytics-events": "^0.32.0",
  47. "@matrix-org/emojibase-bindings": "^1.5.0",
  48. "@matrix-org/react-sdk-module-api": "^2.4.0",
  49. "@sentry/browser": "^10.0.0",
  50. "@types/png-chunks-extract": "^1.0.2",
  51. "@vector-im/compound-design-tokens": "catalog:",
  52. "@vector-im/compound-web": "catalog:",
  53. "@vector-im/matrix-wysiwyg": "2.40.0",
  54. "@zxcvbn-ts/core": "^3.0.4",
  55. "@zxcvbn-ts/language-common": "^3.0.4",
  56. "@zxcvbn-ts/language-en": "^3.0.2",
  57. "await-lock": "^3.0.0",
  58. "bloom-filters": "^3.0.3",
  59. "blurhash": "^2.0.3",
  60. "browserslist": "^4.23.2",
  61. "classnames": "^2.2.6",
  62. "commonmark": "^0.31.0",
  63. "css-tree": "^3.0.0",
  64. "diff-dom": "^5.0.0",
  65. "diff-match-patch": "^1.0.5",
  66. "domutils": "^3.2.2",
  67. "emojibase-regex": "^17.0.0",
  68. "escape-html": "^1.0.3",
  69. "file-saver": "^2.0.5",
  70. "filesize": "11.0.13",
  71. "github-markdown-css": "^5.5.1",
  72. "glob-to-regexp": "^0.4.1",
  73. "highlight.js": "^11.3.1",
  74. "html-entities": "^2.0.0",
  75. "html-react-parser": "^5.2.2",
  76. "is-ip": "^5.0.0",
  77. "js-xxhash": "^5.0.0",
  78. "jsrsasign": "^11.0.0",
  79. "jszip": "^3.7.0",
  80. "katex": "^0.16.0",
  81. "linkify-html": "4.3.2",
  82. "linkify-react": "4.3.2",
  83. "linkify-string": "4.3.2",
  84. "linkifyjs": "4.3.2",
  85. "lodash": "npm:lodash-es@^4.17.21",
  86. "maplibre-gl": "^5.0.0",
  87. "matrix-encrypt-attachment": "^1.0.3",
  88. "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#develop",
  89. "matrix-widget-api": "^1.16.1",
  90. "memoize-one": "^6.0.0",
  91. "mime": "^4.0.4",
  92. "oidc-client-ts": "^3.0.1",
  93. "opus-recorder": "^8.0.3",
  94. "pako": "^2.0.3",
  95. "png-chunks-extract": "^1.0.0",
  96. "posthog-js": "1.356.1",
  97. "qrcode": "1.5.4",
  98. "re-resizable": "6.11.2",
  99. "react": "catalog:",
  100. "react-beautiful-dnd": "^13.1.0",
  101. "react-blurhash": "^0.3.0",
  102. "react-dom": "catalog:",
  103. "react-focus-lock": "^2.5.1",
  104. "react-string-replace": "^2.0.0",
  105. "react-transition-group": "^4.4.1",
  106. "rfc4648": "^1.4.0",
  107. "sanitize-filename": "^1.6.3",
  108. "sanitize-html": "2.17.1",
  109. "tar-js": "^0.3.0",
  110. "ua-parser-js": "1.0.40",
  111. "uuid": "^13.0.0",
  112. "what-input": "^5.2.10"
  113. },
  114. "devDependencies": {
  115. "@babel/core": "^7.12.10",
  116. "@babel/eslint-parser": "^7.12.10",
  117. "@babel/eslint-plugin": "^7.12.10",
  118. "@babel/plugin-proposal-decorators": "^7.25.9",
  119. "@babel/plugin-proposal-export-default-from": "^7.12.1",
  120. "@babel/plugin-syntax-dynamic-import": "^7.8.3",
  121. "@babel/plugin-transform-class-properties": "^7.12.1",
  122. "@babel/plugin-transform-class-static-block": "^7.26.0",
  123. "@babel/plugin-transform-logical-assignment-operators": "^7.20.7",
  124. "@babel/plugin-transform-nullish-coalescing-operator": "^7.12.1",
  125. "@babel/plugin-transform-numeric-separator": "^7.12.7",
  126. "@babel/plugin-transform-object-rest-spread": "^7.12.1",
  127. "@babel/plugin-transform-optional-chaining": "^7.12.7",
  128. "@babel/plugin-transform-runtime": "^7.12.10",
  129. "@babel/preset-env": "^7.12.11",
  130. "@babel/preset-react": "^7.12.10",
  131. "@babel/preset-typescript": "^7.12.7",
  132. "@casualbot/jest-sonar-reporter": "2.5.0",
  133. "@element-hq/element-call-embedded": "0.16.3",
  134. "@element-hq/element-web-playwright-common": "catalog:",
  135. "@element-hq/element-web-playwright-common-local": "workspace:*",
  136. "@fetch-mock/jest": "^0.2.20",
  137. "@jest/globals": "^30.2.0",
  138. "@peculiar/webcrypto": "^1.4.3",
  139. "@playwright/test": "catalog:",
  140. "@principalstudio/html-webpack-inject-preload": "^1.2.7",
  141. "@sentry/webpack-plugin": "^5.0.0",
  142. "@stylistic/eslint-plugin": "^5.0.0",
  143. "@svgr/webpack": "^8.0.0",
  144. "@testing-library/dom": "^10.4.0",
  145. "@testing-library/jest-dom": "^6.4.8",
  146. "@testing-library/react": "^16.0.0",
  147. "@testing-library/user-event": "^14.5.2",
  148. "@types/commonmark": "^0.27.4",
  149. "@types/content-type": "^1.1.9",
  150. "@types/counterpart": "^0.18.1",
  151. "@types/css-tree": "^2.3.8",
  152. "@types/diff-match-patch": "^1.0.32",
  153. "@types/escape-html": "^1.0.1",
  154. "@types/express": "^5.0.0",
  155. "@types/file-saver": "^2.0.3",
  156. "@types/glob-to-regexp": "^0.4.1",
  157. "@types/jest": "30.0.0",
  158. "@types/jitsi-meet": "^2.0.2",
  159. "@types/jsrsasign": "^10.5.4",
  160. "@types/lodash": "^4.14.168",
  161. "@types/modernizr": "^3.5.3",
  162. "@types/node": "22",
  163. "@types/pako": "^2.0.0",
  164. "@types/postcss-import": "^14.0.3",
  165. "@types/qrcode": "^1.3.5",
  166. "@types/react": "catalog:",
  167. "@types/react-beautiful-dnd": "^13.0.0",
  168. "@types/react-dom": "catalog:",
  169. "@types/react-transition-group": "^4.4.0",
  170. "@types/sanitize-html": "2.16.0",
  171. "@types/sdp-transform": "^2.4.10",
  172. "@types/semver": "^7.5.8",
  173. "@types/tar-js": "^0.3.5",
  174. "@types/ua-parser-js": "^0.7.36",
  175. "@typescript-eslint/eslint-plugin": "^8.19.0",
  176. "@typescript-eslint/parser": "^8.19.0",
  177. "babel-jest": "^30.0.0",
  178. "babel-loader": "^10.0.0",
  179. "babel-plugin-jsx-remove-data-test-id": "^3.0.0",
  180. "blob-polyfill": "^9.0.0",
  181. "copy-webpack-plugin": "^14.0.0",
  182. "css-loader": "^7.0.0",
  183. "css-minimizer-webpack-plugin": "^8.0.0",
  184. "dotenv": "^17.0.0",
  185. "eslint": "8.57.1",
  186. "eslint-config-google": "^0.14.0",
  187. "eslint-config-prettier": "^10.0.0",
  188. "eslint-plugin-deprecate": "0.9.0",
  189. "eslint-plugin-import": "^2.25.4",
  190. "eslint-plugin-jest": "^29.0.0",
  191. "eslint-plugin-jsx-a11y": "^6.5.1",
  192. "eslint-plugin-matrix-org": "^3.0.0",
  193. "eslint-plugin-react": "^7.28.0",
  194. "eslint-plugin-react-compiler": "^19.0.0-beta-df7b47d-20241124",
  195. "eslint-plugin-react-hooks": "^7.0.0",
  196. "eslint-plugin-unicorn": "^56.0.0",
  197. "express": "^5.0.0",
  198. "fake-indexeddb": "^6.0.0",
  199. "file-loader": "^6.0.0",
  200. "html-webpack-plugin": "^5.5.3",
  201. "identity-obj-proxy": "^3.0.0",
  202. "jest": "^30.0.0",
  203. "jest-canvas-mock": "^2.5.2",
  204. "jest-environment-jsdom": "^30.2.0",
  205. "jest-fixed-jsdom": "^0.0.11",
  206. "jest-mock": "^30.0.0",
  207. "jest-raw-loader": "^1.0.1",
  208. "jsqr": "^1.4.0",
  209. "matrix-web-i18n": "catalog:",
  210. "mini-css-extract-plugin": "2.10.0",
  211. "modernizr": "^3.12.0",
  212. "playwright-core": "catalog:",
  213. "postcss": "8.5.6",
  214. "postcss-easings": "4.0.0",
  215. "postcss-hexrgba": "2.1.0",
  216. "postcss-import": "16.1.1",
  217. "postcss-loader": "8.2.0",
  218. "postcss-mixins": "12.0.0",
  219. "postcss-nested": "7.0.2",
  220. "postcss-preset-env": "11.1.1",
  221. "postcss-scss": "4.0.9",
  222. "postcss-simple-vars": "7.0.1",
  223. "prettier": "3.8.1",
  224. "process": "^0.11.10",
  225. "raw-loader": "^4.0.2",
  226. "semver": "^7.5.2",
  227. "source-map-loader": "^5.0.0",
  228. "stylelint": "^17.0.0",
  229. "stylelint-config-standard": "^40.0.0",
  230. "stylelint-scss": "^7.0.0",
  231. "stylelint-value-no-unknown-custom-properties": "^6.0.1",
  232. "terser-webpack-plugin": "^5.3.9",
  233. "testcontainers": "^11.0.0",
  234. "typescript": "catalog:",
  235. "util": "^0.12.5",
  236. "web-streams-polyfill": "^4.0.0",
  237. "webpack": "^5.89.0",
  238. "webpack-bundle-analyzer": "^5.0.0",
  239. "webpack-cli": "^6.0.0",
  240. "webpack-dev-server": "^5.0.0",
  241. "webpack-retry-chunk-load-plugin": "^3.1.1",
  242. "webpack-version-file-plugin": "^0.5.0",
  243. "yaml": "^2.3.3"
  244. },
  245. "@casualbot/jest-sonar-reporter": {
  246. "outputDirectory": "coverage",
  247. "outputName": "jest-sonar-report.xml",
  248. "relativePaths": true
  249. },
  250. "engines": {
  251. "node": ">=22.18"
  252. },
  253. "packageManager": "[email protected]+sha512.c961d1e0a2d8e354ecaa5166b822516668b7f44cb5bd95122d590dd81922f606f5473b6d23ec4a5be05e7fcd18e8488d47d978bbe981872f1145d06e9a740017",
  254. "private": true
  255. }