paritytech / subxt

Interact with Substrate based nodes in Rust or WebAssembly
Other
391 stars 236 forks source link

Have a pass to reduce dupe packages at different versions where possible (eg `syn`) #1608

Open jsdw opened 1 month ago

jsdw commented 1 month ago

So we addressed part of #1503 by removing derive_more, but we still have syn 1 and 2 still.

For syn 1, here are the deps using it (cargo tree -i syn):

syn v1.0.109
├── darling_core v0.14.4
│   ├── darling v0.14.4
│   │   ├── scale-decode-derive v0.13.0 (proc-macro)
│   │   │   └── scale-decode v0.13.0
│   │   │       ├── scale-value v0.16.0
│   │   │       │   ├── scale-typegen-description v0.7.0
│   │   │       │   │   └── subxt-cli v0.36.0 (/Users/james/Work/subxt/cli)
│   │   │       │   ├── subxt v0.36.0 (/Users/james/Work/subxt/subxt)
│   │   │       │   │   ├── subxt-cli v0.36.0 (/Users/james/Work/subxt/cli)
│   │   │       │   │   └── test-runtime v0.36.0 (/Users/james/Work/subxt/testing/test-runtime)
│   │   │       │   │       [dev-dependencies]
│   │   │       │   │       └── integration-tests v0.36.0 (/Users/james/Work/subxt/testing/integration-tests)
│   │   │       │   │   [dev-dependencies]
│   │   │       │   │   ├── integration-tests v0.36.0 (/Users/james/Work/subxt/testing/integration-tests)
│   │   │       │   │   └── ui-tests v0.36.0 (/Users/james/Work/subxt/testing/ui-tests)
│   │   │       │   ├── subxt-cli v0.36.0 (/Users/james/Work/subxt/cli)
│   │   │       │   └── subxt-core v0.36.0 (/Users/james/Work/subxt/core)
│   │   │       │       ├── subxt v0.36.0 (/Users/james/Work/subxt/subxt) (*)
│   │   │       │       └── subxt-signer v0.36.0 (/Users/james/Work/subxt/signer)
│   │   │       │           [dev-dependencies]
│   │   │       │           ├── integration-tests v0.36.0 (/Users/james/Work/subxt/testing/integration-tests)
│   │   │       │           ├── subxt v0.36.0 (/Users/james/Work/subxt/subxt) (*)
│   │   │       │           └── subxt-core v0.36.0 (/Users/james/Work/subxt/core) (*)
│   │   │       ├── subxt v0.36.0 (/Users/james/Work/subxt/subxt) (*)
│   │   │       └── subxt-core v0.36.0 (/Users/james/Work/subxt/core) (*)
│   │   └── scale-encode-derive v0.7.0 (proc-macro)
│   │       └── scale-encode v0.7.0
│   │           ├── scale-value v0.16.0 (*)
│   │           ├── subxt v0.36.0 (/Users/james/Work/subxt/subxt) (*)
│   │           └── subxt-core v0.36.0 (/Users/james/Work/subxt/core) (*)
│   └── darling_macro v0.14.4 (proc-macro)
│       └── darling v0.14.4 (*)
├── darling_macro v0.14.4 (proc-macro) (*)
├── derive_more v0.99.17 (proc-macro)
│   ├── ruzstd v0.5.0
│   │   └── smoldot v0.16.0
│   │       └── smoldot-light v0.14.0
│   │           └── subxt-lightclient v0.36.0 (/Users/james/Work/subxt/lightclient)
│   ├── scale-decode v0.13.0 (*)
│   ├── scale-encode v0.7.0 (*)
│   ├── scale-info v2.11.2
│   │   ├── bounded-collections v0.2.0
│   │   │   ├── sp-core v31.0.0
│   │   │   │   ├── sp-application-crypto v33.0.0
│   │   │   │   │   └── sp-runtime v34.0.0
│   │   │   │   │       ├── sp-keyring v34.0.0
│   │   │   │   │       │   [dev-dependencies]
│   │   │   │   │       │   ├── subxt v0.36.0 (/Users/james/Work/subxt/subxt) (*)
│   │   │   │   │       │   ├── subxt-core v0.36.0 (/Users/james/Work/subxt/core) (*)
│   │   │   │   │       │   └── subxt-signer v0.36.0 (/Users/james/Work/subxt/signer) (*)
│   │   │   │   │       └── subxt-core v0.36.0 (/Users/james/Work/subxt/core) (*)
│   │   │   │   │       [dev-dependencies]
│   │   │   │   │       ├── subxt v0.36.0 (/Users/james/Work/subxt/subxt) (*)
│   │   │   │   │       └── subxt-core v0.36.0 (/Users/james/Work/subxt/core) (*)
│   │   │   │   ├── sp-io v33.0.0
│   │   │   │   │   ├── sp-application-crypto v33.0.0 (*)
│   │   │   │   │   └── sp-runtime v34.0.0 (*)
│   │   │   │   ├── sp-keyring v34.0.0 (*)
│   │   │   │   ├── sp-keystore v0.37.0
│   │   │   │   │   └── sp-io v33.0.0 (*)
│   │   │   │   ├── sp-runtime v34.0.0 (*)
│   │   │   │   ├── sp-state-machine v0.38.0
│   │   │   │   │   └── sp-io v33.0.0 (*)
│   │   │   │   ├── sp-trie v32.0.0
│   │   │   │   │   ├── sp-io v33.0.0 (*)
│   │   │   │   │   └── sp-state-machine v0.38.0 (*)
│   │   │   │   └── subxt-core v0.36.0 (/Users/james/Work/subxt/core) (*)
│   │   │   │   [dev-dependencies]
│   │   │   │   ├── integration-tests v0.36.0 (/Users/james/Work/subxt/testing/integration-tests)
│   │   │   │   ├── subxt v0.36.0 (/Users/james/Work/subxt/subxt) (*)
│   │   │   │   ├── subxt-core v0.36.0 (/Users/james/Work/subxt/core) (*)
│   │   │   │   └── subxt-signer v0.36.0 (/Users/james/Work/subxt/signer) (*)
│   │   │   └── sp-weights v30.0.0
│   │   │       └── sp-runtime v34.0.0 (*)
│   │   ├── frame-metadata v15.1.0
│   │   │   └── scale-value v0.16.0 (*)
│   │   ├── frame-metadata v16.0.0
│   │   │   ├── subxt-codegen v0.36.0 (/Users/james/Work/subxt/codegen)
│   │   │   │   ├── subxt-cli v0.36.0 (/Users/james/Work/subxt/cli)
│   │   │   │   └── subxt-macro v0.36.0 (proc-macro) (/Users/james/Work/subxt/macro)
│   │   │   │       └── subxt v0.36.0 (/Users/james/Work/subxt/subxt) (*)
│   │   │   │       [dev-dependencies]
│   │   │   │       └── subxt-core v0.36.0 (/Users/james/Work/subxt/core) (*)
│   │   │   │   [dev-dependencies]
│   │   │   │   └── integration-tests v0.36.0 (/Users/james/Work/subxt/testing/integration-tests)
│   │   │   └── subxt-metadata v0.36.0 (/Users/james/Work/subxt/metadata)
│   │   │       └── subxt-codegen v0.36.0 (/Users/james/Work/subxt/codegen) (*)
│   │   ├── frame-metadata v16.0.0
│   │   │   ├── generate-custom-metadata v0.36.0 (/Users/james/Work/subxt/testing/generate-custom-metadata)
│   │   │   │   [dev-dependencies]
│   │   │   │   └── ui-tests v0.36.0 (/Users/james/Work/subxt/testing/ui-tests)
│   │   │   ├── subxt v0.36.0 (/Users/james/Work/subxt/subxt) (*)
│   │   │   ├── subxt-cli v0.36.0 (/Users/james/Work/subxt/cli)
│   │   │   ├── subxt-core v0.36.0 (/Users/james/Work/subxt/core) (*)
│   │   │   └── subxt-metadata v0.36.0 (/Users/james/Work/subxt/metadata)
│   │   │       ├── subxt v0.36.0 (/Users/james/Work/subxt/subxt) (*)
│   │   │       ├── subxt-cli v0.36.0 (/Users/james/Work/subxt/cli)
│   │   │       └── subxt-core v0.36.0 (/Users/james/Work/subxt/core) (*)
│   │   │       [dev-dependencies]
│   │   │       ├── integration-tests v0.36.0 (/Users/james/Work/subxt/testing/integration-tests)
│   │   │       └── ui-tests v0.36.0 (/Users/james/Work/subxt/testing/ui-tests)
│   │   │   [dev-dependencies]
│   │   │   ├── integration-tests v0.36.0 (/Users/james/Work/subxt/testing/integration-tests)
│   │   │   └── ui-tests v0.36.0 (/Users/james/Work/subxt/testing/ui-tests)
│   │   ├── generate-custom-metadata v0.36.0 (/Users/james/Work/subxt/testing/generate-custom-metadata) (*)
│   │   ├── primitive-types v0.12.2
│   │   │   ├── keccak-hash v0.10.0
│   │   │   │   └── subxt-signer v0.36.0 (/Users/james/Work/subxt/signer) (*)
│   │   │   ├── scale-decode v0.13.0 (*)
│   │   │   ├── scale-encode v0.7.0 (*)
│   │   │   ├── sp-core v31.0.0 (*)
│   │   │   ├── sp-runtime-interface v26.0.0
│   │   │   │   ├── sp-core v31.0.0 (*)
│   │   │   │   └── sp-io v33.0.0 (*)
│   │   │   ├── subxt v0.36.0 (/Users/james/Work/subxt/subxt) (*)
│   │   │   └── subxt-core v0.36.0 (/Users/james/Work/subxt/core) (*)
│   │   ├── scale-bits v0.6.0
│   │   │   ├── scale-decode v0.13.0 (*)
│   │   │   ├── scale-encode v0.7.0 (*)
│   │   │   ├── scale-value v0.16.0 (*)
│   │   │   ├── subxt v0.36.0 (/Users/james/Work/subxt/subxt) (*)
│   │   │   └── subxt-core v0.36.0 (/Users/james/Work/subxt/core) (*)
│   │   ├── scale-type-resolver v0.2.0
│   │   │   ├── scale-bits v0.6.0 (*)
│   │   │   ├── scale-decode v0.13.0 (*)
│   │   │   ├── scale-encode v0.7.0 (*)
│   │   │   └── scale-value v0.16.0 (*)
│   │   ├── scale-typegen v0.7.0
│   │   │   ├── scale-typegen-description v0.7.0 (*)
│   │   │   ├── subxt-codegen v0.36.0 (/Users/james/Work/subxt/codegen) (*)
│   │   │   └── subxt-macro v0.36.0 (proc-macro) (/Users/james/Work/subxt/macro) (*)
│   │   ├── scale-typegen-description v0.7.0 (*)
│   │   ├── scale-value v0.16.0 (*)
│   │   ├── sp-application-crypto v33.0.0 (*)
│   │   ├── sp-arithmetic v25.0.0
│   │   │   ├── sp-runtime v34.0.0 (*)
│   │   │   └── sp-weights v30.0.0 (*)
│   │   ├── sp-core v31.0.0 (*)
│   │   ├── sp-runtime v34.0.0 (*)
│   │   ├── sp-trie v32.0.0 (*)
│   │   ├── sp-weights v30.0.0 (*)
│   │   ├── subxt v0.36.0 (/Users/james/Work/subxt/subxt) (*)
│   │   ├── subxt-cli v0.36.0 (/Users/james/Work/subxt/cli)
│   │   ├── subxt-codegen v0.36.0 (/Users/james/Work/subxt/codegen) (*)
│   │   ├── subxt-core v0.36.0 (/Users/james/Work/subxt/core) (*)
│   │   ├── subxt-metadata v0.36.0 (/Users/james/Work/subxt/metadata) (*)
│   │   └── subxt-metadata v0.36.0 (/Users/james/Work/subxt/metadata) (*)
│   │   [dev-dependencies]
│   │   ├── integration-tests v0.36.0 (/Users/james/Work/subxt/testing/integration-tests)
│   │   ├── subxt v0.36.0 (/Users/james/Work/subxt/subxt) (*)
│   │   ├── subxt-codegen v0.36.0 (/Users/james/Work/subxt/codegen) (*)
│   │   ├── subxt-metadata v0.36.0 (/Users/james/Work/subxt/metadata) (*)
│   │   ├── subxt-metadata v0.36.0 (/Users/james/Work/subxt/metadata) (*)
│   │   └── ui-tests v0.36.0 (/Users/james/Work/subxt/testing/ui-tests)
│   ├── scale-value v0.16.0 (*)
│   ├── smoldot v0.16.0 (*)
│   └── smoldot-light v0.14.0 (*)
├── dyn-clonable-impl v0.9.0 (proc-macro)
│   └── dyn-clonable v0.9.0
│       └── sp-core v31.0.0 (*)
├── impl-trait-for-tuples v0.2.2 (proc-macro)
│   ├── parity-scale-codec v3.6.9
│   │   ├── bounded-collections v0.2.0 (*)
│   │   ├── frame-metadata v15.1.0 (*)
│   │   ├── frame-metadata v16.0.0 (*)
│   │   ├── generate-custom-metadata v0.36.0 (/Users/james/Work/subxt/testing/generate-custom-metadata) (*)
│   │   ├── impl-codec v0.6.0
│   │   │   └── primitive-types v0.12.2 (*)
│   │   ├── scale-bits v0.6.0 (*)
│   │   ├── scale-decode v0.13.0 (*)
│   │   ├── scale-encode v0.7.0 (*)
│   │   ├── scale-info v2.11.2 (*)
│   │   ├── scale-value v0.16.0 (*)
│   │   ├── sp-application-crypto v33.0.0 (*)
│   │   ├── sp-arithmetic v25.0.0 (*)
│   │   ├── sp-core v31.0.0 (*)
│   │   ├── sp-externalities v0.27.0
│   │   │   ├── sp-core v31.0.0 (*)
│   │   │   ├── sp-io v33.0.0 (*)
│   │   │   ├── sp-keystore v0.37.0 (*)
│   │   │   ├── sp-runtime-interface v26.0.0 (*)
│   │   │   ├── sp-state-machine v0.38.0 (*)
│   │   │   └── sp-trie v32.0.0 (*)
│   │   ├── sp-io v33.0.0 (*)
│   │   ├── sp-keystore v0.37.0 (*)
│   │   ├── sp-runtime v34.0.0 (*)
│   │   ├── sp-runtime-interface v26.0.0 (*)
│   │   ├── sp-state-machine v0.38.0 (*)
│   │   ├── sp-storage v20.0.0
│   │   │   ├── sp-core v31.0.0 (*)
│   │   │   ├── sp-externalities v0.27.0 (*)
│   │   │   └── sp-runtime-interface v26.0.0 (*)
│   │   ├── sp-tracing v16.0.0
│   │   │   ├── sp-io v33.0.0 (*)
│   │   │   └── sp-runtime-interface v26.0.0 (*)
│   │   ├── sp-trie v32.0.0 (*)
│   │   ├── sp-wasm-interface v20.0.0
│   │   │   └── sp-runtime-interface v26.0.0 (*)
│   │   ├── sp-weights v30.0.0 (*)
│   │   ├── subxt v0.36.0 (/Users/james/Work/subxt/subxt) (*)
│   │   ├── subxt-cli v0.36.0 (/Users/james/Work/subxt/cli)
│   │   ├── subxt-core v0.36.0 (/Users/james/Work/subxt/core) (*)
│   │   ├── subxt-metadata v0.36.0 (/Users/james/Work/subxt/metadata) (*)
│   │   └── subxt-signer v0.36.0 (/Users/james/Work/subxt/signer) (*)
│   │   [dev-dependencies]
│   │   ├── integration-tests v0.36.0 (/Users/james/Work/subxt/testing/integration-tests)
│   │   ├── subxt v0.36.0 (/Users/james/Work/subxt/subxt) (*)
│   │   ├── subxt-core v0.36.0 (/Users/james/Work/subxt/core) (*)
│   │   └── ui-tests v0.36.0 (/Users/james/Work/subxt/testing/ui-tests)
│   ├── parity-scale-codec v3.6.9
│   │   ├── frame-metadata v16.0.0 (*)
│   │   ├── subxt-codegen v0.36.0 (/Users/james/Work/subxt/codegen) (*)
│   │   ├── subxt-macro v0.36.0 (proc-macro) (/Users/james/Work/subxt/macro) (*)
│   │   └── subxt-metadata v0.36.0 (/Users/james/Work/subxt/metadata) (*)
│   │   [build-dependencies]
│   │   └── test-runtime v0.36.0 (/Users/james/Work/subxt/testing/test-runtime) (*)
│   ├── sp-runtime v34.0.0 (*)
│   ├── sp-runtime-interface v26.0.0 (*)
│   └── sp-wasm-interface v20.0.0 (*)
├── parity-scale-codec-derive v3.6.9 (proc-macro)
│   ├── parity-scale-codec v3.6.9 (*)
│   └── parity-scale-codec v3.6.9 (*)
├── proc-macro-error v1.0.4
│   └── subxt-macro v0.36.0 (proc-macro) (/Users/james/Work/subxt/macro) (*)
├── scale-decode-derive v0.13.0 (proc-macro) (*)
├── scale-encode-derive v0.7.0 (proc-macro) (*)
├── scale-info-derive v2.11.2 (proc-macro)
│   └── scale-info v2.11.2 (*)
└── strum_macros v0.24.3 (proc-macro)
    └── strum v0.24.1
        └── sp-keyring v34.0.0 (*)

In general, we should have a pass and try to reduce dupes packages a bit (eg I also saw two frame-metadatas for instance and there's prob a bunch else).