a978a6734f
There's a bunch of generated files that webpack relies on to work, and Karma works off webpack. To make both happy we've added a new `build:genfiles` script which takes care of this for us. We also have to install and build our other layers to get the same effect (like generating the react-sdk's component index, while we still have one). This commit also fixes all the imports in the tests because they were just wrong. They should have been caught in the ES6ification earlier, but were missed.
202 lines
7.1 KiB
JSON
202 lines
7.1 KiB
JSON
{
|
|
"name": "riot-web",
|
|
"productName": "Riot",
|
|
"main": "electron_app/src/electron-main.js",
|
|
"version": "1.5.7",
|
|
"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",
|
|
"karma.conf.js",
|
|
"deploy",
|
|
"CHANGELOG.md",
|
|
"CONTRIBUTING.rst",
|
|
"LICENSE",
|
|
"README.md",
|
|
"AUTHORS.rst",
|
|
"package.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",
|
|
"clean": "rimraf lib webapp electron_app/dist",
|
|
"build": "yarn clean && yarn build:genfiles && yarn build:compile && yarn build:types && yarn build:bundle",
|
|
"build:res": "node scripts/copy-res.js",
|
|
"build:genfiles": "yarn reskindex && yarn build:res",
|
|
"build:modernizr": "modernizr -c .modernizr.json -d src/vector/modernizr.js",
|
|
"build:compile": "babel -d lib --verbose --extensions \".ts,.js\" src",
|
|
"build:bundle": "cross-env NODE_ENV=production webpack -p --progress --bail --mode production",
|
|
"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",
|
|
"install:electron": "electron-builder install-app-deps",
|
|
"dist": "scripts/package.sh",
|
|
"start": "concurrently --kill-others-on-fail --prefix \"{time} [{name}]\" -n reskindex,res,riot-js \"yarn reskindex:watch\" \"yarn start:res\" \"yarn start:js\"",
|
|
"start:res": "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",
|
|
"lint:style": "stylelint 'res/css/**/*.scss'",
|
|
"test": "yarn build:genfiles && karma start --single-run=true --autoWatch=false --browsers VectorChromeHeadless",
|
|
"test:multi": "yarn build:genfiles && karma start"
|
|
},
|
|
"dependencies": {
|
|
"browser-request": "^0.3.3",
|
|
"favico.js": "^0.3.10",
|
|
"gemini-scrollbar": "github:matrix-org/gemini-scrollbar#91e1e566",
|
|
"gfm.css": "^1.1.2",
|
|
"highlight.js": "^9.13.1",
|
|
"matrix-js-sdk": "3.0.0",
|
|
"matrix-react-sdk": "1.7.6",
|
|
"modernizr": "^3.6.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/react": "^16.9.17",
|
|
"@types/react-dom": "^16.9.4",
|
|
"autoprefixer": "^9.7.3",
|
|
"babel-eslint": "^10.0.3",
|
|
"babel-loader": "^8.0.6",
|
|
"chokidar": "^2.0.4",
|
|
"concurrently": "^4.0.1",
|
|
"cpx": "^1.3.2",
|
|
"cross-env": "^6.0.3",
|
|
"css-loader": "^3.3.2",
|
|
"electron-builder": "^21.2.0",
|
|
"electron-builder-squirrel-windows": "^21.2.0",
|
|
"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",
|
|
"expect": "^1.16.0",
|
|
"extract-text-webpack-plugin": "^4.0.0-beta.0",
|
|
"file-loader": "^5.0.2",
|
|
"fs-extra": "^0.30.0",
|
|
"html-webpack-plugin": "^3.2.0",
|
|
"json-loader": "^0.5.3",
|
|
"karma": "^3.1.2",
|
|
"karma-chrome-launcher": "^2.2.0",
|
|
"karma-cli": "^1.0.1",
|
|
"karma-logcapture-reporter": "0.0.1",
|
|
"karma-mocha": "^1.3.0",
|
|
"karma-sourcemap-loader": "^0.3.7",
|
|
"karma-spec-reporter": "0.0.31",
|
|
"karma-summary-reporter": "^1.5.1",
|
|
"karma-webpack": "4.0.0-beta.0",
|
|
"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",
|
|
"mocha": "^5.2.0",
|
|
"optimize-css-assets-webpack-plugin": "^5.0.3",
|
|
"postcss-extend": "^1.0.5",
|
|
"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.7",
|
|
"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"
|
|
}
|
|
},
|
|
"deb": {
|
|
"afterInstall": "electron_app/build/linux/after-install.tpl"
|
|
},
|
|
"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"
|
|
}
|
|
}
|