Signal-Desktop/package.json

474 lines
17 KiB
JSON

{
"name": "signal-desktop",
"productName": "Signal",
"description": "Private messaging from your desktop",
"desktopName": "signal.desktop",
"repository": "https://github.com/signalapp/Signal-Desktop.git",
"version": "5.27.0-beta.1",
"license": "AGPL-3.0-only",
"author": {
"name": "Open Whisper Systems",
"email": "support@signal.org"
},
"main": "app/main.js",
"scripts": {
"postinstall": "yarn build:acknowledgments && yarn build:fuses && patch-package && yarn electron:install-app-deps && rimraf node_modules/dtrace-provider",
"postuninstall": "yarn build:acknowledgments",
"start": "electron .",
"generate": "npm-run-all build-protobuf transpile sass get-expire-time copy-and-concat",
"build-release": "yarn run build",
"sign-release": "node ts/updater/generateSignature.js",
"notarize": "node ts/build/notarize.js",
"get-strings": "node ts/scripts/get-strings.js",
"get-expire-time": "node ts/scripts/get-expire-time.js",
"copy-and-concat": "node ts/scripts/copy-and-concat.js",
"sass": "npm-run-all sass-manifest sass-manifest-bridge",
"sass-base": "node-sass --source-map true --importer node_modules/node-sass-import-once/index.js",
"sass-manifest": "yarn sass-base stylesheets/manifest.scss stylesheets/manifest.css",
"sass-manifest-bridge": "yarn sass-base stylesheets/manifest_bridge.scss stylesheets/manifest_bridge.css",
"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",
"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",
"prepare-beta-build": "node scripts/prepare_beta_build.js",
"prepare-alpha-build": "node scripts/prepare_alpha_build.js",
"prepare-alpha-version": "node scripts/prepare_alpha_version.js",
"prepare-windows-cert": "node scripts/prepare_windows_cert.js",
"publish-to-apt": "NAME=$npm_package_name VERSION=$npm_package_version ./aptly.sh",
"test": "yarn test-node && yarn test-electron",
"test-electron": "node ts/build/test-electron.js",
"test-release": "node ts/build/test-release.js",
"test-node": "electron-mocha --file test/setup-test-node.js --recursive test/app test/modules ts/test-node ts/test-both",
"test-node-coverage": "nyc --reporter=lcov --reporter=text mocha --recursive test/app test/modules ts/test-node ts/test-both",
"eslint": "eslint --cache .",
"lint": "yarn format --list-different && yarn eslint",
"lint-deps": "node ts/util/lint/linter.js",
"lint-license-comments": "ts-node ts/util/lint/license_comments.ts",
"format": "prettier --write \"*.{html,css,js,json,md,scss,ts,tsx}\" \"./**/*.{html,css,js,json,md,scss,ts,tsx}\"",
"transpile": "tsc",
"clean-transpile-once": "rimraf app/**/*.js app/*.js ts/**/*.js ts/*.js tsconfig.tsbuildinfo",
"clean-transpile": "yarn run clean-transpile-once && yarn run clean-transpile-once",
"open-coverage": "open coverage/lcov-report/index.html",
"ready": "npm-run-all --print-label clean-transpile generate --parallel lint lint-deps test-node test-electron",
"dev": "run-p --print-label dev:*",
"dev:transpile": "yarn run transpile --watch --preserveWatchOutput",
"dev:webpack": "cross-env NODE_ENV=development webpack serve --mode development",
"dev:typed-scss": "yarn build:typed-scss -w",
"dev:storybook": "cross-env SIGNAL_ENV=storybook start-storybook -p 6006 -s ./",
"storybook:axe": "build-storybook && axe-storybook",
"build": "run-s --print-label generate build:typed-scss build:webpack build:fuses:release build:release build:fuses build:zip",
"build:acknowledgments": "node scripts/generate-acknowledgments.js",
"build:dev": "run-s --print-label generate build:typed-scss build:webpack",
"build:typed-scss": "tsm sticker-creator",
"build:webpack": "run-p build:webpack:sticker-creator build:webpack:preload build:webpack:sql-worker build:webpack:heic-worker",
"build:webpack:sticker-creator": "cross-env NODE_ENV=production webpack",
"build:webpack:preload": "cross-env NODE_ENV=production webpack -c webpack-preload.config.ts",
"build:webpack:sql-worker": "cross-env NODE_ENV=production webpack -c webpack-sql-worker.config.ts",
"build:webpack:heic-worker": "cross-env NODE_ENV=production webpack -c webpack-heic-worker.config.ts",
"build:electron": "electron-builder --config.extraMetadata.environment=$SIGNAL_ENV",
"build:release": "cross-env SIGNAL_ENV=production yarn build:electron -- --config.directories.output=release",
"build:fuses": "node scripts/fuse-electron.js",
"build:fuses:release": "node scripts/fuse-electron.js --release",
"build:zip": "node ts/scripts/zip-macos-release.js",
"preverify:ts": "yarn build:typed-scss",
"verify": "run-p --print-label verify:*",
"verify:ts": "tsc --noEmit",
"electron:install-app-deps": "electron-builder install-app-deps"
},
"optionalDependencies": {
"fs-xattr": "0.3.0"
},
"dependencies": {
"@popperjs/core": "2.9.2",
"@react-spring/web": "9.2.6",
"@signalapp/signal-client": "0.11.1",
"@sindresorhus/is": "0.8.0",
"@types/fabric": "4.5.3",
"abort-controller": "3.0.0",
"array-move": "2.1.0",
"axe-core": "4.1.4",
"backbone": "1.4.0",
"better-sqlite3": "https://github.com/signalapp/better-sqlite3#92ed9e36351577fe007d139fbd7b4f3e797a8454",
"bezier-easing": "2.1.0",
"blob-util": "2.0.2",
"blueimp-load-image": "5.14.0",
"blurhash": "1.1.3",
"classnames": "2.2.5",
"config": "1.28.1",
"copy-text-to-clipboard": "2.1.0",
"dashdash": "1.14.1",
"emoji-datasource": "7.0.2",
"emoji-datasource-apple": "7.0.2",
"emoji-regex": "9.2.2",
"encoding": "0.1.13",
"fabric": "4.6.0",
"fast-glob": "3.2.1",
"filesize": "3.6.1",
"firstline": "1.2.1",
"focus-trap-react": "8.8.1",
"form-data": "4.0.0",
"fs-extra": "5.0.0",
"fuse.js": "3.4.4",
"glob": "7.1.6",
"google-libphonenumber": "3.2.17",
"got": "11.8.2",
"heic-convert": "^1.2.4",
"history": "4.9.0",
"humanize-duration": "3.27.1",
"intl-tel-input": "17.0.13",
"jquery": "3.5.0",
"js-yaml": "3.13.1",
"linkify-it": "2.2.0",
"lodash": "4.17.21",
"long": "4.0.0",
"lru-cache": "6.0.0",
"mac-screen-capture-permissions": "2.0.0",
"memoizee": "0.4.14",
"mkdirp": "0.5.2",
"moment": "2.29.1",
"mustache": "2.3.0",
"node-fetch": "2.6.1",
"node-forge": "0.10.0",
"normalize-path": "3.0.0",
"os-locale": "3.0.1",
"p-map": "2.1.0",
"p-props": "4.0.0",
"p-queue": "6.6.2",
"parchment": "1.1.4",
"pify": "3.0.0",
"pino": "6.11.1",
"pino-multi-stream": "5.3.0",
"protobufjs": "6.10.2",
"proxy-agent": "5.0.0",
"quill": "1.3.7",
"quill-delta": "4.0.1",
"react": "16.8.3",
"react-blurhash": "0.1.2",
"react-contextmenu": "2.11.0",
"react-dom": "16.8.3",
"react-dropzone": "10.1.7",
"react-hot-loader": "4.12.11",
"react-measure": "2.3.0",
"react-popper": "2.2.5",
"react-quill": "2.0.0-beta.2",
"react-redux": "7.1.0",
"react-router-dom": "5.0.1",
"react-sortable-hoc": "1.9.1",
"react-virtualized": "9.21.0",
"read-last-lines": "1.8.0",
"redux": "4.0.2",
"redux-logger": "3.0.6",
"redux-promise-middleware": "6.1.0",
"redux-thunk": "2.3.0",
"redux-ts-utils": "3.2.2",
"reselect": "4.1.2",
"rimraf": "2.6.2",
"ringrtc": "https://github.com/signalapp/signal-ringrtc-node.git#7564aff3d10f7c9b70134a0dc8acdfe8512f75e1",
"rotating-file-stream": "2.1.5",
"sanitize.css": "11.0.0",
"semver": "5.4.1",
"sharp": "0.29.3",
"split2": "4.0.0",
"testcheck": "1.0.0-rc.2",
"typeface-inter": "3.10.0",
"underscore": "1.12.1",
"uuid": "3.3.2",
"websocket": "1.0.28",
"zod": "3.5.1"
},
"devDependencies": {
"@babel/core": "7.14.3",
"@babel/plugin-proposal-class-properties": "7.7.4",
"@babel/plugin-proposal-nullish-coalescing-operator": "7.14.5",
"@babel/plugin-proposal-optional-chaining": "7.13.8",
"@babel/plugin-transform-runtime": "7.8.3",
"@babel/plugin-transform-typescript": "7.16.1",
"@babel/preset-react": "7.7.4",
"@babel/preset-typescript": "7.16.0",
"@chanzuckerberg/axe-storybook-testing": "3.0.2",
"@electron/fuses": "1.5.0",
"@storybook/addon-actions": "5.1.11",
"@storybook/addon-knobs": "5.1.11",
"@storybook/addons": "5.1.11",
"@storybook/react": "5.1.11",
"@types/backbone": "1.4.5",
"@types/better-sqlite3": "7.4.0",
"@types/blueimp-load-image": "5.14.1",
"@types/chai": "4.2.18",
"@types/chai-as-promised": "7.1.4",
"@types/classnames": "2.2.3",
"@types/config": "0.0.39",
"@types/dashdash": "1.14.0",
"@types/filesize": "3.6.0",
"@types/fs-extra": "5.0.5",
"@types/google-libphonenumber": "7.4.14",
"@types/history": "4.7.2",
"@types/humanize-duration": "^3.18.1",
"@types/intl-tel-input": "17.0.4",
"@types/jquery": "3.5.6",
"@types/js-yaml": "3.12.0",
"@types/linkify-it": "2.1.0",
"@types/lodash": "4.14.106",
"@types/long": "4.0.1",
"@types/lru-cache": "5.1.0",
"@types/memoizee": "0.4.2",
"@types/mkdirp": "0.5.2",
"@types/mocha": "9.0.0",
"@types/mustache": "4.1.2",
"@types/node": "14.14.37",
"@types/node-fetch": "2.5.7",
"@types/node-forge": "0.9.5",
"@types/normalize-path": "3.0.0",
"@types/pify": "3.0.2",
"@types/pino": "6.3.6",
"@types/pino-multi-stream": "5.1.0",
"@types/quill": "1.3.10",
"@types/react": "16.8.6",
"@types/react-dom": "16.8.2",
"@types/react-measure": "2.0.5",
"@types/react-redux": "7.1.2",
"@types/react-router-dom": "4.3.4",
"@types/react-sortable-hoc": "0.6.5",
"@types/react-virtualized": "9.18.12",
"@types/redux-logger": "3.0.7",
"@types/rimraf": "2.0.2",
"@types/semver": "5.5.0",
"@types/sharp": "0.29.4",
"@types/sinon": "10.0.2",
"@types/split2": "3.2.1",
"@types/storybook__addon-actions": "3.4.3",
"@types/storybook__addon-knobs": "5.0.3",
"@types/storybook__react": "4.0.2",
"@types/terser-webpack-plugin": "5.0.3",
"@types/underscore": "1.10.3",
"@types/uuid": "3.4.4",
"@types/webpack-dev-server": "3.11.3",
"@types/websocket": "1.0.0",
"@types/yargs": "17.0.7",
"@typescript-eslint/eslint-plugin": "5.6.0",
"@typescript-eslint/parser": "5.6.0",
"arraybuffer-loader": "1.0.3",
"asar": "3.1.0",
"babel-core": "7.0.0-bridge.0",
"babel-loader": "8.0.6",
"babel-plugin-lodash": "3.3.4",
"chai": "4.3.4",
"chai-as-promised": "7.1.1",
"core-js": "2.6.9",
"cross-env": "5.2.0",
"css-loader": "3.2.0",
"electron": "16.0.4",
"electron-builder": "22.14.5",
"electron-mocha": "11.0.2",
"electron-notarize": "0.1.1",
"eslint": "7.7.0",
"eslint-config-airbnb-typescript-prettier": "4.2.0",
"eslint-config-prettier": "6.11.0",
"eslint-plugin-import": "2.22.0",
"eslint-plugin-mocha": "9.0.0",
"eslint-plugin-more": "1.0.0",
"eslint-plugin-react": "7.20.6",
"file-loader": "4.2.0",
"html-webpack-plugin": "5.3.1",
"mocha": "9.1.3",
"mocha-testcheck": "1.0.0-rc.0",
"node-gyp": "7.1.2",
"node-sass": "6.0.1",
"node-sass-import-once": "1.2.0",
"npm-run-all": "4.1.5",
"nyc": "11.4.1",
"patch-package": "6.4.7",
"playwright": "1.17.1",
"prettier": "2.4.1",
"react-docgen-typescript": "1.2.6",
"sass-loader": "10.2.0",
"sinon": "11.1.1",
"style-loader": "1.0.0",
"terser-webpack-plugin": "5.1.1",
"ts-loader": "4.1.0",
"ts-node": "8.3.0",
"typed-scss-modules": "4.1.1",
"typescript": "4.4.2",
"webpack": "5.30.0",
"webpack-cli": "4.6.0",
"webpack-dev-server": "3.11.2"
},
"resolutions": {
"@storybook/react/@storybook/core/node-fetch": "2.6.1",
"fabric/canvas": "https://registry.yarnpkg.com/nop/-/nop-1.0.0.tgz",
"fabric/jsdom": "https://registry.yarnpkg.com/nop/-/nop-1.0.0.tgz",
"fast-glob/glob-parent": "5.1.2",
"read-last-lines/mz/thenify-all/thenify": "3.3.1",
"sharp/color/color-string": "1.7.4"
},
"engines": {
"node": "16.9.1"
},
"build": {
"appId": "org.whispersystems.signal-desktop",
"mac": {
"asarUnpack": [
"**/*.node"
],
"artifactName": "${name}-mac-${arch}-${version}.${ext}",
"category": "public.app-category.social-networking",
"darkModeSupport": true,
"hardenedRuntime": true,
"entitlements": "./build/entitlements.mac.plist",
"icon": "build/icons/mac/icon.icns",
"publish": [
{
"provider": "generic",
"url": "https://updates.signal.org/desktop"
}
],
"target": [
{
"target": "zip",
"arch": [
"x64",
"arm64"
]
},
{
"target": "dmg",
"arch": [
"x64",
"arm64"
]
}
],
"bundleVersion": "1"
},
"win": {
"asarUnpack": [
"**/*.node",
"node_modules/spellchecker/vendor/hunspell_dictionaries",
"node_modules/sharp"
],
"artifactName": "${name}-win-${version}.${ext}",
"certificateSubjectName": "Signal Messenger, LLC",
"certificateSha1": "8C9A0B5C852EC703D83EF7BFBCEB54B796073759",
"signingHashAlgorithms": [
"sha256"
],
"publisherName": "Signal Messenger, LLC",
"icon": "build/icons/win/icon.ico",
"publish": [
{
"provider": "generic",
"url": "https://updates.signal.org/desktop"
}
],
"target": [
"nsis"
]
},
"nsis": {
"deleteAppDataOnUninstall": true
},
"linux": {
"category": "Network;InstantMessaging;Chat",
"desktop": {
"StartupWMClass": "Signal"
},
"asarUnpack": [
"**/*.node",
"node_modules/spellchecker/vendor/hunspell_dictionaries",
"node_modules/sharp"
],
"target": [
"deb"
],
"icon": "build/icons/png"
},
"deb": {
"depends": [
"libnotify4",
"libxtst6",
"libnss3",
"libasound2",
"libxss1"
]
},
"protocols": {
"name": "sgnl-url-scheme",
"schemes": [
"sgnl",
"signalcaptcha"
]
},
"beforeBuild": "scripts/install-cross-deps.js",
"asarUnpack": [
"ts/workers/heicConverter.bundle.js",
"ts/sql/mainWorker.bundle.js",
"node_modules/better-sqlite3/build/Release/better_sqlite3.node"
],
"files": [
"package.json",
"config/default.json",
"config/${env.SIGNAL_ENV}.json",
"config/local-${env.SIGNAL_ENV}.json",
"background.html",
"about.html",
"screenShare.html",
"settings.html",
"permissions_popup.html",
"debug_log.html",
"loading.html",
"_locales/**",
"protos/*",
"js/**",
"libtextsecure/**",
"ts/**/*.js",
"ts/*.js",
"stylesheets/*.css",
"!js/register.js",
"app/*",
"preload.bundle.js",
"preload_utils.js",
"main.js",
"images/**",
"fonts/**",
"sounds/*",
"build/icons",
"node_modules/**",
"sticker-creator/preload.js",
"sticker-creator/dist/**",
"!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*",
"!node_modules/spellchecker/vendor/hunspell/**/*",
"!**/node_modules/*/{CHANGELOG.md,README.md,README,readme.md,readme,test,__tests__,tests,powered-test,example,examples,*.d.ts,.snyk-*.flag,benchmark}",
"!**/node_modules/.bin",
"!**/node_modules/**/build/**",
"node_modules/intl-tel-input/build/**",
"!**/node_modules/**/prebuilds/**",
"!**/*.{o,hprof,orig,pyc,pyo,rbc}",
"!**/._*",
"!**/{.DS_Store,.git,.hg,.svn,CVS,RCS,SCCS,__pycache__,thumbs.db,.gitignore,.gitattributes,.flowconfig,.yarn-metadata.json,.idea,appveyor.yml,.travis.yml,circle.yml,npm-debug.log,.nyc_output,yarn.lock,.yarn-integrity}",
"node_modules/spellchecker/build/Release/*.node",
"node_modules/websocket/build/Release/*.node",
"!node_modules/websocket/builderror.log",
"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/sharp/build/**/*${arch}*.node",
"!node_modules/sharp/{install,src,vendor}",
"!node_modules/sharp/vendor",
"node_modules/sharp/vendor/*/*${arch}*/**",
"!node_modules/sharp/vendor/*/*${arch}*/**/include/**",
"!node_modules/better-sqlite3/deps/*",
"!node_modules/better-sqlite3/src/*",
"node_modules/better-sqlite3/build/Release/better_sqlite3.node",
"node_modules/@signalapp/signal-client/prebuilds/${platform}-${arch}/*.node",
"node_modules/ringrtc/build/${platform}/*${arch}*.node",
"node_modules/mac-screen-capture-permissions/build/Release/*.node",
"!**/node_modules/react-dom/*/*.development.js",
"!node_modules/.cache"
]
}
}