Skip to content

Commit f58bf18

Browse files
committed
Merge remote-tracking branch 'origin/main' into feat/webrtc-direct-in-node-js
2 parents 71bf4cb + 06fc82d commit f58bf18

File tree

924 files changed

+51535
-20140
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

924 files changed

+51535
-20140
lines changed

.github/dependabot.yml

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,32 @@
11
version: 2
22
updates:
33
- package-ecosystem: npm
4-
directory: "/"
4+
directories:
5+
- "**/*"
56
schedule:
67
interval: daily
78
time: "10:00"
89
open-pull-requests-limit: 20
910
commit-message:
1011
prefix: "deps"
11-
prefix-development: "deps(dev)"
12+
prefix-development: "chore"
13+
groups:
14+
helia-deps: # group all deps that should be updated when Helia deps need updated
15+
patterns:
16+
- "*helia*"
17+
- "*libp2p*"
18+
- "*multiformats*"
19+
store-deps: # group all blockstore and datastore updates (interface & impl)
20+
patterns:
21+
- "*blockstore*"
22+
- "*datastore*"
23+
kubo-deps: # group kubo, kubo-rpc-client, and ipfsd-ctl updates
24+
patterns:
25+
- "*kubo*"
26+
- "ipfsd-ctl"
1227
- package-ecosystem: "github-actions"
1328
directory: "/"
1429
schedule:
1530
interval: "weekly"
1631
commit-message:
17-
prefix: ci
32+
prefix: chore

.github/workflows/examples.yml

Lines changed: 72 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
- uses: actions/setup-node@v4
1818
with:
1919
node-version: lts/*
20-
- uses: ipfs/aegir/actions/cache-node-modules@master
20+
- uses: ipfs/aegir/actions/cache-node-modules@main
2121

2222
test-examples:
2323
name: Test example ${{ matrix.example.name }}
@@ -27,10 +27,19 @@ jobs:
2727
strategy:
2828
matrix:
2929
example:
30+
- name: js-libp2p-example-browser-pubsub
31+
repo: https://github.com/libp2p/js-libp2p-example-browser-pubsub.git
32+
deps:
33+
- '@libp2p/circuit-relay-v2@$PWD/packages/transport-circuit-relay-v2'
34+
- '@libp2p/dcutr@$PWD/packages/protocol-dcutr'
35+
- '@libp2p/identify@$PWD/packages/protocol-identify'
36+
- '@libp2p/webrtc@$PWD/packages/transport-webrtc'
37+
- '@libp2p/websockets@$PWD/packages/transport-websockets'
38+
- 'libp2p@$PWD/packages/libp2p'
3039
- name: js-libp2p-example-chat
3140
repo: https://github.com/libp2p/js-libp2p-example-chat.git
3241
deps:
33-
- '@libp2p/peer-id-factory@$PWD/packages/peer-id-factory'
42+
- '@libp2p/mdns@$PWD/packages/peer-discovery-mdns'
3443
- '@libp2p/tcp@$PWD/packages/transport-tcp'
3544
- '@libp2p/websockets@$PWD/packages/transport-websockets'
3645
- 'libp2p@$PWD/packages/libp2p'
@@ -47,10 +56,70 @@ jobs:
4756
- '@libp2p/plaintext@$PWD/packages/connection-encrypter-plaintext'
4857
- '@libp2p/tcp@$PWD/packages/transport-tcp'
4958
- 'libp2p@$PWD/packages/libp2p'
59+
- name: js-libp2p-example-custom-protocols
60+
repo: https://github.com/libp2p/js-libp2p-example-custom-protocols.git
61+
deps:
62+
- '@libp2p/tcp@$PWD/packages/transport-tcp'
63+
- '@libp2p/websockets@$PWD/packages/transport-websockets'
64+
- 'libp2p@$PWD/packages/libp2p'
65+
- name: js-libp2p-example-delegated-routing
66+
repo: https://github.com/libp2p/js-libp2p-example-delegated-routing.git
67+
deps:
68+
- 'libp2p@$PWD/packages/libp2p'
69+
- name: js-libp2p-example-discovery-mechanisms
70+
repo: https://github.com/libp2p/js-libp2p-example-discovery-mechanisms.git
71+
deps:
72+
- '@libp2p/bootstrap@$PWD/packages/peer-discovery-bootstrap'
73+
- '@libp2p/circuit-relay-v2@$PWD/packages/transport-circuit-relay-v2'
74+
- '@libp2p/identify@$PWD/packages/protocol-identify'
75+
- '@libp2p/kad-dht@$PWD/packages/kad-dht'
76+
- '@libp2p/mdns@$PWD/packages/peer-discovery-mdns'
77+
- '@libp2p/tcp@$PWD/packages/transport-tcp'
78+
- 'libp2p@$PWD/packages/libp2p'
79+
- name: js-libp2p-example-peer-and-content-routing
80+
repo: https://github.com/libp2p/js-libp2p-example-peer-and-content-routing.git
81+
deps:
82+
- '@libp2p/identify@$PWD/packages/protocol-identify'
83+
- '@libp2p/kad-dht@$PWD/packages/kad-dht'
84+
- '@libp2p/tcp@$PWD/packages/transport-tcp'
85+
- 'libp2p@$PWD/packages/libp2p'
86+
- name: js-libp2p-example-pnet
87+
repo: https://github.com/libp2p/js-libp2p-example-pnet.git
88+
deps:
89+
- '@libp2p/pnet@$PWD/packages/pnet'
90+
- '@libp2p/tcp@$PWD/packages/transport-tcp'
91+
- 'libp2p@$PWD/packages/libp2p'
92+
- name: js-libp2p-example-protocol-and-stream-muxing
93+
repo: https://github.com/libp2p/js-libp2p-example-protocol-and-stream-muxing.git
94+
deps:
95+
- '@libp2p/tcp@$PWD/packages/transport-tcp'
96+
- 'libp2p@$PWD/packages/libp2p'
97+
- name: js-libp2p-example-pubsub
98+
repo: https://github.com/libp2p/js-libp2p-example-pubsub.git
99+
deps:
100+
- '@libp2p/identify@$PWD/packages/protocol-identify'
101+
- '@libp2p/tcp@$PWD/packages/transport-tcp'
102+
- 'libp2p@$PWD/packages/libp2p'
103+
- name: js-libp2p-example-transports
104+
repo: https://github.com/libp2p/js-libp2p-example-transports.git
105+
deps:
106+
- '@libp2p/tcp@$PWD/packages/transport-tcp'
107+
- '@libp2p/websockets@$PWD/packages/transport-websockets'
108+
- 'libp2p@$PWD/packages/libp2p'
109+
- name: js-libp2p-example-webrtc-private-to-private
110+
repo: https://github.com/libp2p/js-libp2p-example-webrtc-private-to-private.git
111+
deps:
112+
- '@libp2p/circuit-relay-v2@$PWD/packages/transport-circuit-relay-v2'
113+
- '@libp2p/identify@$PWD/packages/protocol-identify'
114+
- '@libp2p/ping@$PWD/packages/protocol-ping'
115+
- '@libp2p/webrtc@$PWD/packages/transport-webrtc'
116+
- '@libp2p/websockets@$PWD/packages/transport-websockets'
117+
- 'libp2p@$PWD/packages/libp2p'
50118
steps:
51119
- uses: actions/checkout@v4
52120
- uses: actions/setup-node@v4
53121
with:
54122
node-version: lts/*
55-
- uses: ipfs/aegir/actions/cache-node-modules@master
123+
- uses: ipfs/aegir/actions/cache-node-modules@main
124+
- run: npx playwright install-deps
56125
- run: npx xvfb-maybe aegir test-dependant ${{ matrix.example.repo }} --deps ${{ join(matrix.example.deps, ',') }}

.github/workflows/main.yml

Lines changed: 52 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,12 @@ on:
77
branches:
88
- '**'
99

10+
env:
11+
CACHE_DIRS: |
12+
./interop/dist
13+
./interop/node_modules
14+
./doc/node_modules
15+
1016
jobs:
1117

1218
build:
@@ -16,12 +22,9 @@ jobs:
1622
- uses: actions/setup-node@v4
1723
with:
1824
node-version: lts/*
19-
- uses: ipfs/aegir/actions/cache-node-modules@master
25+
- uses: ipfs/aegir/actions/cache-node-modules@main
2026
with:
21-
directories: |
22-
./interop/dist
23-
./interop/node_modules
24-
./doc/node_modules
27+
directories: ${{ env.CACHE_DIRS }}
2528

2629
check:
2730
needs: build
@@ -31,7 +34,9 @@ jobs:
3134
- uses: actions/setup-node@v4
3235
with:
3336
node-version: lts/*
34-
- uses: ipfs/aegir/actions/cache-node-modules@master
37+
- uses: ipfs/aegir/actions/cache-node-modules@main
38+
with:
39+
directories: ${{ env.CACHE_DIRS }}
3540
- run: npm run --if-present lint
3641
- run: npm run --if-present dep-check
3742
- run: npm run --if-present docs:no-publish
@@ -49,9 +54,11 @@ jobs:
4954
- uses: actions/setup-node@v4
5055
with:
5156
node-version: ${{ matrix.node }}
52-
- uses: ipfs/aegir/actions/cache-node-modules@master
57+
- uses: ipfs/aegir/actions/cache-node-modules@main
58+
with:
59+
directories: ${{ env.CACHE_DIRS }}
5360
- run: npm run --if-present test:node
54-
- uses: codecov/codecov-action@5ecb98a3c6b747ed38dc09f787459979aebb39be # v4.3.1
61+
- uses: codecov/codecov-action@7f8b4b4bde536c465e797be725718b88c5d95e0e # v5.1.1
5562
with:
5663
flags: node
5764
files: .coverage/*,packages/*/.coverage/*
@@ -65,9 +72,11 @@ jobs:
6572
- uses: actions/setup-node@v4
6673
with:
6774
node-version: lts/*
68-
- uses: ipfs/aegir/actions/cache-node-modules@master
75+
- uses: ipfs/aegir/actions/cache-node-modules@main
76+
with:
77+
directories: ${{ env.CACHE_DIRS }}
6978
- run: npm run --if-present test:chrome
70-
- uses: codecov/codecov-action@5ecb98a3c6b747ed38dc09f787459979aebb39be # v4.3.1
79+
- uses: codecov/codecov-action@7f8b4b4bde536c465e797be725718b88c5d95e0e # v5.1.1
7180
with:
7281
flags: chrome
7382
files: .coverage/*,packages/*/.coverage/*
@@ -81,9 +90,11 @@ jobs:
8190
- uses: actions/setup-node@v4
8291
with:
8392
node-version: lts/*
84-
- uses: ipfs/aegir/actions/cache-node-modules@master
93+
- uses: ipfs/aegir/actions/cache-node-modules@main
94+
with:
95+
directories: ${{ env.CACHE_DIRS }}
8596
- run: npm run --if-present test:chrome-webworker
86-
- uses: codecov/codecov-action@5ecb98a3c6b747ed38dc09f787459979aebb39be # v4.3.1
97+
- uses: codecov/codecov-action@7f8b4b4bde536c465e797be725718b88c5d95e0e # v5.1.1
8798
with:
8899
flags: chrome-webworker
89100
files: .coverage/*,packages/*/.coverage/*
@@ -97,9 +108,11 @@ jobs:
97108
- uses: actions/setup-node@v4
98109
with:
99110
node-version: lts/*
100-
- uses: ipfs/aegir/actions/cache-node-modules@master
111+
- uses: ipfs/aegir/actions/cache-node-modules@main
112+
with:
113+
directories: ${{ env.CACHE_DIRS }}
101114
- run: npm run --if-present test:firefox
102-
- uses: codecov/codecov-action@5ecb98a3c6b747ed38dc09f787459979aebb39be # v4.3.1
115+
- uses: codecov/codecov-action@7f8b4b4bde536c465e797be725718b88c5d95e0e # v5.1.1
103116
with:
104117
flags: firefox
105118
files: .coverage/*,packages/*/.coverage/*
@@ -113,9 +126,11 @@ jobs:
113126
- uses: actions/setup-node@v4
114127
with:
115128
node-version: lts/*
116-
- uses: ipfs/aegir/actions/cache-node-modules@master
129+
- uses: ipfs/aegir/actions/cache-node-modules@main
130+
with:
131+
directories: ${{ env.CACHE_DIRS }}
117132
- run: npm run --if-present test:firefox-webworker
118-
- uses: codecov/codecov-action@5ecb98a3c6b747ed38dc09f787459979aebb39be # v4.3.1
133+
- uses: codecov/codecov-action@7f8b4b4bde536c465e797be725718b88c5d95e0e # v5.1.1
119134
with:
120135
flags: firefox-webworker
121136
files: .coverage/*,packages/*/.coverage/*
@@ -129,14 +144,16 @@ jobs:
129144
- uses: actions/setup-node@v4
130145
with:
131146
node-version: lts/*
132-
- uses: ipfs/aegir/actions/cache-node-modules@master
147+
- uses: ipfs/aegir/actions/cache-node-modules@main
148+
with:
149+
directories: ${{ env.CACHE_DIRS }}
133150
# https://github.com/actions/runner-images/issues/9733#issuecomment-2074590278
134151
- run: |
135152
sudo rm /etc/apt/sources.list.d/microsoft-prod.list
136153
sudo apt-get update
137154
- run: npx playwright install-deps
138155
- run: npm run --if-present test:webkit
139-
- uses: codecov/codecov-action@5ecb98a3c6b747ed38dc09f787459979aebb39be # v4.3.1
156+
- uses: codecov/codecov-action@7f8b4b4bde536c465e797be725718b88c5d95e0e # v5.1.1
140157
with:
141158
flags: webkit
142159
files: .coverage/*,packages/*/.coverage/*
@@ -150,9 +167,11 @@ jobs:
150167
- uses: actions/setup-node@v4
151168
with:
152169
node-version: lts/*
153-
- uses: ipfs/aegir/actions/cache-node-modules@master
170+
- uses: ipfs/aegir/actions/cache-node-modules@main
171+
with:
172+
directories: ${{ env.CACHE_DIRS }}
154173
- run: npx xvfb-maybe npm run --if-present test:electron-main
155-
- uses: codecov/codecov-action@5ecb98a3c6b747ed38dc09f787459979aebb39be # v4.3.1
174+
- uses: codecov/codecov-action@7f8b4b4bde536c465e797be725718b88c5d95e0e # v5.1.1
156175
with:
157176
flags: electron-main
158177
files: .coverage/*,packages/*/.coverage/*
@@ -166,9 +185,11 @@ jobs:
166185
- uses: actions/setup-node@v4
167186
with:
168187
node-version: lts/*
169-
- uses: ipfs/aegir/actions/cache-node-modules@master
188+
- uses: ipfs/aegir/actions/cache-node-modules@main
189+
with:
190+
directories: ${{ env.CACHE_DIRS }}
170191
- run: npx xvfb-maybe npm run --if-present test:electron-renderer
171-
- uses: codecov/codecov-action@5ecb98a3c6b747ed38dc09f787459979aebb39be # v4.3.1
192+
- uses: codecov/codecov-action@7f8b4b4bde536c465e797be725718b88c5d95e0e # v5.1.1
172193
with:
173194
flags: electron-renderer
174195
files: .coverage/*,packages/*/.coverage/*
@@ -182,7 +203,9 @@ jobs:
182203
- uses: actions/setup-node@v4
183204
with:
184205
node-version: lts/*
185-
- uses: ipfs/aegir/actions/cache-node-modules@master
206+
- uses: ipfs/aegir/actions/cache-node-modules@main
207+
with:
208+
directories: ${{ env.CACHE_DIRS }}
186209
- run: npm run test:interop -- --bail
187210

188211
transport-interop:
@@ -193,11 +216,9 @@ jobs:
193216
- uses: actions/setup-node@v4
194217
with:
195218
node-version: lts/*
196-
- uses: ipfs/aegir/actions/cache-node-modules@master
219+
- uses: ipfs/aegir/actions/cache-node-modules@main
197220
with:
198-
directories: |
199-
./interop/dist
200-
./interop/node_modules
221+
directories: ${{ env.CACHE_DIRS }}
201222
- name: Build images
202223
run: (cd interop && make -j 4)
203224
- name: Save package-lock.json as artifact
@@ -210,7 +231,6 @@ jobs:
210231
- uses: libp2p/test-plans/.github/actions/run-interop-ping-test@master
211232
with:
212233
test-filter: js-libp2p-head
213-
test-ignore: nim
214234
extra-versions: ${{ github.workspace }}/interop/node-version.json ${{ github.workspace }}/interop/chromium-version.json ${{ github.workspace }}/interop/firefox-version.json
215235
s3-cache-bucket: ${{ vars.S3_LIBP2P_BUILD_CACHE_BUCKET_NAME }}
216236
s3-access-key-id: ${{ vars.S3_LIBP2P_BUILD_CACHE_AWS_ACCESS_KEY_ID }}
@@ -249,8 +269,10 @@ jobs:
249269
with:
250270
node-version: lts/*
251271
registry-url: 'https://registry.npmjs.org'
252-
- uses: ipfs/aegir/actions/cache-node-modules@master
253-
- uses: ipfs/aegir/actions/docker-login@master
272+
- uses: ipfs/aegir/actions/cache-node-modules@main
273+
with:
274+
directories: ${{ env.CACHE_DIRS }}
275+
- uses: ipfs/aegir/actions/docker-login@main
254276
with:
255277
docker-token: ${{ secrets.DOCKER_TOKEN }}
256278
docker-username: ${{ secrets.DOCKER_USERNAME }}

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"packages/connection-encrypter-plaintext":"1.0.25","packages/connection-encrypter-tls":"1.0.13","packages/crypto":"4.1.3","packages/interface":"1.4.1","packages/interface-compliance-tests":"5.4.6","packages/interface-internal":"1.2.3","packages/kad-dht":"12.0.18","packages/keychain":"4.0.16","packages/libp2p":"1.6.1","packages/logger":"4.0.14","packages/metrics-devtools":"0.1.1","packages/metrics-prometheus":"3.0.25","packages/metrics-simple":"1.0.3","packages/multistream-select":"5.1.11","packages/peer-collections":"5.2.3","packages/peer-discovery-bootstrap":"10.0.25","packages/peer-discovery-mdns":"10.0.25","packages/peer-id":"4.1.3","packages/peer-id-factory":"4.1.3","packages/peer-record":"7.0.19","packages/peer-store":"10.0.20","packages/protocol-autonat":"1.0.22","packages/protocol-dcutr":"1.0.22","packages/protocol-echo":"1.0.8","packages/protocol-fetch":"1.0.19","packages/protocol-identify":"2.0.3","packages/protocol-perf":"3.0.25","packages/protocol-ping":"1.0.20","packages/pubsub":"9.0.20","packages/pubsub-floodsub":"9.0.21","packages/record":"4.0.3","packages/stream-multiplexer-mplex":"10.0.25","packages/transport-circuit-relay-v2":"1.0.25","packages/transport-tcp":"9.0.27","packages/transport-webrtc":"4.0.34","packages/transport-websockets":"8.0.25","packages/transport-webtransport":"4.0.33","packages/upnp-nat":"1.1.0","packages/utils":"5.4.3"}
1+
{"packages/auto-tls":"1.0.4","packages/config":"1.0.1","packages/connection-encrypter-plaintext":"2.0.13","packages/connection-encrypter-tls":"2.0.13","packages/crypto":"5.0.9","packages/interface":"2.4.0","packages/interface-compliance-tests":"6.2.3","packages/interface-internal":"2.2.2","packages/kad-dht":"14.2.0","packages/keychain":"5.0.12","packages/libp2p":"2.5.0","packages/logger":"5.1.6","packages/metrics-devtools":"1.2.0","packages/metrics-opentelemetry":"1.0.0","packages/metrics-prometheus":"4.3.0","packages/metrics-simple":"1.3.0","packages/multistream-select":"6.0.11","packages/peer-collections":"6.0.14","packages/peer-discovery-bootstrap":"11.0.17","packages/peer-discovery-mdns":"11.0.17","packages/peer-id":"5.0.10","packages/peer-record":"8.0.14","packages/peer-store":"11.0.14","packages/pnet":"2.0.17","packages/protocol-autonat":"2.0.16","packages/protocol-dcutr":"2.0.15","packages/protocol-echo":"2.1.6","packages/protocol-fetch":"3.0.0","packages/protocol-identify":"3.0.15","packages/protocol-perf":"4.0.17","packages/protocol-ping":"2.0.15","packages/pubsub":"10.0.15","packages/pubsub-floodsub":"10.1.16","packages/record":"4.0.4","packages/stream-multiplexer-mplex":"11.0.17","packages/transport-circuit-relay-v2":"3.1.7","packages/transport-memory":"1.0.3","packages/transport-tcp":"10.0.15","packages/transport-webrtc":"5.0.23","packages/transport-websockets":"9.1.2","packages/transport-webtransport":"5.0.22","packages/upnp-nat":"3.0.4","packages/utils":"6.3.1"}

.release-please.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
{ "type": "refactor", "section": "Refactors", "hidden": false }
1010
],
1111
"packages": {
12+
"packages/auto-tls": {},
13+
"packages/config": {},
1214
"packages/connection-encrypter-plaintext": {},
1315
"packages/connection-encrypter-tls": {},
1416
"packages/crypto": {},
@@ -20,16 +22,17 @@
2022
"packages/libp2p": {},
2123
"packages/logger": {},
2224
"packages/metrics-devtools": {},
25+
"packages/metrics-opentelemetry": {},
2326
"packages/metrics-prometheus": {},
2427
"packages/metrics-simple": {},
2528
"packages/multistream-select": {},
2629
"packages/peer-collections": {},
2730
"packages/peer-discovery-bootstrap": {},
2831
"packages/peer-discovery-mdns": {},
2932
"packages/peer-id": {},
30-
"packages/peer-id-factory": {},
3133
"packages/peer-record": {},
3234
"packages/peer-store": {},
35+
"packages/pnet": {},
3336
"packages/protocol-autonat": {},
3437
"packages/protocol-dcutr": {},
3538
"packages/protocol-echo": {},
@@ -42,6 +45,7 @@
4245
"packages/record": {},
4346
"packages/stream-multiplexer-mplex": {},
4447
"packages/transport-circuit-relay-v2": {},
48+
"packages/transport-memory": {},
4549
"packages/transport-tcp": {},
4650
"packages/transport-webrtc": {},
4751
"packages/transport-websockets": {},

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
👉 Please see the [IPFS JavaScript Community contributing guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for how to collaborate and contribute to js-libp2p.
66

7-
💪 The [core maintainers](https://github.com/libp2p/js-libp2p/blob/main/CODEOWNERS) hang out in #libp2p-implementers in ipfs.io Matrix, FIL Slack, and IPFS Discord. They perform weekly triage of issues and PRs per https://lu.ma/js-libp2p
7+
💪 The [core maintainers](https://github.com/libp2p/js-libp2p/blob/main/CODEOWNERS) hang out in #libp2p-implementers in ipfs.io Matrix, FIL Slack, and IPFS Discord. They perform weekly triage of issues and PRs per https://lu.ma/libp2p
88

99
🤲 Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed in [README.md](https://github.com/libp2p/js-libp2p/blob/main/README.md), without any additional terms or conditions.
1010

LICENSE

Lines changed: 0 additions & 4 deletions
This file was deleted.

0 commit comments

Comments
 (0)