rich deps · sizes, baselines and licence policy
Screenshots
❯ rich deps --sizes bloat.json --top 8 17 crates: 1.9 MiB of code in a 5.2 MiB binary (2.0 MiB of .text) std 475.5 KiB ████████████████████████████████████████ regex_automata 392.0 KiB █████████████████████████████████ clap_builder 262.0 KiB ██████████████████████ toml_edit 180.0 KiB ███████████████▏ ledger 148.0 KiB ████████████▌ serde_json 116.0 KiB █████████▊ regex_syntax 110.0 KiB █████████▎ aho_corasick 96.0 KiB ████████▏ ┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━┓ ┃ Crate ┃ Size ┃ Share ┃ ┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━┩ │ std │ 475.5 KiB │ 23.9% │ │ regex_automata │ 392.0 KiB │ 19.7% │ │ clap_builder │ 262.0 KiB │ 13.2% │ │ toml_edit │ 180.0 KiB │ 9.0% │ │ ledger │ 148.0 KiB │ 7.4% │ │ serde_json │ 116.0 KiB │ 5.8% │ │ regex_syntax │ 110.0 KiB │ 5.5% │ │ aho_corasick │ 96.0 KiB │ 4.8% │ └────────────────┴───────────┴───────┘ and 9 more, 212.0 KiB in all ❯
❯ rich deps --sizes bloat.json --baseline bloat-baseline.json --top 6 Sizes against the baseline (bloat-baseline.json → bloat.json) 2 regressions, 1 improvement, 13 unchanged, 1 new, 2 removed total 1.7 MiB → 1.9 MiB: +263.5 KiB (+15.2%), a regression regression: over 10% and over 64.0 KiB ┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━┓ ┃ Unit ┃ Baseline ┃ Current ┃ Change ┃ % ┃ Verdict ┃ ┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━┩ │ toml_edit │ – │ 180.0 KiB │ +180.0 KiB │ new │ regression │ │ regex_automata │ 236.0 KiB │ 392.0 KiB │ +156.0 KiB │ +66.1% │ regression │ │ winnow │ – │ 60.0 KiB │ +60.0 KiB │ new │ new │ │ serde_json │ 192.0 KiB │ 116.0 KiB │ -76.0 KiB │ -39.6% │ improvement │ │ toml │ 68.0 KiB │ – │ -68.0 KiB │ removed │ removed │ │ toml_datetime │ 10.0 KiB │ – │ -10.0 KiB │ removed │ removed │ ├────────────────┼───────────┼───────────┼────────────┼─────────┼─────────────┤ │ and 13 more │ │ │ │ │ │ ├────────────────┼───────────┼───────────┼────────────┼─────────┼─────────────┤ │ total │ 1.7 MiB │ 1.9 MiB │ +263.5 KiB │ +15.2% │ regression │ └────────────────┴───────────┴───────────┴────────────┴─────────┴─────────────┘ rich: 3 regressions against the baseline (over 10% and over 64.0 KiB): toml_edit, regex_automata, th e total ❯
❯ rich deps --policy policy.toml --sbom sbom.cdx.json Licence policy (policy.toml): 10 crates checked, 2 violations, 1 conflict, 2 warnings ┏━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Crate ┃ Version ┃ Licence ┃ Why ┃ ┡━━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩ │ gpl-widget │ v0.4.0 │ GPL-3.0-only │ GPL-3.0-only is denied (GPL-3.0) │ │ mystery-codec │ v0.1.0 │ Mystery Public Licence │ not an SPDX expression │ └───────────────┴─────────┴────────────────────────┴──────────────────────────────────┘ Licences against ledger v2.1.0 (MIT) a heuristic, not legal advice ┏━━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Crate ┃ Version ┃ Licence ┃ Verdict ┃ Why ┃ ┡━━━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩ │ gpl-widget │ v0.4.0 │ GPL-3.0-only │ conflict │ copyleft in a permissive crate: the │ │ │ │ │ │ combined work falls under │ │ │ │ │ │ GPL-3.0-only │ │ acme-telemetry │ v1.2.0 │ LicenseRef-Acme-EULA │ check │ LicenseRef-Acme-EULA: a licence │ │ │ │ │ │ this reader does not know │ │ option-ext │ v0.2.0 │ MPL-2.0 │ check │ weak copyleft: changes to its own │ │ │ │ │ │ files stay under MPL-2.0 │ └────────────────┴─────────┴──────────────────────┴──────────┴─────────────────────────────────────┘ rich: 2 licence policy violations: gpl-widget v0.4.0 (GPL-3.0-only), mystery-codec v0.1.0 (Mystery P ublic Licence) ❯