-
Notifications
You must be signed in to change notification settings - Fork 23
default-solana-adapter should be optional/peer dependency in @orderly.network/hooks #18
Description
Problem
@orderly.network/hooks declares @orderly.network/default-solana-adapter as a hard dependency. This forces every consumer — including EVM-only integrations — to download and bundle 242+ Solana packages (@solana/web3.js, @coral-xyz/anchor, @layerzerolabs/*, @metaplex-foundation/*, etc.).
Impact on our EVM-only dapp (Polygon):
next buildOOM at 4GB heap — had to bump to 6GB- Build time 22+ minutes before we stubbed packages out
- ~15MB of dead code in
node_moduleswe never call
Current workaround
We alias 22 Solana/LayerZero packages to false in webpack and add them to serverExternalPackages:
// next.config.mjs
const solanaStubs = {
'@orderly.network/default-solana-adapter': false,
'@solana/web3.js': false,
'@coral-xyz/anchor': false,
// ... 19 more
}
config.resolve.alias = { ...config.resolve.alias, ...solanaStubs }Suggested fix
Move default-solana-adapter to peerDependencies (optional) or optionalDependencies in @orderly.network/hooks. EVM consumers install only the EVM adapter; Solana consumers install only the Solana adapter.
This is standard practice for multi-chain SDKs (e.g., wagmi adapters, Thirdweb chain packages).
Versions affected
Every published version: 2.8.14, 2.10.2, 2.11.0, 3.0.0-beta.0.