Skip to content

Commit ff9dfe8

Browse files
authored
Merge pull request #216 from bsv-blockchain/chore/sdk-peer-deps
refactor(deps): @bsv/sdk as peerDependency across published libraries
2 parents dcd9d33 + 58f4654 commit ff9dfe8

31 files changed

Lines changed: 463 additions & 184 deletions

File tree

.github/workflows/ci.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,12 @@ jobs:
4040
continue-on-error: true
4141
run: node scripts/check-versions.mjs
4242

43+
- name: Check @bsv/sdk peer-dependency contract
44+
# Blocking. Published packages/** libraries must declare @bsv/sdk as a
45+
# peerDependency (wide range), never a regular dependency — duplicate SDK
46+
# copies become incompatible nominal types for downstream consumers.
47+
run: node scripts/check-sdk-peer.mjs
48+
4349
- name: Determine changed scope
4450
# On PRs, restrict build/lint/test to packages with changes (plus dependents)
4551
# via pnpm's `...[BASE]` filter. Push events run the full matrix.

packages/helpers/amountinator/package.json

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@bsv/amountinator",
3-
"version": "2.0.2",
3+
"version": "2.1.0",
44
"description": "Currency amount conversion",
55
"author": "Peer-to-peer Privacy Systems Research, LLC & BSV Association",
66
"license": "Open BSV License",
@@ -32,10 +32,10 @@
3232
"jest": "^30.4.2",
3333
"ts-jest": "^29.4.11",
3434
"ts-node": "^10.9.2",
35-
"typescript": "^6.0.3"
35+
"typescript": "^6.0.3",
36+
"@bsv/sdk": "workspace:^"
3637
},
3738
"dependencies": {
38-
"@bsv/sdk": "^2.1.6",
3939
"@bsv/wallet-toolbox-client": "^2.1.30"
4040
},
4141
"keywords": [
@@ -44,5 +44,13 @@
4444
"conversion",
4545
"satoshis",
4646
"wallet"
47-
]
47+
],
48+
"peerDependencies": {
49+
"@bsv/sdk": "^2"
50+
},
51+
"peerDependenciesMeta": {
52+
"@bsv/sdk": {
53+
"optional": false
54+
}
55+
}
4856
}

packages/helpers/bsv-wallet-helper/package.json

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@bsv/wallet-helper",
3-
"version": "0.0.7",
3+
"version": "0.1.0",
44
"description": "",
55
"main": "dist/index.js",
66
"module": "dist/index.mjs",
@@ -33,7 +33,6 @@
3333
"license": "ISC",
3434
"type": "commonjs",
3535
"dependencies": {
36-
"@bsv/sdk": "^2.1.6",
3736
"@bsv/wallet-toolbox-client": "^2.1.30"
3837
},
3938
"devDependencies": {
@@ -45,7 +44,8 @@
4544
"ts-standard": "^12.0.2",
4645
"tslib": "^2.8.1",
4746
"tsup": "^8.5.1",
48-
"typescript": "^6.0.3"
47+
"typescript": "^6.0.3",
48+
"@bsv/sdk": "workspace:^"
4949
},
5050
"ts-standard": {
5151
"project": "tsconfig.eslint.json",
@@ -56,5 +56,13 @@
5656
"bugs": {
5757
"url": "https://github.com/bsv-blockchain/ts-stack/issues"
5858
},
59-
"homepage": "https://github.com/bsv-blockchain/ts-stack/tree/main/packages/helpers/bsv-wallet-helper#readme"
59+
"homepage": "https://github.com/bsv-blockchain/ts-stack/tree/main/packages/helpers/bsv-wallet-helper#readme",
60+
"peerDependencies": {
61+
"@bsv/sdk": "^2"
62+
},
63+
"peerDependenciesMeta": {
64+
"@bsv/sdk": {
65+
"optional": false
66+
}
67+
}
6068
}

packages/helpers/did-client/package.json

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@bsv/did-client",
3-
"version": "1.1.3",
3+
"version": "1.2.0",
44
"description": "Discover DID records with ease",
55
"publishConfig": {
66
"access": "public"
@@ -48,10 +48,10 @@
4848
"typescript": "^6.0.3",
4949
"typescript-eslint": "^8.61.0",
5050
"webpack": "^5.107.2",
51-
"webpack-cli": "^7.0.3"
51+
"webpack-cli": "^7.0.3",
52+
"@bsv/sdk": "workspace:^"
5253
},
5354
"dependencies": {
54-
"@bsv/sdk": "^2.1.6",
5555
"@bsv/wallet-toolbox-client": "^2.1.30"
5656
},
5757
"overrides": {
@@ -72,5 +72,13 @@
7272
"overlay",
7373
"identity",
7474
"decentralized-identifier"
75-
]
75+
],
76+
"peerDependencies": {
77+
"@bsv/sdk": "^2"
78+
},
79+
"peerDependenciesMeta": {
80+
"@bsv/sdk": {
81+
"optional": false
82+
}
83+
}
7684
}

packages/helpers/did/package.json

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@bsv/did",
3-
"version": "0.1.1",
3+
"version": "0.2.0",
44
"description": "SD-JWT VC and did:key helpers for BSV SDK identities",
55
"publishConfig": {
66
"access": "public"
@@ -47,7 +47,6 @@
4747
"author": "Peer-to-peer Privacy Systems Research, LLC & BSV Association",
4848
"license": "Open BSV License",
4949
"dependencies": {
50-
"@bsv/sdk": "^2.1.6",
5150
"qrcode": "^1.5.4"
5251
},
5352
"devDependencies": {
@@ -58,7 +57,8 @@
5857
"ts-jest": "^29.4.11",
5958
"ts-standard": "^12.0.2",
6059
"tsconfig-to-dual-package": "^1.2.0",
61-
"typescript": "^6.0.3"
60+
"typescript": "^6.0.3",
61+
"@bsv/sdk": "workspace:^"
6262
},
6363
"repository": {
6464
"type": "git",
@@ -68,5 +68,13 @@
6868
"bugs": {
6969
"url": "https://github.com/bsv-blockchain/ts-stack/issues"
7070
},
71-
"homepage": "https://github.com/bsv-blockchain/ts-stack/tree/main/packages/helpers/did#readme"
71+
"homepage": "https://github.com/bsv-blockchain/ts-stack/tree/main/packages/helpers/did#readme",
72+
"peerDependencies": {
73+
"@bsv/sdk": "^2"
74+
},
75+
"peerDependenciesMeta": {
76+
"@bsv/sdk": {
77+
"optional": false
78+
}
79+
}
7280
}

packages/helpers/fund-wallet/package.json

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@bsv/fund-wallet",
33
"private": false,
4-
"version": "1.3.2",
4+
"version": "1.4.0",
55
"description": "fund a metanet wallet",
66
"license": "ISC",
77
"author": "deggen",
@@ -21,7 +21,6 @@
2121
"test": "exit 0"
2222
},
2323
"dependencies": {
24-
"@bsv/sdk": "^2.1.6",
2524
"@bsv/wallet-toolbox": "^2.1.30",
2625
"chalk": "^5.6.2",
2726
"crypto": "^1.0.1",
@@ -30,7 +29,8 @@
3029
},
3130
"devDependencies": {
3231
"@types/node": "^25.9.3",
33-
"typescript": "^6.0.3"
32+
"typescript": "^6.0.3",
33+
"@bsv/sdk": "workspace:^"
3434
},
3535
"files": [
3636
"dist"
@@ -43,5 +43,13 @@
4343
"bugs": {
4444
"url": "https://github.com/bsv-blockchain/ts-stack/issues"
4545
},
46-
"homepage": "https://github.com/bsv-blockchain/ts-stack/tree/main/packages/helpers/fund-wallet#readme"
46+
"homepage": "https://github.com/bsv-blockchain/ts-stack/tree/main/packages/helpers/fund-wallet#readme",
47+
"peerDependencies": {
48+
"@bsv/sdk": "^2"
49+
},
50+
"peerDependenciesMeta": {
51+
"@bsv/sdk": {
52+
"optional": false
53+
}
54+
}
4755
}

packages/helpers/simple/package.json

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@bsv/simple",
3-
"version": "0.3.1",
3+
"version": "0.4.0",
44
"description": "Simplified, modular helper library for BSV blockchain development",
55
"main": "dist/index.js",
66
"types": "dist/index.d.ts",
@@ -46,7 +46,6 @@
4646
"license": "MIT",
4747
"dependencies": {
4848
"@bsv/message-box-client": "^2.1.2",
49-
"@bsv/sdk": "^2.1.6",
5049
"@bsv/wallet-toolbox": "^2.1.30",
5150
"@bsv/wallet-toolbox-client": "^2.1.30"
5251
},
@@ -65,7 +64,8 @@
6564
"dotenv": "^17.4.2",
6665
"jest": "^30.4.2",
6766
"ts-standard": "^12.0.2",
68-
"typescript": "^6.0.3"
67+
"typescript": "^6.0.3",
68+
"@bsv/sdk": "workspace:^"
6969
},
7070
"files": [
7171
"dist",
@@ -74,5 +74,13 @@
7474
"bugs": {
7575
"url": "https://github.com/bsv-blockchain/ts-stack/issues"
7676
},
77-
"homepage": "https://github.com/bsv-blockchain/ts-stack/tree/main/packages/helpers/simple#readme"
77+
"homepage": "https://github.com/bsv-blockchain/ts-stack/tree/main/packages/helpers/simple#readme",
78+
"peerDependencies": {
79+
"@bsv/sdk": "^2"
80+
},
81+
"peerDependenciesMeta": {
82+
"@bsv/sdk": {
83+
"optional": false
84+
}
85+
}
7886
}

packages/helpers/ts-templates/package.json

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@bsv/templates",
3-
"version": "1.5.0",
3+
"version": "1.6.0",
44
"type": "module",
55
"description": "BSV Blockchain Script Templates",
66
"main": "dist/cjs/mod.js",
@@ -59,9 +59,16 @@
5959
"ts-jest": "^29.4.11",
6060
"ts-standard": "^12.0.2",
6161
"tsconfig-to-dual-package": "^1.2.0",
62-
"typescript": "^6.0.3"
62+
"typescript": "^6.0.3",
63+
"@bsv/sdk": "workspace:^"
6364
},
64-
"dependencies": {
65-
"@bsv/sdk": "^2.1.6"
65+
"dependencies": {},
66+
"peerDependencies": {
67+
"@bsv/sdk": "^2"
68+
},
69+
"peerDependenciesMeta": {
70+
"@bsv/sdk": {
71+
"optional": false
72+
}
6673
}
6774
}

packages/messaging/authsocket-client/package.json

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@bsv/authsocket-client",
3-
"version": "2.0.3",
3+
"version": "2.1.0",
44
"publishConfig": {
55
"access": "public"
66
},
@@ -53,7 +53,6 @@
5353
},
5454
"homepage": "https://github.com/bsv-blockchain/ts-stack/tree/main/packages/messaging/authsocket-client#readme",
5555
"dependencies": {
56-
"@bsv/sdk": "^2.1.6",
5756
"socket.io-client": "^4.8.1"
5857
},
5958
"devDependencies": {
@@ -67,6 +66,15 @@
6766
"tsconfig-to-dual-package": "^1.2.0",
6867
"typescript": "^6.0.3",
6968
"webpack": "^5.107.2",
70-
"webpack-cli": "^7.0.3"
69+
"webpack-cli": "^7.0.3",
70+
"@bsv/sdk": "workspace:^"
71+
},
72+
"peerDependencies": {
73+
"@bsv/sdk": "^2"
74+
},
75+
"peerDependenciesMeta": {
76+
"@bsv/sdk": {
77+
"optional": false
78+
}
7179
}
7280
}

packages/messaging/authsocket/package.json

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@bsv/authsocket",
3-
"version": "2.0.2",
3+
"version": "2.1.0",
44
"publishConfig": {
55
"access": "public"
66
},
@@ -55,7 +55,6 @@
5555
},
5656
"homepage": "https://github.com/bsv-blockchain/ts-stack/tree/main/packages/messaging/authsocket#readme",
5757
"dependencies": {
58-
"@bsv/sdk": "^2.1.6",
5958
"socket.io": "^4.8.1"
6059
},
6160
"devDependencies": {
@@ -71,6 +70,15 @@
7170
"tsconfig-to-dual-package": "^1.2.0",
7271
"typescript": "^6.0.3",
7372
"webpack": "^5.107.2",
74-
"webpack-cli": "^7.0.3"
73+
"webpack-cli": "^7.0.3",
74+
"@bsv/sdk": "workspace:^"
75+
},
76+
"peerDependencies": {
77+
"@bsv/sdk": "^2"
78+
},
79+
"peerDependenciesMeta": {
80+
"@bsv/sdk": {
81+
"optional": false
82+
}
7583
}
7684
}

0 commit comments

Comments
 (0)