Module ammcore.pkg¶
API for AMM package manager.
Warning
This API is unstable and may change in the future. Do not use it.
Index¶
Module
Build script API. |
|
Data about available packages and their versions. |
|
Parser for .ammpackage.json. |
|
Utilities for parsing package name. |
|
Source of packages. |
|
Available providers. |
|
Resolves dependencies. |
|
Version specifications. |
Function
Check local installation and update it if needed. |
|
Scan config.packages and dev packages to get root requirements. |
|
Get package provider with locally installed packages. |
|
Resolve and install packages. |
|
Check if all requirements are satisfied by the locally installed packages. |
Function¶
-
ammcore.pkg.checkAndUpdate(updateAll:
boolean)boolean¶ Check local installation and update it if needed.
@returns boolean didUpdate
trueif any packages were updated, and restart is required.- Parameters:
updateAll (
boolean) – update local packages even if current versions don’t conflict with requirements.
-
ammcore.pkg.gatherRootRequirements(provider:
ammcore.pkg.provider.Provider) map:table<string,ammcore.pkg.version.VersionSpec>¶ Scan
config.packagesand dev packages to get root requirements.- Parameters:
provider (
ammcore.pkg.provider.Provider) – a package provider.- Returns:
map (
table<string,ammcore.pkg.version.VersionSpec>) – from package name to requirement spec for the package.
-
ammcore.pkg.getPackageProvider(silent?:
boolean) provider:ammcore.pkg.provider.Provider¶ Get package provider with locally installed packages.
- Parameters:
silent? (
boolean) – don’t emit warnings if provider is unavailable.- Returns:
provider (
ammcore.pkg.provider.Provider) – a package provider.
-
ammcore.pkg.install(rootRequirements:
table<string,ammcore.pkg.version.VersionSpec>, provider:ammcore.pkg.provider.Provider, updateAll:boolean, includeRemotePackages:boolean) nUpgraded:number, nDowngraded:number, nInstalled:number, nUninstalled:number, nRebuilt:number¶ Resolve and install packages.
If
updateAllistrue, resolver will install the newest available versions of all packages. Otherwise, it will prefer already installed versions if they don’t conflict with requirements.- Parameters:
rootRequirements (
table<string,ammcore.pkg.version.VersionSpec>) – root requirements (seegatherRootRequirements()).provider (
ammcore.pkg.provider.Provider) – a package provider.updateAll (
boolean) – update local packages even if current versions don’t conflict with requirements.includeRemotePackages (
boolean) – allow package to fetch packages from github or other remote source.
- Returns:
nUpgraded (
number) – number of updraded packages.nDowngraded (
number) – number of downgraded packages.nInstalled (
number) – number of freshly installed packages.nUninstalled (
number) – number uninstalled packages that were no longer needed.nRebuilt (
number) – number of dev packages that were rebuilt.
-
ammcore.pkg.verify(rootRequirements:
table<string,ammcore.pkg.version.VersionSpec>, provider:ammcore.pkg.provider.Provider) ok:boolean¶ Check if all requirements are satisfied by the locally installed packages.
- Parameters:
rootRequirements (
table<string,ammcore.pkg.version.VersionSpec>) – root requirements (seegatherRootRequirements()).provider (
ammcore.pkg.provider.Provider) – a package provider.
- Returns:
ok (
boolean) –trueifrootRequirementsare satisfied by installed packages.