@eagleoutice/flowr-dev
Version:
Static Dataflow Analyzer and Program Slicer for the R Programming Language
28 lines (27 loc) • 1.67 kB
TypeScript
import { FlowrAnalyzerPackageVersionsPlugin } from './flowr-analyzer-package-versions-plugin';
import { SemVer } from 'semver';
import type { FlowrAnalyzerContext } from '../../context/flowr-analyzer-context';
import { FlowrRProjectFile, FlowrUvrManifestFile } from '../file-plugins/files/flowr-manifest-files';
/**
* Extracts the project metadata and the declared dependencies from a project manifest. The name is contributed
* without a namespace: such a project is no package, so `a::b` must not resolve against it.
*/
declare abstract class FlowrAnalyzerMetaManifestFilePlugin extends FlowrAnalyzerPackageVersionsPlugin {
readonly version: SemVer;
/** the manifest flavor this plugin reads, the others are left to their own plugin */
protected abstract readonly reads: abstract new (...args: never[]) => object;
process(ctx: FlowrAnalyzerContext): void;
}
/** Reads an rv `rproject.toml`. */
export declare class FlowrAnalyzerMetaRProjectFilePlugin extends FlowrAnalyzerMetaManifestFilePlugin {
readonly name = "flowr-analyzer-meta-rproject-file-plugin";
readonly description = "Extracts project meta information and dependencies from an rproject.toml.";
protected readonly reads: typeof FlowrRProjectFile;
}
/** Reads a uvr `uvr.toml`, whose `[dev-dependencies]` land in `suggests`. */
export declare class FlowrAnalyzerMetaUvrManifestFilePlugin extends FlowrAnalyzerMetaManifestFilePlugin {
readonly name = "flowr-analyzer-meta-uvr-manifest-file-plugin";
readonly description = "Extracts project meta information and dependencies from a uvr.toml.";
protected readonly reads: typeof FlowrUvrManifestFile;
}
export {};