package.json 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  1. {
  2. "name": "element-web",
  3. "version": "1.11.76",
  4. "description": "A feature-rich client for Matrix.org",
  5. "author": "New Vector Ltd.",
  6. "repository": {
  7. "type": "git",
  8. "url": "https://github.com/element-hq/element-web"
  9. },
  10. "license": "AGPL-3.0-only OR GPL-3.0-only",
  11. "files": [
  12. "lib",
  13. "res",
  14. "src",
  15. "webpack.config.js",
  16. "scripts",
  17. "docs",
  18. "release.sh",
  19. "deploy",
  20. "CHANGELOG.md",
  21. "CONTRIBUTING.rst",
  22. "LICENSE",
  23. "README.md",
  24. "AUTHORS.rst",
  25. "package.json",
  26. "contribute.json"
  27. ],
  28. "style": "bundle.css",
  29. "matrix_i18n_extra_translation_funcs": [
  30. "UserFriendlyError"
  31. ],
  32. "scripts": {
  33. "i18n": "matrix-gen-i18n && yarn i18n:sort && yarn i18n:lint",
  34. "i18n:sort": "jq --sort-keys '.' src/i18n/strings/en_EN.json > src/i18n/strings/en_EN.json.tmp && mv src/i18n/strings/en_EN.json.tmp src/i18n/strings/en_EN.json",
  35. "i18n:lint": "prettier --log-level=silent --write src/i18n/strings/ --ignore-path /dev/null",
  36. "i18n:diff": "cp src/i18n/strings/en_EN.json src/i18n/strings/en_EN_orig.json && yarn i18n && matrix-compare-i18n-files src/i18n/strings/en_EN_orig.json src/i18n/strings/en_EN.json",
  37. "clean": "rimraf lib webapp",
  38. "build": "yarn clean && yarn build:genfiles && yarn build:bundle",
  39. "build-stats": "yarn clean && yarn build:genfiles && yarn build:bundle-stats",
  40. "build:res": "ts-node scripts/copy-res.ts",
  41. "build:genfiles": "yarn build:res && yarn build:module_system",
  42. "build:modernizr": "modernizr -c .modernizr.json -d src/vector/modernizr.js",
  43. "build:bundle": "webpack --progress --mode production",
  44. "build:bundle-stats": "webpack --progress --mode production --json > webpack-stats.json",
  45. "build:module_system": "ts-node --project ./tsconfig.module_system.json module_system/scripts/install.ts",
  46. "dist": "scripts/package.sh",
  47. "start": "concurrently --kill-others-on-fail --prefix \"{time} [{name}]\" -n modules,res \"yarn build:module_system\" \"yarn build:res\" && concurrently --kill-others-on-fail --prefix \"{time} [{name}]\" -n res,element-js \"yarn start:res\" \"yarn start:js\"",
  48. "start:https": "concurrently --kill-others-on-fail --prefix \"{time} [{name}]\" -n res,element-js \"yarn start:res\" \"yarn start:js --server-type https\"",
  49. "start:res": "ts-node scripts/copy-res.ts -w",
  50. "start:js": "webpack serve --output-path webapp --output-filename=bundles/_dev_/[name].js --output-chunk-filename=bundles/_dev_/[name].js --mode development",
  51. "lint": "yarn lint:types && yarn lint:js && yarn lint:style && yarn lint:workflows",
  52. "lint:js": "yarn lint:js:src && yarn lint:js:module_system",
  53. "lint:js:src": "eslint --max-warnings 0 src test && prettier --check .",
  54. "lint:js:module_system": "eslint --max-warnings 0 --config .eslintrc-module_system.js module_system",
  55. "lint:js-fix": "yarn lint:js-fix:src && yarn lint:js-fix:module_system",
  56. "lint:js-fix:src": "prettier --log-level=warn --write . && eslint --fix src test",
  57. "lint:js-fix:module_system": "eslint --fix --config .eslintrc-module_system.js module_system",
  58. "lint:types": "yarn lint:types:src && yarn lint:types:module_system",
  59. "lint:types:src": "tsc --noEmit --jsx react",
  60. "lint:types:module_system": "tsc --noEmit --project ./tsconfig.module_system.json",
  61. "lint:style": "stylelint \"res/css/**/*.pcss\"",
  62. "lint:workflows": "find .github/workflows -type f \\( -iname '*.yaml' -o -iname '*.yml' \\) | xargs -I {} sh -c 'echo \"Linting {}\"; action-validator \"{}\"'",
  63. "test": "jest",
  64. "coverage": "yarn test --coverage",
  65. "analyse:unused-exports": "ts-node ./scripts/analyse_unused_exports.ts",
  66. "analyse:webpack-bundles": "webpack-bundle-analyzer webpack-stats.json webapp",
  67. "update:jitsi": "curl -s https://meet.element.io/libs/external_api.min.js > ./res/jitsi_external_api.min.js"
  68. },
  69. "resolutions": {
  70. "@types/react-dom": "17.0.25",
  71. "@types/react": "17.0.80",
  72. "@vector-im/compound-design-tokens": "1.8.0",
  73. "@vector-im/compound-web": "5.5.0",
  74. "@floating-ui/react": "0.26.11",
  75. "@radix-ui/react-id": "1.1.0"
  76. },
  77. "dependencies": {
  78. "@formatjs/intl-segmenter": "^11.5.7",
  79. "@matrix-org/react-sdk-module-api": "^2.3.0",
  80. "@vector-im/compound-design-tokens": "^1.8.0",
  81. "@vector-im/compound-web": "^5.5.0",
  82. "jsrsasign": "^11.0.0",
  83. "katex": "^0.16.0",
  84. "lodash": "^4.17.21",
  85. "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#develop",
  86. "matrix-react-sdk": "github:matrix-org/matrix-react-sdk#develop",
  87. "matrix-widget-api": "^1.8.2",
  88. "react": "17.0.2",
  89. "react-dom": "17.0.2",
  90. "ua-parser-js": "^1.0.0"
  91. },
  92. "devDependencies": {
  93. "@action-validator/cli": "^0.6.0",
  94. "@action-validator/core": "^0.6.0",
  95. "@babel/core": "^7.12.10",
  96. "@babel/eslint-parser": "^7.12.10",
  97. "@babel/eslint-plugin": "^7.12.10",
  98. "@babel/plugin-proposal-export-default-from": "^7.12.1",
  99. "@babel/plugin-syntax-dynamic-import": "^7.8.3",
  100. "@babel/plugin-transform-class-properties": "^7.12.1",
  101. "@babel/plugin-transform-logical-assignment-operators": "^7.20.7",
  102. "@babel/plugin-transform-nullish-coalescing-operator": "^7.12.1",
  103. "@babel/plugin-transform-numeric-separator": "^7.12.7",
  104. "@babel/plugin-transform-object-rest-spread": "^7.12.1",
  105. "@babel/plugin-transform-optional-chaining": "^7.12.7",
  106. "@babel/plugin-transform-runtime": "^7.12.10",
  107. "@babel/preset-env": "^7.12.11",
  108. "@babel/preset-react": "^7.12.10",
  109. "@babel/preset-typescript": "^7.12.7",
  110. "@babel/register": "^7.12.10",
  111. "@babel/runtime": "^7.12.5",
  112. "@casualbot/jest-sonar-reporter": "2.3.1",
  113. "@principalstudio/html-webpack-inject-preload": "^1.2.7",
  114. "@sentry/webpack-plugin": "^2.7.1",
  115. "@svgr/webpack": "^8.0.0",
  116. "@testing-library/react": "^12.1.5",
  117. "@types/commonmark": "^0.27.9",
  118. "@types/content-type": "^1.1.8",
  119. "@types/counterpart": "^0.18.4",
  120. "@types/diff-match-patch": "^1.0.36",
  121. "@types/escape-html": "^1.0.4",
  122. "@types/file-saver": "^2.0.7",
  123. "@types/glob-to-regexp": "^0.4.4",
  124. "@types/jest": "^29.0.0",
  125. "@types/jitsi-meet": "^2.0.2",
  126. "@types/jsrsasign": "^10.5.4",
  127. "@types/katex": "^0.16.7",
  128. "@types/lodash": "^4.14.197",
  129. "@types/minimist": "^1.2.5",
  130. "@types/modernizr": "^3.5.6",
  131. "@types/node": "^16",
  132. "@types/node-fetch": "^2.6.4",
  133. "@types/pako": "^2.0.3",
  134. "@types/qrcode": "^1.5.5",
  135. "@types/react": "17.0.80",
  136. "@types/react-beautiful-dnd": "^13.1.7",
  137. "@types/react-dom": "17.0.25",
  138. "@types/react-transition-group": "^4.4.9",
  139. "@types/sanitize-html": "^2.9.5",
  140. "@types/sdp-transform": "^2.4.9",
  141. "@types/semver": "^7.5.8",
  142. "@types/tar-js": "^0.3.5",
  143. "@types/ua-parser-js": "^0.7.36",
  144. "@types/uuid": "^10.0.0",
  145. "@typescript-eslint/eslint-plugin": "^7.0.0",
  146. "@typescript-eslint/parser": "^7.0.0",
  147. "babel-jest": "^29.0.0",
  148. "babel-loader": "^9.0.0",
  149. "babel-plugin-jsx-remove-data-test-id": "^3.0.0",
  150. "buffer": "^6.0.3",
  151. "chokidar": "^3.5.1",
  152. "concurrently": "^8.0.0",
  153. "copy-webpack-plugin": "^12.0.0",
  154. "cronstrue": "^2.41.0",
  155. "css-loader": "^7.0.0",
  156. "css-minimizer-webpack-plugin": "^7.0.0",
  157. "dotenv": "^16.0.2",
  158. "eslint": "8.57.0",
  159. "eslint-config-google": "^0.14.0",
  160. "eslint-config-prettier": "^9.0.0",
  161. "eslint-plugin-deprecate": "0.8.5",
  162. "eslint-plugin-import": "^2.26.0",
  163. "eslint-plugin-matrix-org": "^1.0.0",
  164. "eslint-plugin-react": "^7.28.0",
  165. "eslint-plugin-react-hooks": "^4.3.0",
  166. "eslint-plugin-unicorn": "^55.0.0",
  167. "fake-indexeddb": "^6.0.0",
  168. "fetch-mock": "9.11.0",
  169. "fetch-mock-jest": "^1.5.1",
  170. "file-loader": "^6.0.0",
  171. "html-webpack-plugin": "^5.5.3",
  172. "husky": "^9.0.0",
  173. "jest": "^29.0.0",
  174. "jest-canvas-mock": "2.5.2",
  175. "jest-environment-jsdom": "^29.0.0",
  176. "jest-mock": "^29.0.0",
  177. "jest-raw-loader": "^1.0.1",
  178. "lint-staged": "^15.1.0",
  179. "matrix-mock-request": "^2.5.0",
  180. "matrix-web-i18n": "^3.2.1",
  181. "mini-css-extract-plugin": "2.9.0",
  182. "minimist": "^1.2.6",
  183. "mkdirp": "^3.0.0",
  184. "modernizr": "^3.12.0",
  185. "node-fetch": "^2.6.7",
  186. "postcss": "8.4.38",
  187. "postcss-easings": "^4.0.0",
  188. "postcss-hexrgba": "2.1.0",
  189. "postcss-import": "16.1.0",
  190. "postcss-loader": "8.1.1",
  191. "postcss-mixins": "^10.0.0",
  192. "postcss-nested": "^6.0.0",
  193. "postcss-preset-env": "^10.0.0",
  194. "postcss-scss": "^4.0.4",
  195. "postcss-simple-vars": "^7.0.1",
  196. "prettier": "3.3.3",
  197. "process": "^0.11.10",
  198. "raw-loader": "^4.0.2",
  199. "rimraf": "^6.0.0",
  200. "semver": "^7.5.2",
  201. "string-replace-loader": "3",
  202. "style-loader": "4",
  203. "stylelint": "^16.1.0",
  204. "stylelint-config-standard": "^36.0.0",
  205. "stylelint-scss": "^6.0.0",
  206. "terser-webpack-plugin": "^5.3.9",
  207. "ts-node": "^10.9.1",
  208. "ts-prune": "^0.10.3",
  209. "typescript": "5.5.4",
  210. "util": "^0.12.5",
  211. "webpack": "^5.89.0",
  212. "webpack-bundle-analyzer": "^4.8.0",
  213. "webpack-cli": "^5.0.0",
  214. "webpack-dev-server": "^5.0.0",
  215. "yaml": "^2.3.3"
  216. },
  217. "@casualbot/jest-sonar-reporter": {
  218. "outputDirectory": "coverage",
  219. "outputName": "jest-sonar-report.xml",
  220. "relativePaths": true
  221. },
  222. "engines": {
  223. "node": ">=20.0.0"
  224. }
  225. }