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

    Manages the project's dependencies, their versions, and their interplay with FlowrAnalyzerPackageVersionsPlugins.

    Hierarchy (View Summary)

    Implements

    Index

    The linked full project context, allowing plugins to modify and access it.

    The functions context associated with this dependencies-context.

    name: "flowr-analyzer-dependencies-context" = 'flowr-analyzer-dependencies-context'

    A human-readable name of the context. Try to make it unique to avoid confusion in the logs.

    The plugins registered for this context. These build the foundation for applyPlugins.

    • Register a dependency declared by a project metadata file (DESCRIPTION, renv.lock, rv.lock, uvr.lock). Gated by solver.sigdb.loadProjectDependencies: when project-dependency loading is disabled this is a no-op, so the declared deps never enter the context (unlike addDependency, used for on-demand signature-database resolution).

      Parameters

      Returns this

    • Get the dependency with the given name, if it exists.

      If the static dependencies have not yet been loaded, this may trigger a resolution step. Pass version to pin the resolution to a constraint (an exact version string, or a Range; uncached; versionOverrides config still wins, base-R stays tied to the assumed R version); otherwise the version comes from the declared constraints.

      Parameters

      • name: string

        The name of the dependency to get.

      • Optionalversion: string | Range

        Optional version constraint to pin the resolution to (exact version string or a Range).

      Returns Package | undefined

      The dependency with the given name, or undefined if it does not exist.

    • The way to reach the signature database programmatically.

      Everything the database can answer is on the returned SignatureDb, and it answers for the version this project assumes for each package, which is the one solver.sigdb.versionOverrides, solver.sigdb.versionSelection and solver.sigdb.assumedRVersion produced. A bare PackageSignatureSource would instead answer for whatever it happens to hold as newest.

      Returns SignatureDb

      const db = analyzer.inspectContext().deps.signatures();
      db.versionOf('dplyr'); // the version the analysis assumes
      db.functionOf(Identifier.make('lead', 'dplyr')); // its database entry
      db.parametersOf(Identifier.make('lead', 'dplyr')); // its formals, ready for FunctionSemantics.call.match.toNames