UNPKG

@eagleoutice/flowr-dev

Version:

Static Dataflow Analyzer and Program Slicer for the R Programming Language

41 lines 2.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.FlowrAnalyzerMetaDescriptionFilePlugin = void 0; const flowr_analyzer_package_versions_plugin_1 = require("./flowr-analyzer-package-versions-plugin"); const flowr_analyzer_description_file_plugin_1 = require("../file-plugins/flowr-analyzer-description-file-plugin"); const semver_1 = require("semver"); const flowr_analyzer_meta_context_1 = require("../../context/flowr-analyzer-meta-context"); /** * This plugin extracts package meta information from R `DESCRIPTION` files. */ class FlowrAnalyzerMetaDescriptionFilePlugin extends flowr_analyzer_package_versions_plugin_1.FlowrAnalyzerPackageVersionsPlugin { name = 'flowr-analyzer-meta-file-plugin'; description = 'Extracts package meta information from DESCRIPTION files.'; version = new semver_1.SemVer('0.1.0'); process(ctx) { const deps = flowr_analyzer_description_file_plugin_1.DescriptionFile.single(ctx, 'No description file found, cannot extract package versions.'); if (deps === undefined) { return; } const pkg = deps.packageName(); ctx.meta.contribute({ name: pkg, // a DESCRIPTION marks a real package, so its name is also the namespace `a::b` resolves against namespace: pkg, version: deps.version(), title: deps.packageTitle(), authors: deps.authors(), encoding: deps.content().get('Encoding')?.[0], licenses: deps.license(), declares: { imports: deps.imports(), depends: deps.depends(), suggests: deps.suggests(), linkingTo: deps.linkingTo(), enhances: deps.enhances() } }, flowr_analyzer_meta_context_1.MetaPriority.Description); } } exports.FlowrAnalyzerMetaDescriptionFilePlugin = FlowrAnalyzerMetaDescriptionFilePlugin; //# sourceMappingURL=flowr-analyzer-meta-description-file-plugin.js.map