395 lines
13 KiB
JSON
395 lines
13 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": "1.31.0-beta.2",
|
|
"license": "GPL-3.0",
|
|
"author": {
|
|
"name": "Open Whisper Systems",
|
|
"email": "support@signal.org"
|
|
},
|
|
"main": "main.js",
|
|
"scripts": {
|
|
"postinstall": "patch-package && electron-builder install-app-deps && rimraf node_modules/dtrace-provider",
|
|
"start": "electron .",
|
|
"grunt": "grunt",
|
|
"icon-gen": "electron-icon-maker --input=images/icon_1024.png --output=./build",
|
|
"generate": "yarn icon-gen && yarn grunt",
|
|
"build-release": "npm run build",
|
|
"sign-release": "node ts/updater/generateSignature.js",
|
|
"notarize": "node ts/build/notarize.js",
|
|
"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 prepare_beta_build.js",
|
|
"prepare-import-build": "node prepare_import_build.js",
|
|
"publish-to-apt": "NAME=$npm_package_name VERSION=$npm_package_version ./aptly.sh",
|
|
"test": "yarn test-node && yarn test-electron",
|
|
"test-electron": "yarn grunt test",
|
|
"test-node": "electron-mocha --recursive test/app test/modules ts/test",
|
|
"test-node-coverage": "nyc --reporter=lcov --reporter=text mocha --recursive test/app test/modules ts/test",
|
|
"eslint": "eslint .",
|
|
"lint": "yarn format --list-different && yarn lint-windows",
|
|
"lint-windows": "yarn eslint && yarn tslint",
|
|
"lint-deps": "node ts/util/lint/linter.js",
|
|
"tslint": "tslint --format stylish --project .",
|
|
"format": "prettier --write \"*.{css,js,json,md,scss,ts,tsx}\" \"./**/*.{css,js,json,md,scss,ts,tsx}\"",
|
|
"transpile": "tsc",
|
|
"clean-transpile": "rimraf ts/**/*.js && rimraf ts/*.js",
|
|
"open-coverage": "open coverage/lcov-report/index.html",
|
|
"styleguide": "styleguidist server",
|
|
"ready": "yarn clean-transpile && yarn grunt && yarn lint && yarn test-node && yarn test-electron && yarn lint-deps",
|
|
"dev": "run-p --print-label dev:*",
|
|
"dev:grunt": "yarn grunt dev",
|
|
"dev:webpack": "NODE_ENV=development webpack-dev-server --hot",
|
|
"dev:typed-scss": "yarn build:typed-scss -w",
|
|
"dev:storybook": "SIGNAL_ENV=storybook start-storybook -p 6006 -s ./",
|
|
"build": "run-s --print-label build:grunt build:typed-scss build:webpack build:release",
|
|
"build:dev": "run-s --print-label build:grunt build:typed-scss build:webpack",
|
|
"build:grunt": "yarn grunt",
|
|
"build:typed-scss": "tsm sticker-creator",
|
|
"build:webpack": "cross-env NODE_ENV=production webpack",
|
|
"build:electron": "electron-builder --config.extraMetadata.environment=$SIGNAL_ENV",
|
|
"build:release": "cross-env SIGNAL_ENV=production npm run build:electron -- --config.directories.output=release",
|
|
"preverify:ts": "yarn build:typed-scss",
|
|
"verify": "run-p --print-label verify:*",
|
|
"verify:ts": "tsc --noEmit"
|
|
},
|
|
"optionalDependencies": {
|
|
"fs-xattr": "0.3.0"
|
|
},
|
|
"dependencies": {
|
|
"@journeyapps/sqlcipher": "https://github.com/scottnonnenberg-signal/node-sqlcipher.git#00fd0f8a6623c6683280976d2a92b41d09c744bc",
|
|
"@sindresorhus/is": "0.8.0",
|
|
"array-move": "2.1.0",
|
|
"backbone": "1.3.3",
|
|
"blob-util": "1.3.0",
|
|
"blueimp-canvas-to-blob": "3.14.0",
|
|
"blueimp-load-image": "2.18.0",
|
|
"bunyan": "1.8.12",
|
|
"classnames": "2.2.5",
|
|
"config": "1.28.1",
|
|
"copy-text-to-clipboard": "2.1.0",
|
|
"curve25519-n": "https://github.com/scottnonnenberg-signal/node-curve25519.git#1bd0580843dcf836284dee7f1c4dfb4c698f7969",
|
|
"draft-js": "0.10.5",
|
|
"electron-context-menu": "0.11.0",
|
|
"electron-editor-context-menu": "1.1.1",
|
|
"electron-mocha": "8.1.1",
|
|
"electron-notarize": "0.1.1",
|
|
"emoji-datasource": "5.0.1",
|
|
"emoji-datasource-apple": "5.0.1",
|
|
"emoji-regex": "8.0.0",
|
|
"filesize": "3.6.1",
|
|
"firstline": "1.2.1",
|
|
"form-data": "2.3.2",
|
|
"fs-extra": "5.0.0",
|
|
"fuse.js": "3.4.4",
|
|
"glob": "7.1.2",
|
|
"google-libphonenumber": "3.2.6",
|
|
"got": "8.2.0",
|
|
"he": "1.2.0",
|
|
"history": "4.9.0",
|
|
"intl-tel-input": "12.1.15",
|
|
"jquery": "3.4.1",
|
|
"js-yaml": "3.13.1",
|
|
"linkify-it": "2.0.3",
|
|
"lodash": "4.17.13",
|
|
"memoizee": "0.4.14",
|
|
"mkdirp": "0.5.1",
|
|
"moment": "2.21.0",
|
|
"mustache": "2.3.0",
|
|
"node-fetch": "https://github.com/scottnonnenberg-signal/node-fetch.git#3e5f51e08c647ee5f20c43b15cf2d352d61c36b4",
|
|
"node-gyp": "5.0.3",
|
|
"os-locale": "2.1.0",
|
|
"p-map": "2.1.0",
|
|
"p-queue": "5.0.0",
|
|
"pify": "3.0.0",
|
|
"protobufjs": "6.8.6",
|
|
"proxy-agent": "3.0.3",
|
|
"qs": "6.5.1",
|
|
"react": "16.8.3",
|
|
"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": "1.3.7",
|
|
"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.3.0",
|
|
"redux": "4.0.1",
|
|
"redux-logger": "3.0.6",
|
|
"redux-promise-middleware": "6.1.0",
|
|
"redux-ts-utils": "3.2.2",
|
|
"reselect": "4.0.0",
|
|
"rimraf": "2.6.2",
|
|
"sanitize-filename": "1.6.3",
|
|
"sanitize.css": "11.0.0",
|
|
"semver": "5.4.1",
|
|
"sharp": "0.23.0",
|
|
"spellchecker": "3.7.0",
|
|
"tar": "4.4.8",
|
|
"testcheck": "1.0.0-rc.2",
|
|
"tmp": "0.0.33",
|
|
"to-arraybuffer": "1.0.1",
|
|
"typeface-inter": "3.10.0",
|
|
"underscore": "1.9.0",
|
|
"uuid": "3.3.2",
|
|
"websocket": "1.0.28"
|
|
},
|
|
"resolutions": {
|
|
"fbjs/isomorphic-fetch/node-fetch": "https://github.com/scottnonnenberg-signal/node-fetch.git#3e5f51e08c647ee5f20c43b15cf2d352d61c36b4"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/core": "7.7.7",
|
|
"@babel/plugin-proposal-class-properties": "7.7.4",
|
|
"@babel/plugin-transform-runtime": "^7.8.3",
|
|
"@babel/preset-react": "7.7.4",
|
|
"@babel/preset-typescript": "7.7.7",
|
|
"@storybook/addon-actions": "5.1.11",
|
|
"@storybook/addon-knobs": "5.1.11",
|
|
"@storybook/addons": "5.1.11",
|
|
"@storybook/react": "5.1.11",
|
|
"@types/chai": "4.1.2",
|
|
"@types/classnames": "2.2.3",
|
|
"@types/config": "0.0.34",
|
|
"@types/draft-js": "0.10.32",
|
|
"@types/filesize": "3.6.0",
|
|
"@types/fs-extra": "5.0.5",
|
|
"@types/google-libphonenumber": "7.4.14",
|
|
"@types/got": "9.4.1",
|
|
"@types/history": "4.7.2",
|
|
"@types/html-webpack-plugin": "3.2.1",
|
|
"@types/jquery": "3.3.29",
|
|
"@types/js-yaml": "3.12.0",
|
|
"@types/linkify-it": "2.0.3",
|
|
"@types/lodash": "4.14.106",
|
|
"@types/memoizee": "0.4.2",
|
|
"@types/mkdirp": "0.5.2",
|
|
"@types/mocha": "5.0.0",
|
|
"@types/pify": "3.0.2",
|
|
"@types/qs": "6.5.1",
|
|
"@types/react": "16.8.5",
|
|
"@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.23.1",
|
|
"@types/sinon": "4.3.1",
|
|
"@types/storybook__addon-actions": "3.4.3",
|
|
"@types/storybook__addon-knobs": "5.0.3",
|
|
"@types/storybook__react": "4.0.2",
|
|
"@types/uuid": "3.4.4",
|
|
"@types/webpack": "4.39.0",
|
|
"@types/webpack-dev-server": "3.1.7",
|
|
"arraybuffer-loader": "1.0.3",
|
|
"asar": "0.14.0",
|
|
"babel-core": "7.0.0-bridge.0",
|
|
"babel-loader": "8.0.6",
|
|
"babel-plugin-lodash": "3.3.4",
|
|
"bower": "1.8.2",
|
|
"chai": "4.1.2",
|
|
"core-js": "^2.4.0",
|
|
"cross-env": "5.2.0",
|
|
"css-loader": "3.2.0",
|
|
"dashdash": "1.14.1",
|
|
"electron": "6.1.4",
|
|
"electron-builder": "21.2.0",
|
|
"electron-icon-maker": "0.0.3",
|
|
"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",
|
|
"file-loader": "4.2.0",
|
|
"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",
|
|
"html-webpack-plugin": "3.2.0",
|
|
"jsdoc": "3.6.2",
|
|
"mocha": "4.1.0",
|
|
"mocha-testcheck": "1.0.0-rc.0",
|
|
"node-sass": "4.12.0",
|
|
"node-sass-import-once": "1.2.0",
|
|
"npm-run-all": "4.1.5",
|
|
"nyc": "11.4.1",
|
|
"patch-package": "6.1.2",
|
|
"prettier": "1.19.1",
|
|
"react-docgen-typescript": "1.2.6",
|
|
"react-styleguidist": "7.0.1",
|
|
"sass-loader": "7.2.0",
|
|
"sinon": "4.4.2",
|
|
"spectron": "5.0.0",
|
|
"style-loader": "1.0.0",
|
|
"ts-loader": "4.1.0",
|
|
"ts-node": "8.3.0",
|
|
"tslint": "5.13.0",
|
|
"tslint-microsoft-contrib": "6.2.0",
|
|
"tslint-react": "3.6.0",
|
|
"typed-scss-modules": "0.0.11",
|
|
"typescript": "3.3.3333",
|
|
"webpack": "4.39.2",
|
|
"webpack-cli": "3.3.7",
|
|
"webpack-dev-server": "3.8.0"
|
|
},
|
|
"engines": {
|
|
"node": "12.4.0"
|
|
},
|
|
"build": {
|
|
"appId": "org.whispersystems.signal-desktop",
|
|
"mac": {
|
|
"artifactName": "${name}-mac-${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": [
|
|
"zip",
|
|
"dmg"
|
|
],
|
|
"bundleVersion": "1"
|
|
},
|
|
"win": {
|
|
"asarUnpack": [
|
|
"node_modules/spellchecker/vendor/hunspell_dictionaries",
|
|
"node_modules/sharp"
|
|
],
|
|
"artifactName": "${name}-win-${version}.${ext}",
|
|
"certificateSubjectName": "Signal",
|
|
"publisherName": "Signal (Quiet Riddle Ventures, LLC)",
|
|
"icon": "build/icons/win/icon.ico",
|
|
"publish": [
|
|
{
|
|
"provider": "generic",
|
|
"url": "https://updates.signal.org/desktop"
|
|
}
|
|
],
|
|
"target": [
|
|
"nsis"
|
|
],
|
|
"extraFiles": [
|
|
{
|
|
"from": "node_modules/@journeyapps/sqlcipher/build/Release/",
|
|
"to": ".",
|
|
"filter": [
|
|
"msvcp140.dll",
|
|
"vcruntime140.dll"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"nsis": {
|
|
"deleteAppDataOnUninstall": true
|
|
},
|
|
"linux": {
|
|
"category": "Network;InstantMessaging;Chat",
|
|
"desktop": {
|
|
"StartupWMClass": "Signal"
|
|
},
|
|
"asarUnpack": [
|
|
"node_modules/spellchecker/vendor/hunspell_dictionaries",
|
|
"node_modules/sharp"
|
|
],
|
|
"target": [
|
|
"deb"
|
|
],
|
|
"icon": "build/icons/png"
|
|
},
|
|
"deb": {
|
|
"depends": [
|
|
"libnotify4",
|
|
"libappindicator1",
|
|
"libxtst6",
|
|
"libnss3",
|
|
"libasound2",
|
|
"libxss1"
|
|
]
|
|
},
|
|
"protocols": {
|
|
"name": "sgnl-url-scheme",
|
|
"schemes": [
|
|
"sgnl"
|
|
]
|
|
},
|
|
"files": [
|
|
"package.json",
|
|
"config/default.json",
|
|
"config/${env.SIGNAL_ENV}.json",
|
|
"config/local-${env.SIGNAL_ENV}.json",
|
|
"background.html",
|
|
"about.html",
|
|
"settings.html",
|
|
"permissions_popup.html",
|
|
"debug_log.html",
|
|
"_locales/**",
|
|
"protos/*",
|
|
"js/**",
|
|
"ts/**/*.js",
|
|
"ts/*.js",
|
|
"stylesheets/*.css",
|
|
"!js/register.js",
|
|
"app/*",
|
|
"preload.js",
|
|
"preload_utils.js",
|
|
"about_preload.js",
|
|
"settings_preload.js",
|
|
"permissions_popup_preload.js",
|
|
"debug_log_preload.js",
|
|
"main.js",
|
|
"images/**",
|
|
"fonts/**",
|
|
"build/assets",
|
|
"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}",
|
|
"!**/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,.nyc_output,yarn.lock,.yarn-integrity}",
|
|
"node_modules/spellchecker/build/Release/*.node",
|
|
"node_modules/websocket/build/Release/*.node",
|
|
"node_modules/curve25519-n/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/sharp/build/**",
|
|
"!node_modules/@journeyapps/sqlcipher/deps/*",
|
|
"!node_modules/@journeyapps/sqlcipher/build/*",
|
|
"!node_modules/@journeyapps/sqlcipher/lib/binding/node-*",
|
|
"!node_modules/@journeyapps/sqlcipher/lib/binding/electron-*/msvcp140.dll",
|
|
"!node_modules/@journeyapps/sqlcipher/lib/binding/electron-*/vcruntime140.dll"
|
|
]
|
|
}
|
|
}
|