{
  "name": "signal-desktop",
  "productName": "Signal",
  "description": "Private messaging from your desktop",
  "repository": "https://github.com/signalapp/Signal-Desktop.git",
  "version": "1.15.5-beta.1",
  "license": "GPL-3.0",
  "author": {
    "name": "Open Whisper Systems",
    "email": "support@signal.org"
  },
  "main": "main.js",
  "scripts": {
    "postinstall": "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": "build  --config.extraMetadata.environment=$SIGNAL_ENV",
    "build-release": "SIGNAL_ENV=production npm run build -- --config.directories.output=release",
    "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": "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",
    "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 ts/*.js",
    "open-coverage": "open coverage/lcov-report/index.html",
    "styleguide": "styleguidist server"
  },
  "dependencies": {
    "@sindresorhus/is": "^0.8.0",
    "archiver": "^2.1.1",
    "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",
    "electron-config": "^1.0.0",
    "electron-editor-context-menu": "^1.1.1",
    "electron-is-dev": "^0.3.0",
    "@journeyapps/sqlcipher": "https://github.com/scottnonnenberg-signal/node-sqlcipher.git#ed4f4d179ac010c6347b291cbd4c2ebe5c773741",
    "electron-unhandled": "https://github.com/scottnonnenberg-signal/electron-unhandled.git#7496187472aa561d39fcd4c843a54ffbef0a388c",
    "electron-updater": "^2.21.10",
    "emoji-datasource": "4.0.0",
    "emoji-datasource-apple": "4.0.0",
    "emoji-js": "^3.4.0",
    "emoji-panel": "https://github.com/scottnonnenberg-signal/emoji-panel.git#v0.5.5",
    "filesize": "^3.6.1",
    "firstline": "^1.2.1",
    "form-data": "^2.3.2",
    "fs-extra": "^5.0.0",
    "glob": "^7.1.2",
    "google-libphonenumber": "^3.0.7",
    "got": "^8.2.0",
    "intl-tel-input": "^12.1.15",
    "jquery": "^3.3.1",
    "linkify-it": "^2.0.3",
    "lodash": "^4.17.4",
    "mkdirp": "^0.5.1",
    "moment": "^2.21.0",
    "mustache": "^2.3.0",
    "node-fetch": "https://github.com/scottnonnenberg-signal/node-fetch.git#3e5f51e08c647ee5f20c43b15cf2d352d61c36b4",
    "os-locale": "^2.1.0",
    "pify": "^3.0.0",
    "protobufjs": "^6.8.6",
    "proxy-agent": "^2.1.0",
    "react": "^16.2.0",
    "react-contextmenu": "^2.9.2",
    "react-dom": "^16.2.0",
    "read-last-lines": "^1.3.0",
    "rimraf": "^2.6.2",
    "semver": "^5.4.1",
    "spellchecker": "^3.4.4",
    "testcheck": "^1.0.0-rc.2",
    "tmp": "^0.0.33",
    "to-arraybuffer": "^1.0.1",
    "underscore": "^1.9.0",
    "uuid": "^3.3.2",
    "websocket": "^1.0.25"
  },
  "devDependencies": {
    "@types/chai": "^4.1.2",
    "@types/classnames": "^2.2.3",
    "@types/filesize": "^3.6.0",
    "@types/google-libphonenumber": "^7.4.14",
    "@types/jquery": "^3.3.1",
    "@types/linkify-it": "^2.0.3",
    "@types/lodash": "^4.14.106",
    "@types/mocha": "^5.0.0",
    "@types/qs": "^6.5.1",
    "@types/react": "^16.3.1",
    "@types/react-dom": "^16.0.4",
    "@types/semver": "^5.5.0",
    "@types/sinon": "^4.3.1",
    "arraybuffer-loader": "^1.0.3",
    "asar": "^0.14.0",
    "bower": "^1.8.2",
    "chai": "^4.1.2",
    "electron": "2.0.1",
    "electron-builder": "^20.13.5",
    "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",
    "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": "^2.0.0",
    "mocha": "^4.1.0",
    "mocha-testcheck": "^1.0.0-rc.0",
    "node-sass-import-once": "^1.2.0",
    "nsp": "^3.2.1",
    "nyc": "^11.4.1",
    "prettier": "1.12.0",
    "qs": "^6.5.1",
    "react-docgen-typescript": "^1.2.6",
    "react-styleguidist": "^7.0.1",
    "sinon": "^4.4.2",
    "spectron": "^3.8.0",
    "ts-loader": "^4.1.0",
    "tslint": "^5.9.1",
    "tslint-microsoft-contrib": "^5.0.3",
    "tslint-react": "^3.5.1",
    "typescript": "^2.8.1",
    "webpack": "^4.4.1"
  },
  "engines": {
    "node": "^8.9.3"
  },
  "build": {
    "appId": "org.whispersystems.signal-desktop",
    "mac": {
      "artifactName": "${name}-mac-${version}.${ext}",
      "category": "public.app-category.social-networking",
      "icon": "build/icons/mac/icon.icns",
      "publish": [
        {
          "provider": "generic",
          "url": "https://updates.signal.org/desktop"
        }
      ],
      "target": [
        "zip"
      ],
      "bundleVersion": "1"
    },
    "win": {
      "asarUnpack": "node_modules/spellchecker/vendor/hunspell_dictionaries",
      "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"
      ]
    },
    "nsis": {
      "deleteAppDataOnUninstall": true
    },
    "linux": {
      "category": "Network",
      "desktop": {
        "StartupWMClass": "Signal"
      },
      "asarUnpack": "node_modules/spellchecker/vendor/hunspell_dictionaries",
      "target": [
        "deb"
      ],
      "icon": "build/icons/png"
    },
    "deb": {
      "depends": [
        "gconf2",
        "gconf-service",
        "libnotify4",
        "libappindicator1",
        "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",
      "settings.html",
      "permissions_popup.html",
      "debug_log.html",
      "_locales/**",
      "protos/*",
      "js/**",
      "ts/**/*.js",
      "ts/*.js",
      "stylesheets/*.css",
      "!js/register.js",
      "!js/views/standalone_registration_view.js",
      "app/*",
      "preload.js",
      "about_preload.js",
      "settings_preload.js",
      "permissions_popup_preload.js",
      "debug_log_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}",
      "!**/._*",
      "!**/{.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/@journeyapps/sqlcipher/deps/*"
    ]
  }
}
