@eagleoutice/flowr-dev
Version:
Static Dataflow Analyzer and Program Slicer for the R Programming Language
27 lines (26 loc) • 1.4 kB
TypeScript
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];
}