From bcdec4edc8b2797d42ccc3cd94bba71061412d5e Mon Sep 17 00:00:00 2001 From: achingbrain Date: Tue, 16 Jan 2024 07:24:26 +0100 Subject: [PATCH] fix: mark all packages side-effect free [Tree shaking](https://webpack.js.org/guides/tree-shaking/) results in smaller web bundles by deleting unused code. Our modules are side-effect free so mark them as such to signal to bundlers that unused exports can be excluded from bundles. --- packages/connection-encrypter-plaintext/package.json | 3 ++- packages/crypto/package.json | 3 ++- packages/interface-internal/package.json | 3 ++- packages/interface/package.json | 3 ++- packages/kad-dht/package.json | 3 ++- packages/keychain/package.json | 3 ++- packages/libp2p/package.json | 3 ++- packages/logger/package.json | 3 ++- packages/metrics-prometheus/package.json | 3 ++- packages/multistream-select/package.json | 3 ++- packages/peer-collections/package.json | 3 ++- packages/peer-discovery-bootstrap/package.json | 3 ++- packages/peer-discovery-mdns/package.json | 3 ++- packages/peer-id-factory/package.json | 3 ++- packages/peer-id/package.json | 3 ++- packages/peer-record/package.json | 3 ++- packages/peer-store/package.json | 3 ++- packages/pnet/package.json | 3 ++- packages/protocol-autonat/package.json | 3 ++- packages/protocol-dcutr/package.json | 3 ++- packages/protocol-fetch/package.json | 3 ++- packages/protocol-identify/package.json | 3 ++- packages/protocol-perf/package.json | 3 ++- packages/protocol-ping/package.json | 3 ++- packages/pubsub-floodsub/package.json | 3 ++- packages/pubsub/package.json | 3 ++- packages/stream-multiplexer-mplex/package.json | 3 ++- packages/transport-circuit-relay-v2/package.json | 3 ++- packages/transport-tcp/package.json | 3 ++- packages/transport-webrtc/package.json | 3 ++- packages/transport-websockets/package.json | 3 ++- packages/transport-webtransport/package.json | 3 ++- packages/upnp-nat/package.json | 3 ++- packages/utils/package.json | 3 ++- 34 files changed, 68 insertions(+), 34 deletions(-) diff --git a/packages/connection-encrypter-plaintext/package.json b/packages/connection-encrypter-plaintext/package.json index a70c3344d9..f38414b014 100644 --- a/packages/connection-encrypter-plaintext/package.json +++ b/packages/connection-encrypter-plaintext/package.json @@ -66,5 +66,6 @@ "aegir": "^42.0.0", "protons": "^7.3.0", "sinon": "^17.0.1" - } + }, + "sideEffects": false } diff --git a/packages/crypto/package.json b/packages/crypto/package.json index 6eb0b07c73..2a5a250467 100644 --- a/packages/crypto/package.json +++ b/packages/crypto/package.json @@ -106,5 +106,6 @@ "./dist/src/keys/rsa.js": "./dist/src/keys/rsa-browser.js", "./dist/src/keys/secp256k1.js": "./dist/src/keys/secp256k1-browser.js", "./dist/src/webcrypto.js": "./dist/src/webcrypto-browser.js" - } + }, + "sideEffects": false } diff --git a/packages/interface-internal/package.json b/packages/interface-internal/package.json index 0ab969041b..92aa3651ea 100644 --- a/packages/interface-internal/package.json +++ b/packages/interface-internal/package.json @@ -54,5 +54,6 @@ }, "devDependencies": { "aegir": "^42.0.0" - } + }, + "sideEffects": false } diff --git a/packages/interface/package.json b/packages/interface/package.json index b224b02baf..01a0628d3a 100644 --- a/packages/interface/package.json +++ b/packages/interface/package.json @@ -62,5 +62,6 @@ }, "react-native": { "./dist/src/events.js": "./dist/src/events.browser.js" - } + }, + "sideEffects": false } diff --git a/packages/kad-dht/package.json b/packages/kad-dht/package.json index daf97b10f6..d8322d922b 100644 --- a/packages/kad-dht/package.json +++ b/packages/kad-dht/package.json @@ -119,5 +119,6 @@ }, "browser": { "./dist/src/routing-table/generated-prefix-list.js": "./dist/src/routing-table/generated-prefix-list-browser.js" - } + }, + "sideEffects": false } diff --git a/packages/keychain/package.json b/packages/keychain/package.json index 43baf5c709..868a5cf7f7 100644 --- a/packages/keychain/package.json +++ b/packages/keychain/package.json @@ -72,5 +72,6 @@ "@libp2p/peer-id-factory": "^4.0.4", "aegir": "^42.0.0", "datastore-core": "^9.1.1" - } + }, + "sideEffects": false } diff --git a/packages/libp2p/package.json b/packages/libp2p/package.json index 040249322f..b02931abfe 100644 --- a/packages/libp2p/package.json +++ b/packages/libp2p/package.json @@ -138,5 +138,6 @@ "react-native": { "./dist/src/connection-manager/constants.js": "./dist/src/connection-manager/constants.browser.js", "./dist/src/config/connection-gater.js": "./dist/src/config/connection-gater.browser.js" - } + }, + "sideEffects": false } diff --git a/packages/logger/package.json b/packages/logger/package.json index 9a821cbafa..c7e65535c8 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -65,5 +65,6 @@ "aegir": "^42.0.0", "sinon": "^17.0.1", "uint8arrays": "^5.0.0" - } + }, + "sideEffects": false } diff --git a/packages/metrics-prometheus/package.json b/packages/metrics-prometheus/package.json index 66b80270b9..0324f50013 100644 --- a/packages/metrics-prometheus/package.json +++ b/packages/metrics-prometheus/package.json @@ -62,5 +62,6 @@ "it-drain": "^3.0.5", "it-pipe": "^3.0.1", "p-defer": "^4.0.0" - } + }, + "sideEffects": false } diff --git a/packages/multistream-select/package.json b/packages/multistream-select/package.json index c6a0cb43c8..83032f372f 100644 --- a/packages/multistream-select/package.json +++ b/packages/multistream-select/package.json @@ -76,5 +76,6 @@ "it-pair": "^2.0.6", "it-pipe": "^3.0.1", "p-timeout": "^6.0.0" - } + }, + "sideEffects": false } diff --git a/packages/peer-collections/package.json b/packages/peer-collections/package.json index b052488140..c0f0216c6c 100644 --- a/packages/peer-collections/package.json +++ b/packages/peer-collections/package.json @@ -62,5 +62,6 @@ "aegir": "^42.0.0", "sinon": "^17.0.1", "sinon-ts": "^2.0.0" - } + }, + "sideEffects": false } diff --git a/packages/peer-discovery-bootstrap/package.json b/packages/peer-discovery-bootstrap/package.json index 60794ea45b..22d3c76602 100644 --- a/packages/peer-discovery-bootstrap/package.json +++ b/packages/peer-discovery-bootstrap/package.json @@ -63,5 +63,6 @@ "@libp2p/logger": "^4.0.4", "aegir": "^42.0.0", "sinon-ts": "^2.0.0" - } + }, + "sideEffects": false } diff --git a/packages/peer-discovery-mdns/package.json b/packages/peer-discovery-mdns/package.json index 23fa4e12c4..8c324d8519 100644 --- a/packages/peer-discovery-mdns/package.json +++ b/packages/peer-discovery-mdns/package.json @@ -65,5 +65,6 @@ "aegir": "^42.0.0", "p-wait-for": "^5.0.2", "sinon-ts": "^2.0.0" - } + }, + "sideEffects": false } diff --git a/packages/peer-id-factory/package.json b/packages/peer-id-factory/package.json index 2729841e97..b9a01beeb9 100644 --- a/packages/peer-id-factory/package.json +++ b/packages/peer-id-factory/package.json @@ -68,5 +68,6 @@ "aegir": "^42.0.0", "multiformats": "^13.0.0", "protons": "^7.3.0" - } + }, + "sideEffects": false } diff --git a/packages/peer-id/package.json b/packages/peer-id/package.json index 21f48feffe..debacf4d74 100644 --- a/packages/peer-id/package.json +++ b/packages/peer-id/package.json @@ -59,5 +59,6 @@ }, "devDependencies": { "aegir": "^42.0.0" - } + }, + "sideEffects": false } diff --git a/packages/peer-record/package.json b/packages/peer-record/package.json index b503272afa..4db5bf2a7f 100644 --- a/packages/peer-record/package.json +++ b/packages/peer-record/package.json @@ -74,5 +74,6 @@ "@libp2p/peer-id-factory": "^4.0.4", "aegir": "^42.0.0", "protons": "^7.3.0" - } + }, + "sideEffects": false } diff --git a/packages/peer-store/package.json b/packages/peer-store/package.json index 9d8054c3a3..d7ccacd6ef 100644 --- a/packages/peer-store/package.json +++ b/packages/peer-store/package.json @@ -82,5 +82,6 @@ "p-event": "^6.0.0", "protons": "^7.3.0", "sinon": "^17.0.1" - } + }, + "sideEffects": false } diff --git a/packages/pnet/package.json b/packages/pnet/package.json index c0deb99da5..cd9b9cb869 100644 --- a/packages/pnet/package.json +++ b/packages/pnet/package.json @@ -68,5 +68,6 @@ "@types/xsalsa20": "^1.1.0", "aegir": "^42.0.0", "it-all": "^3.0.3" - } + }, + "sideEffects": false } diff --git a/packages/protocol-autonat/package.json b/packages/protocol-autonat/package.json index b890ecfe7d..222cde0526 100644 --- a/packages/protocol-autonat/package.json +++ b/packages/protocol-autonat/package.json @@ -73,5 +73,6 @@ "protons": "^7.3.0", "sinon": "^17.0.1", "sinon-ts": "^2.0.0" - } + }, + "sideEffects": false } diff --git a/packages/protocol-dcutr/package.json b/packages/protocol-dcutr/package.json index ce2a564d47..cf7e592505 100644 --- a/packages/protocol-dcutr/package.json +++ b/packages/protocol-dcutr/package.json @@ -66,5 +66,6 @@ "protons": "^7.3.0", "sinon": "^17.0.1", "sinon-ts": "^2.0.0" - } + }, + "sideEffects": false } diff --git a/packages/protocol-fetch/package.json b/packages/protocol-fetch/package.json index b9a750e9c0..68f99399c7 100644 --- a/packages/protocol-fetch/package.json +++ b/packages/protocol-fetch/package.json @@ -66,5 +66,6 @@ "protons": "^7.3.0", "sinon": "^17.0.1", "sinon-ts": "^2.0.0" - } + }, + "sideEffects": false } diff --git a/packages/protocol-identify/package.json b/packages/protocol-identify/package.json index 4030cda859..0091f00a27 100644 --- a/packages/protocol-identify/package.json +++ b/packages/protocol-identify/package.json @@ -75,5 +75,6 @@ "protons": "^7.3.0", "sinon": "^17.0.1", "sinon-ts": "^2.0.0" - } + }, + "sideEffects": false } diff --git a/packages/protocol-perf/package.json b/packages/protocol-perf/package.json index 07e4846f0d..97102da1b2 100644 --- a/packages/protocol-perf/package.json +++ b/packages/protocol-perf/package.json @@ -64,5 +64,6 @@ "it-last": "^3.0.3", "it-pair": "^2.0.6", "sinon-ts": "^2.0.0" - } + }, + "sideEffects": false } diff --git a/packages/protocol-ping/package.json b/packages/protocol-ping/package.json index 04c8aa0e78..2600b8a9d2 100644 --- a/packages/protocol-ping/package.json +++ b/packages/protocol-ping/package.json @@ -65,5 +65,6 @@ "it-pair": "^2.0.6", "p-defer": "^4.0.0", "sinon-ts": "^2.0.0" - } + }, + "sideEffects": false } diff --git a/packages/pubsub-floodsub/package.json b/packages/pubsub-floodsub/package.json index 8b980410d8..36808005c0 100644 --- a/packages/pubsub-floodsub/package.json +++ b/packages/pubsub-floodsub/package.json @@ -77,5 +77,6 @@ "p-wait-for": "^5.0.2", "protons": "^7.3.0", "sinon": "^17.0.1" - } + }, + "sideEffects": false } diff --git a/packages/pubsub/package.json b/packages/pubsub/package.json index 05bd92525f..bed40d8779 100644 --- a/packages/pubsub/package.json +++ b/packages/pubsub/package.json @@ -109,5 +109,6 @@ "protons": "^7.3.0", "protons-runtime": "^5.0.0", "sinon": "^17.0.1" - } + }, + "sideEffects": false } diff --git a/packages/stream-multiplexer-mplex/package.json b/packages/stream-multiplexer-mplex/package.json index f367874c67..9c3c5c33c5 100644 --- a/packages/stream-multiplexer-mplex/package.json +++ b/packages/stream-multiplexer-mplex/package.json @@ -85,5 +85,6 @@ "it-pair": "^2.0.6", "p-defer": "^4.0.0", "random-int": "^3.0.0" - } + }, + "sideEffects": false } diff --git a/packages/transport-circuit-relay-v2/package.json b/packages/transport-circuit-relay-v2/package.json index 757e8dfa7f..69ba142fb2 100644 --- a/packages/transport-circuit-relay-v2/package.json +++ b/packages/transport-circuit-relay-v2/package.json @@ -84,5 +84,6 @@ "race-signal": "^1.0.2", "sinon": "^17.0.1", "sinon-ts": "^2.0.0" - } + }, + "sideEffects": false } diff --git a/packages/transport-tcp/package.json b/packages/transport-tcp/package.json index 005a9f81d4..01aef7fc8f 100644 --- a/packages/transport-tcp/package.json +++ b/packages/transport-tcp/package.json @@ -71,5 +71,6 @@ "p-defer": "^4.0.0", "sinon": "^17.0.1", "uint8arrays": "^5.0.0" - } + }, + "sideEffects": false } diff --git a/packages/transport-webrtc/package.json b/packages/transport-webrtc/package.json index 073f0970d6..b87fd1fee4 100644 --- a/packages/transport-webrtc/package.json +++ b/packages/transport-webrtc/package.json @@ -101,5 +101,6 @@ }, "react-native": { "./dist/src/webrtc/index.js": "./dist/src/webrtc/index.react-native.js" - } + }, + "sideEffects": false } diff --git a/packages/transport-websockets/package.json b/packages/transport-websockets/package.json index e16f2c635c..50de823377 100644 --- a/packages/transport-websockets/package.json +++ b/packages/transport-websockets/package.json @@ -100,5 +100,6 @@ }, "browser": { "./dist/src/listener.js": "./dist/src/listener.browser.js" - } + }, + "sideEffects": false } diff --git a/packages/transport-webtransport/package.json b/packages/transport-webtransport/package.json index 2e92d1a0d7..b981b51107 100644 --- a/packages/transport-webtransport/package.json +++ b/packages/transport-webtransport/package.json @@ -71,5 +71,6 @@ }, "react-native": { "./dist/src/listener.js": "./dist/src/listener.browser.js" - } + }, + "sideEffects": false } diff --git a/packages/upnp-nat/package.json b/packages/upnp-nat/package.json index 407e65b48d..f694b12273 100644 --- a/packages/upnp-nat/package.json +++ b/packages/upnp-nat/package.json @@ -62,5 +62,6 @@ "@libp2p/peer-id-factory": "^4.0.4", "aegir": "^42.0.0", "sinon-ts": "^2.0.0" - } + }, + "sideEffects": false } diff --git a/packages/utils/package.json b/packages/utils/package.json index 03ad8ad7be..09c02dbddd 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -149,5 +149,6 @@ "sinon": "^17.0.1", "sinon-ts": "^2.0.0", "uint8arrays": "^5.0.0" - } + }, + "sideEffects": false }