The data structure of a package manifest. This data structure is extended by BasePackage subclasses to add additional type-specific fields.

interface PackageManifestData {
    authors?: PackageAuthorData[];
    bugs?: string;
    changelog?: string;
    compatibility?: PackageCompatibilityData;
    description?: string;
    download?: string;
    esmodules?: string[];
    exclusive?: boolean;
    flags?: PackageFlagsData;
    id: string;
    languages?: PackageLanguageData[];
    license?: string;
    manifest?: string;
    media: PackageMediaData[];
    packFolders?: PackFolderData[];
    packs?: PackageCompendiumData[];
    persistentStorage?: boolean;
    protected?: boolean;
    readme?: string;
    relationships?: PackageRelationshipsData;
    scripts?: string[];
    socket?: boolean;
    styles?: string[];
    title: string;
    url?: string;
    version: string;
}

Properties

authors?: PackageAuthorData[]

An array of author objects who are co-authors of this package.

bugs?: string

A web url where bug reports may be submitted and tracked

changelog?: string

A web url where notes detailing package updates are available

compatibility?: PackageCompatibilityData

The compatibility of this version with the core Foundry software. See https://foundryvtt.com/article/versioning/ for more info on how the core software structures its releases.

description?: string

An optional package description, may contain HTML. Visible on the Setup screen in "gallery" view as well as in the "Module Management" application.

download?: string

A publicly accessible web URL where the source files for this package may be downloaded. Required in order to support package installation.

esmodules?: string[]

An array of urls or relative file paths for ESModule files to include

exclusive?: boolean

Whether this package is a free Exclusive pack.

An object of optional key/value flags. Packages can use this namespace for their own purposes, preferably within a namespace matching their package ID.

id: string

The machine-readable unique package id, should be lower-case with no spaces or special characters

languages?: PackageLanguageData[]

An array of language data objects which are included by this package

license?: string

A web url or relative file path where license details may be found

manifest?: string

A publicly accessible web URL which provides the latest available package manifest file. Required in order to support package updates.

An array of objects containing media info about the package.

packFolders?: PackFolderData[]

An array of pack folders that will be initialized once per world.

An array of compendium packs which are included by this package

persistentStorage?: boolean

Whether updates should leave the contents of the package's /storage folder.

protected?: boolean

Whether this package uses the protected content access system.

readme?: string

A web url or relative file path where readme instructions may be found

relationships?: PackageRelationshipsData

An organized object of relationships to other Packages

scripts?: string[]

An array of urls or relative file paths for JavaScript files to include

socket?: boolean

Whether to require a package-specific socket namespace for this package

styles?: string[]

An array of urls or relative file paths for CSS stylesheet files to include

title: string

The human-readable package title, containing spaces and special characters

url?: string

A web url where more details about the package may be found

version: string

The current package version. It is recommended to stick to dot-separated numbers like "5.0.3" and to not include a leading "v" to avoid string comparison. See foundry.utils.isNewerVersion.