MetadataType: {
    aliasFor?: string;
    children?: {
        directories?: DirectoryIndex;
        suffixes: SuffixIndex;
        types: TypeIndex;
    };
    directoryName: string;
    folderContentType?: string;
    folderType?: string;
    id: string;
    ignoreParentName?: boolean;
    ignoreParsedFullName?: boolean;
    inFolder?: boolean;
    isAddressable?: boolean;
    legacySuffix?: string;
    metaFileSuffix?: string;
    name: string;
    strategies?: {
        adapter:
            | "mixedContent"
            | "matchingContentFile"
            | "decomposed"
            | "digitalExperience"
            | "bundle"
            | "default";
        decomposition?: "topLevel" | "folderPerType";
        recomposition?: "startEmpty";
        transformer?:
            | "decomposed"
            | "staticResource"
            | "nonDecomposed"
            | "standard"
            | "decomposedLabels"
            | "decomposedPermissionSet";
    };
    strictDirectoryName?: boolean;
    suffix?: string;
    supportsPartialDelete?: boolean;
    supportsWildcardAndName?: boolean;
    unaddressableWithoutParent?: boolean;
    uniqueIdElement?: string;
    xmlElementName?: string;
}

Metadata type definition in the registry.

Type declaration

  • OptionalaliasFor?: string

    Whenever this type is requested, return the aliasFor type instead

  • Optionalchildren?: {
        directories?: DirectoryIndex;
        suffixes: SuffixIndex;
        types: TypeIndex;
    }

    Type definitions for child types, if the type has any.

    Examples: CustomField and CompactLayout on CustomObject

    • Optionaldirectories?: DirectoryIndex
    • suffixes: SuffixIndex
    • types: TypeIndex
  • directoryName: string

    Name of the directory where components are located in a package.

  • OptionalfolderContentType?: string

    If the type is a folder type (container for components), the id of the type it is a container for.

  • OptionalfolderType?: string

    If the type is contained in folders, the id of the type that contains it.

  • id: string

    Unique identifier of the metadata type. Usually the API name lowercased.

  • OptionalignoreParentName?: boolean

    If the parent name should be ignored when constructing the type's fullName

  • OptionalignoreParsedFullName?: boolean

    Whether or not to ignore the fullName that's parsed from the file path. If true, the metadata type's name will be used instead. For example, CustomLabels instead of MyLabels.

  • OptionalinFolder?: boolean

    Whether or not components are stored in folders.

    Examples: Reports, Dashboards, Documents, EmailTemplates

    use folderType to get the related folder type, if one exists

  • OptionalisAddressable?: boolean

    Whether the component is supported by the Metadata API and therefore should be included within a manifest.

  • OptionallegacySuffix?: string

    When converting deploying source, this will update the suffix in the output or temporary directory (metadata format) Use this, along with additional suffix keys in the registry, to support incorrect suffixes from existing code

  • OptionalmetaFileSuffix?: string

    MetaFile suffix

    An override to the default "-meta.xml" suffix.

    Examples: "_meta.json" for DigitalExperience.

  • name: string

    API name of the metadata type.

  • Optionalstrategies?: {
        adapter:
            | "mixedContent"
            | "matchingContentFile"
            | "decomposed"
            | "digitalExperience"
            | "bundle"
            | "default";
        decomposition?: "topLevel" | "folderPerType";
        recomposition?: "startEmpty";
        transformer?:
            | "decomposed"
            | "staticResource"
            | "nonDecomposed"
            | "standard"
            | "decomposedLabels"
            | "decomposedPermissionSet";
    }

    Configuration for resolving and converting components of the type.

    • adapter:
          | "mixedContent"
          | "matchingContentFile"
          | "decomposed"
          | "digitalExperience"
          | "bundle"
          | "default"
    • Optionaldecomposition?: "topLevel" | "folderPerType"
    • Optionalrecomposition?: "startEmpty"
    • Optionaltransformer?:
          | "decomposed"
          | "staticResource"
          | "nonDecomposed"
          | "standard"
          | "decomposedLabels"
          | "decomposedPermissionSet"
  • OptionalstrictDirectoryName?: boolean

    Whether or not components are required to reside in a folder named after the type's directoryName.

  • Optionalsuffix?: string

    File suffix

    Some types may not have one, such as those made up of varying file extensions.

    Examples: LightningComponentBundles, Documents, StaticResources

  • OptionalsupportsPartialDelete?: boolean

    Whether the component can be partially deleted, such as metadata types that are made up of multiple files.

    Examples: LightningComponentBundle, ExperienceBundle, StaticResource, and DigitalExperienceBundle

  • OptionalsupportsWildcardAndName?: boolean

    Whether or not components of the same type can be can be specified with the wildcard character, and by name in a manifest

    <members>*</members>
    <members>Account</members>
    <name>CustomObject</name>
  • OptionalunaddressableWithoutParent?: boolean

    Whether the component requires the parent to be present when deploying/retrieving

  • OptionaluniqueIdElement?: string

    The xml attribute used as the unique identifier when parsing the xml

  • OptionalxmlElementName?: string

    The XML element name for the type in the xml file used for constructing child components.