{ "private": true, "scripts": { "build": "webpack --mode=production", "build:watch": "webpack --mode=production --watch", "debug": "webpack --mode=none", "debug:watch": "webpack --mode=development --watch", "live-watch": "webpack --mode=development --watch", "lint": "eslint --ignore-pattern node_modules --ignore-pattern dist --ext .js --ext .jsx --ext tsx --ext ts . --quiet --cache", "fix": "eslint --ignore-pattern node_modules --ignore-pattern dist --ext .js --ext .jsx --ext tsx --ext ts . --quiet --fix --cache", "test": "jest --forceExit --detectOpenHandles --verbose", "test:watch": "jest --watch", "test-ci": "jest --forceExit --detectOpenHandles --maxWorkers=2", "check-types": "tsc" }, "devDependencies": { "@babel/cli": "7.16.8", "@babel/core": "7.16.12", "@babel/plugin-proposal-class-properties": "7.13.0", "@babel/plugin-proposal-object-rest-spread": "7.14.2", "@babel/plugin-proposal-optional-chaining": "7.14.2", "@babel/plugin-syntax-dynamic-import": "7.8.3", "@babel/polyfill": "7.10.4", "@babel/preset-env": "7.14.2", "@babel/preset-react": "7.13.13", "@babel/preset-typescript": "7.13.0", "@babel/runtime": "7.14.0", "@formatjs/ts-transformer": "3.4.2", "@types/enzyme": "3.10.8", "@types/jest": "26.0.23", "@types/node": "15.6.1", "@types/react": "17.0.6", "@types/react-dom": "17.0.5", "@types/react-intl": "3.0.0", "@types/react-redux": "7.1.16", "@types/react-router-dom": "5.1.7", "@types/react-transition-group": "4.4.1", "@typescript-eslint/eslint-plugin": "4.25.0", "@typescript-eslint/parser": "4.25.0", "babel-eslint": "10.1.0", "babel-jest": "27.0.1", "babel-loader": "8.2.2", "babel-plugin-typescript-to-proptypes": "1.4.2", "css-loader": "5.2.6", "eslint": "7.27.0", "eslint-import-resolver-webpack": "0.13.1", "eslint-plugin-babel": "^5.3.1", "eslint-plugin-cypress": "2.11.2", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.23.3", "eslint-plugin-jquery": "1.5.1", "eslint-plugin-mattermost": "github:mattermost/eslint-plugin-mattermost#070ce792d105482ffb2b27cfc0b7e78b3d20acee", "eslint-plugin-no-only-tests": "2.4.0", "eslint-plugin-react": "7.23.2", "eslint-plugin-react-hooks": "4.2.0", "file-loader": "6.2.0", "identity-obj-proxy": "3.0.0", "image-webpack-loader": "8.1.0", "imagemin-gifsicle": "^7.0.0", "imagemin-mozjpeg": "^9.0.0", "imagemin-optipng": "^8.0.0", "imagemin-pngquant": "^9.0.2", "imagemin-svgo": "^8.0.0", "imagemin-webp": "7.0.0", "jest": "27.0.1", "jest-canvas-mock": "2.3.1", "jest-junit": "12.0.0", "sass": "1.25.0", "sass-loader": "11.1.1", "style-loader": "2.0.0", "ts-loader": "9.2.3", "typescript": "4.2.4", "webpack": "5.37.1", "webpack-cli": "4.7.0" }, "dependencies": { "core-js": "3.12.1", "glob-parent": "6.0.2", "marked": ">=4.0.12", "mattermost-redux": "5.33.1", "react-intl": "^5.13.5", "react-router-dom": "5.2.0", "trim-newlines": "4.0.2" }, "jest": { "snapshotSerializers": [ "/node_modules/enzyme-to-json/serializer" ], "testPathIgnorePatterns": [ "/node_modules/", "/non_npm_dependencies/" ], "clearMocks": true, "collectCoverageFrom": [ "src/**/*.{js,jsx}" ], "coverageReporters": [ "lcov", "text-summary" ], "moduleNameMapper": { "^.+\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "identity-obj-proxy", "^.+\\.(css|less|scss)$": "identity-obj-proxy", "^.*i18n.*\\.(json)$": "/tests/i18n_mock.json", "^bundle-loader\\?lazy\\!(.*)$": "$1" }, "moduleDirectories": [ "", "node_modules", "non_npm_dependencies" ], "reporters": [ "default", "jest-junit" ], "transformIgnorePatterns": [ "node_modules/(?!react-native|react-router|mattermost-webapp)" ], "setupFiles": [ "jest-canvas-mock" ], "setupFilesAfterEnv": [ "/tests/setup.tsx" ], "testURL": "http://localhost:8065" } }