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
true
if 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.packages
and 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
updateAll
istrue
, 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
) –true
ifrootRequirements
are satisfied by installed packages.