Merge tag '21.51.0' into develop
[gitter.git] / package.json
blob6844559e723721a585e0ef2212b4c35b45d962ea
2   "name": "gitter-webapp",
3   "version": "19.2.0",
4   "private": true,
5   "dependencies": {
6     "@babel/runtime": "^7.10.4",
7     "@gitterhq/backbone-proxy-collection": "^2.3.0",
8     "@gitterhq/cal-heatmap": "^3.6.1",
9     "@gitterhq/env": "^0.47.0",
10     "@gitterhq/faye-redis": "^0.4.4",
11     "@gitterhq/services": "^1.26.0",
12     "@gitterhq/styleguide": "^2.3.0",
13     "apn": "^1.7.5",
14     "async": "~0.9.0",
15     "backbone": "1.2.3",
16     "backbone.cocktail": "^0.5.13",
17     "backbone.marionette": "^2.4.4",
18     "batch-stream": "^0.1.2",
19     "bluebird": "^3.7.2",
20     "body-parser": "^1.13.2",
21     "bootstrap-vue": "^2.11.0",
22     "classnames": "^2.2.5",
23     "cld": "^2.7.0",
24     "cliff": "^0.1.10",
25     "connect-redis": "^3.1.0",
26     "cookie-parser": "^1.3.5",
27     "core-js": "^3.0.0",
28     "cors": "^2.4.2",
29     "cypher-promise": "^1.0.1",
30     "debug": "^2.2.0",
31     "debug-proxy": "^0.2.0",
32     "dolph": "^0.2.0",
33     "elasticsearch": "^11.0.0",
34     "email-validator": "^1.0.0",
35     "emoji-name-map": "^1.2.9",
36     "ent": "~0.1.0",
37     "escape-string-regexp": "^1.0.5",
38     "event-stream": "^3.3.1",
39     "express": "^4.13.1",
40     "express-async-handler": "^1.1.4",
41     "express-hbs": "~0.8.4",
42     "express-session": "^1.17.1",
43     "fast-csv": "^0.6.0",
44     "fastclick": "^1.0.6",
45     "fastdom": "^1.0.1",
46     "fflip": "git+https://github.com/suprememoocow/fflip.git#fa77d5d981c2b93279c42305e8fe5632716c06a5",
47     "fingerprintjs2": "^1.8.6",
48     "fontfaceobserver": "^1.7.1",
49     "fs-extra": "^7.0.0",
50     "fuzzysearch": "^1.0.3",
51     "gitlab": "^13.0.0",
52     "gitter-app-version": "file:modules/app-version",
53     "gitter-client-env": "file:modules/client-env",
54     "gitter-faye": "^1.2.0",
55     "gitter-markdown-processor": "^21.0.0",
56     "gitter-passport-http-bearer": "^1.1.2",
57     "gitter-realtime-client": "^2.2.0",
58     "gitter-redis-scripto": "^0.2.2",
59     "gitter-web-api-client": "file:modules/api-client",
60     "gitter-web-appevents": "file:modules/appevents",
61     "gitter-web-avatars": "file:modules/avatars",
62     "gitter-web-backend-muxer": "file:modules/backend-muxer",
63     "gitter-web-cache-wrapper": "file:modules/cache-wrapper",
64     "gitter-web-cdn": "file:modules/cdn",
65     "gitter-web-chat-reports": "file:modules/chat-reports",
66     "gitter-web-chats": "file:modules/chats",
67     "gitter-web-client-context": "file:modules/client-context",
68     "gitter-web-client-error-reporting": "file:modules/client-error-reporting",
69     "gitter-web-collaborators": "file:modules/collaborators",
70     "gitter-web-elasticsearch": "file:modules/elasticsearch",
71     "gitter-web-email-addresses": "file:modules/email-addresses",
72     "gitter-web-email-notifications": "file:modules/email-notifications",
73     "gitter-web-env": "file:modules/env",
74     "gitter-web-events": "file:modules/events",
75     "gitter-web-fingerprinting": "file:modules/fingerprinting",
76     "gitter-web-github": "file:modules/github",
77     "gitter-web-github-backend": "file:modules/github-backend",
78     "gitter-web-gitlab": "file:modules/gitlab",
79     "gitter-web-gitlab-backend": "file:modules/gitlab-backend",
80     "gitter-web-google-backend": "file:modules/google-backend",
81     "gitter-web-groups": "file:modules/groups",
82     "gitter-web-i18n": "file:modules/i18n",
83     "gitter-web-identity": "file:modules/identity",
84     "gitter-web-intercom": "file:modules/intercom",
85     "gitter-web-invites": "file:modules/invites",
86     "gitter-web-linkedin-backend": "file:modules/linkedin-backend",
87     "gitter-web-live-collection-events": "file:modules/live-collection-events",
88     "gitter-web-mailer": "file:modules/mailer",
89     "gitter-web-matrix-bridge": "file:modules/matrix-bridge",
90     "gitter-web-mongoose-bluebird": "file:modules/mongoose-bluebird",
91     "gitter-web-oauth": "file:modules/oauth",
92     "gitter-web-permissions": "file:modules/permissions",
93     "gitter-web-persistence": "file:modules/persistence",
94     "gitter-web-persistence-utils": "file:modules/persistence-utils",
95     "gitter-web-presence": "file:modules/presence",
96     "gitter-web-push-gateways": "file:modules/push-gateways",
97     "gitter-web-push-notification-filter": "file:modules/push-notification-filter",
98     "gitter-web-push-notifications": "file:modules/push-notifications",
99     "gitter-web-qs": "file:modules/qs",
100     "gitter-web-rooms": "file:modules/rooms",
101     "gitter-web-serialization": "file:modules/serialization",
102     "gitter-web-service-worker": "file:modules/service-worker",
103     "gitter-web-shared": "file:./shared/",
104     "gitter-web-slugify": "file:modules/slugify",
105     "gitter-web-spam-detection": "file:modules/spam-detection",
106     "gitter-web-suggestions": "file:modules/suggestions",
107     "gitter-web-templates": "file:modules/templates",
108     "gitter-web-test-utils": "file:modules/test-utils",
109     "gitter-web-text-processor": "file:modules/text-processor",
110     "gitter-web-translations": "file:modules/translations",
111     "gitter-web-twitter": "file:modules/twitter",
112     "gitter-web-twitter-backend": "file:modules/twitter-backend",
113     "gitter-web-unread-items": "file:modules/unread-items",
114     "gitter-web-uri-resolver": "file:modules/uri-resolver",
115     "gitter-web-user-serialization": "file:modules/user-serialization",
116     "gitter-web-user-settings": "file:modules/user-settings",
117     "gitter-web-users": "file:modules/users",
118     "gitter-web-utils": "file:modules/utils",
119     "gitter-web-validators": "file:modules/validators",
120     "glob": "^6.0.4",
121     "handlebars": "~3.0.3",
122     "highlight.js": "^8.6.0",
123     "i18n-2": "^0.7.3",
124     "intercom-client": "^2.6.0",
125     "intercom-stream": "^1.0.0",
126     "intercom.io": "~0.0.8",
127     "intersection-observer": "^0.7.0",
128     "jquery": "^2.1.0",
129     "jwt-simple": "^0.5.6",
130     "keymaster": "^1.6.2",
131     "keyword-extractor": "0.0.18",
132     "langs": "^1.0.1",
133     "languagedetect": "^1.1.1",
134     "lazy.js": "^0.4.2",
135     "line-by-line": "^0.1.6",
136     "lodash": "^3.2.0",
137     "loglevel": "^1.2.0",
138     "lru-cache": "^2.5.0",
139     "matrix-appservice-bridge": "^3.1.2",
140     "method-override": "^2.3.4",
141     "moment": "^2.10.3",
142     "mongodb": "^2.2.35",
143     "mongodb-unique-ids": "^0.2.0",
144     "mongoose": "~4.6.0",
145     "mongoose-number": "^0.1.1",
146     "mutantjs": "^0.2.0",
147     "node-gcm": "^1.0.2",
148     "node-mongodb-debug-log": "^0.1.2",
149     "node-resque": "^1.0.1",
150     "oauth2orize": "~1.11.0",
151     "octonode": "^0.9.5",
152     "on-headers": "^1.0.1",
153     "parse-links": "~0.1.0",
154     "passport": "^0.4.0",
155     "passport-github2": "^0.1.11",
156     "passport-gitlab2": "^5.0.0",
157     "passport-google-oauth2": "^0.1.6",
158     "passport-linkedin-oauth2": "^1.4.0",
159     "passport-oauth2-client-password": "^0.1.2",
160     "passport-twitter": "^1.0.4",
161     "permessage-deflate": "^0.1.2",
162     "readme-badger": "^0.3.0",
163     "redis-lock": "0.1.4",
164     "request": "^2.88.0",
165     "request-extensible": "^0.1.1",
166     "request-http-cache": "^1.1.0",
167     "scriptjs": "^2.5.7",
168     "sechash": "github:suprememoocow/node-sechash#10d6a9f5231c3b4ebad9e99f7a4961cfdedd446c",
169     "serve-favicon": "^2.3.0",
170     "should-send-same-site-none": "^2.0.5",
171     "shutdown": "^0.3.0",
172     "slug": "^0.9.4",
173     "snappy-cache": "^0.3.0",
174     "statuserror": "^0.1.3",
175     "stringformat": "0.0.5",
176     "tentacles": "^0.8.0",
177     "text-filter": "^0.1.1",
178     "through2": "^2.0.1",
179     "through2-concurrent": "^1.1.0",
180     "transloadit": "^1.5.0",
181     "url-join": "0.0.1",
182     "url-parse": "^1.4.7",
183     "useragent": "2.3.0",
184     "uuid": "^3.3.2",
185     "vue": "^2.6.12",
186     "vue-server-renderer": "^2.6.12",
187     "vue-template-compiler": "^2.6.12",
188     "vuedraggable": "^2.21.0",
189     "vuex": "^3.1.1",
190     "web-push": "^3.1.0",
191     "yargs": "^4.2.0"
192   },
193   "devDependencies": {
194     "@babel/core": "^7.10.4",
195     "@babel/plugin-transform-modules-commonjs": "^7.10.4",
196     "@babel/plugin-transform-runtime": "^7.10.4",
197     "@babel/preset-env": "^7.10.4",
198     "@gitterhq/handlebars-loader": "^1.2.0-a",
199     "@vue/test-utils": "^1.1.4",
200     "autoprefixer-core": "^6.0.1",
201     "babel-jest": "^26.6.3",
202     "babel-loader": "^8.0.5",
203     "beautify-benchmark": "^0.2.4",
204     "benchmark": "^2.1.0",
205     "browser-resolve": "^2.0.0",
206     "chokidar": "^3.0.0",
207     "cross-spawn": "^4.0.2",
208     "css-loader": "^3.4.2",
209     "css-mqpacker": "^6.0.1",
210     "csswring": "^6.0.0",
211     "cumberbatch-name": "^1.2.1",
212     "cypress": "^7.1.0",
213     "datadog-metrics": "^0.8.1",
214     "del": "^3.0.0",
215     "eslint": "^5.9.0",
216     "eslint-config-prettier": "^3.6.0",
217     "eslint-plugin-backbone": "^2.1.1",
218     "eslint-plugin-cypress": "^2.11.1",
219     "eslint-plugin-jest": "^24.3.5",
220     "eslint-plugin-jquery": "^1.3.2",
221     "eslint-plugin-mocha": "^6.3.0",
222     "eslint-plugin-node": "^11.1.0",
223     "eslint-plugin-prettier": "^3.0.1",
224     "eslint-plugin-vue": "^5.2.2",
225     "faye": "^1.1.2",
226     "gulp": "^3.9.1",
227     "gulp-brotli": "^1.2.2",
228     "gulp-codecov": "^3.0.5",
229     "gulp-eslint": "^5.0.0",
230     "gulp-filter": "^4.0.0",
231     "gulp-git": "^2.4.0",
232     "gulp-github": "^0.3.5",
233     "gulp-gzip": "^1.2.0",
234     "gulp-if": "^2.0.2",
235     "gulp-jsonlint": "^1.2.0",
236     "gulp-less": "^3.0.5",
237     "gulp-nodemon": "^2.5.0",
238     "gulp-postcss": "^7.0.0",
239     "gulp-sourcemaps": "^1.6.0",
240     "gulp-tar": "^2.1.0",
241     "gulp-uglify": "^3.0.0",
242     "gulp-using": "^0.1.1",
243     "gulp-util": "^3.0.7",
244     "jest": "^26.6.3",
245     "jest-handlebars": "^1.0.1",
246     "jsmockito": "^1.0.5",
247     "lcov-result-merger": "^3.1.0",
248     "less-loader": "^5.0.0",
249     "lorem-ipsum": "^1.0.1",
250     "memoize-promise": "^0.2.2",
251     "memory-fs": "^0.4.1",
252     "mkdirp": "^0.5.1",
253     "mocha": "^8.3.2",
254     "mocha-multi": "^1.1.3",
255     "moment-timezone": "^0.5.25",
256     "node-sass": "^4.14.1",
257     "node-spritesheet": "github:trevorah/node-spritesheet",
258     "nodeselektor": "^0.14.0",
259     "nyc": "^15.1.0",
260     "parse-diff": "^0.5.0",
261     "path-parse": "^1.0.5",
262     "postcss": "^4.0.0",
263     "postcss-loader": "^3.0.0",
264     "prettier": "^1.18.2",
265     "proxyquire": "^0.6.0",
266     "pump": "^1.0.1",
267     "random-seed": "^0.3.0",
268     "raven-js": "^3.24.2",
269     "raw-loader": "^2.0.0",
270     "reduce-function-call": "^1.0.1",
271     "run-sequence": "^2.2.1",
272     "sass-loader": "^8.0.2",
273     "signal-exit": "^3.0.0",
274     "simple-git": "^1.73.0",
275     "sinon": "^7.3.2",
276     "speedy": "^0.1.1",
277     "style-loader": "^0.23.1",
278     "supertest": "^4.0.2",
279     "url-loader": "^1.1.2",
280     "vinyl-file": "^3.0.0",
281     "vue-jest": "^4.0.1",
282     "vue-loader": "^15.7.0",
283     "vue-style-loader": "^4.1.2",
284     "webpack": "^4.29.0",
285     "webpack-bundle-analyzer": "^3.5.2",
286     "webpack-dev-middleware": "^3.5.1",
287     "webpack-merge": "^4.2.1",
288     "webpack-node-externals": "^1.7.2",
289     "webpack-stats-plugin": "^0.2.1",
290     "webpack-stream": "^5.2.1",
291     "webpack-visualizer-plugin": "^0.1.11"
292   },
293   "engines": {
294     "node": ">=14.0.0 <15.0.0",
295     "npm": ">=6.8.0"
296   },
297   "main": "web.js",
298   "scripts": {
299     "gulp": "gulp",
300     "health-check": "node health-check.js",
301     "start": "gulp watch",
302     "create-seed-data": "node scripts/utils/create-seed-data.js",
303     "test": "gulp test:test",
304     "test-e2e-open": "npm run cypress -- open",
305     "test-e2e-run": "npm run cypress -- run",
306     "mocha": "mocha --exit",
307     "jest": "jest",
308     "cypress": "cypress",
309     "nyc": "nyc",
310     "nodeselektor": "ns",
311     "node-gyp": "node-gyp",
312     "prettier": "prettier",
313     "security-harness": "node scripts/security-harness.js",
314     "task-js": "gulp clientapp:compile:webpack",
315     "task-css": "gulp css:compile",
316     "task-fasttest": "gulp test:test --test-fast",
317     "task-validate-diff": "gulp validate-eslint-diff",
318     "precommit-checks": "eslint --cache --quiet --format unix --ext .js . && gulp linter:validate:config test:test --test-fast --test-critical-only",
319     "task-validate": "gulp validate",
320     "task-watch": "gulp watch",
321     "build-android-assets": "gulp --gulpfile gulpfile-embedded.js --android",
322     "build-ios-assets": "gulp --gulpfile gulpfile-embedded.js --ios"
323   },
324   "git": {
325     "scripts": {
326       "pre-commit": "gulp fasttest",
327       "post-merge": "npm prune && npm install"
328     }
329   },
330   "nyc": {
331     "exclude": [
332       "public/repo/**",
333       "**/test/**"
334     ]
335   },
336   "description": "Gitter Webapp =============",
337   "directories": {
338     "doc": "docs",
339     "test": "test"
340   },
341   "repository": {
342     "type": "git",
343     "url": "git+https://gitlab.com/gitterHQ/webapp.git"
344   },
345   "author": "Andrew Newdigate <andrew@gitlab.com> (http://about.me/andrewnewdigate)",
346   "license": "MIT",
347   "bugs": {
348     "url": "https://gitlab.com/gitterHQ/webapp/issues"
349   },
350   "homepage": "https://gitlab.com/gitterHQ/webapp#readme"