{
  "$schema": "./package.schema.json",
  "name": "signal-desktop",
  "productName": "Signal",
  "description": "Private messaging from your desktop",
  "desktopName": "signal.desktop",
  "repository": "https://github.com/signalapp/Signal-Desktop.git",
  "version": "7.41.0-beta.1",
  "license": "AGPL-3.0-only",
  "author": {
    "name": "Signal Messenger, LLC",
    "email": "support@signal.org"
  },
  "browserslist": "last 1 chrome versions",
  "main": "app/main.js",
  "scripts": {
    "postinstall": "npm run build:acknowledgments && patch-package --error-on-fail --error-on-warn && npm run electron:install-app-deps",
    "postuninstall": "npm run build:acknowledgments",
    "start": "electron .",
    "generate": "npm-run-all build-protobuf build:esbuild build:icu-types build:compact-locales sass get-expire-time copy-components",
    "build-release": "npm run build",
    "sign-release": "node ts/updater/generateSignature.js",
    "notarize": "echo 'No longer necessary'",
    "get-strings": "ts-node ts/scripts/get-strings.ts && ts-node ts/scripts/gen-nsis-script.ts && ts-node ts/scripts/gen-locales-config.ts && run-p get-strings:locales get-strings:countries get-strings:emoji mark-unusued-strings-deleted && run-p build:compact-locales",
    "get-strings:locales": "ts-node ./ts/scripts/build-localized-display-names.ts locales ts/scripts/locale-data/locale-display-names.csv build/locale-display-names.json",
    "get-strings:countries": "ts-node ./ts/scripts/build-localized-display-names.ts countries ts/scripts/locale-data/country-display-names.csv build/country-display-names.json",
    "get-strings:emoji": "ts-node ./ts/scripts/get-emoji-locales.ts",
    "push-strings": "node ts/scripts/remove-strings.js && node ts/scripts/push-strings.js",
    "mark-unusued-strings-deleted": "ts-node ./ts/scripts/mark-unused-strings-deleted.ts",
    "get-expire-time": "node ts/scripts/get-expire-time.js",
    "copy-components": "node ts/scripts/copy.js",
    "sass": "sass stylesheets/manifest.scss:stylesheets/manifest.css stylesheets/manifest_bridge.scss:stylesheets/manifest_bridge.css",
    "build-module-protobuf": "pbjs --target static-module --force-long --no-typeurl --no-verify --no-create --no-convert --wrap commonjs --out ts/protobuf/compiled.js protos/*.proto && pbts --no-comments --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": "npm run build-module-protobuf",
    "clean-protobuf": "npm run 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_tagged_version.js alpha",
    "prepare-axolotl-build": "node scripts/prepare_axolotl_build.js",
    "prepare-axolotl-version": "node scripts/prepare_tagged_version.js axolotl",
    "prepare-adhoc-build": "node scripts/prepare_adhoc_build.js",
    "prepare-adhoc-version": "node scripts/prepare_tagged_version.js adhoc",
    "prepare-staging-build": "node scripts/prepare_staging_build.js",
    "prepare-windows-cert": "node scripts/prepare_windows_cert.js",
    "test": "run-s test-node test-electron test-lint-intl test-eslint",
    "test-electron": "node ts/scripts/test-electron.js",
    "test-release": "node ts/scripts/test-release.js",
    "test-node": "cross-env LANG=en-us electron-mocha --timeout 10000 --file test/setup-test-node.js --recursive ts/test-node ts/test-both",
    "test-mock": "mocha --require ts/test-mock/setup-ci.js ts/test-mock/**/*_test.js",
    "test-eslint": "mocha .eslint/rules/**/*.test.js --ignore-leaks",
    "test-lint-intl": "ts-node ./build/intl-linter/linter.ts --test",
    "eslint": "eslint --cache . --cache-strategy content --max-warnings 0",
    "lint": "run-s --print-label lint-prettier lint-css check:types eslint",
    "lint-deps": "node ts/util/lint/linter.js",
    "lint-license-comments": "ts-node ts/util/lint/license_comments.ts",
    "lint-prettier": "pprettier --check '**/*.{ts,tsx,d.ts,js,json,html,scss,md,yml,yaml}' '!node_modules/**'",
    "lint-intl": "ts-node ./build/intl-linter/linter.ts",
    "lint-css": "stylelint '**/*.scss' --cache",
    "danger:local": "./danger/danger.sh local --base main",
    "danger:ci": "./danger/danger.sh ci --base origin/main",
    "format": "pprettier --write '**/*.{ts,tsx,d.ts,js,json,html,scss,md,yml,yaml}' '!node_modules/**'",
    "svgo": "svgo --multipass images/**/*.svg",
    "transpile": "run-p check:types build:esbuild",
    "check:types": "tsc --noEmit",
    "clean-transpile": "node ./scripts/clean-transpile.js",
    "ready": "npm-run-all --print-label clean-transpile generate --parallel lint lint-deps lint-intl test-node test-electron",
    "dev": "npm run build-protobuf && cross-env SIGNAL_ENV=storybook storybook dev --port 6006",
    "dev:transpile": "run-p \"check:types -- --watch\" dev:esbuild dev:icu-types dev:protobuf",
    "dev:esbuild": "node scripts/esbuild.js --watch",
    "dev:sass": "npm run sass -- --watch",
    "dev:icu-types": "chokidar ./_locales/en/messages.json --initial --command \"npm run build:icu-types\"",
    "dev:protobuf": "chokidar ./protos/**/*.proto --command \"npm run build-protobuf\"",
    "build:storybook": "npm run build-protobuf && cross-env SIGNAL_ENV=storybook storybook build",
    "test:storybook": "npm run build:storybook && run-p --race test:storybook:*",
    "test:storybook:serve": "http-server storybook-static --port 6006 --silent",
    "test:storybook:test": "wait-on http://127.0.0.1:6006/ --timeout 5000 && test-storybook",
    "build": "run-s --print-label generate build:esbuild:prod build:release",
    "build-win32-all": "run-s --print-label generate build:esbuild:prod build:release-win32-all",
    "build-linux": "run-s generate build:esbuild:prod && npm run build:release -- --publish=never",
    "build:acknowledgments": "node scripts/generate-acknowledgments.js",
    "build:dns-fallback": "node ts/scripts/generate-dns-fallback.js",
    "build:icu-types": "node ts/scripts/generate-icu-types.js",
    "build:compact-locales": "node ts/scripts/generate-compact-locales.js",
    "build:tray-icons": "ts-node ts/scripts/generate-tray-icons.ts",
    "build:dev": "run-s --print-label generate build:esbuild:prod",
    "build:esbuild": "node scripts/esbuild.js",
    "build:esbuild:prod": "node scripts/esbuild.js --prod",
    "build:electron": "electron-builder --config.extraMetadata.environment=$SIGNAL_ENV",
    "build:release": "cross-env SIGNAL_ENV=production npm run build:electron -- --config.directories.output=release",
    "build:release-win32-all": "npm run build:release -- --arm64 --x64",
    "build:preload-cache": "node ts/scripts/generate-preload-cache.js",
    "verify": "run-p --print-label verify:*",
    "verify:ts": "tsc --noEmit",
    "electron:install-app-deps": "electron-builder install-app-deps",
    "check-upgradeable-deps": "ts-node ts/scripts/check-upgradeable-deps.ts",
    "react-devtools": "react-devtools",
    "run-with-devtools": "cross-env REACT_DEVTOOLS=1 run-p --print-label react-devtools start"
  },
  "optionalDependencies": {
    "fs-xattr": "0.3.0"
  },
  "dependencies": {
    "@formatjs/fast-memoize": "2.2.3",
    "@formatjs/icu-messageformat-parser": "2.9.3",
    "@formatjs/intl-localematcher": "0.2.32",
    "@indutny/dicer": "0.3.2",
    "@indutny/mac-screen-share": "1.0.13",
    "@indutny/range-finder": "1.3.4",
    "@indutny/simple-windows-notifications": "2.0.7",
    "@indutny/sneequals": "4.0.0",
    "@popperjs/core": "2.11.8",
    "@react-aria/utils": "3.25.3",
    "@react-spring/web": "9.7.5",
    "@signalapp/better-sqlite3": "9.0.10",
    "@signalapp/libsignal-client": "0.65.4",
    "@signalapp/ringrtc": "2.49.3",
    "@types/fabric": "4.5.3",
    "backbone": "1.6.0",
    "blob-util": "2.0.2",
    "blueimp-load-image": "5.16.0",
    "blurhash": "2.0.5",
    "buffer": "6.0.3",
    "changedpi": "1.0.4",
    "cirbuf": "1.0.2",
    "classnames": "2.5.1",
    "config": "3.3.12",
    "copy-text-to-clipboard": "2.1.0",
    "dashdash": "2.0.0",
    "direction": "1.0.4",
    "emoji-datasource": "15.1.2",
    "emoji-datasource-apple": "15.1.2",
    "emoji-regex": "10.4.0",
    "encoding": "0.1.13",
    "fabric": "4.6.0",
    "fast-glob": "3.3.2",
    "filesize": "9.0.11",
    "firstline": "2.0.2",
    "focus-trap-react": "10.3.1",
    "form-data": "4.0.1",
    "fs-extra": "11.2.0",
    "fuse.js": "6.5.3",
    "google-libphonenumber": "3.2.39",
    "got": "11.8.5",
    "growing-file": "0.1.3",
    "heic-convert": "2.1.0",
    "humanize-duration": "3.27.1",
    "intl-tel-input": "24.7.0",
    "js-yaml": "4.1.0",
    "linkify-it": "5.0.0",
    "lodash": "4.17.21",
    "long": "5.2.3",
    "lru-cache": "11.0.2",
    "mac-screen-capture-permissions": "2.0.0",
    "memoizee": "0.4.17",
    "moment": "2.30.1",
    "mp4box": "0.5.3",
    "node-fetch": "2.6.7",
    "nop": "1.0.0",
    "normalize-path": "3.0.0",
    "p-map": "2.1.0",
    "p-queue": "6.6.2",
    "p-timeout": "4.1.0",
    "parchment": "1.1.4",
    "pify": "3.0.0",
    "pino": "9.5.0",
    "protobufjs": "7.3.2",
    "proxy-agent": "6.4.0",
    "qrcode-generator": "1.4.4",
    "quill": "1.3.7",
    "quill-delta": "4.0.1",
    "react": "17.0.2",
    "react-aria": "3.35.1",
    "react-aria-components": "1.4.1",
    "react-blurhash": "0.3.0",
    "react-contextmenu": "2.14.0",
    "react-devtools-core": "6.0.1",
    "react-dom": "17.0.2",
    "react-hot-loader": "4.13.1",
    "react-intl": "6.8.7",
    "react-popper": "2.3.0",
    "react-quill": "2.0.0-beta.4",
    "react-redux": "8.1.3",
    "react-router-dom": "5.0.1",
    "react-textarea-autosize": "8.5.5",
    "react-virtualized": "9.22.5",
    "read-last-lines": "1.8.0",
    "redux": "5.0.1",
    "redux-logger": "3.0.6",
    "redux-promise-middleware": "6.2.0",
    "redux-thunk": "3.1.0",
    "reselect": "5.1.1",
    "sanitize.css": "13.0.0",
    "semver": "7.6.3",
    "split2": "4.2.0",
    "type-fest": "4.26.1",
    "urlpattern-polyfill": "10.0.0",
    "uuid": "11.0.2",
    "websocket": "1.0.34",
    "write-file-atomic": "6.0.0",
    "zod": "3.23.8"
  },
  "devDependencies": {
    "@babel/core": "7.26.0",
    "@babel/plugin-proposal-class-properties": "7.18.6",
    "@babel/plugin-proposal-nullish-coalescing-operator": "7.18.6",
    "@babel/plugin-proposal-optional-chaining": "7.21.0",
    "@babel/plugin-transform-runtime": "7.25.9",
    "@babel/plugin-transform-typescript": "7.25.9",
    "@babel/preset-react": "7.25.9",
    "@babel/preset-typescript": "7.26.0",
    "@electron/asar": "3.2.17",
    "@electron/fuses": "1.5.0",
    "@electron/notarize": "2.1.0",
    "@electron/symbolicate-mac": "2.3.1",
    "@formatjs/intl": "2.10.14",
    "@indutny/parallel-prettier": "3.0.0",
    "@indutny/rezip-electron": "2.0.1",
    "@napi-rs/canvas": "0.1.61",
    "@signalapp/mock-server": "10.4.1",
    "@storybook/addon-a11y": "8.4.4",
    "@storybook/addon-actions": "8.4.4",
    "@storybook/addon-controls": "8.4.4",
    "@storybook/addon-interactions": "8.4.4",
    "@storybook/addon-jest": "8.4.4",
    "@storybook/addon-measure": "8.4.4",
    "@storybook/addon-toolbars": "8.4.4",
    "@storybook/addon-viewport": "8.4.4",
    "@storybook/addon-webpack5-compiler-swc": "1.0.5",
    "@storybook/preview-api": "8.4.4",
    "@storybook/react": "8.4.4",
    "@storybook/react-webpack5": "8.4.4",
    "@storybook/test": "8.4.4",
    "@storybook/test-runner": "0.19.1",
    "@types/backbone": "1.4.22",
    "@types/blueimp-load-image": "5.16.6",
    "@types/chai": "4.3.16",
    "@types/chai-as-promised": "7.1.4",
    "@types/config": "3.3.5",
    "@types/dashdash": "1.14.3",
    "@types/debug": "4.1.12",
    "@types/direction": "1.0.0",
    "@types/fs-extra": "11.0.4",
    "@types/google-libphonenumber": "7.4.30",
    "@types/humanize-duration": "3.18.1",
    "@types/intl-tel-input": "18.1.4",
    "@types/js-yaml": "4.0.9",
    "@types/json-to-ast": "2.1.4",
    "@types/linkify-it": "5.0.0",
    "@types/lodash": "4.14.106",
    "@types/memoizee": "0.4.11",
    "@types/mocha": "10.0.9",
    "@types/node": "20.17.6",
    "@types/node-fetch": "2.6.12",
    "@types/normalize-path": "3.0.2",
    "@types/pify": "5.0.4",
    "@types/pixelmatch": "5.2.6",
    "@types/pngjs": "6.0.5",
    "@types/quill": "1.3.10",
    "@types/react": "17.0.45",
    "@types/react-dom": "17.0.17",
    "@types/react-redux": "7.1.34",
    "@types/react-router-dom": "4.3.4",
    "@types/react-virtualized": "9.21.30",
    "@types/redux-logger": "3.0.13",
    "@types/semver": "7.5.8",
    "@types/sinon": "17.0.3",
    "@types/split2": "4.2.3",
    "@types/unzipper": "0.10.10",
    "@types/uuid": "10.0.0",
    "@types/websocket": "1.0.0",
    "@types/write-file-atomic": "4.0.3",
    "@types/yargs": "17.0.33",
    "@typescript-eslint/eslint-plugin": "6.18.1",
    "@typescript-eslint/parser": "6.18.1",
    "axe-core": "4.10.2",
    "babel-core": "7.0.0-bridge.0",
    "babel-loader": "9.2.1",
    "babel-plugin-lodash": "3.3.4",
    "casual": "1.6.2",
    "chai": "4.4.1",
    "chai-as-promised": "7.1.1",
    "chalk": "4.1.2",
    "chokidar-cli": "3.0.0",
    "cross-env": "7.0.3",
    "css-loader": "7.1.2",
    "csv-parse": "5.5.6",
    "danger": "12.3.3",
    "debug": "4.3.7",
    "electron": "33.3.1",
    "electron-builder": "26.0.0-alpha.8",
    "electron-mocha": "13.0.1",
    "endanger": "7.0.4",
    "enquirer": "2.4.1",
    "esbuild": "0.24.0",
    "eslint": "8.56.0",
    "eslint-config-airbnb-typescript-prettier": "5.0.0",
    "eslint-config-prettier": "8.5.0",
    "eslint-plugin-import": "2.26.0",
    "eslint-plugin-local-rules": "1.3.2",
    "eslint-plugin-mocha": "10.1.0",
    "eslint-plugin-more": "1.0.5",
    "eslint-plugin-react": "7.31.10",
    "execa": "5.1.1",
    "html-webpack-plugin": "5.6.3",
    "http-server": "14.1.1",
    "json-to-ast": "2.1.0",
    "log-symbols": "4.1.0",
    "mini-css-extract-plugin": "2.9.2",
    "mocha": "10.8.2",
    "node-gyp": "11.0.0",
    "node-gyp-build": "4.8.4",
    "npm-run-all": "4.1.5",
    "p-limit": "3.1.0",
    "patch-package": "8.0.0",
    "pixelmatch": "5.3.0",
    "playwright": "1.45.0",
    "pngjs": "7.0.0",
    "prettier": "3.3.3",
    "protobufjs-cli": "1.1.1",
    "react-devtools": "6.0.1",
    "resedit": "2.0.2",
    "resolve-url-loader": "5.0.0",
    "sass": "1.80.7",
    "sass-loader": "16.0.3",
    "sinon": "19.0.2",
    "storybook": "8.4.4",
    "style-loader": "4.0.0",
    "stylelint": "16.10.0",
    "stylelint-config-css-modules": "4.4.0",
    "stylelint-config-recommended-scss": "14.1.0",
    "stylelint-use-logical-spec": "5.0.1",
    "svgo": "3.3.2",
    "terser-webpack-plugin": "5.3.10",
    "ts-node": "10.9.2",
    "typescript": "5.6.3",
    "unzipper": "0.12.3",
    "wait-on": "8.0.1",
    "webpack": "5.96.1",
    "webpack-cli": "5.1.4",
    "webpack-dev-server": "5.1.0"
  },
  "overrides": {
    "@storybook/react": {
      "@storybook/core": {
        "node-fetch": "2.6.1"
      }
    },
    "@types/react": "17.0.45",
    "@types/react-dom": "17.0.17",
    "eslint-config-airbnb-typescript-prettier": {
      "eslint-plugin-prettier": "5.2.1"
    },
    "fabric": {
      "canvas": "$nop",
      "jsdom": "$nop"
    },
    "read-last-lines": {
      "mz": {
        "thenify-all": {
          "thenify": "3.3.1"
        }
      }
    }
  },
  "engines": {
    "node": "20.18.1"
  },
  "build": {
    "appId": "org.whispersystems.signal-desktop",
    "mac": {
      "artifactName": "${name}-mac-${arch}-${version}.${ext}",
      "category": "public.app-category.social-networking",
      "darkModeSupport": true,
      "hardenedRuntime": true,
      "entitlements": "./build/entitlements.mac.plist",
      "entitlementsInherit": "./build/entitlements.mac.inherit.plist",
      "icon": "build/icons/mac/icon.icns",
      "publish": [
        {
          "provider": "generic",
          "url": "https://updates.signal.org/desktop"
        }
      ],
      "mergeASARs": true,
      "releaseInfo": {
        "vendor": {
          "minOSVersion": "20.0.0"
        }
      },
      "sign": "./ts/scripts/sign-macos.js",
      "singleArchFiles": "node_modules/@signalapp/{libsignal-client/prebuilds/**,ringrtc/build/**}",
      "target": [
        {
          "target": "zip",
          "arch": [
            "x64",
            "arm64"
          ]
        },
        {
          "target": "dmg",
          "arch": [
            "x64",
            "arm64",
            "universal"
          ]
        }
      ],
      "bundleVersion": "1"
    },
    "win": {
      "artifactName": "${name}-win-${arch}-${version}.${ext}",
      "certificateSubjectName": "Signal Messenger, LLC",
      "certificateSha1": "8D5E3CD800736C5E1FE459A1F5AA48287D4F6EC6",
      "signingHashAlgorithms": [
        "sha256"
      ],
      "sign": "./ts/scripts/sign-windows.js",
      "publisherName": "Signal Messenger, LLC",
      "icon": "build/icons/win/icon.ico",
      "publish": [
        {
          "provider": "generic",
          "url": "https://updates.signal.org/desktop"
        }
      ],
      "releaseInfo": {
        "vendor": {
          "minOSVersion": "10.0.10240"
        }
      },
      "signDlls": true,
      "signExts": [
        ".node"
      ],
      "target": [
        "nsis"
      ],
      "asarUnpack": [
        "build/icons/win/icon.ico"
      ]
    },
    "nsis": {
      "deleteAppDataOnUninstall": true,
      "differentialPackage": true
    },
    "linux": {
      "category": "Network;InstantMessaging;Chat",
      "target": [
        "deb"
      ],
      "icon": "build/icons/png",
      "publish": []
    },
    "deb": {
      "depends": [
        "libnotify4",
        "libxtst6",
        "libnss3",
        "libasound2",
        "libpulse0",
        "libxss1",
        "libc6 (>= 2.31)",
        "libgtk-3-0",
        "libgbm1",
        "libx11-xcb1"
      ]
    },
    "protocols": {
      "name": "sgnl-url-scheme",
      "schemes": [
        "sgnl",
        "signalcaptcha"
      ]
    },
    "artifactBuildCompleted": "ts/scripts/artifact-build-completed.js",
    "afterSign": "ts/scripts/after-sign.js",
    "afterPack": "ts/scripts/after-pack.js",
    "afterAllArtifactBuild": "ts/scripts/after-all-artifact-build.js",
    "asar": {
      "smartUnpack": false
    },
    "asarUnpack": [
      "**/*.node"
    ],
    "files": [
      "package.json",
      "config/default.json",
      "config/${env.SIGNAL_ENV}.json",
      "config/local-${env.SIGNAL_ENV}.json",
      "bundles/**",
      "background.html",
      "about.html",
      "screenShare.html",
      "settings.html",
      "permissions_popup.html",
      "calling_tools.html",
      "debug_log.html",
      "loading.html",
      {
        "from": "build/compact-locales",
        "to": "_locales",
        "filter": "**/messages.json"
      },
      "js/**",
      "libtextsecure/**",
      "ts/**/*.js",
      "ts/*.js",
      "!ts/scripts/**",
      "!build",
      "!ts/{storybook,test-node,test-mock,test-both,test-electron}",
      "!**/{tsconfig,bower,component}.json",
      "!**/.{github,husky,grenrc,npmrc,nycrc,taprc,bithoundrc}",
      "!**/.testem.json",
      "!**/.babelrc*",
      "!**/.eslintrc*",
      "!**/.prettier*",
      "!**/.jscs*",
      "!**/*travis*.yml",
      "!**/{CHANGES,TODO,CHANGES.md~,README.md~}",
      "!**/*.stories.js",
      "!**/*.jest.js",
      "!**/*.{bak,bnf,flow,patch,markdown,bnf,mli,ts,map}",
      "!node_modules/intl-tel-input/composer.json",
      "!js/register.js",
      "!fixtures",
      "stylesheets/*.css",
      "app/*",
      "!app/*.ts",
      "preload.bundle.js",
      "preload.wrapper.js",
      "preload.bundle.cache",
      "preload_utils.js",
      "main.js",
      "images/**",
      "fonts/**",
      "sounds/*",
      "build/icons",
      "build/available-locales.json",
      "build/locale-display-names.json",
      "build/country-display-names.json",
      "build/dns-fallback.json",
      "build/optional-resources.json",
      "build/jumbomoji.json",
      "node_modules/**",
      "!node_modules/underscore/**",
      "!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/@formatjs/intl-displaynames/**/*",
      "!node_modules/@formatjs/intl-listformat/**/*",
      "!**/node_modules/*/{CHANGELOG.md,README.md,README,readme.md,readme,test,__tests__,tests,powered-test,example,examples,*.d.ts,*d.ts.map,*.js.map,*.gypi,.snyk-*.flag,benchmark}",
      "!**/node_modules/.bin",
      "!**/node_modules/**/build/**",
      "node_modules/intl-tel-input/build/**",
      "!**/node_modules/**/prebuilds/**",
      "!**/*.{o,hprof,orig,pyc,pyo,rbc,c,h,m}",
      "!**/._*",
      "!**/{.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/@signalapp/better-sqlite3/deps/*",
      "!node_modules/@signalapp/better-sqlite3/src/*",
      "node_modules/@signalapp/better-sqlite3/build/Release/better_sqlite3.node",
      "node_modules/@signalapp/libsignal-client/prebuilds/${platform}-${arch}/*.node",
      "!node_modules/@signalapp/ringrtc/scripts/*",
      "node_modules/@signalapp/ringrtc/build/${platform}/*${arch}*.node",
      "node_modules/mac-screen-capture-permissions/build/Release/*.node",
      "node_modules/@indutny/simple-windows-notifications/build/Release/*.node",
      "node_modules/@indutny/mac-screen-share/build/Release/*.node",
      "node_modules/fs-xattr/build/Release/*.node",
      "!node_modules/@indutny/simple-windows-notifications/*.cpp",
      "!node_modules/@indutny/mac-screen-share/*.{mm,h}",
      "!node_modules/libheif-js/libheif",
      "!node_modules/libheif-js/libheif-wasm/libheif-bundle.mjs",
      "!node_modules/libheif-js/libheif-wasm/*.wasm",
      "!node_modules/@react-aria/**",
      "!node_modules/react-aria-components/**",
      "!node_modules/react-virtualized/**",
      "!node_modules/@react-stately/**",
      "!node_modules/@popperjs/**",
      "!node_modules/@internationalized/**",
      "!node_modules/protobufjs/dist/**",
      "node_modules/protobufjs/dist/minimal/**",
      "!**/node_modules/react-dom/*/*.development.js",
      "!node_modules/mp4box/**",
      "node_modules/mp4box/package.json",
      "node_modules/mp4box/dist/mp4box.all.js",
      "!node_modules/.cache",
      "sticker-creator/dist/**"
    ]
  }
}
