Yarn
extends Npm
in package
Class Yarn
Processes 'Yarnpkg' files
Table of Contents
- $lockFile : string
- $pkgData : array<string|int, mixed>
- $timeout : int
- Defines timeout for API requests (in seconds)
- $userAgent : string
- Controls `User-Agent` header
- __construct() : void
- Constructor
- extract() : array<string|int, mixed>
- Extracts raw data from input files
- spreadLove() : array<string|int, mixed>
- Spreads love
- extend() : array<string|int, mixed>
- Retrieves additional package information
- fetchRemote() : string
- Fetches information from API endpoint
- formatURL() : string
- Makes Git repository notation human-readable
- cleanString() : string
- Removes redundant characters from strings (v1 only)
- getPackageNameV1() : string
- Determines package name (v1 only)
- parseLockFileV1() : array<string|int, mixed>
- Parses v1 lockfile
- parseLockFileV2() : array<string|int, mixed>
- Parses v2 lockfile
Properties
$lockFile
public
string
$lockFile
$pkgData
public
array<string|int, mixed>
$pkgData
$timeout
Defines timeout for API requests (in seconds)
public
int
$timeout
= 3
$userAgent
Controls `User-Agent` header
public
string
$userAgent
= 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0'
Methods
__construct()
Constructor
public
__construct(array<string|int, mixed> $pkgData, string $lockFile) : void
Parameters
- $pkgData : array<string|int, mixed>
-
Path to data file
- $lockFile : string
-
Lockfile contents
Return values
void —extract()
Extracts raw data from input files
public
extract() : array<string|int, mixed>
Return values
array<string|int, mixed> —spreadLove()
Spreads love
public
spreadLove() : array<string|int, mixed>
Extracts data from files & retrieves additional information, providing hooks for both tasks & delegating them to its subclasses
Return values
array<string|int, mixed> —extend()
Retrieves additional package information
protected
abstract extend(array<string|int, mixed> $data) : array<string|int, mixed>
Parameters
- $data : array<string|int, mixed>
-
Extracted data
Return values
array<string|int, mixed> —Processed data
fetchRemote()
Fetches information from API endpoint
protected
fetchRemote(string $apiURL) : string
Parameters
- $apiURL : string
-
API endpoint
Tags
Return values
string —Response text - empty if connection failed
formatURL()
Makes Git repository notation human-readable
protected
formatURL(string $url) : string
Parameters
- $url : string
Return values
string —cleanString()
Removes redundant characters from strings (v1 only)
private
cleanString(string $string) : string
Parameters
- $string : string
Return values
string —getPackageNameV1()
Determines package name (v1 only)
private
getPackageNameV1(string $pkgName) : string
'@my/package@^1.2.3' => '@my/package' 'our/package@^1.2.3' => 'our/package'
Parameters
- $pkgName : string
Return values
string —parseLockFileV1()
Parses v1 lockfile
private
parseLockFileV1(string $lockStream) : array<string|int, mixed>
Parameters
- $lockStream : string
Return values
array<string|int, mixed> —Extracted data
parseLockFileV2()
Parses v2 lockfile
private
parseLockFileV2(string $lockStream) : array<string|int, mixed>
Parameters
- $lockStream : string
Return values
array<string|int, mixed> —Extracted data