session-desktop/package.json

352 lines
12 KiB
JSON
Raw Normal View History

{
2020-02-19 02:05:48 +01:00
"name": "session-desktop",
2020-01-30 04:19:07 +01:00
"productName": "Session",
"description": "Private messaging from your desktop",
2021-03-04 06:54:21 +01:00
"version": "1.5.0",
"license": "GPL-3.0",
"author": {
"name": "Loki Project",
"email": "team@loki.network"
},
"repository": {
"type": "git",
"url": "https://github.com/loki-project/session-desktop.git"
},
"main": "main.js",
2014-11-23 04:36:52 +01:00
"scripts": {
"prepare": "patch-package",
"postinstall": "yarn custom-react-mentions-build && electron-builder install-app-deps && rimraf node_modules/dtrace-provider && husky install",
2020-12-08 01:42:40 +01:00
"custom-react-mentions-build": "cd node_modules/react-mentions && yarn install --node_modules=../node_modules && yarn build && rimraf node_modules/react node_modules/react-dom && cd ..",
"start": "cross-env NODE_APP_INSTANCE=$MULTI electron .",
"start-prod": "cross-env NODE_ENV=production NODE_APP_INSTANCE=devprod$MULTI electron .",
"start-swarm-test": "cross-env NODE_ENV=swarm-testing NODE_APP_INSTANCE=$MULTI electron .",
"grunt": "grunt",
"icon-gen": "electron-icon-maker --input=images/session/session_icon_1024.png --output=./build",
2020-07-24 02:50:18 +02:00
"generate": "yarn icon-gen && yarn grunt --force",
2020-07-21 05:18:04 +02:00
"build-release": "cross-env SIGNAL_ENV=production electron-builder --config.extraMetadata.environment=production --publish=never --config.directories.output=release",
2020-07-06 03:29:22 +02:00
"build-module-protobuf": "pbjs --target static-module --wrap commonjs --out ts/protobuf/compiled.js protos/*.proto && pbts --out ts/protobuf/compiled.d.ts ts/protobuf/compiled.js --force-long",
2018-05-08 01:08:43 +02:00
"clean-module-protobuf": "rm -f ts/protobuf/compiled.d.ts ts/protobuf/compiled.js",
"build-protobuf": "yarn build-module-protobuf",
"clean-protobuf": "yarn clean-module-protobuf",
"test": "yarn test-node && yarn test-electron",
"test-view": "NODE_ENV=test yarn run start",
"test-lib-view": "NODE_ENV=test-lib yarn run start",
"test-loki-view": "NODE_ENV=test-loki yarn run start",
"test-electron": "yarn grunt test",
"test-integration": "ELECTRON_DISABLE_SANDBOX=1 mocha --exit --full-trace --timeout 10000 ts/test/session/integration/integration_itest.js",
"test-node": "mocha --recursive --exit --timeout 10000 test/app test/modules \"./ts/test/**/*_test.js\" libloki/test/node ",
2020-01-30 02:01:44 +01:00
"eslint": "eslint --cache .",
"eslint-fix": "eslint --fix .",
2020-01-30 02:01:44 +01:00
"eslint-full": "eslint .",
"lint": "yarn format && yarn lint-files",
"lint-full": "yarn format-full && yarn lint-files-full",
"dev-lint": "yarn format && yarn lint-files",
"lint-files": "yarn eslint && yarn tslint",
"lint-files-full": "yarn eslint-full && yarn tslint",
"lint-deps": "node ts/util/lint/linter.js",
"tslint": "tslint --format stylish --project .",
2020-04-03 05:34:53 +02:00
"format": "prettier --list-different --write `git ls-files --modified *.{css,js,json,scss,ts,tsx}` `git ls-files --modified ./**/*.{css,js,json,scss,ts,tsx}`",
"format-full": "prettier --list-different --write \"*.{css,js,json,scss,ts,tsx}\" \"./**/*.{css,js,json,scss,ts,tsx}\"",
2020-07-29 02:01:57 +02:00
"transpile": "tsc --incremental",
"clean-transpile": "rimraf ts/**/*.js && rimraf ts/*.js",
"pow-metrics": "node metrics_app.js localhost 9000",
"ready": "yarn clean-transpile && yarn grunt && yarn lint-full && yarn test-node && yarn test-electron && yarn lint-deps"
},
"dependencies": {
2020-03-03 05:17:30 +01:00
"@journeyapps/sqlcipher": "https://github.com/scottnonnenberg-signal/node-sqlcipher.git#b10f232fac62ba7f8775c9e086bb5558fe7d948b",
"@reduxjs/toolkit": "^1.4.0",
"@sindresorhus/is": "0.8.0",
"abort-controller": "3.0.0",
"auto-bind": "^4.0.0",
"backbone": "1.3.3",
"blob-util": "1.3.0",
"blueimp-canvas-to-blob": "3.14.0",
"blueimp-load-image": "2.18.0",
2018-12-17 01:38:06 +01:00
"buffer-crc32": "0.2.13",
"bunyan": "1.8.12",
2020-06-18 02:46:52 +02:00
"bytebuffer": "^5.0.1",
"classnames": "2.2.5",
"color": "^3.1.2",
"config": "1.28.1",
"cross-env": "^6.0.3",
2019-12-12 05:31:50 +01:00
"dompurify": "^2.0.7",
"electron-is-dev": "^1.1.0",
"electron-localshortcut": "^3.2.1",
"electron-updater": "^4.2.2",
"emoji-js": "3.4.0",
2020-03-12 04:11:15 +01:00
"emoji-mart": "^2.11.2",
"filesize": "3.6.1",
"firstline": "1.2.1",
2020-01-23 12:31:14 +01:00
"form-data": "^3.0.0",
Integration tests (#975) * add first integration test Session Checking window title Checking window count Can restore from seed * FIXME torevert once found why this crash on app close * [test] add join valid open group test * [test] validate cannot join two times the same open group * [test] move common things to common.js * [test] move tests to separate files * [test] clean * [test] add send message to open group test * [test] lint * [test] rename hooks -> common * [test] add 15s delay before considering test as slow * upgrade electron 8.0.3 and spectron 10.0.0 * [test] signin from seed: validate pubkey * Replace spellchecker in favor of typo-js * [test] refactor common calls to common.js * [test] add two different pubkey, mnemonic and displayname * [test] FIXME unsafe eval needed for now * [test] add: add friends test * [test] working multi instance tests * [test] FIXME disable snodeproxy * [test] update yarn.lock * [test] make tests more robust with restart from scratch each test * [test] add link of two devices test and hard rm of apps before start (rm -r) * remove unused file * [test] lint * [test] add registration from generated pubkey test * [test] add beginning of network stub * [test] stub "token" endpoint * [test] add test of one message on pub group pull * [test] add starting port randomize. looks to help for some bad start with multi instance * [test] add stub for one to one chats (sessions) * [test] clean code * [test] finish add friend test and stub snode server * [test] stub calls during link device test * [test] add a flag to show some logs on stubbed snode * [test] finish link of two device test. check both pubkey matches * [test] add and use function to wrap erase+start+login+stub app * [test] add method to login as friend and closed group test&messages * Revert "[test] FIXME unsafe eval needed for now" This reverts commit de5322fdae6cdab8e3b9bd9a52b7d172c9bc2d26. * [test] apply review * [test] fix lint * [test] fix existing test with new spectron version * [test] fix lint * [test] refactor page objects * [test] add delete account test * [test] add unlink of two device test * [test] make tiny waitForExists -> isExisting * [test] add checks of link new device buttons * upgrade fs-extra@9.0.0 * address pr review * [test] fix spell_check test Co-authored-by: Josh Perez <60019601+josh-signal@users.noreply.github.com>
2020-03-25 01:42:53 +01:00
"fs-extra": "9.0.0",
"glob": "7.1.2",
2019-01-16 04:03:56 +01:00
"he": "1.2.0",
"jquery": "3.3.1",
2018-12-17 01:38:06 +01:00
"jsbn": "1.1.0",
"libsodium-wrappers": "^0.7.8",
"linkify-it": "2.0.3",
2018-11-27 03:09:50 +01:00
"lodash": "4.17.11",
2020-06-18 02:46:52 +02:00
"long": "^4.0.0",
"mkdirp": "0.5.1",
"moment": "2.21.0",
"mustache": "2.3.0",
2018-12-17 01:38:06 +01:00
"node-fetch": "2.3.0",
"node-sass": "4.9.3",
"os-locale": "2.1.0",
2020-06-10 02:47:54 +02:00
"p-retry": "^4.2.0",
"pify": "3.0.0",
2020-07-06 03:29:22 +02:00
"protobufjs": "^6.9.0",
2020-01-16 02:08:31 +01:00
"rc-slider": "^8.7.1",
2020-07-17 07:44:44 +02:00
"react": "^16.13.1",
"react-contexify": "5.0.0",
2019-01-14 22:49:58 +01:00
"react-dom": "16.8.3",
2020-07-17 03:05:27 +02:00
"react-emoji": "^0.5.0",
2020-07-21 09:37:34 +02:00
"react-emoji-render": "^1.2.4",
2020-07-16 03:55:21 +02:00
"react-h5-audio-player": "^3.2.0",
"react-intersection-observer": "^8.30.3",
"react-mentions": "https://github.com/Bilb/react-mentions",
"react-portal": "^4.2.0",
"react-qr-svg": "^2.2.1",
"react-redux": "7.2.1",
"react-toastify": "^6.0.9",
2019-01-14 22:49:58 +01:00
"react-virtualized": "9.21.0",
"read-last-lines": "1.3.0",
2019-01-14 22:49:58 +01:00
"redux": "4.0.1",
"redux-logger": "3.0.6",
"redux-promise-middleware": "6.1.0",
"reselect": "4.0.0",
"rimraf": "2.6.2",
"sanitize.css": "^12.0.1",
"semver": "5.4.1",
"styled-components": "5.1.1",
2018-12-13 22:41:42 +01:00
"tar": "4.4.8",
"tmp": "0.0.33",
"to-arraybuffer": "1.0.1",
2020-07-16 10:14:08 +02:00
"typings-for-css-modules-loader": "^1.7.0",
"underscore": "1.9.0",
"uuid": "3.3.2"
},
"devDependencies": {
"@types/backbone": "^1.4.2",
"@types/blueimp-load-image": "^2.23.8",
2021-03-05 04:52:44 +01:00
"@types/buffer-crc32": "^0.2.0",
2020-06-18 03:29:29 +02:00
"@types/bytebuffer": "^5.0.41",
"@types/chai": "4.1.2",
2020-05-22 06:04:10 +02:00
"@types/chai-as-promised": "^7.1.2",
"@types/classnames": "2.2.3",
"@types/color": "^3.0.0",
"@types/config": "0.0.34",
"@types/dompurify": "^2.0.0",
"@types/electron-is-dev": "^1.1.1",
2021-03-05 04:52:44 +01:00
"@types/emoji-mart": "^2.11.3",
"@types/filesize": "3.6.0",
"@types/fs-extra": "5.0.5",
2019-01-14 22:49:58 +01:00
"@types/jquery": "3.3.29",
"@types/libsodium-wrappers": "^0.7.8",
"@types/linkify-it": "2.0.3",
"@types/lodash": "4.14.106",
"@types/mkdirp": "0.5.2",
"@types/mocha": "5.0.0",
2021-03-05 04:52:44 +01:00
"@types/moment": "^2.13.0",
"@types/node-fetch": "^2.5.7",
"@types/pify": "3.0.2",
"@types/qs": "6.5.1",
"@types/rc-slider": "^8.6.5",
2019-01-14 22:49:58 +01:00
"@types/react": "16.8.5",
"@types/react-dom": "16.8.2",
2021-03-05 04:52:44 +01:00
"@types/react-mentions": "^3.3.1",
"@types/react-mic": "^12.4.1",
"@types/react-portal": "^4.0.2",
"@types/react-redux": "7.1.9",
"@types/react-virtualized": "9.18.12",
2019-01-14 22:49:58 +01:00
"@types/redux-logger": "3.0.7",
"@types/rimraf": "2.0.2",
"@types/semver": "5.5.0",
"@types/sinon": "9.0.4",
2021-03-05 04:52:44 +01:00
"@types/styled-components": "^5.1.4",
"@types/uuid": "3.4.4",
"arraybuffer-loader": "1.0.3",
"asar": "0.14.0",
"bower": "1.8.2",
"chai": "4.1.2",
Integration tests (#975) * add first integration test Session Checking window title Checking window count Can restore from seed * FIXME torevert once found why this crash on app close * [test] add join valid open group test * [test] validate cannot join two times the same open group * [test] move common things to common.js * [test] move tests to separate files * [test] clean * [test] add send message to open group test * [test] lint * [test] rename hooks -> common * [test] add 15s delay before considering test as slow * upgrade electron 8.0.3 and spectron 10.0.0 * [test] signin from seed: validate pubkey * Replace spellchecker in favor of typo-js * [test] refactor common calls to common.js * [test] add two different pubkey, mnemonic and displayname * [test] FIXME unsafe eval needed for now * [test] add: add friends test * [test] working multi instance tests * [test] FIXME disable snodeproxy * [test] update yarn.lock * [test] make tests more robust with restart from scratch each test * [test] add link of two devices test and hard rm of apps before start (rm -r) * remove unused file * [test] lint * [test] add registration from generated pubkey test * [test] add beginning of network stub * [test] stub "token" endpoint * [test] add test of one message on pub group pull * [test] add starting port randomize. looks to help for some bad start with multi instance * [test] add stub for one to one chats (sessions) * [test] clean code * [test] finish add friend test and stub snode server * [test] stub calls during link device test * [test] add a flag to show some logs on stubbed snode * [test] finish link of two device test. check both pubkey matches * [test] add and use function to wrap erase+start+login+stub app * [test] add method to login as friend and closed group test&messages * Revert "[test] FIXME unsafe eval needed for now" This reverts commit de5322fdae6cdab8e3b9bd9a52b7d172c9bc2d26. * [test] apply review * [test] fix lint * [test] fix existing test with new spectron version * [test] fix lint * [test] refactor page objects * [test] add delete account test * [test] add unlink of two device test * [test] make tiny waitForExists -> isExisting * [test] add checks of link new device buttons * upgrade fs-extra@9.0.0 * address pr review * [test] fix spell_check test Co-authored-by: Josh Perez <60019601+josh-signal@users.noreply.github.com>
2020-03-25 01:42:53 +01:00
"chai-as-promised": "^7.1.1",
"chai-bytes": "^0.1.2",
2020-07-16 08:39:35 +02:00
"css-loader": "^3.6.0",
"dashdash": "1.14.1",
2020-03-27 04:33:37 +01:00
"electron": "8.2.0",
Integration tests (#975) * add first integration test Session Checking window title Checking window count Can restore from seed * FIXME torevert once found why this crash on app close * [test] add join valid open group test * [test] validate cannot join two times the same open group * [test] move common things to common.js * [test] move tests to separate files * [test] clean * [test] add send message to open group test * [test] lint * [test] rename hooks -> common * [test] add 15s delay before considering test as slow * upgrade electron 8.0.3 and spectron 10.0.0 * [test] signin from seed: validate pubkey * Replace spellchecker in favor of typo-js * [test] refactor common calls to common.js * [test] add two different pubkey, mnemonic and displayname * [test] FIXME unsafe eval needed for now * [test] add: add friends test * [test] working multi instance tests * [test] FIXME disable snodeproxy * [test] update yarn.lock * [test] make tests more robust with restart from scratch each test * [test] add link of two devices test and hard rm of apps before start (rm -r) * remove unused file * [test] lint * [test] add registration from generated pubkey test * [test] add beginning of network stub * [test] stub "token" endpoint * [test] add test of one message on pub group pull * [test] add starting port randomize. looks to help for some bad start with multi instance * [test] add stub for one to one chats (sessions) * [test] clean code * [test] finish add friend test and stub snode server * [test] stub calls during link device test * [test] add a flag to show some logs on stubbed snode * [test] finish link of two device test. check both pubkey matches * [test] add and use function to wrap erase+start+login+stub app * [test] add method to login as friend and closed group test&messages * Revert "[test] FIXME unsafe eval needed for now" This reverts commit de5322fdae6cdab8e3b9bd9a52b7d172c9bc2d26. * [test] apply review * [test] fix lint * [test] fix existing test with new spectron version * [test] fix lint * [test] refactor page objects * [test] add delete account test * [test] add unlink of two device test * [test] make tiny waitForExists -> isExisting * [test] add checks of link new device buttons * upgrade fs-extra@9.0.0 * address pr review * [test] fix spell_check test Co-authored-by: Josh Perez <60019601+josh-signal@users.noreply.github.com>
2020-03-25 01:42:53 +01:00
"electron-builder": "22.3.6",
"electron-icon-maker": "0.0.3",
2019-11-14 01:28:47 +01:00
"electron-notarize": "^0.2.0",
"eslint": "4.14.0",
"eslint-config-airbnb-base": "12.1.0",
"eslint-config-prettier": "2.9.0",
"eslint-plugin-import": "2.8.0",
"eslint-plugin-mocha": "4.12.1",
"eslint-plugin-more": "0.3.1",
"extract-zip": "1.6.6",
"grunt": "1.0.1",
"grunt-cli": "1.2.0",
"grunt-contrib-concat": "1.0.1",
"grunt-contrib-copy": "1.0.0",
"grunt-contrib-watch": "1.0.0",
"grunt-exec": "3.0.0",
"grunt-gitinfo": "0.1.7",
"grunt-sass": "3.0.1",
2021-03-01 02:05:39 +01:00
"husky": "^5.1.1",
"lint-staged": ">=10",
"mocha": "4.1.0",
"mocha-testcheck": "1.0.0-rc.0",
"node-gyp": "3.8.0",
"node-sass-import-once": "1.2.0",
"nyc": "11.4.1",
"patch-package": "^6.2.2",
"postinstall-prepare": "^1.0.1",
"prettier": "1.19.0",
"qs": "6.5.1",
"react-docgen-typescript": "1.2.6",
"react-styleguidist": "7.0.1",
"sinon": "9.0.2",
2020-03-27 04:57:26 +01:00
"spectron": "^10.0.0",
"ts-loader": "4.1.0",
"ts-mock-imports": "^1.3.0",
"tslint": "5.19.0",
2019-01-14 22:49:58 +01:00
"tslint-microsoft-contrib": "6.0.0",
"tslint-react": "3.6.0",
2020-05-29 02:42:47 +02:00
"typescript": "3.7.4",
"webpack": "4.4.1"
2017-03-10 19:35:58 +01:00
},
"engines": {
2020-02-12 13:49:59 +01:00
"node": "^10.13.0"
},
2017-03-10 19:35:58 +01:00
"build": {
2019-10-22 23:41:18 +02:00
"appId": "com.loki-project.messenger-desktop",
"afterSign": "build/notarize.js",
"artifactName": "${name}-${os}-${arch}-${version}.${ext}",
"extraResources": {
"from": "./build/launcher-script.sh",
"to": "./launcher-script.sh"
},
2017-03-10 19:35:58 +01:00
"mac": {
2017-04-07 00:10:04 +02:00
"category": "public.app-category.social-networking",
"icon": "build/icons/mac/icon.icns",
2017-05-03 20:32:20 +02:00
"target": [
"dmg",
"zip"
2017-05-03 20:32:20 +02:00
],
2019-10-22 23:41:18 +02:00
"bundleVersion": "1",
"hardenedRuntime": true,
"gatekeeperAssess": false,
"entitlements": "build/entitlements.mac.plist",
"entitlementsInherit": "build/entitlements.mac.plist"
2017-04-07 00:10:04 +02:00
},
2019-12-02 05:21:00 +01:00
"dmg": {
"sign": false
},
2017-04-07 00:10:04 +02:00
"win": {
"asarUnpack": "node_modules/spellchecker/vendor/hunspell_dictionaries",
"publisherName": "Loki Project",
"verifyUpdateCodeSignature": false,
"icon": "build/icons/win/icon.ico",
"target": [
"nsis"
]
2017-03-10 19:35:58 +01:00
},
2018-03-06 00:24:56 +01:00
"nsis": {
"deleteAppDataOnUninstall": true,
"oneClick": false,
"allowToChangeInstallationDirectory": true
2018-03-06 00:24:56 +01:00
},
2017-03-10 19:35:58 +01:00
"linux": {
"category": "Network",
"desktop": {
2020-01-30 04:19:07 +01:00
"StartupWMClass": "Session"
},
"asarUnpack": "node_modules/spellchecker/vendor/hunspell_dictionaries",
2017-03-10 19:35:58 +01:00
"target": [
"deb",
"AppImage"
2017-04-28 01:57:31 +02:00
],
"icon": "build/icons/png"
2017-03-10 19:35:58 +01:00
},
"deb": {
"depends": [
"libnotify4",
"libappindicator1",
"libxtst6",
"libnss3",
"libasound2",
"libxss1"
]
},
2017-03-10 19:35:58 +01:00
"files": [
"package.json",
"config/default.json",
"config/${env.SIGNAL_ENV}.json",
"config/local-${env.SIGNAL_ENV}.json",
"background.html",
"about.html",
2018-12-06 00:09:57 +01:00
"password.html",
"debug_log.html",
"_locales/**",
"libloki/modules/*.js",
2018-12-07 06:49:43 +01:00
"mnemonic_languages/**",
"protos/*",
"js/**",
"ts/**/*.js",
"ts/*.js",
"stylesheets/*.css",
"!js/register.js",
2018-12-07 06:49:43 +01:00
"js/views/standalone_registration_view.js",
"app/*",
"preload.js",
"about_preload.js",
"settings_preload.js",
"debug_log_preload.js",
2018-12-11 05:32:59 +01:00
"password_preload.js",
"main.js",
"images/**",
"fonts/*",
"build/assets",
"node_modules/**",
"!node_modules/emoji-panel/dist/*",
"!node_modules/emoji-panel/lib/emoji-panel-emojione-*.css",
"!node_modules/emoji-panel/lib/emoji-panel-google-*.css",
"!node_modules/emoji-panel/lib/emoji-panel-twitter-*.css",
"!node_modules/emoji-panel/lib/emoji-panel-apple-{16,20,64}.css",
"!node_modules/emoji-datasource/emoji_pretty.json",
"!node_modules/emoji-datasource/*.png",
"!node_modules/emoji-datasource-apple/emoji_pretty.json",
"!node_modules/emoji-datasource-apple/img/apple/{sheets-128,sheets-256}/*.png",
"!node_modules/emoji-datasource-apple/img/apple/sheets/{16,20,32}.png",
"!node_modules/spellchecker/vendor/hunspell/**/*",
"!**/node_modules/*/{CHANGELOG.md,README.md,README,readme.md,readme,test,__tests__,tests,powered-test,example,examples,*.d.ts}",
"!**/node_modules/.bin",
"!**/node_modules/*/build/**",
"!**/*.{o,hprof,orig,pyc,pyo,rbc}",
"!**/._*",
2020-07-17 01:33:23 +02:00
"!**/{.DS_Store,.git,.hg,.svn,CVS,RCS,SCCS,__pycache__,thumbs.db,.gitignore,.gitattributes,.editorconfig,.flowconfig,.yarn-metadata.json,.idea,appveyor.yml,.travis.yml,circle.yml,npm-debug.log,.nyc_output,yarn.lock,.yarn-integrity,.map}",
"node_modules/spellchecker/build/Release/*.node",
"node_modules/websocket/build/Release/*.node",
"node_modules/socks/build/*.js",
"node_modules/socks/build/common/*.js",
"node_modules/socks/build/client/*.js",
"node_modules/smart-buffer/build/*.js",
"!node_modules/@journeyapps/sqlcipher/deps/*",
2020-03-03 05:17:30 +01:00
"!node_modules/@journeyapps/sqlcipher/build/*",
"!node_modules/@journeyapps/sqlcipher/lib/binding/node-*",
"!build/*.js",
"!dev-app-update.yml"
],
"afterPack": "./build/afterPackHook.js"
2021-03-01 02:05:39 +01:00
},
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"lint-staged": {
"*.{css,js,json,scss,ts,tsx}": "prettier --write",
"*/**/*.{css,js,json,scss,ts,tsx}": "prettier --write",
"*.js": "eslint --cache --fix"
}
}