{ "name": "mattermost-desktop", "productName": "Mattermost", "version": "5.8.0-develop.1", "description": "Mattermost", "main": "dist/index.js", "author": "Mattermost, Inc. ", "license": "Apache-2.0", "desktopName": "Mattermost.Desktop", "homepage": "https://mattermost.com", "engines": { "node": ">=16.16.0" }, "repository": { "type": "git", "url": "git://github.com/mattermost/desktop.git" }, "config": { "target": "29.0.0", "arch": "x64", "target_arch": "x64", "disturl": "https://electronjs.org/headers", "runtime": "electron", "build_from_source": true }, "scripts": { "build": "npm-run-all build:*", "build:main": "webpack-cli --config webpack.config.main.js", "build:renderer": "webpack-cli --config webpack.config.renderer.js", "build-prod": "cross-env NODE_ENV=production npm-run-all check-build-config build", "build-prod-upgrade": "cross-env NODE_ENV=production CAN_UPGRADE=true npm-run-all check-build-config build", "build-robotjs": "cross-env CL='/std:c++17' electron-rebuild -m ./node_modules/robotjs", "start": "electron dist/ --disable-dev-mode", "restart": "npm run build && npm run start", "storybook": "start-storybook -p 9001 -c src/.storybook", "clean": "rm -rf release/ node_modules/ src/node_modules/ dist/ && find src -name '*_bundle.js' | xargs rm", "clean-install": "npm run clean && npm install", "clean-dist": "rm -rf dist/", "watch": "run-p watch:*", "watch:main": "node scripts/watch_main_and_preload.js", "watch:renderer": "webpack-dev-server --config webpack.config.renderer.js", "test": "npm-run-all lint:js test:unit test:e2e", "test:docker": "node scripts/setup_e2e_docker.js", "test:e2e": "cross-env NODE_ENV=test npm-run-all build build-robotjs test:e2e:build test:e2e:run", "test:e2e:performance": "cross-env NODE_ENV=test PERFORMANCE=true npm-run-all build build-robotjs test:e2e:build-performance test:e2e:run-performance", "test:e2e:nobuild": "cross-env NODE_ENV=test npm-run-all test:e2e:build test:e2e:run", "test:e2e:build": "webpack-cli --config webpack.config.test.js", "test:e2e:build-performance": "webpack-cli --config webpack.config.performance.test.js", "test:e2e:run-performance": "electron-mocha --reporter json --reporter-option output=./e2e/performance/perf-test-report.json dist/tests/e2e_bundle.js", "test:e2e:run": "electron-mocha --reporter mochawesome dist/tests/e2e_bundle.js", "test:e2e:send-report": "node ./e2e/save_report.js", "test:unit": "cross-env NODE_ENV=jest jest", "test:unit-ci": "cross-env NODE_ENV=jest jest", "test:coverage": "jest --coverage", "package:all": "cross-env NODE_ENV=production npm-run-all package:windows package:windows-nsis package:mac package:mac-with-universal package:linux", "package:windows": "npm-run-all build-prod && electron-builder --win zip --x64 --ia32 --arm64 --publish=never", "package:windows-nsis": "npm-run-all build-prod-upgrade && electron-builder --win zip nsis --x64 --ia32 --arm64 --publish=never", "package:mac": "npm-run-all build-prod && electron-builder --mac --x64 --arm64 --publish=never", "package:mac-with-universal": "npm-run-all build-prod && electron-builder --mac --x64 --arm64 --universal --publish=never", "package:mas": "cross-env NODE_ENV=production IS_MAC_APP_STORE=true npm-run-all check-build-config build && electron-builder --mac mas --universal --publish=never", "package:mas-dev": "cross-env NODE_ENV=production IS_MAC_APP_STORE=true npm-run-all check-build-config build && electron-builder --mac mas-dev --universal --publish=never", "package:linux": "npm-run-all package:linux-all package:linux-appImage", "package:linux-appImage": "npm-run-all build-prod-upgrade package:linux-appImage-x64 package:linux-appImage-arm64", "package:linux-appImage-x64": "electron-builder --linux tar.gz appimage --x64 --publish=never", "package:linux-appImage-arm64": "cross-env CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ electron-builder --linux tar.gz appimage --arm64 --publish=never", "package:linux-all": "npm-run-all build-prod package:linux-all-x64 package:linux-all-arm64", "package:linux-all-x64": "electron-builder --linux tar.gz deb rpm --x64 --publish=never", "package:linux-all-arm64": "cross-env CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ electron-builder --linux tar.gz deb rpm --arm64 --publish=never", "lint:js": "eslint --ignore-path .gitignore --ignore-pattern node_modules --ext .js --ext .jsx --ext .ts --ext .tsx .", "lint:js-quiet": "eslint --ignore-path .gitignore --ignore-pattern node_modules --ext .js --ext .jsx --ext .ts --ext .tsx . --quiet", "fix:js": "eslint --ignore-path .gitignore --ignore-pattern node_modules --quiet --ext .js --ext .jsx --ext .ts --ext .tsx . --fix", "check-build-config": "npm-run-all check-build-config:build check-build-config:run", "check-build-config:build": "babel ./src/common/config/buildConfig.ts -o ./dist/buildConfig.js", "check-build-config:run": "node scripts/check_build_config.js", "check-types": "tsc", "prune": "ts-prune", "mmjstool": "mmjstool", "i18n-extract": "npm run mmjstool -- i18n extract-desktop", "postinstall": "node scripts/postinstall.js && electron-builder install-app-deps" }, "jest": { "clearMocks": true, "moduleDirectories": [ "src", "node_modules" ], "moduleFileExtensions": [ "ts", "tsx", "js", "jsx", "json" ], "collectCoverageFrom": [ "src/common/**/*.ts", "src/main/**/*.ts" ], "testMatch": [ "**/src/**/*.test.js", "**/src/**/*.test.ts" ], "testPathIgnorePatterns": [ "/node_modules/", "/e2e/", "/webpack.config.test.js" ], "globals": { "__HASH_VERSION__": "5.0.0", "__CAN_UPGRADE__": false, "__IS_NIGHTLY_BUILD__": false, "__IS_MAC_APP_STORE__": false, "__DISABLE_GPU__": false, "__SKIP_ONBOARDING_SCREENS__": false }, "setupFiles": [ "./src/jest/jestSetup.js" ], "setupFilesAfterEnv": [ "./src/jest/jestSetupAfterEnv.js" ], "reporters": [ "default", [ "jest-junit", { "suiteName": "unit tests", "outputName": "test-results.xml", "classNameTemplate": "{classname}-{title}", "titleTemplate": "{classname}-{title}", "ancestorSeparator": "> " } ] ] }, "devDependencies": { "@aws-sdk/client-s3": "3.445.0", "@aws-sdk/lib-storage": "3.445.0", "@babel/cli": "7.23.9", "@babel/preset-env": "7.24.0", "@babel/preset-react": "7.23.3", "@babel/preset-typescript": "7.23.3", "@electron/fuses": "1.6.0", "@electron/notarize": "2.3.0", "@electron/rebuild": "3.6.0", "@mattermost/compass-icons": "0.1.32", "@mattermost/desktop-api": "*", "@mattermost/eslint-plugin": "1.1.0-0", "@types/auto-launch": "5.0.5", "@types/jest": "29.4.1", "@types/react": "17.0.43", "@types/react-beautiful-dnd": "13.1.8", "@types/react-dom": "17.0.14", "@types/uuid": "9.0.8", "@types/valid-url": "1.0.7", "@types/winreg": "1.2.36", "7zip-bin": "5.1.1", "auto-launch": "5.0.5", "axios": "1.6.7", "babel-loader": "9.1.3", "bootstrap": "4.6.1", "bootstrap-dark": "1.0.3", "chai": "4.3.6", "classnames": "2.3.1", "copy-webpack-plugin": "10.2.4", "cross-env": "7.0.3", "css-loader": "6.7.1", "electron": "29.0.0", "electron-builder": "24.13.3", "electron-connect": "0.6.3", "electron-context-menu": "3.6.1", "electron-extension-installer": "1.2.0", "electron-is-dev": "2.0.0", "electron-log": "4.4.8", "electron-mocha": "12.2.0", "electron-updater": "6.1.8", "eslint": "8.57.0", "eslint-import-resolver-webpack": "0.13.8", "eslint-plugin-formatjs": "4.12.2", "eslint-plugin-no-only-tests": "3.1.0", "eslint-plugin-react": "7.34.0", "eslint-plugin-react-hooks": "4.6.0", "fs-extra": "10.0.1", "html-webpack-plugin": "5.5.0", "jest": "29.4.1", "jest-junit": "13.1.0", "joi": "17.6.0", "mini-css-extract-plugin": "2.6.0", "mmjstool": "github:mattermost/mattermost-utilities#3b4506b0f6b14fbb402f9f8ef932370e459e3773", "mochawesome": "7.1.3", "nan": "2.19.0", "node-abi": "3.56.0", "node-gyp": "10.0.1", "node-jq": "4.3.1", "node-loader": "2.0.0", "npm-run-all": "4.1.5", "playwright": "1.42.0", "pretty-bytes": "6.0.0", "ps-node": "0.1.6", "react": "17.0.2", "react-beautiful-dnd": "13.1.0", "react-bootstrap": "1.6.4", "react-dom": "17.0.2", "react-intl": "6.6.2", "react-select": "5.2.2", "recursive-readdir": "2.2.3", "robotjs": "0.6.0", "sass": "1.49.11", "sass-loader": "12.6.0", "semver": "7.6.0", "style-loader": "3.3.1", "ts-prune": "0.10.3", "typescript": "5.3.3", "uuid": "9.0.0", "valid-url": "1.0.9", "webpack": "5.90.3", "webpack-cli": "4.10.0", "webpack-dev-server": "4.8.0", "webpack-merge": "5.8.0", "winreg-utf8": "0.1.1", "yargs": "17.4.0" }, "dependencies": { "macos-notification-state": "2.0.2", "windows-focus-assist": "1.3.0" } }