{
  "ml": {
    "v": "7",
    "eng": "2.12.0-beta.1",
    "lvl": -1,
    "conf": 0,
    "mods": [
      {
        "cls": 0,
        "raw": 0.000018229088,
        "rte": "az",
        "prob": 0.000018229088
      },
      {
        "cls": 0,
        "raw": 0.0002099673,
        "rte": "az/tar",
        "prob": 0.0002099673
      }
    ],
    "prob": 0.000030587118,
    "files": [
      {
        "id": 0,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00003058711808989756,
        "type": "crate"
      },
      {
        "id": 3,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000014921029105607886,
        "type": "cargo.toml"
      },
      {
        "id": 5,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000012894471183244605,
        "type": "rust"
      },
      {
        "id": 8,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00003058711808989756,
        "type": "registry"
      }
    ],
    "version": "v18.18",
    "analyzed_at": "2026-10-13T11:15:09Z"
  },
  "path": "rspack_plugin_circular_dependencies-0.102.9.crate",
  "raw": {
    "files": [
      {
        "id": 0,
        "mol": "H(F)Md",
        "sha": "068c030b027164172ae98382f53b8daf9b6ded4165a4336e037c70a5c35c9e15",
        "path": "rspack_plugin_circular_dependencies-0.102.9.crate",
        "risk": 3,
        "size": 37249,
        "type": "crate",
        "facts": {
          "metrics": {
            "file": {
              "size": 37249,
              "entropy": 7.99
            },
            "parse": {
              "error_count": 1
            },
            "binary": {
              "peak_region_bytes": 37249,
              "peak_region_entropy": 7.84
            }
          }
        },
        "ident": {
          "name": {
            "value": "rspack_plugin_circular_dependencies",
            "source": "crate.name",
            "verified": false
          },
          "urls": [
            {
              "url": "https://github.com/web-infra-dev/rspack",
              "kind": "repository",
              "source": "crate.repository"
            }
          ],
          "trust": "unsigned",
          "version": {
            "value": "0.102.9",
            "source": "crate.version",
            "verified": false
          },
          "identifier": {
            "value": "rspack_plugin_circular_dependencies",
            "source": "crate.name",
            "verified": false
          }
        },
        "traits": [
          {
            "id": "metadata/import/rust/rspack_hook/plugin::rspack_hook/plugin",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports rspack_hook::plugin",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/import/rust/rspack_core/module::rspack_core/module",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports rspack_core::Module",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/import/rust/circular_dependency_rspack_plugin/circulardependencyrspackplugin::circular_dependency_rspack_plugin/circulardependencyrspackplugin",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports circular_dependency_rspack_plugin::CircularDependencyRspackPlugin",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/import/rust/rspack_core/plugin::rspack_core/plugin",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports rspack_core::Plugin",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-7",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"this\"",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/import/rust/circular_dependency_rspack_plugin/circulardependencyignoredconnectionentry::circular_dependency_rspack_plugin/circulardependencyignoredconnectionentry",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports circular_dependency_rspack_plugin::CircularDependencyIgnoredConnectionEntry",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/package/documentation/source::cargo-readme-field-present",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo readme field is populated"
          },
          {
            "id": "metadata/package/license::cargo-license-field-present",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo license field is populated"
          },
          {
            "id": "metadata/import/rust/circular_dependency_rspack_plugin/circulardependencyrspackpluginoptions::circular_dependency_rspack_plugin/circulardependencyrspackpluginoptions",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports circular_dependency_rspack_plugin::CircularDependencyRspackPluginOptions",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/package/repository::cargo-repository-field-present",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo repository field is populated"
          },
          {
            "id": "metadata/package/name/identity::cargo-package-name-present",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package name field is populated"
          },
          {
            "id": "metadata/import/rust/rspack_core/compilationoptimizemodules::rspack_core/compilationoptimizemodules",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports rspack_core::CompilationOptimizeModules",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/import/rust/circular_check_rspack_plugin/circularcheckrspackplugin::circular_check_rspack_plugin/circularcheckrspackplugin",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports circular_check_rspack_plugin::CircularCheckRspackPlugin",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-4",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"have\"",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/import/rust/rustc_hash/fxhashset::HashSet",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports rustc_hash::FxHashSet as HashSet",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/import/rust/circular_dependency_rspack_plugin/compilationhookfn::circular_dependency_rspack_plugin/compilationhookfn",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports circular_dependency_rspack_plugin::CompilationHookFn",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/import/rust/rspack_error/diagnostic::rspack_error/diagnostic",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports rspack_error::Diagnostic",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/import/rust/circular_check_rspack_plugin/circularcheckrspackpluginoptions::circular_check_rspack_plugin/circularcheckrspackpluginoptions",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports circular_check_rspack_plugin::CircularCheckRspackPluginOptions",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/import/rust/std/sync/arc::std/sync/arc",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports std::sync::Arc",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/import/rust/rspack_collections/identifier::rspack_collections/identifier",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports rspack_collections::Identifier",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/import/rust/rspack_core/circularmodulesinfo::rspack_core/circularmodulesinfo",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports rspack_core::CircularModulesInfo",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/package/version::cargo-package-version",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package has version"
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-3",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"that\"",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/import/rust/futures/future/boxfuture::futures/future/boxfuture",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports futures::future::BoxFuture",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/import/rust/derive_more/debug::derive_more/debug",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports derive_more::Debug",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/import/rust/rspack_regex/rspackregex::rspack_regex/rspackregex",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports rspack_regex::RspackRegex",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/import/rust/rspack_collections/identifiermap::rspack_collections/identifiermap",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports rspack_collections::IdentifierMap",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/import/rust/circular_modules_info_plugin/circularmodulesinfoplugin::circular_modules_info_plugin/circularmodulesinfoplugin",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports circular_modules_info_plugin::CircularModulesInfoPlugin",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/import/rust/circular_dependency_rspack_plugin/circulardependencyignoredconnection::circular_dependency_rspack_plugin/circulardependencyignoredconnection",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports circular_dependency_rspack_plugin::CircularDependencyIgnoredConnection",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/import/rust/circular_dependency_rspack_plugin/cyclehandlerfn::circular_dependency_rspack_plugin/cyclehandlerfn",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports circular_dependency_rspack_plugin::CycleHandlerFn",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/import/rust/rspack_core/compilermake::rspack_core/compilermake",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports rspack_core::CompilerMake",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "micro-behaviors/fs/directory/cwd::rust-current-directory",
            "conf": 0.88,
            "crit": 3,
            "desc": "Rust reads current directory",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/import/rust/circular_check_rspack_plugin/circularcheckhandlerfn::circular_check_rspack_plugin/circularcheckhandlerfn",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports circular_check_rspack_plugin::CircularCheckHandlerFn",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/import/rust/rspack_core/dependencytype::rspack_core/dependencytype",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports rspack_core::DependencyType",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/package/description/length::cargo-description-at-least-20-characters",
            "conf": 0.78,
            "crit": 2,
            "desc": "Cargo description has at least 20 characters"
          },
          {
            "id": "metadata/import/rust/cow_utils/cowutils::cow_utils/cowutils",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports cow_utils::CowUtils",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/import/rust/rspack_hook/plugin_hook::rspack_hook/plugin_hook",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports rspack_hook::plugin_hook",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/import/rust/itertools/itertools::itertools/itertools",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports itertools::Itertools",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/import/rust/rspack_core/compilation::rspack_core/compilation",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports rspack_core::Compilation",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/import/rust/rspack_core/moduleidentifier::rspack_core/moduleidentifier",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports rspack_core::ModuleIdentifier",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/import/rust/rspack_core/compilerid::rspack_core/compilerid",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports rspack_core::CompilerId",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/import/rust/rspack_error/result::rspack_error/result",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports rspack_error::Result",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/file/archive::archive-member-under-10kb",
            "conf": 0.9,
            "crit": 3,
            "desc": "Archive has a sub-10KB member"
          }
        ]
      },
      {
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 3951,
              "entropy": 4.82
            },
            "binary": {
              "peak_region_bytes": 2927,
              "peak_region_entropy": 4.95
            }
          }
        },
        "id": 3,
        "path": "rspack_plugin_circular_dependencies-0.102.9.crate!!rspack_plugin_circular_dependencies-0.102.9/Cargo.toml",
        "pid": 0,
        "refs": [
          {
            "to": "pkg:cargo/cow-utils?version_requirement=0.1.3",
            "off": 0,
            "kind": "dependency"
          },
          {
            "to": "pkg:cargo/derive_more?version_requirement=2.1.1",
            "off": 0,
            "kind": "dependency"
          },
          {
            "to": "pkg:cargo/futures?version_requirement=0.3.34",
            "off": 0,
            "kind": "dependency"
          },
          {
            "to": "pkg:cargo/itertools?version_requirement=0.14.0",
            "off": 0,
            "kind": "dependency"
          },
          {
            "to": "pkg:cargo/rspack_collections@0.102.9",
            "off": 1337,
            "kind": "dependency"
          },
          {
            "to": "pkg:cargo/rspack_core@0.102.9",
            "off": 1418,
            "kind": "dependency"
          },
          {
            "to": "pkg:cargo/rspack_error@0.102.9",
            "off": 1492,
            "kind": "dependency"
          },
          {
            "to": "pkg:cargo/rspack_hook@0.102.9",
            "off": 1567,
            "kind": "dependency"
          },
          {
            "to": "pkg:cargo/rspack_regex@0.102.9",
            "off": 1641,
            "kind": "dependency"
          },
          {
            "to": "pkg:cargo/rustc-hash?version_requirement=2.1.3",
            "off": 0,
            "kind": "dependency"
          },
          {
            "to": "pkg:cargo/tracing?version_requirement=0.1.44",
            "off": 0,
            "kind": "dependency"
          },
          {
            "to": "src/lib.rs",
            "off": 940,
            "file": 7,
            "kind": "local"
          },
          {
            "to": "pkg:github/web-infra-dev/rspack",
            "off": 770,
            "kind": "repository"
          }
        ],
        "risk": 2,
        "sha": "15b3f7e9a3c9d19e4fe6244c86e0f77b3f19fba7d986de74bb3690f7336738e4",
        "size": 3951,
        "traits": [
          {
            "id": "metadata/package/description/length::cargo-description-at-least-20-characters",
            "conf": 0.78,
            "crit": 2,
            "desc": "Cargo description has at least 20 characters"
          },
          {
            "id": "metadata/package/documentation/source::cargo-readme-field-present",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo readme field is populated"
          },
          {
            "id": "metadata/package/license::cargo-license-field-present",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo license field is populated"
          },
          {
            "id": "metadata/package/name/identity::cargo-package-name-present",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package name field is populated"
          },
          {
            "id": "metadata/package/repository::cargo-repository-code-forge-host",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo repository names a common code-forge host"
          },
          {
            "id": "metadata/package/repository::cargo-repository-field-present",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo repository field is populated"
          },
          {
            "id": "metadata/package/version::cargo-conventional-version",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package uses conventional version"
          },
          {
            "id": "metadata/package/version::cargo-package-version",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package has version"
          },
          {
            "id": "metadata/file/profile/structured::cargo-core-fields-present",
            "conf": 0.88,
            "crit": 2,
            "desc": "Cargo name/version and another project field are present",
            "uses": [
              0,
              1,
              2,
              3,
              5,
              7
            ]
          }
        ],
        "type": "cargo.toml"
      },
      {
        "ctx": [
          {
            "b": "B-Rapv@DM#B-.tlB2(uHz*bi6x(4\u0026L3uZA3ay]57x)a5{zeTDaiYYVuvS=rB3uZA3azb+rB-I5miYZ\u003e}BAIRniYYPCCT=*$B-I4P3uZA3azC}eA==kry\u0026.S#nPXJ:Bz(8lB2%.KB7DFmB8UL$yHpN\u0026y\u00260V)BzkVhB2(venN#yIBzku3wPxsAnN#yIBzku3wPyHNAd6!PB-RapA=Vhdv@2BYz/PzIi^RhRavx\u003c-v%8P@A.QE.B.\u003eSgnP5cUefEq#ze:i9vruj4zy=[$z/6Dcy*?B1z/eu\u0026BzkPaDsY/?wozZ1B1wC4wPhi#wmYT*C#P6dwH[@#z!a0bwL3AzzGGP8x\u003eqro3lQD/y\u0026%x8zy=cyi%{aKwGV2mAa9l(uUam#z/N)1DQINRxkRTeBzkkoaw#=(B.(eFi%{aKwGV2mAa9l(uUBv@yDsI6AboVfx(kEAAboVfx(mo\u003ez/oAti%{aKwGV2mAa9l(uVGZ\u003cwQ3l%qGD!=v@1$NxjVrH3uZA3aAzQCByOV\u003evrl9yi.1u+vrl9XwPP56B0a1ZB7!G-Buo*pB98CBv@@?XD1gV4l$HEKv@#TfjssM3aBsCraz(4cB.\u003eR@zddxAasnEAaw39PzGGP8x\u003eqrVvq[t0A:-{2o(BM+y?k^Y3vJl*x(d*9jsp",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "cp-8+Aa?%:wozZ1aBsCrarR!FwO+@=arR^HarSpNz!a0bwNxp.A0^ZgarR^He[X:qc#0iv3lQDlarR^VwQ5f9v@%ayo(BM+y?j-avq)ugxM53fwft/dy\u003cvdkz/fV9x(k5lwObH]wO#0?B0bNyaz2!iB98blxcq5fwozZ1B0r4uarV7t3lQDAfe1CCwPS6nzGu}ey?$k8wPhi#wmYT*C{3Qxv@bZ$ay/tcByw)3wN(]$zxK4mwGUI{AaJ]$wO#16azk.6Aa*wnByxiix(mMavrq\u00260atkx3ayF]3x([5$y*R3$wozZ1uUK4Ue^-Zzw]n-6x(mD*v%IN2wPIi\u003cA=k!y3lQDlasp@FBrCToy?tj9ao",
            "ln": 686,
            "col": 50,
            "line": 24
          },
          {
            "b": "DKp(rarUfpA=L-eBye#}Bz9pCB-RjAv%8*jwO#P%zeS%cy?l%/wgoOEarR^Hw]zYjByxi5wPRo[wftP7aAIagw?E.cBye)6wozZ1c)\u0026CDA=L-eBye)6wozZ1uUK41e[wKjwO#3\u0026zEWx(B1RltD2\u003ew.aBsCrarR^Hatkw\u003cnOf8!xK@q@B-IIlzGE0",
            "ln": 1550,
            "col": 5,
            "line": 55
          },
          {
            "b": "wO#3\u0026zGE1rz!a0bwH[%CxK#67x(\u003cX8arR^Hatkw\u003cv@=c?By/Iovix69v@bZ0vqYP#wn=42zyoJGzE)x\u0026aARJAvR3W7A::c5A=U/5azb+pBzblae*9@ixK#jdx(^\u0026p3lQDlarR^WfcCpDv%8*kwGV8dA=l8kxDRzgvrrS5wPhi#wmYT*C{4iEazUL1A3fjkvrb\u003c\u003ex(mMo3lQDlarR^Wfa5*AarR^Hfe1CtBshbLAbP/sx\u003c$)\u0026azbLjaARphB0a$rv@bZ0Bz\u0026piz/fD7v@@\u00265vpK6}vrrS2zH0vzz!T9hazCZoBzbj)arR^HarSr\u003cay/LmA+fcgaAg+hxE\u003eoEzY\u003cdnwGV28v@Dx#wN(][D1gV4azC)tB8U@fBn",
            "ln": 1726,
            "col": 54,
            "line": 58
          },
          {
            "b": "zGG]AAbPDdBsXLAD1gV4e[]AsAWSv?zddxirbUYSA+PA7iY.w3uVQsfx(mMje[n*oy?m9#c[cO$vrVc]BsW+warR^HayulOj%iTpc[3I[ed9HxarV7tarV7t3lQE1B9RUkazbHlxKL^?y?l%-D1gV4uU0.\u0026wN/*[wgd^carR^NB7Gf1ed9HxarUlkBAhUC",
            "ln": 9999,
            "col": 35,
            "line": 308
          },
          {
            "b": "wPz*fATA{iarV7PwO=B0aBsCrarR^HavG{LxkRTeBzkkCi^k1MzvdHearV7]3jm)#arUGiBrC7qwfs2TB97}Ni+rhLiYZ+[A=L-eByeM)AWSvzarR^HarSpFCYmk7BsntyCvR?qxM53fwftt)ayPC4x(4i!y?j!t3lQDlarR^VBz\u003eJcBAh8kxj2E[B8#QPdgdguarR^He{82sB98CpzF7vDi%(rqarR^WfcCpDzeTPeaARpdaAzysBrCKhBz8!gwPzum3lQDlaz.",
            "ln": 10521,
            "col": 19,
            "line": 325
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "rustc_hash::FxHashSet::default"
            ],
            [
              "",
              "cycles.sort"
            ],
            [
              "",
              "current_path.push"
            ],
            [
              "",
              "current_path.iter.rposition"
            ],
            [
              "",
              "current_path.iter"
            ],
            [
              "",
              "cycle.push"
            ],
            [
              "",
              "found_cycles.push"
            ],
            [
              "",
              "seen_relations.contains"
            ],
            [
              "",
              "seen_relations.insert"
            ],
            [
              "",
              "current_path.pop"
            ],
            [
              "",
              "rspack_collections::IdentifierMap::default"
            ],
            [
              "",
              "dep.types.push"
            ],
            [
              "",
              "AggregatedDependency::new"
            ],
            [
              "",
              "compilation.get_module_graph"
            ],
            [
              "",
              "rspack_collections::IdentifierMap::default"
            ],
            [
              "",
              "module_map.reserve"
            ],
            [
              "",
              "module_graph.modules_len"
            ],
            [
              "",
              "module_graph.modules"
            ],
            [
              "",
              "GraphModule::new"
            ],
            [
              "",
              "module.source.is_some"
            ],
            [
              "",
              "module.source"
            ],
            [
              "",
              "module_graph.get_outgoing_connections.map"
            ],
            [
              "",
              "module_graph.get_outgoing_connections"
            ],
            [
              "",
              "module_graph.dependency_by_id"
            ],
            [
              "",
              "module_graph.get_module_by_dependency_id"
            ],
            [
              "",
              "dependent_module.source.is_none"
            ],
            [
              "",
              "dependent_module.source"
            ],
            [
              "",
              "dependent_module.identifier"
            ],
            [
              "",
              "graph_module.add_dependency"
            ],
            [
              "",
              "dependent_module.identifier"
            ],
            [
              "",
              "dependency.dependency_type"
            ],
            [
              "",
              "module_map.insert"
            ],
            [
              "",
              "value.contains"
            ],
            [
              "",
              "pattern.test"
            ],
            [
              "",
              "Self::new_inner"
            ],
            [
              "",
              "pattern.test"
            ],
            [
              "",
              "ignored_connections.iter.any"
            ],
            [
              "",
              "ignored_connections.iter"
            ],
            [
              "",
              "connection.is_ignored"
            ],
            [
              "",
              "cycle.windows"
            ],
            [
              "",
              "compilation.module_by_identifier.and_then"
            ],
            [
              "",
              "compilation.module_by_identifier"
            ],
            [
              "",
              "m.as_normal_module"
            ],
            [
              "",
              "module.resource_resolved_data.resource"
            ],
            [
              "",
              "module.resource_resolved_data"
            ],
            [
              "",
              "callback"
            ],
            [
              "",
              "cycle.iter.map.collect"
            ],
            [
              "",
              "cycle.iter.map"
            ],
            [
              "",
              "cycle.iter"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "callback"
            ],
            [
              "",
              "cycle.iter.map.collect"
            ],
            [
              "",
              "cycle.iter.map"
            ],
            [
              "",
              "cycle.iter"
            ],
            [
              "",
              "std::env::current_dir.expect.to_string_lossy.to_string"
            ],
            [
              "",
              "std::env::current_dir.expect.to_string_lossy"
            ],
            [
              "",
              "std::env::current_dir.expect"
            ],
            [
              "",
              "std::env::current_dir"
            ],
            [
              "",
              "cycle.iter.filter_map.collect"
            ],
            [
              "",
              "cycle.iter.filter_map"
            ],
            [
              "",
              "cycle.iter"
            ],
            [
              "",
              "compilation.module_by_identifier.map"
            ],
            [
              "",
              "compilation.module_by_identifier"
            ],
            [
              "",
              "module.readable_identifier.to_string.cow_replace.trim_start_matches.trim_start_matches.to_string"
            ],
            [
              "",
              "module.readable_identifier.to_string.cow_replace.trim_start_matches.trim_start_matches"
            ],
            [
              "",
              "module.readable_identifier.to_string.cow_replace.trim_start_matches"
            ],
            [
              "",
              "module.readable_identifier.to_string.cow_replace"
            ],
            [
              "",
              "module.readable_identifier.to_string"
            ],
            [
              "",
              "module.readable_identifier"
            ],
            [
              "",
              "diagnostics.push"
            ],
            [
              "",
              "diagnostic_factory"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "on_start"
            ],
            [
              "",
              "build_module_map"
            ],
            [
              "",
              "CycleDetector::new"
            ],
            [
              "",
              "compilation.build_chunk_graph_artifact.entrypoints.clone"
            ],
            [
              "",
              "compilation.build_chunk_graph_artifact.chunk_group_by_ukey.get.expect"
            ],
            [
              "",
              "compilation.build_chunk_graph_artifact.chunk_group_by_ukey.get"
            ],
            [
              "",
              "compilation.build_chunk_graph_artifact.chunk_graph.get_chunk_entry_modules"
            ],
            [
              "",
              "chunk_group.get_entrypoint_chunk"
            ],
            [
              "",
              "entry_modules.sort"
            ],
            [
              "",
              "detector.get_module"
            ],
            [
              "",
              "detector.find_cycles_from"
            ],
            [
              "",
              "entrypoint_name.clone"
            ],
            [
              "",
              "entrypoint_name.clone"
            ],
            [
              "",
              "on_end"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "ctx.compilation_hooks.optimize_modules.tap"
            ],
            [
              "",
              "optimize_modules::new"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "cow_utils::CowUtils"
            ],
            [
              "",
              "derive_more::Debug"
            ],
            [
              "",
              "futures::future::BoxFuture"
            ],
            [
              "",
              "itertools::Itertools"
            ],
            [
              "",
              "rspack_collections::Identifier"
            ],
            [
              "",
              "rspack_collections::IdentifierMap"
            ],
            [
              "",
              "rspack_core::CircularModulesInfo"
            ],
            [
              "",
              "rspack_core::Compilation"
            ],
            [
              "",
              "rspack_core::CompilationOptimizeModules"
            ],
            [
              "",
              "rspack_core::DependencyType"
            ],
            [
              "",
              "rspack_core::ModuleIdentifier"
            ],
            [
              "",
              "rspack_core::Plugin"
            ],
            [
              "",
              "rspack_error::Diagnostic"
            ],
            [
              "",
              "rspack_error::Result"
            ],
            [
              "",
              "rspack_hook::plugin"
            ],
            [
              "",
              "rspack_hook::plugin_hook"
            ],
            [
              "",
              "rspack_regex::RspackRegex"
            ],
            [
              "",
              "rustc_hash::FxHashSet"
            ]
          ],
          "mbr": [
            "chunk_group.get_entrypoint_chunk",
            "compilation.build_chunk_graph_artifact",
            "compilation.build_chunk_graph_artifact.chunk_graph",
            "compilation.build_chunk_graph_artifact.chunk_graph.get_chunk_entry_modules",
            "compilation.build_chunk_graph_artifact.chunk_group_by_ukey",
            "compilation.build_chunk_graph_artifact.chunk_group_by_ukey.get",
            "compilation.build_chunk_graph_artifact.chunk_group_by_ukey.get.expect",
            "compilation.build_chunk_graph_artifact.entrypoints",
            "compilation.build_chunk_graph_artifact.entrypoints.clone",
            "compilation.get_module_graph",
            "compilation.module_by_identifier",
            "compilation.module_by_identifier.and_then",
            "compilation.module_by_identifier.map",
            "compilation.options",
            "compilation.options.context",
            "conn.dependency_id",
            "connection.is_ignored",
            "ctx.compilation_hooks",
            "ctx.compilation_hooks.optimize_modules",
            "ctx.compilation_hooks.optimize_modules.tap",
            "current_path.iter",
            "current_path.iter.rposition",
            "current_path.pop",
            "current_path.push",
            "cycle.iter",
            "cycle.iter.filter_map",
            "cycle.iter.filter_map.collect",
            "cycle.iter.map",
            "cycle.iter.map.collect",
            "cycle.push",
            "cycle.windows",
            "cycles.sort",
            "dep.types",
            "dep.types.push",
            "dependency.dependency_type",
            "dependent_module.identifier",
            "dependent_module.source",
            "dependent_module.source.is_none",
            "detector.find_cycles_from",
            "detector.get_module",
            "detector.get_module.is_source",
            "diagnostics.push",
            "entry_modules.sort",
            "entrypoint_name.clone",
            "found_cycles.push",
            "graph_module.add_dependency",
            "ignored_connections.iter",
            "ignored_connections.iter.any",
            "m.as_normal_module",
            "module.readable_identifier",
            "module.readable_identifier.to_string",
            "module.readable_identifier.to_string.cow_replace",
            "module.readable_identifier.to_string.cow_replace.trim_start_matches",
            "module.readable_identifier.to_string.cow_replace.trim_start_matches.trim_start_matches",
            "module.readable_identifier.to_string.cow_replace.trim_start_matches.trim_start_matches.to_string",
            "module.resource_resolved_data",
            "module.resource_resolved_data.resource",
            "module.source",
            "module.source.is_some",
            "module_graph.dependency_by_id",
            "module_graph.get_module_by_dependency_id",
            "module_graph.get_outgoing_connections",
            "module_graph.get_outgoing_connections.map",
            "module_graph.modules",
            "module_graph.modules_len",
            "module_map.insert",
            "module_map.reserve",
            "pattern.test",
            "seen_relations.contains",
            "seen_relations.insert",
            "std::env::current_dir.expect",
            "std::env::current_dir.expect.to_string_lossy",
            "std::env::current_dir.expect.to_string_lossy.to_string",
            "value.contains"
          ],
          "tgt": [
            "AggregatedDependency::new",
            "CycleDetector::new",
            "GraphModule::new",
            "Ok",
            "Self::new_inner",
            "build_module_map",
            "callback",
            "chunk_group.get_entrypoint_chunk",
            "compilation.build_chunk_graph_artifact.chunk_graph.get_chunk_entry_modules",
            "compilation.build_chunk_graph_artifact.chunk_group_by_ukey.get",
            "compilation.build_chunk_graph_artifact.chunk_group_by_ukey.get.expect",
            "compilation.build_chunk_graph_artifact.entrypoints.clone",
            "compilation.get_module_graph",
            "compilation.module_by_identifier",
            "compilation.module_by_identifier.and_then",
            "compilation.module_by_identifier.map",
            "connection.is_ignored",
            "ctx.compilation_hooks.optimize_modules.tap",
            "current_path.iter",
            "current_path.iter.rposition",
            "current_path.pop",
            "current_path.push",
            "cycle.iter",
            "cycle.iter.filter_map",
            "cycle.iter.filter_map.collect",
            "cycle.iter.map",
            "cycle.iter.map.collect",
            "cycle.push",
            "cycle.windows",
            "cycles.sort",
            "dep.types.push",
            "dependency.dependency_type",
            "dependent_module.identifier",
            "dependent_module.source",
            "dependent_module.source.is_none",
            "detector.find_cycles_from",
            "detector.get_module",
            "diagnostic_factory",
            "diagnostics.push",
            "entry_modules.sort",
            "entrypoint_name.clone",
            "found_cycles.push",
            "graph_module.add_dependency",
            "ignored_connections.iter",
            "ignored_connections.iter.any",
            "m.as_normal_module",
            "module.readable_identifier",
            "module.readable_identifier.to_string",
            "module.readable_identifier.to_string.cow_replace",
            "module.readable_identifier.to_string.cow_replace.trim_start_matches",
            "module.readable_identifier.to_string.cow_replace.trim_start_matches.trim_start_matches",
            "module.readable_identifier.to_string.cow_replace.trim_start_matches.trim_start_matches.to_string",
            "module.resource_resolved_data",
            "module.resource_resolved_data.resource",
            "module.source",
            "module.source.is_some",
            "module_graph.dependency_by_id",
            "module_graph.get_module_by_dependency_id",
            "module_graph.get_outgoing_connections",
            "module_graph.get_outgoing_connections.map",
            "module_graph.modules",
            "module_graph.modules_len",
            "module_map.insert",
            "module_map.reserve",
            "on_end",
            "on_start",
            "optimize_modules::new",
            "pattern.test",
            "rspack_collections::IdentifierMap::default",
            "rustc_hash::FxHashSet::default",
            "seen_relations.contains",
            "seen_relations.insert",
            "std::env::current_dir",
            "std::env::current_dir.expect",
            "std::env::current_dir.expect.to_string_lossy",
            "std::env::current_dir.expect.to_string_lossy.to_string",
            "value.contains"
          ],
          "funcs": [
            [
              "new",
              547
            ],
            [
              "get_module",
              639
            ],
            [
              "find_cycles_from",
              938
            ],
            [
              "recurse_dependencies",
              1300
            ],
            [
              "new",
              2900
            ],
            [
              "is_asynchronous_only",
              3151
            ],
            [
              "new",
              4189
            ],
            [
              "add_dependency",
              4342
            ],
            [
              "build_module_map",
              4600
            ],
            [
              "test",
              6025
            ],
            [
              "is_ignored",
              6623
            ],
            [
              "new",
              8225
            ],
            [
              "is_ignored_module",
              8330
            ],
            [
              "is_ignored_connection",
              8491
            ],
            [
              "is_cycle_ignored",
              8766
            ],
            [
              "handle_cycle_ignored",
              9768
            ],
            [
              "handle_cycle_detected",
              10098
            ],
            [
              "optimize_modules",
              11527
            ],
            [
              "apply",
              13200
            ]
          ],
          "metrics": {
            "ast": {
              "op.eq": 2,
              "op.lor": 1,
              "op.land": 1,
              "max_depth": 31,
              "call_count": 111,
              "node_count": 3247,
              "member_count": 74,
              "max_array_len": 2,
              "op_density.eq": 0,
              "op_density.lor": 0,
              "op_density.land": 0,
              "member_depth_max": 7
            },
            "file": {
              "size": 13388,
              "entropy": 4.79
            },
            "text": {
              "lines": 427,
              "top_char": 101,
              "max_ws_run": 1,
              "digit_ratio": 0,
              "space_count": 2442,
              "char_entropy": 4.79,
              "unique_chars": 78,
              "top_char_null": 0,
              "string_density": 0.02,
              "top_char_ratio": 0.09,
              "avg_line_length": 30.35,
              "max_line_length": 100,
              "empty_line_ratio": 0.1,
              "last_line_length": 1,
              "whitespace_ratio": 0.21,
              "identifier_density": 1.48,
              "line_length_stddev": 25.51,
              "normalized_string_count": 0.34,
              "repeated_char_sequences": 27,
              "suspicious_comment_ratio": 0.06,
              "suspicious_identifier_ratio": 0.02,
              "normalized_unique_identifiers": 24.03
            },
            "binds": {
              "count": 13
            },
            "binary": {
              "peak_region_bytes": 12288,
              "peak_region_entropy": 4.96
            },
            "source": {
              "class_count": 7,
              "function_count": 16
            },
            "imports": {
              "count": 18,
              "aliased": 1,
              "third_party_count": 18,
              "third_party_ratio": 1
            },
            "strings": {
              "bytes": 190,
              "count": 7,
              "avg_length": 27.14,
              "max_length": 61,
              "avg_entropy": 3.47,
              "empty_count": 1,
              "entropy_stddev": 0.89
            },
            "comments": {
              "chars": 2050,
              "count": 35,
              "empty": 1,
              "lines": 34,
              "base64": 2,
              "to_code_ratio": 0.09
            },
            "functions": {
              "count": 23,
              "density": 4.45,
              "avg_params": 2.58,
              "code_ratio": 0.71,
              "max_params": 5,
              "length_stddev": 15.52,
              "avg_name_length": 12.53,
              "avg_length_lines": 16.05,
              "max_length_lines": 53,
              "min_length_lines": 3,
              "high_entropy_names": 2,
              "avg_param_name_length": 7.53
            },
            "identifiers": {
              "count": 634,
              "unique": 210,
              "avg_length": 10.7,
              "max_length": 40,
              "min_length": 1,
              "avg_entropy": 2.73,
              "reuse_ratio": 0.33,
              "length_stddev": 6.76,
              "sequential_names": 2,
              "single_char_count": 3,
              "single_char_ratio": 0.01,
              "high_entropy_count": 28,
              "high_entropy_ratio": 0.13,
              "all_lowercase_ratio": 0.75,
              "all_uppercase_ratio": 0,
              "keyboard_pattern_names": 2,
              "underscore_prefix_count": 3
            }
          }
        },
        "id": 5,
        "mol": "H(F)",
        "path": "rspack_plugin_circular_dependencies-0.102.9.crate!!rspack_plugin_circular_dependencies-0.102.9/src/circular_dependency_rspack_plugin.rs",
        "pid": 0,
        "risk": 2,
        "sha": "5e3245463d5cd41c408526fd99c3d451366c694da85143030b2d7a8da80d3eea",
        "size": 13388,
        "traits": [
          {
            "id": "metadata/import/rust/cow_utils/cowutils::cow_utils/cowutils",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports cow_utils::CowUtils",
            "spans": [
              [
                4,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/derive_more/debug::derive_more/debug",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports derive_more::Debug",
            "spans": [
              [
                29,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/futures/future/boxfuture::futures/future/boxfuture",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports futures::future::BoxFuture",
            "spans": [
              [
                53,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/itertools/itertools::itertools/itertools",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports itertools::Itertools",
            "spans": [
              [
                85,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/rspack_collections/identifier::rspack_collections/identifier",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports rspack_collections::Identifier",
            "spans": [
              [
                132,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/rspack_collections/identifiermap::rspack_collections/identifiermap",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports rspack_collections::IdentifierMap",
            "spans": [
              [
                144,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/rspack_core/circularmodulesinfo::rspack_core/circularmodulesinfo",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports rspack_core::CircularModulesInfo",
            "spans": [
              [
                181,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/rspack_core/compilation::rspack_core/compilation",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports rspack_core::Compilation",
            "spans": [
              [
                202,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/rspack_core/compilationoptimizemodules::rspack_core/compilationoptimizemodules",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports rspack_core::CompilationOptimizeModules",
            "spans": [
              [
                215,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/rspack_core/dependencytype::rspack_core/dependencytype",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports rspack_core::DependencyType",
            "spans": [
              [
                243,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/rspack_core/moduleidentifier::rspack_core/moduleidentifier",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports rspack_core::ModuleIdentifier",
            "spans": [
              [
                259,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/rspack_core/plugin::rspack_core/plugin",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports rspack_core::Plugin",
            "spans": [
              [
                279,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/rspack_error/diagnostic::rspack_error/diagnostic",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports rspack_error::Diagnostic",
            "spans": [
              [
                309,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/rspack_error/result::rspack_error/result",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports rspack_error::Result",
            "spans": [
              [
                321,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/rspack_hook/plugin::rspack_hook/plugin",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports rspack_hook::plugin",
            "spans": [
              [
                348,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/rspack_hook/plugin_hook::rspack_hook/plugin_hook",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports rspack_hook::plugin_hook",
            "spans": [
              [
                356,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/rspack_regex/rspackregex::rspack_regex/rspackregex",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports rspack_regex::RspackRegex",
            "spans": [
              [
                374,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/rustc_hash/fxhashset::HashSet",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports rustc_hash::FxHashSet as HashSet",
            "spans": [
              [
                405,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                876,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "spans": [
              [
                1774,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-3",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"that\"",
            "spans": [
              [
                1852,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "spans": [
              [
                1598,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-7",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"this\"",
            "spans": [
              [
                1923,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/directory/cwd::rust-current-directory",
            "conf": 0.88,
            "crit": 3,
            "desc": "Rust reads current directory",
            "spans": [
              [
                10585,
                22
              ]
            ]
          }
        ],
        "type": "rust"
      },
      {
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 859,
              "entropy": 4.79
            },
            "binary": {
              "peak_region_bytes": 859,
              "peak_region_entropy": 4.79
            },
            "registry": {
              "age_days": 0,
              "published_at": 1791878027,
              "releases_24h": 1,
              "releases_48h": 1,
              "is_deprecated": 0,
              "release_count": 87,
              "unpacked_size": 37249,
              "downloads_total": 131272,
              "version_removed": 0,
              "downloads_recent": 65695,
              "package_age_days": 465,
              "first_published_at": 1751627271,
              "previous_published_at": 1790606143,
              "days_since_previous_release": 14
            }
          }
        },
        "id": 8,
        "mol": "Md(Re)",
        "path": "rspack_plugin_circular_dependencies@0.102.9.registry.json",
        "pid": 0,
        "rel": "registry",
        "risk": 1,
        "role": "sidecar",
        "sha": "7bec834477b5f2d3bd30af9cab0e6313a37fd2f98edc4d5cacf07b46a4266936",
        "size": 859,
        "traits": [
          {
            "id": "metadata/registry::established-package",
            "conf": 1.0,
            "crit": 3,
            "desc": "Package is at least one year old"
          },
          {
            "id": "metadata/registry::many-releases",
            "conf": 1.0,
            "crit": 3,
            "desc": "Twenty or more releases"
          },
          {
            "id": "metadata/registry::widely-installed",
            "conf": 1.0,
            "crit": 3,
            "desc": "Large registry install base (10k+ downloads)"
          },
          {
            "id": "metadata/registry::freshly-published",
            "conf": 1.0,
            "crit": 3,
            "desc": "Release published within seven days"
          }
        ],
        "type": "registry"
      }
    ],
    "rev": "17dc6",
    "v": "8"
  }
}