mirror of
https://github.com/lux-tel/session-desktop.git
synced 2026-10-30 20:33:24 +00:00
385 lines
15 KiB
JSON
385 lines
15 KiB
JSON
{
|
|
"name": "session-desktop",
|
|
"productName": "Session",
|
|
"description": "Private messaging from your desktop",
|
|
"version": "1.17.7",
|
|
"license": "GPL-3.0",
|
|
"author": {
|
|
"name": "Session Foundation",
|
|
"email": "[email protected]"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/session-foundation/session-desktop.git"
|
|
},
|
|
"main": "ts/mains/main_node.js",
|
|
"resolutions": {
|
|
"lodash": "^4.17.21",
|
|
"react": "19.2.1",
|
|
"@types/react": "^19.0.0",
|
|
"nanoid": "^3.3.8",
|
|
"csstype": "^3.1.3",
|
|
"reselect": "5.1.1"
|
|
},
|
|
"scripts": {
|
|
"start-prod": "cross-env NODE_ENV=production NODE_APP_INSTANCE=devprod$MULTI electron .",
|
|
"start-prod:pretty": "yarn start-prod | pino-pretty",
|
|
"start-dev": "cross-env NODE_ENV=development NODE_APP_INSTANCE=devprod$MULTI electron .",
|
|
"start-dev:pretty": "yarn start-dev | pino-pretty",
|
|
"start-perf": "cross-env NODE_ENV=development NODE_APP_INSTANCE=devprod$MULTI electron --inspect-brk=9229 --enable-precise-memory-info --js-flags=\"--expose-gc --allow-natives-syntax\" .",
|
|
"start-dev:perf": "yarn start-perf | pino-pretty",
|
|
"build-no-compiler": "yarn build-pre && tsc && yarn build-post",
|
|
"build:locales": "python3 ./tools/localization/generateLocales.py --generate-types --print-problems --error-on-problems --error-old-dynamic-variables",
|
|
"build:locales-soft": "python3 ./tools/localization/generateLocales.py --generate-types --print-problems --print-problem-strings",
|
|
"build-pre": "yarn print-deps && yarn clean && yarn protobuf && yarn update-git-info && yarn sass && yarn build:locales-soft",
|
|
"build-ts": "tsc",
|
|
"build-ts-source-maps": "tsc --sourceMap --inlineSources",
|
|
"build-ts-source-maps:watch": "tsc --sourceMap --inlineSources --watch",
|
|
"build-compile": "babel ts --out-dir ts --extensions .js",
|
|
"build-minify": "node minify.js",
|
|
"build:workers": "yarn worker:utils && yarn worker:libsession && yarn worker:image_processor",
|
|
"build:svg": "webpack --config svgs.webpack.config.js",
|
|
"build-post": "yarn build:workers && yarn build:svg",
|
|
"build": "yarn build-pre && yarn build-ts && yarn build-compile && yarn build-post",
|
|
"build:dev": "yarn build-pre && yarn build-ts-source-maps && cross-env SESSION_RC_ALLOW_ERRORS=1 yarn build-compile && yarn build-post",
|
|
"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",
|
|
"sass": "rimraf --glob 'stylesheets/dist/' && webpack --config=./sass.config.js",
|
|
"clean": "rimraf --glob 'ts/**/*.js' 'ts/*.js' 'ts/*.js.map' 'ts/**/*.js.map' 'tsconfig.tsbuildinfo'",
|
|
"lint": "yarn format --cache && eslint --cache .",
|
|
"format": "prettier --list-different --write \"*.{css,js,json,scss,ts,tsx}\" \"./**/*.{css,js,json,scss,ts,tsx}\"",
|
|
"start-prod-test": "cross-env NODE_ENV=production NODE_APP_INSTANCE=$MULTI electron .",
|
|
"test": "cross-env IS_UNIT_TEST=1 mocha",
|
|
"build-release-base": "cross-env NODE_ENV=production electron-builder --config.extraMetadata.environment=production",
|
|
"build-release": "yarn build-release-base --publish=never --config.directories.output=release",
|
|
"build-release-publish": "yarn build-release-base --publish=always",
|
|
"ready": "yarn dedup --fail && yarn build && yarn lint && yarn test",
|
|
"postinstall": "yarn patch-package && yarn electron-builder install-app-deps",
|
|
"update-git-info": "node ./build/updateLocalConfig.js",
|
|
"worker:utils": "webpack --config=./utils.worker.config.js",
|
|
"worker:libsession": "rimraf --glob 'ts/webworker/workers/node/libsession/*.node' && webpack --config=./libsession.worker.config.js",
|
|
"worker:image_processor": "webpack --config=./image_processor.worker.config.js",
|
|
"dedup": "npx --yes yarn-deduplicate yarn.lock",
|
|
"prepare": "husky",
|
|
"print-deps": "node -v && python3 --version",
|
|
"watch": "yarn clean && yarn update-git-info && concurrently -n PBJS,SASS,LOCALES,UTIL,LIBSESSION,IMAGE,TS -c yellow,green,red,blue,blue,blue,green \"yarn protobuf\" \"yarn sass --watch\" \"yarn build:locales-soft\" \"yarn worker:utils --watch\" \"yarn worker:libsession --watch\" \"yarn worker:image_processor --watch\" \"yarn build-ts-source-maps:watch\""
|
|
},
|
|
"dependencies": {
|
|
"@emoji-mart/data": "^1.2.1",
|
|
"@emoji-mart/react": "^1.1.1",
|
|
"@reduxjs/toolkit": "^2.11.1",
|
|
"@signalapp/better-sqlite3": "9.0.13",
|
|
"abort-controller": "3.0.0",
|
|
"auto-bind": "^4.0.0",
|
|
"blob-util": "2.0.2",
|
|
"buffer-crc32": "1.0.0",
|
|
"bytebuffer": "^5.0.1",
|
|
"clsx": "^2.1.1",
|
|
"config": "3.3.12",
|
|
"curve25519-js": "https://github.com/session-foundation/curve25519-js",
|
|
"date-fns": "^4.1.0",
|
|
"dompurify": "^3.2.4",
|
|
"electron-localshortcut": "^3.2.1",
|
|
"electron-updater": "^6.3.9",
|
|
"emoji-mart": "^5.6.0",
|
|
"filesize": "10.1.6",
|
|
"firstline": "^2.0.2",
|
|
"focus-trap-react": "^11.0.4",
|
|
"framer-motion": "^12.5.0",
|
|
"fs-extra": "11.3.0",
|
|
"glob": "10.4.5",
|
|
"image-type": "^4.1.0",
|
|
"libsession_util_nodejs": "https://github.com/session-foundation/libsession-util-nodejs/releases/download/v0.6.7/libsession_util_nodejs-v0.6.7.tar.gz",
|
|
"libsodium-wrappers-sumo": "^0.7.15",
|
|
"linkify-it": "^5.0.0",
|
|
"lodash": "^4.17.21",
|
|
"long": "^4.0.0",
|
|
"maxmind": "^4.3.24",
|
|
"mic-recorder-to-mp3": "^2.2.2",
|
|
"node-fetch": "^2.7.0",
|
|
"os-locale": "5.0.0",
|
|
"p-retry": "^4.6.2",
|
|
"p-timeout": "4.1.0",
|
|
"pino": "^9.6.0",
|
|
"protobufjs": "^7.4.0",
|
|
"punycode": "^2.3.1",
|
|
"qrcode.react": "4.2.0",
|
|
"react": "19.2.1",
|
|
"react-contexify": "6.0.0",
|
|
"react-dom": "19.2.1",
|
|
"react-draggable": "4.5.0",
|
|
"react-h5-audio-player": "3.10.1",
|
|
"react-intersection-observer": "10.0.0",
|
|
"react-redux": "9.2.0",
|
|
"react-toastify": "10.0.0",
|
|
"react-use": "17.6.0",
|
|
"react-virtualized": "9.22.6",
|
|
"read-last-lines": "1.8.0",
|
|
"redux": "5.0.1",
|
|
"redux-promise-middleware": "6.2.0",
|
|
"reselect": "5.1.1",
|
|
"rimraf": "6.1.2",
|
|
"sanitize.css": "^12.0.1",
|
|
"semver": "^7.7.1",
|
|
"sharp": "https://github.com/session-foundation/sharp/releases/download/v0.34.5/sharp-0.34.5.tgz",
|
|
"styled-components": "6.1.19",
|
|
"uuid": "11.1.0",
|
|
"webrtc-adapter": "^4.2.2",
|
|
"zod": "4.1.13"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/cli": "7.28.3",
|
|
"@babel/core": "7.28.5",
|
|
"@babel/preset-env": "7.28.5",
|
|
"@commitlint/cli": "^19.8.0",
|
|
"@commitlint/config-conventional": "^19.8.0",
|
|
"@emotion/is-prop-valid": "^1.4.0",
|
|
"@svgr/webpack": "^8.1.0",
|
|
"@testing-library/dom": "10.4.1",
|
|
"@testing-library/jest-dom": "6.9.1",
|
|
"@testing-library/react": "16.3.0",
|
|
"@testing-library/user-event": "14.6.1",
|
|
"@types/babel__core": "7.20.5",
|
|
"@types/babel__preset-env": "7.10.0",
|
|
"@types/buffer-crc32": "^0.2.4",
|
|
"@types/bytebuffer": "^5.0.49",
|
|
"@types/chai": "4.3.20",
|
|
"@types/chai-as-promised": "^7.1.8",
|
|
"@types/config": "3.3.5",
|
|
"@types/dompurify": "^3.2.0",
|
|
"@types/electron-localshortcut": "^3.1.3",
|
|
"@types/eslint": "~9.6.1",
|
|
"@types/eslint-plugin-mocha": "~10.4.0",
|
|
"@types/events": "~3.0.3",
|
|
"@types/filesize": "5.0.2",
|
|
"@types/firstline": "^2.0.4",
|
|
"@types/fs-extra": "11.0.4",
|
|
"@types/jsdom": "^21.1.7",
|
|
"@types/jsdom-global": "~3.0.7",
|
|
"@types/libsodium-wrappers-sumo": "^0.7.8",
|
|
"@types/linkify-it": "^5.0.0",
|
|
"@types/lodash": "^4.17.16",
|
|
"@types/mocha": "5.2.7",
|
|
"@types/node-fetch": "^2.5.7",
|
|
"@types/punycode": "~2.1.4",
|
|
"@types/react": "^19.2.7",
|
|
"@types/react-dom": "^19.2.3",
|
|
"@types/react-virtualized": "~9.22.3",
|
|
"@types/rimraf": "4.0.5",
|
|
"@types/sass-loader": "~8.0.10",
|
|
"@types/semver": "7.5.8",
|
|
"@types/sinon": "9.0.11",
|
|
"@typescript-eslint/eslint-plugin": "7.18.0",
|
|
"@typescript-eslint/parser": "8.26.1",
|
|
"babel-plugin-react-compiler": "^1.0.0",
|
|
"chai": "^4.5.0",
|
|
"chai-as-promised": "^7.1.2",
|
|
"chai-bytes": "^0.1.2",
|
|
"concurrently": "^9.2.0",
|
|
"cross-env": "^7.0.3",
|
|
"css-loader": "^7.1.2",
|
|
"csstype": "^3.2.3",
|
|
"electron": "34.2.0",
|
|
"electron-builder": "26.0.12",
|
|
"eslint": "8.57.1",
|
|
"eslint-config-airbnb-base": "^15.0.0",
|
|
"eslint-config-prettier": "10.1.1",
|
|
"eslint-import-resolver-typescript": "3.9.1",
|
|
"eslint-plugin-import": "2.32.0",
|
|
"eslint-plugin-local-rules": "^3.0.2",
|
|
"eslint-plugin-mocha": "^10.5.0",
|
|
"eslint-plugin-more": "^1.0.5",
|
|
"eslint-plugin-react": "7.37.4",
|
|
"eslint-plugin-react-hooks": "^4.6.2",
|
|
"events": "^3.3.0",
|
|
"husky": "^9.1.7",
|
|
"jsdom": "^22.1.0",
|
|
"jsdom-global": "^3.0.2",
|
|
"mini-css-extract-plugin": "^2.9.2",
|
|
"mocha": "11.1.0",
|
|
"node-loader": "^2.1.0",
|
|
"patch-package": "^7.0.2",
|
|
"pino-pretty": "13.0.0",
|
|
"prettier": "3.5.3",
|
|
"protobufjs-cli": "^1.1.3",
|
|
"react-error-boundary": "5.0.0",
|
|
"sass": "^1.85.1",
|
|
"sass-loader": "^16.0.5",
|
|
"sinon": "19.0.2",
|
|
"source-map": "^0.7.6",
|
|
"terser": "^5.44.1",
|
|
"ts-loader": "^9.5.2",
|
|
"typescript": "^5.8.2",
|
|
"typescript-eslint": "8.49.0",
|
|
"webpack": "5.103.0",
|
|
"webpack-cli": "6.0.1"
|
|
},
|
|
"engines": {
|
|
"node": "20.18.2"
|
|
},
|
|
"build": {
|
|
"appId": "com.loki-project.messenger-desktop",
|
|
"afterSign": "build/notarize.js",
|
|
"afterPack": "build/afterPackHook.js",
|
|
"artifactName": "${name}-${os}-${arch}-${version}.${ext}",
|
|
"generateUpdatesFilesForAllChannels": true,
|
|
"extraResources": [
|
|
{
|
|
"from": "./build/launcher-script.sh",
|
|
"to": "./launcher-script.sh"
|
|
},
|
|
"mmdb/GeoLite2-Country.mmdb"
|
|
],
|
|
"mac": {
|
|
"category": "public.app-category.social-networking",
|
|
"icon": "build/icon-mac.icns",
|
|
"target": [
|
|
"dmg",
|
|
"zip"
|
|
],
|
|
"notarize": false,
|
|
"bundleVersion": "1",
|
|
"hardenedRuntime": true,
|
|
"gatekeeperAssess": false,
|
|
"entitlements": "build/entitlements.mac.plist",
|
|
"entitlementsInherit": "build/entitlements.mac.plist",
|
|
"minimumSystemVersion": "13.0.0",
|
|
"extendInfo": {
|
|
"NSCameraUsageDescription": "Session requires camera access to record video.",
|
|
"NSMicrophoneUsageDescription": "Session requires microphone access to record audio."
|
|
}
|
|
},
|
|
"dmg": {
|
|
"sign": false
|
|
},
|
|
"win": {
|
|
"asarUnpack": "node_modules/spellchecker/vendor/hunspell_dictionaries",
|
|
"signtoolOptions": {
|
|
"publisherName": "Session Technology Stiftung"
|
|
},
|
|
"verifyUpdateCodeSignature": false,
|
|
"icon": "build/icon.ico",
|
|
"target": [
|
|
"nsis"
|
|
]
|
|
},
|
|
"rpm": {
|
|
"fpm": [
|
|
"--rpm-rpmbuild-define",
|
|
"_build_id_links none"
|
|
]
|
|
},
|
|
"nsis": {
|
|
"deleteAppDataOnUninstall": true,
|
|
"oneClick": false,
|
|
"allowToChangeInstallationDirectory": true,
|
|
"include": "build/installer.nsh",
|
|
"installerSidebar": "build/installer-sidebar.bmp"
|
|
},
|
|
"linux": {
|
|
"category": "Network;InstantMessaging;Chat",
|
|
"asarUnpack": "node_modules/spellchecker/vendor/hunspell_dictionaries",
|
|
"target": "deb",
|
|
"icon": "build/icon-linux.icns",
|
|
"files": [
|
|
"!node_modules/@img/sharp-libvips*/lib/*.a*",
|
|
"!node_modules/@img/sharp-libvips*/lib/*.so*"
|
|
]
|
|
},
|
|
"asarUnpack": [
|
|
"node_modules/@signalapp/better-sqlite3/build/Release/better_sqlite3.node",
|
|
"node_modules/libsession_util_nodejs/build/Release/libsession_util_nodejs.node",
|
|
"ts/webworker/workers/node/libsession/*.node",
|
|
"ts/mains/main_node.js",
|
|
"**/node_modules/sharp/**/*",
|
|
"**/node_modules/@img/**/*"
|
|
],
|
|
"deb": {
|
|
"depends": [
|
|
"libnotify4",
|
|
"libxtst6",
|
|
"libnss3",
|
|
"libasound2",
|
|
"libxss1"
|
|
],
|
|
"packageCategory": "net"
|
|
},
|
|
"files": [
|
|
"package.json",
|
|
"config/default.json",
|
|
"config/production.json",
|
|
"config/local-production.json",
|
|
"background.html",
|
|
"about.html",
|
|
"password.html",
|
|
"_locales/**",
|
|
"mnemonic_languages/**",
|
|
"protos/*",
|
|
"js/**",
|
|
"ts/**/*.js",
|
|
"ts/*.js",
|
|
"!dist/**",
|
|
"stylesheets/fonts.css",
|
|
"stylesheets/dist/*",
|
|
"!js/register.js",
|
|
"preload.js",
|
|
"about_preload.js",
|
|
"settings_preload.js",
|
|
"password_preload.js",
|
|
"images/**",
|
|
"fonts/*",
|
|
"sound/*",
|
|
"build/assets",
|
|
"node_modules/**",
|
|
"!node_modules/spellchecker/vendor/hunspell/**/*",
|
|
"!node_modules/@iconify/icons-mdi/*",
|
|
"node_modules/@iconify/icons-mdi/play-circle*",
|
|
"node_modules/@iconify/icons-mdi/pause-circle*",
|
|
"node_modules/@iconify/icons-mdi/skip-previous*",
|
|
"node_modules/@iconify/icons-mdi/skip-next*",
|
|
"node_modules/@iconify/icons-mdi/fast-forward*",
|
|
"node_modules/@iconify/icons-mdi/rewind*",
|
|
"node_modules/@iconify/icons-mdi/volume-high*",
|
|
"node_modules/@iconify/icons-mdi/volume-mute*",
|
|
"node_modules/@iconify/icons-mdi/repeat*",
|
|
"node_modules/@iconify/icons-mdi/repeat-off*",
|
|
"!node_modules/lamejs/testdata/*",
|
|
"!node_modules/@reduxjs/**/*",
|
|
"node_modules/@reduxjs/**/*.js",
|
|
"node_modules/@reduxjs/**/*.cjs",
|
|
"node_modules/@reduxjs/**/*.mjs",
|
|
"node_modules/@reduxjs/toolkit/package.json",
|
|
"!**/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}",
|
|
"!**/._*",
|
|
"node_modules/linkify-it/package.json",
|
|
"node_modules/linkify-it/build/index.cjs.js",
|
|
"node_modules/uc.micro/build/index.cjs.js",
|
|
"!**/{.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,,yarn.lock,.yarn-integrity,.map}",
|
|
"!**/*.js.map",
|
|
"!**/*.ts",
|
|
"node_modules/spellchecker/build/Release/*.node",
|
|
"node_modules/websocket/build/Release/*.node",
|
|
"node_modules/libsession_util_nodejs/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/react-draggable/build/cjs/*.js",
|
|
"node_modules/react-draggable/build/cjs/utils/*.js",
|
|
"!build/*.js",
|
|
"build/afterPackHook.js",
|
|
"build/launcher-script.sh",
|
|
"!node_modules/@signalapp/better-sqlite3/deps/*",
|
|
"!node_modules/@signalapp/better-sqlite3/src/*",
|
|
"!node_modules/@signalapp/better-sqlite3/build/Release/obj/*",
|
|
"node_modules/@signalapp/better-sqlite3/build/Release/better_sqlite3.node",
|
|
"!node_modules/libsession_util_nodejs/libsession-util/*",
|
|
"!node_modules/libsession_util_nodejs/src/*",
|
|
"ts/webworker/workers/node/libsession/*.node",
|
|
"!dev-app-update.yml"
|
|
]
|
|
}
|
|
}
|