{ "name": "mattermost-webapp", "browser": { "./client/web_client.jsx": "./client/browser_web_client.jsx" }, "version": "7.9.1", "private": true, "dependencies": { "@floating-ui/react-dom": "1.0.0", "@floating-ui/react-dom-interactions": "0.10.3", "@guyplusplus/turndown-plugin-gfm": "1.0.7", "@mattermost/client": "*", "@mattermost/compass-components": "^0.2.12", "@mattermost/compass-icons": "0.1.34", "@mattermost/types": "*", "@mui/base": "5.0.0-alpha.116", "@mui/material": "5.11.7", "@mui/styled-engine-sc": "5.11.0", "@stripe/react-stripe-js": "1.13.0", "@stripe/stripe-js": "1.41.0", "@tippyjs/react": "4.2.6", "@types/color-hash": "1.0.2", "@types/turndown": "5.0.1", "bootstrap": "3.4.1", "buffer": "6.0.3", "chart.js": "3.8.2", "classnames": "2.3.2", "color-contrast-checker": "2.1.0", "color-hash": "2.0.1", "core-js": "3.26.0", "country-list": "2.2.0", "crypto-browserify": "3.12.0", "css-vars-ponyfill": "2.4.8", "date-fns": "2.29.3", "dynamic-virtualized-list": "github:mattermost/dynamic-virtualized-list#1c330717d6778315a40e70137ace38247c6a1d0f", "emoji-datasource": "6.1.1", "emoji-datasource-apple": "6.0.1", "emoji-regex": "10.2.1", "exif2css": "1.3.0", "fast-deep-equal": "3.1.3", "flexsearch": "0.6.32", "font-awesome": "4.7.0", "gfycat-sdk": "1.4.18", "highlight.js": "11.6.0", "history": "4.10.1", "hoist-non-react-statics": "3.3.2", "html-to-react": "1.5.0", "inobounce": "0.2.1", "katex": "0.16.3", "key-mirror": "1.0.1", "localforage": "1.10.0", "localforage-observable": "2.1.1", "lodash": "4.17.21", "luxon": "3.3.0", "mark.js": "8.11.1", "marked": "github:mattermost/marked#2ef7f28cc7718e3f551c4ce9ea75fdd7580c2008", "memoize-one": "6.0.0", "moment-timezone": "0.5.38", "p-queue": "7.3.0", "pdfjs-dist": "2.15.349", "popper.js": "1.16.1", "process": "0.11.10", "prop-types": "15.8.1", "react": "17.0.2", "react-beautiful-dnd": "13.1.1", "react-bootstrap": "github:mattermost/react-bootstrap#d821e2b1db1059bd36112d7587fd1b0912b27626", "react-color": "2.19.3", "react-contextmenu": "2.14.0", "react-custom-scrollbars": "4.2.1", "react-day-picker": "8.3.6", "react-dom": "17.0.2", "react-hot-loader": "4.13.0", "react-intl": "*", "react-is": "17.0.2", "react-overlays": "0.9.3", "react-popper": "2.3.0", "react-redux": "7.2.4", "react-router-dom": "5.3.4", "react-select": "3.0.3", "react-transition-group": "4.4.5", "react-virtualized-auto-sizer": "1.0.7", "react-window": "1.8.8", "react-window-infinite-loader": "1.0.8", "rebound": "0.1.0", "redux": "4.2.0", "redux-batched-actions": "0.5.0", "redux-persist": "6.0.0", "redux-thunk": "2.4.2", "regenerator-runtime": "0.13.10", "rudder-sdk-js": "1.0.16", "sass": "1.56.1", "semver": "7.3.8", "serialize-error": "8.0.1", "shallow-equals": "1.0.0", "smooth-scroll-into-view-if-needed": "1.1.33", "stream-browserify": "3.0.0", "styled-components": "5.3.6", "timezones.json": "1.6.1", "tinycolor2": "1.4.2", "turndown": "7.1.1", "typescript": "4.7.4", "zen-observable": "0.9.0" }, "devDependencies": { "@babel/cli": "7.16.0", "@babel/core": "7.16.0", "@babel/eslint-parser": "7.19.1", "@babel/eslint-plugin": "7.19.1", "@babel/plugin-proposal-class-properties": "7.16.0", "@babel/plugin-proposal-object-rest-spread": "7.16.0", "@babel/preset-env": "7.16.4", "@babel/preset-react": "7.16.0", "@babel/preset-typescript": "7.16.0", "@deanwhillier/jest-matchmedia-mock": "1.2.0", "@hot-loader/react-dom": "17.0.2", "@redux-devtools/extension": "3.2.3", "@testing-library/jest-dom": "5.16.4", "@testing-library/react": "12.1.4", "@testing-library/user-event": "12.1.4", "@types/bootstrap": "4.5.0", "@types/country-list": "2.1.0", "@types/enzyme": "3.10.11", "@types/jest": "26.0.24", "@types/katex": "0.11.0", "@types/lodash": "4.14.182", "@types/luxon": "3.0.2", "@types/mark.js": "8.11.6", "@types/marked": "0.7.4", "@types/node": "16.3.1", "@types/react": "17.0.2", "@types/react-beautiful-dnd": "13.1.2", "@types/react-bootstrap": "0.32.22", "@types/react-color": "3.0.6", "@types/react-custom-scrollbars": "4.0.10", "@types/react-dom": "17.0.2", "@types/react-is": "17.0.2", "@types/react-overlays": "1.1.3", "@types/react-redux": "7.1.16", "@types/react-router-dom": "5.3.3", "@types/react-select": "3.0.19", "@types/react-transition-group": "4.4.5", "@types/react-virtualized-auto-sizer": "1.0.1", "@types/react-window": "1.8.5", "@types/react-window-infinite-loader": "1.0.6", "@types/redux-mock-store": "1.0.3", "@types/semver": "7.3.9", "@types/shallow-equals": "1.0.0", "@types/styled-components": "5.1.24", "@types/tinycolor2": "1.4.3", "@types/webpack-env": "1.18.0", "@typescript-eslint/eslint-plugin": "5.57.1", "@typescript-eslint/parser": "5.57.1", "babel-loader": "8.2.3", "babel-plugin-lodash": "3.3.4", "babel-plugin-styled-components": "1.12.0", "babel-plugin-typescript-to-proptypes": "1.4.2", "bundle-loader": "0.2.0", "copy-webpack-plugin": "11.0.0", "css-loader": "5.2.6", "dotenv-webpack": "8.0.1", "enzyme": "3.11.0", "enzyme-adapter-react-17-updated": "1.0.2", "enzyme-to-json": "3.6.2", "eslint-import-resolver-webpack": "0.13.2", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.27.5", "eslint-plugin-mattermost": "github:mattermost/eslint-plugin-mattermost#5b0c972eacf19286e4c66221b39113bf8728a99e", "eslint-plugin-no-only-tests": "3.1.0", "eslint-plugin-react": "7.32.2", "eslint-plugin-react-hooks": "4.6.0", "external-remotes-plugin": "1.0.0", "file-loader": "6.2.0", "html-loader": "2.1.2", "html-webpack-plugin": "5.5.0", "identity-obj-proxy": "3.0.0", "image-webpack-loader": "8.1.0", "isomorphic-fetch": "3.0.0", "jest": "27.1.0", "jest-canvas-mock": "2.4.0", "jest-cli": "27.1.0", "jest-junit": "12.2.0", "jest-styled-components": "7.1.1", "jest-watch-typeahead": "0.6.4", "mini-css-extract-plugin": "2.0.0", "mmjstool": "github:mattermost/mattermost-utilities#237c2194aa646021535c54e4aafed084807b93a6", "nock": "13.2.8", "prettier": "2.3.2", "react-router-enzyme-context": "1.2.0", "redux-mock-store": "1.5.4", "redux-persist-node-storage": "2.0.0", "sass-loader": "13.2.0", "style-loader": "3.0.0", "stylelint": "13.13.1", "stylelint-config-idiomatic-order": "8.1.0", "stylelint-config-recommended": "5.0.0", "stylelint-config-recommended-scss": "4.2.0", "stylelint-config-standard": "22.0.0", "stylelint-order": "4.1.0", "stylelint-scss": "3.19.0", "terser-webpack-plugin": "5.3.6", "webpack": "5.74.0", "webpack-bundle-analyzer": "4.7.0", "webpack-cli": "4.10.0", "webpack-dev-server": "4.11.1", "webpack-livereload-plugin": "3.0.2", "webpack-node-externals": "3.0.0", "webpack-pwa-manifest": "4.3.0", "yargs": "16.2.0", "yup": "0.32.11" }, "scripts": { "check": "eslint --ext .js,.jsx,.tsx,.ts ./src --quiet --cache && stylelint \"**/*.{css,scss}\" --cache", "fix": "eslint --ext .js,.jsx,.tsx,.ts ./src --quiet --fix --cache && stylelint \"**/*.{css,scss}\" --fix --cache", "build": "cross-env NODE_ENV=production webpack", "run": "webpack --progress --watch", "dev-server": "webpack serve --mode development", "test": "cross-env TZ=Etc/UTC jest", "test:watch": "cross-env TZ=Etc/UTC jest --watch", "test:updatesnapshot": "cross-env TZ=Etc/UTC jest --updateSnapshot", "test:debug": "cross-env TZ=Etc/UTC jest --forceExit --detectOpenHandles --verbose", "test-ci": "cross-env TZ=Etc/UTC jest --ci --maxWorkers=100%", "clean": "rm -rf dist node_modules .eslintcache .stylelintcache tsconfig.tsbuildinfo", "stats": "cross-env NODE_ENV=production webpack --profile --json > webpack_stats.json", "mmjstool": "mmjstool", "i18n-extract": "npm run mmjstool -- i18n extract-webapp --webapp-dir ./src", "i18n-clean-empty": "npm run mmjstool -- i18n clean-empty --webapp-dir ./src", "i18n-check-empty-src": "npm run mmjstool -- i18n check-empty-src --webapp-dir ./src", "check-types": "tsc -b", "make-emojis": "node --experimental-json-modules build/emoji/emoji_gen.mjs" } }