UNPKG

@eagleoutice/flowr-dev

Version:

Static Dataflow Analyzer and Program Slicer for the R Programming Language

27 lines (26 loc) 1.4 kB
import { FlowrAnalyzerFilePlugin } from './flowr-analyzer-file-plugin'; import { SemVer } from 'semver'; import type { PathLike } from 'fs'; import type { FlowrAnalyzerContext } from '../../context/flowr-analyzer-context'; import type { FlowrFileProvider } from '../../context/flowr-file'; /** * Tags a project's virtual-environment lockfiles with the {@link FileRole.VirtualEnv} role, so the version * plugins that read them can look them up by role instead of scanning every project file. */ export declare class FlowrAnalyzerVirtualEnvFilePlugin extends FlowrAnalyzerFilePlugin { readonly name = "flowr-analyzer-virtualenv-files-plugin"; readonly description = "Marks virtual-environment lockfiles (renv.lock, rv.lock, uvr.lock)."; readonly version: SemVer; private readonly pathPattern; /** * Creates a new instance of the virtual-environment file plugin. * @param pathPattern - The pattern to identify lockfiles, see {@link VirtualEnvFilePattern} for the default. */ constructor(pathPattern?: RegExp); applies(file: PathLike): boolean; /** * Processes the given file, assigning it the {@link FileRole.VirtualEnv} role. The file may still be * relevant to other plugins, so this returns the `true` flag to keep the loader chain going. */ process(_ctx: FlowrAnalyzerContext, file: FlowrFileProvider): [FlowrFileProvider, true]; }