{ "name": "riot-web", "productName": "Riot", "main": "electron_app/src/electron-main.js", "version": "1.6.0", "description": "A feature-rich client for Matrix.org", "author": "New Vector Ltd.", "repository": { "type": "git", "url": "https://github.com/vector-im/riot-web" }, "license": "Apache-2.0", "files": [ "lib", "res", "src", "webpack.config.js", "scripts", "docs", "release.sh", "deploy", "CHANGELOG.md", "CONTRIBUTING.rst", "LICENSE", "README.md", "AUTHORS.rst", "package.json", "contribute.json" ], "style": "bundle.css", "scripts": { "i18n": "matrix-gen-i18n", "prunei18n": "matrix-prune-i18n", "diff-i18n": "cp src/i18n/strings/en_EN.json src/i18n/strings/en_EN_orig.json && yarn i18n && node scripts/compare-file.js src/i18n/strings/en_EN_orig.json src/i18n/strings/en_EN.json", "reskindex": "reskindex -h src/header", "reskindex:watch": "reskindex -h src/header -w", "reskindex:watch-react": "node scripts/yarn-sub.js matrix-react-sdk reskindex:watch", "clean": "rimraf lib webapp electron_app/dist", "build": "yarn clean && yarn build:genfiles && yarn build:compile && yarn build:types && yarn build:bundle", "build-stats": "yarn clean && yarn build:genfiles && yarn build:compile && yarn build:types && yarn build:bundle-stats", "build:jitsi": "node scripts/build-jitsi.js", "build:res": "node scripts/copy-res.js", "build:genfiles": "yarn reskindex && yarn build:res && yarn build:jitsi", "build:modernizr": "modernizr -c .modernizr.json -d src/vector/modernizr.js", "build:compile": "babel -d lib --verbose --extensions \".ts,.js,.tsx\" src", "build:bundle": "cross-env NODE_ENV=production webpack -p --progress --bail --mode production", "build:bundle-stats": "cross-env NODE_ENV=production webpack -p --progress --bail --mode production --json > webpack-stats.json", "build:electron": "yarn build && yarn install:electron && electron-builder -wml --ia32 --x64", "build:electron:linux": "yarn build && electron-builder -l --x64", "build:electron:macos": "yarn build && electron-builder -m --x64", "build:electron:windows": "yarn build && electron-builder -w --ia32 --x64", "build:types": "tsc --emitDeclarationOnly --jsx react", "install:electron": "electron-builder install-app-deps", "dist": "scripts/package.sh", "start": "concurrently --kill-others-on-fail --prefix \"{time} [{name}]\" -n reskindex,reskindex-react,res,riot-js \"yarn reskindex:watch\" \"yarn reskindex:watch-react\" \"yarn start:res\" \"yarn start:js\"", "start:res": "yarn build:jitsi && node scripts/copy-res.js -w", "start:js": "webpack-dev-server --host=0.0.0.0 --output-filename=bundles/_dev_/[name].js --output-chunk-filename=bundles/_dev_/[name].js -w --progress --mode development", "electron": "yarn build && yarn install:electron && electron .", "lint": "yarn lint:types && yarn lint:ts && yarn lint:js && yarn lint:style", "lint:js": "eslint src", "lint:ts": "echo 'We don't actually have a typescript linter at this layer because tslint is being removed from our stack. Presumably your TS is fine.'", "lint:types": "tsc --noEmit --jsx react", "lint:style": "stylelint 'res/css/**/*.scss'", "test": "jest" }, "dependencies": { "browser-request": "^0.3.3", "favico.js": "^0.3.10", "gfm.css": "^1.1.2", "highlight.js": "^9.13.1", "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#develop", "matrix-react-sdk": "2.5.0", "olm": "https://packages.matrix.org/npm/olm/olm-3.1.4.tgz", "postcss-easings": "^2.0.0", "prop-types": "^15.7.2", "react": "^16.9.0", "react-dom": "^16.9.0", "sanitize-html": "^1.19.1", "ua-parser-js": "^0.7.19", "url": "^0.11.0" }, "devDependencies": { "@babel/cli": "^7.7.5", "@babel/core": "^7.7.5", "@babel/plugin-proposal-class-properties": "^7.7.4", "@babel/plugin-proposal-decorators": "^7.7.4", "@babel/plugin-proposal-export-default-from": "^7.7.4", "@babel/plugin-proposal-numeric-separator": "^7.7.4", "@babel/plugin-proposal-object-rest-spread": "^7.7.4", "@babel/plugin-syntax-dynamic-import": "^7.7.4", "@babel/plugin-transform-flow-comments": "^7.7.4", "@babel/plugin-transform-runtime": "^7.7.6", "@babel/preset-env": "^7.7.6", "@babel/preset-flow": "^7.7.4", "@babel/preset-react": "^7.7.4", "@babel/preset-typescript": "^7.7.4", "@babel/register": "^7.7.4", "@babel/runtime": "^7.7.6", "@types/modernizr": "^3.5.3", "@types/react": "16.9", "@types/react-dom": "^16.9.4", "autoprefixer": "^9.7.3", "babel-eslint": "^10.0.3", "babel-jest": "^24.9.0", "babel-loader": "^8.0.6", "canvas": "^2.6.1", "chokidar": "^3.3.1", "concurrently": "^4.0.1", "cpx": "^1.3.2", "cross-env": "^6.0.3", "css-loader": "^3.3.2", "electron-builder": "^22.3.2", "electron-builder-squirrel-windows": "^22.3.2", "electron-devtools-installer": "^2.2.4", "electron-notarize": "^0.2.0", "eslint": "^5.8.0", "eslint-config-google": "^0.7.1", "eslint-plugin-babel": "^4.1.2", "eslint-plugin-flowtype": "^2.50.3", "eslint-plugin-jest": "^23.0.4", "eslint-plugin-react": "^7.11.1", "eslint-plugin-react-hooks": "^2.2.0", "extract-text-webpack-plugin": "^4.0.0-beta.0", "fake-indexeddb": "^3.0.0", "file-loader": "^5.0.2", "fs-extra": "^0.30.0", "html-webpack-plugin": "^3.2.0", "jest": "^24.9.0", "jest-environment-jsdom-fourteen": "^1.0.1", "json-loader": "^0.5.3", "loader-utils": "^1.2.3", "matrix-mock-request": "^1.2.3", "matrix-react-test-utils": "^0.2.2", "mini-css-extract-plugin": "^0.8.0", "minimist": "^1.2.0", "mkdirp": "^0.5.1", "modernizr": "^3.6.0", "node-fetch": "^2.6.0", "optimize-css-assets-webpack-plugin": "^5.0.3", "postcss-extend": "^1.0.5", "postcss-hexrgba": "^2.0.0", "postcss-import": "^12.0.1", "postcss-loader": "^3.0.0", "postcss-mixins": "^6.2.3", "postcss-nested": "^4.2.1", "postcss-preset-env": "^6.7.0", "postcss-scss": "^2.0.0", "postcss-simple-vars": "^5.0.2", "postcss-strip-inline-comments": "^0.1.5", "rimraf": "^2.4.3", "shell-escape": "^0.2.0", "stylelint": "^12.0.1", "terser-webpack-plugin": "^2.3.0", "typescript": "^3.7.3", "webpack": "^4.41.2", "webpack-cli": "^3.3.10", "webpack-dev-server": "^3.9.0" }, "build": { "appId": "im.riot.app", "electronVersion": "7.1.14", "files": [ "node_modules/**", "src/**" ], "extraResources": [ { "from": "electron_app/img", "to": "img" }, "webapp/**/*" ], "linux": { "target": "deb", "category": "Network;InstantMessaging;Chat", "maintainer": "support@riot.im", "desktop": { "StartupWMClass": "riot" } }, "mac": { "category": "public.app-category.social-networking", "darkModeSupport": true }, "win": { "target": { "target": "squirrel" }, "sign": "scripts/electron_winSign" }, "directories": { "buildResources": "electron_app/build", "output": "electron_app/dist", "app": "electron_app" }, "afterSign": "scripts/electron_afterSign.js", "protocols": [ { "name": "riot", "schemes": [ "riot" ] } ] }, "jest": { "modulePathIgnorePatterns": [ "<rootDir>/electron_app" ], "testEnvironment": "jest-environment-jsdom-fourteen", "testMatch": [ "<rootDir>/test/**/*-test.js" ], "setupFilesAfterEnv": [ "<rootDir>/node_modules/matrix-react-sdk/test/setupTests.js" ], "moduleNameMapper": { "\\.(css|scss)$": "<rootDir>/__mocks__/cssMock.js", "\\.(gif|png|svg|ttf|woff2)$": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/imageMock.js", "\\$webapp/i18n/languages.json": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/languages.json", "^browser-request$": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/browser-request.js", "^react$": "<rootDir>/node_modules/react", "^react-dom$": "<rootDir>/node_modules/react-dom", "^matrix-js-sdk$": "<rootDir>/node_modules/matrix-js-sdk/src", "^matrix-react-sdk$": "<rootDir>/node_modules/matrix-react-sdk/src" }, "transformIgnorePatterns": [ "/node_modules/(?!matrix-js-sdk).+$", "/node_modules/(?!matrix-react-sdk).+$" ] } }