{
  "name": "@metamask/profile-sync-controller",
  "version": "28.0.2",
  "description": "The profile sync helps developers synchronize data across multiple clients and devices in a privacy-preserving way. All data saved in the user storage database is encrypted client-side to preserve privacy. The user storage provides a modular design, giving developers the flexibility to construct and manage their storage spaces in a way that best suits their needs",
  "keywords": [
    "MetaMask",
    "Ethereum"
  ],
  "homepage": "https://github.com/MetaMask/core/tree/main/packages/profile-sync-controller#readme",
  "bugs": {
    "url": "https://github.com/MetaMask/core/issues"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/MetaMask/core.git"
  },
  "license": "MIT",
  "sideEffects": false,
  "exports": {
    ".": {
      "import": {
        "types": "./dist/index.d.mts",
        "default": "./dist/index.mjs"
      },
      "require": {
        "types": "./dist/index.d.cts",
        "default": "./dist/index.cjs"
      }
    },
    "./sdk": {
      "import": {
        "types": "./dist/sdk/index.d.mts",
        "default": "./dist/sdk/index.mjs"
      },
      "require": {
        "types": "./dist/sdk/index.d.cts",
        "default": "./dist/sdk/index.cjs"
      }
    },
    "./auth": {
      "import": {
        "types": "./dist/controllers/authentication/index.d.mts",
        "default": "./dist/controllers/authentication/index.mjs"
      },
      "require": {
        "types": "./dist/controllers/authentication/index.d.cts",
        "default": "./dist/controllers/authentication/index.cjs"
      }
    },
    "./auth/mocks": {
      "import": {
        "types": "./dist/controllers/authentication/mocks/index.d.mts",
        "default": "./dist/controllers/authentication/mocks/index.mjs"
      },
      "require": {
        "types": "./dist/controllers/authentication/mocks/index.d.cts",
        "default": "./dist/controllers/authentication/mocks/index.cjs"
      }
    },
    "./user-storage": {
      "import": {
        "types": "./dist/controllers/user-storage/index.d.mts",
        "default": "./dist/controllers/user-storage/index.mjs"
      },
      "require": {
        "types": "./dist/controllers/user-storage/index.d.cts",
        "default": "./dist/controllers/user-storage/index.cjs"
      }
    },
    "./user-storage/mocks": {
      "import": {
        "types": "./dist/controllers/user-storage/mocks/index.d.mts",
        "default": "./dist/controllers/user-storage/mocks/index.mjs"
      },
      "require": {
        "types": "./dist/controllers/user-storage/mocks/index.d.cts",
        "default": "./dist/controllers/user-storage/mocks/index.cjs"
      }
    },
    "./package.json": "./package.json"
  },
  "main": "./dist/index.cjs",
  "types": "./dist/index.d.cts",
  "files": [
    "dist/",
    "auth/",
    "user-storage/",
    "sdk/"
  ],
  "scripts": {
    "build": "ts-bridge --project tsconfig.build.json --verbose --clean --no-references",
    "build:all": "ts-bridge --project tsconfig.build.json --verbose --clean",
    "build:docs": "typedoc",
    "changelog:update": "../../scripts/update-changelog.sh @metamask/profile-sync-controller",
    "changelog:validate": "../../scripts/validate-changelog.sh @metamask/profile-sync-controller",
    "generate-method-action-types": "yarn generate-method-action-types:authentication \"$@\" && yarn generate-method-action-types:user-storage \"$@\"",
    "generate-method-action-types:authentication": "tsx ../../scripts/generate-method-action-types.ts src/controllers/authentication",
    "generate-method-action-types:user-storage": "tsx ../../scripts/generate-method-action-types.ts src/controllers/user-storage",
    "since-latest-release": "../../scripts/since-latest-release.sh",
    "test": "NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter",
    "test:clean": "NODE_OPTIONS=--experimental-vm-modules jest --clearCache",
    "test:verbose": "NODE_OPTIONS=--experimental-vm-modules jest --verbose",
    "test:watch": "NODE_OPTIONS=--experimental-vm-modules jest --watch"
  },
  "dependencies": {
    "@metamask/address-book-controller": "^7.1.1",
    "@metamask/base-controller": "^9.0.1",
    "@metamask/keyring-controller": "^25.1.1",
    "@metamask/messenger": "^1.0.0",
    "@metamask/snaps-controllers": "^19.0.0",
    "@metamask/snaps-sdk": "^11.0.0",
    "@metamask/snaps-utils": "^12.1.2",
    "@metamask/utils": "^11.9.0",
    "@noble/ciphers": "^1.3.0",
    "@noble/hashes": "^1.8.0",
    "immer": "^9.0.6",
    "loglevel": "^1.8.1",
    "siwe": "^2.3.2"
  },
  "devDependencies": {
    "@lavamoat/allow-scripts": "^3.0.4",
    "@lavamoat/preinstall-always-fail": "^2.1.0",
    "@metamask/auto-changelog": "^3.4.4",
    "@metamask/keyring-api": "^21.6.0",
    "@metamask/keyring-internal-api": "^10.0.0",
    "@metamask/providers": "^22.1.0",
    "@ts-bridge/cli": "^0.6.4",
    "@types/jest": "^29.5.14",
    "deepmerge": "^4.2.2",
    "ethers": "^6.12.0",
    "jest": "^29.7.0",
    "jest-environment-jsdom": "^29.7.0",
    "nock": "^13.3.1",
    "ts-jest": "^29.2.5",
    "tsx": "^4.20.5",
    "typedoc": "^0.25.13",
    "typedoc-plugin-missing-exports": "^2.0.0",
    "typescript": "~5.3.3",
    "webextension-polyfill": "^0.12.0"
  },
  "peerDependencies": {
    "@metamask/providers": "^22.0.0",
    "webextension-polyfill": "^0.10.0 || ^0.11.0 || ^0.12.0"
  },
  "engines": {
    "node": "^18.18 || >=20"
  },
  "publishConfig": {
    "access": "public",
    "registry": "https://registry.npmjs.org/"
  },
  "lavamoat": {
    "allowScripts": {}
  }
}