Skip to main content

module lang::php::analysis::composer::Composer

rascal-0.42.0
org.rascalmpl.php-analysis-0.3.3

Usage

import lang::php::analysis::composer::Composer;

Dependencies

import lang::json::IO;
import util::Maybe;
import String;
import Node;
import IO;
import DateTime;
import Exception;
import lang::php::analysis::composer::VersionSyntax;

data Composer

data Composer  
= composer(
Maybe[tuple[str vendorName, str projectName]] name,
Maybe[str] description,
ComposerVersion version,
str packageType,
list[str] keywords,
Maybe[str] homepage,
str readme,
Maybe[datetime] releaseDateTime,
list[str] license,
list[Author] authors,
map[str,str] support,
list[Funding] funding,
rel[str packageType, str vendorName, str projectName, PackageVersionConstraint constraint] packageDependencies,
rel[str packageType, str dependencyName, PackageVersionConstraint constraint] phpDependencies,
rel[str autoloadType, str namespace, str path] autoloadConfig,
rel[str autoloadType, str namespace, str path] autoloadDevConfig,
list[str] includePaths,
Maybe[str] targetDir,
Maybe[str] minimumStability,
Maybe[bool] preferStable)
| composerLoadError(str s)
| composerLoadError(value v, str s)
;

data ComposerVersion

data ComposerVersion  
= version(int major, int minor, int patch)
| version(int major, int minor, int patch, VersionSuffix suffix)
| version(int major, int minor, int patch, VersionSuffix suffix, int suffixNum)
| noVersion()
;

data VersionSuffix

data VersionSuffix  
= dev()
| patch()
| alpha()
| beta()
| rc()
;

data Author

data Author  
= author(Maybe[str] name, Maybe[str] email, Maybe[str] homepage, Maybe[str] role)
;

data Funding

data Funding  
= projectFunding(str typeOfFunding, str fundingURL)
;

data PackageType

data PackageType  
= requires()
;

data Exception

data Exception  
= ComposerLoadError(str s)
| ComposerLoadError(value v, str s)
;

function loadComposerFile

Composer loadComposerFile(loc l, bool justPublishedPackages = false)