@eagleoutice/flowr - v2.13.14
    Preparing search index...

    The version space of one analysis: the surviving versions of each dependency and the transitive constraints refined to a fixpoint. Holding the shared inputs here keeps the passes to a handful of arguments and lets each package's sigdb key, source and decoded signatures be resolved once. The passes revisit the same versions repeatedly, so that memoization is what makes the fixpoint affordable.

    Index
    cutoff: Date | undefined
    disabled: ReadonlySet<ConstraintSource>
    rVersion: string | undefined
    sources: readonly PackageSignatureSource[]
    usage: ReadonlyMap<string, PackageUsage>
    • The transitive constraints, refined to a fixpoint: each pass re-reads every declaring package's requirements from the versions of it that survived the previous pass, so two packages can tighten each other. Feeding back the whole surviving set (not one representative version) is what keeps a requirement that only some of those versions declare from filtering (see TransitiveConstraint).

      The first pass runs with no transitive constraint at all, so every later pass can only shrink the surviving sets and thus only tighten the constraints: the refinement is monotone and cannot oscillate, and stopping early at maxIterations leaves it on the permissive side rather than at an arbitrary point. A declaring package that is not among the targets is not being guessed, so its Package.resolvedVersion stands in.

      Parameters

      • targets: readonly string[]
      • maxIterations: number = DefaultFixpointIterations

      Returns Map<string, TransitiveConstraint[]>