mirror of
https://github.com/oxen-io/session-desktop.git
synced 2023-12-14 02:12:57 +01:00
379 lines
14 KiB
JSON
379 lines
14 KiB
JSON
{
|
|
"name": "session-desktop",
|
|
"productName": "Session",
|
|
"description": "Private messaging from your desktop",
|
|
"version": "1.10.0",
|
|
"license": "GPL-3.0",
|
|
"author": {
|
|
"name": "Oxen Labs",
|
|
"email": "team@oxen.io"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/oxen-io/session-desktop.git"
|
|
},
|
|
"main": "ts/mains/main_node.js",
|
|
"targets": {
|
|
"sass": {
|
|
"source": "stylesheets/manifest.scss",
|
|
"distDir": "stylesheets/dist/",
|
|
"optimize": true,
|
|
"sourceMap": true
|
|
},
|
|
"util-worker": {
|
|
"source": "ts/webworker/workers/util.worker.ts",
|
|
"distDir": "./ts/webworker/workers/",
|
|
"optimize": true,
|
|
"sourceMap": false,
|
|
"context": "web-worker"
|
|
}
|
|
},
|
|
"resolutions": {
|
|
"minimist": "^1.2.6",
|
|
"getobject": "^1.0.0",
|
|
"ansi-regex": "^4.1.1",
|
|
"async": "^2.6.4",
|
|
"moment": "^2.29.4",
|
|
"lodash": "^4.17.20",
|
|
"ini": "^1.3.6",
|
|
"ejs": "^3.1.7",
|
|
"electron": "^17.2.0",
|
|
"react": "17.0.2",
|
|
"@types/react": "17.0.2",
|
|
"glob-parent": "^6.0.1",
|
|
"got": "^11.8.5",
|
|
"jpeg-js": "^0.4.4"
|
|
},
|
|
"scripts": {
|
|
"start-prod": "cross-env NODE_ENV=production NODE_APP_INSTANCE=devprod$MULTI electron .",
|
|
|
|
"build-everything": "yarn clean && yarn protobuf && grunt && yarn sass && tsc && yarn parcel-util-worker",
|
|
"build-everything:watch": "yarn clean && yarn protobuf && grunt && yarn sass && yarn parcel-util-worker && tsc -w",
|
|
|
|
"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 'stylesheets/dist/' && parcel build --target sass --no-autoinstall --no-cache",
|
|
"sass:watch": "rimraf 'stylesheets/dist/' && parcel watch --target sass --no-autoinstall --no-cache",
|
|
"parcel-util-worker": "rimraf ts/webworker/workers/util.worker.js && parcel build --target util-worker --no-autoinstall --no-cache",
|
|
"clean": "rimraf 'ts/**/*.js' 'ts/*.js' 'ts/*.js.map' 'ts/**/*.js.map' && rimraf tsconfig.tsbuildinfo;",
|
|
|
|
"lint-full": "yarn format-full && eslint . && tslint --format stylish --project .",
|
|
"format-full": "prettier --list-different --write \"*.{css,js,json,scss,ts,tsx}\" \"./**/*.{css,js,json,scss,ts,tsx}\"",
|
|
|
|
"integration-test": "npx playwright test",
|
|
"integration-test-snapshots": "npx playwright test -g 'profile picture' --update-snapshots",
|
|
"test": "mocha -r jsdom-global/register --recursive --exit --timeout 10000 \"./ts/test/**/*_test.js\"",
|
|
"coverage": "nyc --reporter=html mocha -r jsdom-global/register --recursive --exit --timeout 10000 \"./ts/test/**/*_test.js\"",
|
|
|
|
"build-release": "run-script-os",
|
|
"build-release-non-linux": "yarn build-everything && cross-env SIGNAL_ENV=production electron-builder --config.extraMetadata.environment=production --publish=never --config.directories.output=release",
|
|
"build-release:win32": "yarn build-release-non-linux",
|
|
"build-release:macos": "yarn build-release-non-linux",
|
|
"build-release:linux": "yarn sedtoDeb; yarn build-release-non-linux && yarn sedtoAppImage && yarn build-release-non-linux && yarn sedtoDeb",
|
|
"build-release-publish": "run-script-os",
|
|
"build-release-publish-non-linux": "cross-env SIGNAL_ENV=production $(yarn bin)/electron-builder --config.extraMetadata.environment=$SIGNAL_ENV --publish=always",
|
|
"build-release-publish:win32": "yarn build-release-publish-non-linux",
|
|
"build-release-publish:macos": "yarn build-release-publish-non-linux",
|
|
"build-release-publish:linux": "yarn sedtoDeb; yarn build-release-publish-non-linux && yarn sedtoAppImage && yarn build-release-publish-non-linux && yarn sedtoDeb",
|
|
"appImage": "yarn sedtoAppImage; yarn build-release-non-linux; yarn sedtoDeb",
|
|
"sedtoAppImage": "sed -i 's/\"target\": \\[\"deb\", \"rpm\", \"freebsd\"\\]/\"target\": \"AppImage\"/g' package.json",
|
|
"sedtoDeb": "sed -i 's/\"target\": \"AppImage\"/\"target\": \\[\"deb\", \"rpm\", \"freebsd\"\\]/g' package.json",
|
|
"ready": "yarn build-everything && yarn lint-full && yarn test",
|
|
|
|
"postinstall": "yarn patch-package && yarn electron-builder install-app-deps && yarn rebuild-curve25519-js",
|
|
"rebuild-curve25519-js": "cd node_modules/curve25519-js && yarn install && yarn build && cd ../../"
|
|
},
|
|
"dependencies": {
|
|
"@emoji-mart/data": "1.0.2",
|
|
"@reduxjs/toolkit": "^1.4.0",
|
|
"abort-controller": "3.0.0",
|
|
"auto-bind": "^4.0.0",
|
|
"backbone": "1.3.3",
|
|
"better-sqlite3": "https://github.com/oxen-io/session-better-sqlite3#af47530acea25800d22b5e1ae834b709d2bfca40",
|
|
"blob-util": "2.0.2",
|
|
"blueimp-canvas-to-blob": "^3.29.0",
|
|
"blueimp-load-image": "5.14.0",
|
|
"buffer-crc32": "0.2.13",
|
|
"bunyan": "^1.8.15",
|
|
"bytebuffer": "^5.0.1",
|
|
"classnames": "2.2.5",
|
|
"color": "^3.1.2",
|
|
"config": "1.28.1",
|
|
"country-code-lookup": "^0.0.19",
|
|
"curve25519-js": "https://github.com/oxen-io/curve25519-js",
|
|
"dompurify": "^2.0.7",
|
|
"electron-is-dev": "^1.1.0",
|
|
"electron-localshortcut": "^3.2.1",
|
|
"electron-updater": "^4.2.2",
|
|
"emoji-mart": "5.1.0",
|
|
"filesize": "3.6.1",
|
|
"firstline": "1.2.1",
|
|
"fs-extra": "9.0.0",
|
|
"glob": "7.1.2",
|
|
"image-type": "^4.1.0",
|
|
"ip2country": "1.0.1",
|
|
"jsbn": "1.1.0",
|
|
"libsodium-wrappers-sumo": "^0.7.9",
|
|
"linkify-it": "3.0.2",
|
|
"lodash": "^4.17.20",
|
|
"long": "^4.0.0",
|
|
"mic-recorder-to-mp3": "^2.2.2",
|
|
"minimist": "^1.2.6",
|
|
"moment": "^2.29.4",
|
|
"mustache": "2.3.0",
|
|
"nan": "2.14.2",
|
|
"node-fetch": "^2.6.7",
|
|
"os-locale": "5.0.0",
|
|
"p-retry": "^4.2.0",
|
|
"pify": "3.0.0",
|
|
"protobufjs": "^6.11.2",
|
|
"queue-promise": "^2.2.1",
|
|
"rc-slider": "^8.7.1",
|
|
"react": "^17.0.2",
|
|
"react-contexify": "5.0.0",
|
|
"react-dom": "^17.0.2",
|
|
"react-draggable": "^4.4.4",
|
|
"react-h5-audio-player": "^3.2.0",
|
|
"react-intersection-observer": "^8.30.3",
|
|
"react-mentions": "^4.2.0",
|
|
"react-portal": "^4.2.0",
|
|
"react-qr-svg": "^2.2.1",
|
|
"react-redux": "7.2.1",
|
|
"react-toastify": "^6.0.9",
|
|
"react-use": "^17.2.1",
|
|
"react-virtualized": "9.22.3",
|
|
"read-last-lines-ts": "^1.2.1",
|
|
"redux": "4.0.1",
|
|
"redux-logger": "3.0.6",
|
|
"redux-persist": "^6.0.0",
|
|
"redux-promise-middleware": "^6.1.2",
|
|
"reselect": "4.0.0",
|
|
"rimraf": "2.6.2",
|
|
"sanitize.css": "^12.0.1",
|
|
"semver": "5.4.1",
|
|
"styled-components": "5.1.1",
|
|
"uuid": "8.3.2"
|
|
},
|
|
"devDependencies": {
|
|
"@parcel/transformer-sass": "2.5.0",
|
|
"@playwright/test": "1.16.3",
|
|
"@types/backbone": "1.4.2",
|
|
"@types/better-sqlite3": "7.4.0",
|
|
"@types/blueimp-load-image": "5.14.4",
|
|
"@types/buffer-crc32": "^0.2.0",
|
|
"@types/bunyan": "^1.8.8",
|
|
"@types/bytebuffer": "^5.0.41",
|
|
"@types/chai": "4.2.18",
|
|
"@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-localshortcut": "^3.1.0",
|
|
"@types/emoji-mart": "3.0.9",
|
|
"@types/filesize": "3.6.0",
|
|
"@types/firstline": "^2.0.2",
|
|
"@types/fs-extra": "5.0.5",
|
|
"@types/libsodium-wrappers-sumo": "^0.7.5",
|
|
"@types/linkify-it": "2.0.3",
|
|
"@types/lodash": "4.14.106",
|
|
"@types/mocha": "5.0.0",
|
|
"@types/mustache": "^4.1.2",
|
|
"@types/node-fetch": "^2.5.7",
|
|
"@types/pify": "3.0.2",
|
|
"@types/rc-slider": "^8.6.5",
|
|
"@types/react": "^17.0.2",
|
|
"@types/react-dom": "^17.0.2",
|
|
"@types/react-mentions": "^4.1.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",
|
|
"@types/redux-logger": "3.0.7",
|
|
"@types/rimraf": "2.0.2",
|
|
"@types/semver": "5.5.0",
|
|
"@types/sinon": "9.0.4",
|
|
"@types/styled-components": "^5.1.4",
|
|
"@types/uuid": "8.3.4",
|
|
"asar": "3.1.0",
|
|
"buffer": "^6.0.3",
|
|
"chai": "^4.3.4",
|
|
"chai-as-promised": "^7.1.1",
|
|
"chai-bytes": "^0.1.2",
|
|
"cross-env": "^6.0.3",
|
|
"crypto-browserify": "^3.12.0",
|
|
"electron": "^17.2.0",
|
|
"electron-builder": "22.8.0",
|
|
"electron-notarize": "^0.2.0",
|
|
"esbuild": "^0.14.29",
|
|
"eslint": "^8.15.0",
|
|
"eslint-config-airbnb-base": "^15.0.0",
|
|
"eslint-config-prettier": "^8.5.0",
|
|
"eslint-plugin-import": "^2.26.0",
|
|
"eslint-plugin-mocha": "^10.0.4",
|
|
"eslint-plugin-more": "^1.0.5",
|
|
"events": "^3.3.0",
|
|
"grunt": "1.5.3",
|
|
"grunt-cli": "1.4.3",
|
|
"grunt-contrib-concat": "2.1.0",
|
|
"grunt-contrib-copy": "1.0.0",
|
|
"grunt-contrib-watch": "1.1.0",
|
|
"grunt-exec": "3.0.0",
|
|
"grunt-gitinfo": "0.1.9",
|
|
"jsdom": "^19.0.0",
|
|
"jsdom-global": "^3.0.2",
|
|
"mocha": "10.0.0",
|
|
"node-gyp": "9.0.0",
|
|
"node-loader": "^2.0.0",
|
|
"nyc": "^15.1.0",
|
|
"parcel": "2.5.0",
|
|
"patch-package": "^6.4.7",
|
|
"path-browserify": "^1.0.1",
|
|
"playwright": "1.16.3",
|
|
"postinstall-prepare": "^1.0.1",
|
|
"prettier": "1.19.0",
|
|
"process": "^0.11.10",
|
|
"run-script-os": "^1.1.6",
|
|
"sinon": "9.0.2",
|
|
"stream-browserify": "^3.0.0",
|
|
"ts-loader": "^9.2.8",
|
|
"ts-mock-imports": "^1.3.0",
|
|
"tslint": "5.19.0",
|
|
"tslint-microsoft-contrib": "6.0.0",
|
|
"tslint-react": "3.6.0",
|
|
"typescript": "^4.6.3"
|
|
},
|
|
"engines": {
|
|
"node": "16.13.0"
|
|
},
|
|
"build": {
|
|
"appId": "com.loki-project.messenger-desktop",
|
|
"afterSign": "build/notarize.js",
|
|
"afterPack": "build/afterPackHook.js",
|
|
"artifactName": "${name}-${os}-${arch}-${version}.${ext}",
|
|
"extraResources": {
|
|
"from": "./build/launcher-script.sh",
|
|
"to": "./launcher-script.sh"
|
|
},
|
|
"mac": {
|
|
"category": "public.app-category.social-networking",
|
|
"icon": "build/icon-mac.icns",
|
|
"target": ["dmg", "zip"],
|
|
"bundleVersion": "1",
|
|
"hardenedRuntime": true,
|
|
"gatekeeperAssess": false,
|
|
"entitlements": "build/entitlements.mac.plist",
|
|
"entitlementsInherit": "build/entitlements.mac.plist",
|
|
"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",
|
|
"publisherName": "Oxen Labs",
|
|
"verifyUpdateCodeSignature": false,
|
|
"icon": "build/icon.ico",
|
|
"target": [
|
|
"nsis"
|
|
]
|
|
},
|
|
"nsis": {
|
|
"deleteAppDataOnUninstall": true,
|
|
"oneClick": false,
|
|
"allowToChangeInstallationDirectory": true
|
|
},
|
|
"linux": {
|
|
"category": "Network",
|
|
"desktop": {
|
|
"StartupWMClass": "Session"
|
|
},
|
|
"asarUnpack": "node_modules/spellchecker/vendor/hunspell_dictionaries",
|
|
"target": ["deb", "rpm", "freebsd"],
|
|
"icon": "build/icon-linux.icns"
|
|
},
|
|
"asarUnpack": [
|
|
"node_modules/better-sqlite3/build/Release/better_sqlite3.node",
|
|
"ts/mains/main_node.js"
|
|
],
|
|
"deb": {
|
|
"depends": [
|
|
"libnotify4",
|
|
"libxtst6",
|
|
"libnss3",
|
|
"libasound2",
|
|
"libxss1"
|
|
]
|
|
},
|
|
"files": [
|
|
"package.json",
|
|
"config/default.json",
|
|
"config/${env.SIGNAL_ENV}.json",
|
|
"config/local-${env.SIGNAL_ENV}.json",
|
|
"background.html",
|
|
"about.html",
|
|
"password.html",
|
|
"debug_log.html",
|
|
"_locales/**",
|
|
"mnemonic_languages/**",
|
|
"protos/*",
|
|
"js/**",
|
|
"ts/**/*.js",
|
|
"ts/*.js",
|
|
"!dist/**",
|
|
"stylesheets/dist/*",
|
|
"!js/register.js",
|
|
"preload.js",
|
|
"about_preload.js",
|
|
"settings_preload.js",
|
|
"debug_log_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/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}",
|
|
"!**/._*",
|
|
"!**/{.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/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/better-sqlite3/deps/*",
|
|
"!node_modules/better-sqlite3/src/*",
|
|
"node_modules/better-sqlite3/build/Release/better_sqlite3.node",
|
|
"!dev-app-update.yml"
|
|
]
|
|
}
|
|
}
|