2
0

package.json 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. {
  2. "name": "element-web",
  3. "version": "1.11.17",
  4. "description": "A feature-rich client for Matrix.org",
  5. "author": "New Vector Ltd.",
  6. "repository": {
  7. "type": "git",
  8. "url": "https://github.com/vector-im/element-web"
  9. },
  10. "license": "Apache-2.0",
  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. "scripts": {
  30. "i18n": "matrix-gen-i18n",
  31. "prunei18n": "matrix-prune-i18n",
  32. "diff-i18n": "cp src/i18n/strings/en_EN.json src/i18n/strings/en_EN_orig.json && matrix-gen-i18n && matrix-compare-i18n-files src/i18n/strings/en_EN_orig.json src/i18n/strings/en_EN.json",
  33. "clean": "rimraf lib webapp",
  34. "build": "yarn clean && yarn build:genfiles && yarn build:bundle",
  35. "build-stats": "yarn clean && yarn build:genfiles && yarn build:bundle-stats",
  36. "build:jitsi": "node scripts/build-jitsi.js",
  37. "build:res": "node scripts/copy-res.js",
  38. "build:genfiles": "yarn build:res && yarn build:jitsi && yarn build:module_system",
  39. "build:modernizr": "modernizr -c .modernizr.json -d src/vector/modernizr.js",
  40. "build:bundle": "webpack --progress --bail --mode production",
  41. "build:bundle-stats": "webpack --progress --bail --mode production --json > webpack-stats.json",
  42. "build:module_system": "tsc --project ./tsconfig.module_system.json && node ./lib/module_system/scripts/install.js",
  43. "dist": "scripts/package.sh",
  44. "start": "yarn build:module_system && concurrently --kill-others-on-fail --prefix \"{time} [{name}]\" -n res,element-js \"yarn start:res\" \"yarn start:js\"",
  45. "start:https": "concurrently --kill-others-on-fail --prefix \"{time} [{name}]\" -n res,element-js \"yarn start:res\" \"yarn start:js --https\"",
  46. "start:res": "yarn build:jitsi && node scripts/copy-res.js -w",
  47. "start:js": "webpack-dev-server --host=0.0.0.0 --output-filename=bundles/_dev_/[name].js --output-chunk-filename=bundles/_dev_/[name].js -w --mode development --disable-host-check --hot",
  48. "lint": "yarn lint:types && yarn lint:js && yarn lint:style",
  49. "lint:js": "eslint --max-warnings 0 src module_system test && prettier --check .",
  50. "lint:js-fix": "prettier --write . && eslint --fix src module_system test",
  51. "lint:types": "tsc --noEmit --jsx react && tsc --noEmit --project ./tsconfig.module_system.json",
  52. "lint:style": "stylelint \"res/css/**/*.pcss\"",
  53. "test": "jest",
  54. "coverage": "yarn test --coverage",
  55. "analyse:unused-exports": "node ./scripts/analyse_unused_exports.js"
  56. },
  57. "dependencies": {
  58. "@matrix-org/olm": "https://gitlab.matrix.org/api/v4/projects/27/packages/npm/@matrix-org/olm/-/@matrix-org/olm-3.2.12.tgz",
  59. "@matrix-org/react-sdk-module-api": "^0.0.3",
  60. "gfm.css": "^1.1.2",
  61. "jsrsasign": "^10.5.25",
  62. "katex": "^0.16.0",
  63. "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#develop",
  64. "matrix-react-sdk": "github:matrix-org/matrix-react-sdk#develop",
  65. "matrix-widget-api": "^1.1.1",
  66. "react": "17.0.2",
  67. "react-dom": "17.0.2",
  68. "sanitize-html": "^2.3.2",
  69. "ua-parser-js": "^1.0.0"
  70. },
  71. "devDependencies": {
  72. "@babel/core": "^7.12.10",
  73. "@babel/eslint-parser": "^7.12.10",
  74. "@babel/eslint-plugin": "^7.12.10",
  75. "@babel/plugin-proposal-class-properties": "^7.12.1",
  76. "@babel/plugin-proposal-export-default-from": "^7.12.1",
  77. "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1",
  78. "@babel/plugin-proposal-numeric-separator": "^7.12.7",
  79. "@babel/plugin-proposal-object-rest-spread": "^7.12.1",
  80. "@babel/plugin-proposal-optional-chaining": "^7.12.7",
  81. "@babel/plugin-syntax-dynamic-import": "^7.8.3",
  82. "@babel/plugin-transform-runtime": "^7.12.10",
  83. "@babel/preset-env": "^7.12.11",
  84. "@babel/preset-react": "^7.12.10",
  85. "@babel/preset-typescript": "^7.12.7",
  86. "@babel/register": "^7.12.10",
  87. "@babel/runtime": "^7.12.5",
  88. "@casualbot/jest-sonar-reporter": "^2.2.5",
  89. "@principalstudio/html-webpack-inject-preload": "^1.2.7",
  90. "@sentry/webpack-plugin": "^1.18.1",
  91. "@svgr/webpack": "^5.5.0",
  92. "@testing-library/react": "^12.1.5",
  93. "@types/flux": "^3.1.9",
  94. "@types/jest": "^29.0.0",
  95. "@types/jsrsasign": "^10.5.4",
  96. "@types/modernizr": "^3.5.3",
  97. "@types/node": "^16",
  98. "@types/react": "17.0.49",
  99. "@types/react-dom": "17.0.17",
  100. "@types/sanitize-html": "^2.3.1",
  101. "@types/ua-parser-js": "^0.7.36",
  102. "@typescript-eslint/eslint-plugin": "^5.6.0",
  103. "@typescript-eslint/parser": "^5.6.0",
  104. "allchange": "^1.0.6",
  105. "babel-jest": "^29.0.0",
  106. "babel-loader": "^8.2.2",
  107. "chokidar": "^3.5.1",
  108. "concurrently": "^7.0.0",
  109. "cpx": "^1.5.0",
  110. "css-loader": "^4",
  111. "dotenv": "^16.0.2",
  112. "eslint": "8.28.0",
  113. "eslint-config-google": "^0.14.0",
  114. "eslint-config-prettier": "^8.5.0",
  115. "eslint-plugin-deprecate": "^0.7.0",
  116. "eslint-plugin-import": "^2.25.4",
  117. "eslint-plugin-matrix-org": "^0.9.0",
  118. "eslint-plugin-react": "^7.28.0",
  119. "eslint-plugin-react-hooks": "^4.3.0",
  120. "eslint-plugin-unicorn": "^45.0.0",
  121. "extract-text-webpack-plugin": "^4.0.0-beta.0",
  122. "fake-indexeddb": "^4.0.0",
  123. "fetch-mock-jest": "^1.5.1",
  124. "file-loader": "^6.0.0",
  125. "fs-extra": "^11.0.0",
  126. "html-webpack-plugin": "^4.5.2",
  127. "jest": "^29.0.0",
  128. "jest-canvas-mock": "^2.3.0",
  129. "jest-environment-jsdom": "^29.0.0",
  130. "jest-mock": "^29.0.0",
  131. "jest-raw-loader": "^1.0.1",
  132. "json-loader": "^0.5.7",
  133. "loader-utils": "^3.0.0",
  134. "matrix-mock-request": "^2.5.0",
  135. "matrix-web-i18n": "^1.3.0",
  136. "mini-css-extract-plugin": "^1",
  137. "minimist": "^1.2.6",
  138. "mkdirp": "^1.0.4",
  139. "modernizr": "^3.12.0",
  140. "node-fetch": "^2.6.7",
  141. "optimize-css-assets-webpack-plugin": "^5.0.4",
  142. "postcss": "^8.4.16",
  143. "postcss-easings": "^2.0.0",
  144. "postcss-hexrgba": "2.0.1",
  145. "postcss-import": "^12.0.1",
  146. "postcss-loader": "^3.0.0",
  147. "postcss-mixins": "^6.2.3",
  148. "postcss-nested": "^4.2.3",
  149. "postcss-preset-env": "^6.7.0",
  150. "postcss-scss": "^4.0.4",
  151. "postcss-simple-vars": "^5.0.2",
  152. "prettier": "2.8.0",
  153. "raw-loader": "^4.0.2",
  154. "rimraf": "^3.0.2",
  155. "semver": "^7.3.7",
  156. "simple-proxy-agent": "^1.1.0",
  157. "string-replace-loader": "3",
  158. "style-loader": "2",
  159. "stylelint": "^14.9.1",
  160. "stylelint-config-prettier": "^9.0.4",
  161. "stylelint-config-standard": "^29.0.0",
  162. "stylelint-scss": "^4.2.0",
  163. "terser-webpack-plugin": "^4.0.0",
  164. "ts-prune": "^0.10.3",
  165. "typescript": "4.9.3",
  166. "webpack": "^4.46.0",
  167. "webpack-cli": "^3.3.12",
  168. "webpack-dev-server": "^3.11.2",
  169. "worker-loader": "^2.0.0",
  170. "worklet-loader": "^2.0.0",
  171. "yaml": "^2.0.1"
  172. },
  173. "jest": {
  174. "testEnvironment": "jsdom",
  175. "testEnvironmentOptions": {
  176. "url": "http://localhost/"
  177. },
  178. "testMatch": [
  179. "<rootDir>/test/**/*-test.[tj]s?(x)"
  180. ],
  181. "setupFiles": [
  182. "jest-canvas-mock"
  183. ],
  184. "setupFilesAfterEnv": [
  185. "<rootDir>/node_modules/matrix-react-sdk/test/setupTests.js"
  186. ],
  187. "moduleNameMapper": {
  188. "\\.(css|scss|pcss)$": "<rootDir>/__mocks__/cssMock.js",
  189. "\\.(gif|png|ttf|woff2)$": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/imageMock.js",
  190. "\\.svg$": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/svg.js",
  191. "\\$webapp/i18n/languages.json": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/languages.json",
  192. "^react$": "<rootDir>/node_modules/react",
  193. "^react-dom$": "<rootDir>/node_modules/react-dom",
  194. "^matrix-js-sdk$": "<rootDir>/node_modules/matrix-js-sdk/src",
  195. "^matrix-react-sdk$": "<rootDir>/node_modules/matrix-react-sdk/src",
  196. "decoderWorker\\.min\\.js": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/empty.js",
  197. "decoderWorker\\.min\\.wasm": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/empty.js",
  198. "waveWorker\\.min\\.js": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/empty.js",
  199. "context-filter-polyfill": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/empty.js",
  200. "FontManager.ts": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/FontManager.js",
  201. "workers/(.+)\\.worker\\.ts": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/workerMock.js",
  202. "^!!raw-loader!.*": "jest-raw-loader",
  203. "RecorderWorklet": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/empty.js"
  204. },
  205. "transformIgnorePatterns": [
  206. "/node_modules/(?!matrix-js-sdk).+$",
  207. "/node_modules/(?!matrix-react-sdk).+$"
  208. ],
  209. "coverageReporters": [
  210. "text-summary",
  211. "lcov"
  212. ],
  213. "testResultsProcessor": "@casualbot/jest-sonar-reporter"
  214. },
  215. "@casualbot/jest-sonar-reporter": {
  216. "outputDirectory": "coverage",
  217. "outputName": "jest-sonar-report.xml",
  218. "relativePaths": true
  219. }
  220. }