diff --git a/.changeset/optional-bindings-peer.md b/.changeset/optional-bindings-peer.md new file mode 100644 index 0000000..6931954 --- /dev/null +++ b/.changeset/optional-bindings-peer.md @@ -0,0 +1,14 @@ +--- +"@xmtp/convos-cli": patch +--- + +Mark the `@xmtp/node-bindings` peer dependency as optional. + +convos-cli only ever imports types from `@xmtp/node-bindings`; at runtime the +bindings arrive through `@xmtp/node-sdk`'s exact-pinned dependency. A required +peer makes pnpm's `autoInstallPeers` fetch a second, registry-latest bindings +build in workspaces that pin bindings only via `pnpm.overrides` — a native +addon compiled against a different node-sdk than the one in the tree. Optional +peers are never auto-installed and still resolve to the single in-graph +bindings, so type imports keep working and the sdk/bindings compile contract +stays intact. diff --git a/package.json b/package.json index beae91e..420a765 100644 --- a/package.json +++ b/package.json @@ -109,6 +109,11 @@ "@xmtp/node-bindings": ">=1.11.0-dev <1.13.0", "@xmtp/node-sdk": ">=6.0.0-dev <6.3.0" }, + "peerDependenciesMeta": { + "@xmtp/node-bindings": { + "optional": true + } + }, "devDependencies": { "@changesets/changelog-github": "^0.7.0", "@changesets/cli": "^2.31.0",