---
schema_version: "1"
id: beed25b00034a8d4a5fb2a380abbc27a7c1e19ba3379cccaf12fced8b5cee7cf
title: Component Types (dw::meta::Component)
collection: mulesoft
version: current
locale: en-us
portal_url: https://docs.salesforce.com/mulesoft/current/en-us/dataweave/latest/dw-component-types.md
canonical_url: https://docs.mulesoft.com/dataweave/latest/dw-component-types
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 9bc3941e0fc7490dee11db7b72514651fb6007439eea97764dc6331b9e695fd9
description: MuleSoft Documentation Site
release: "2.13"
latest: true
---
---
product: DataWeave
version: 2.13
is-latest-version: true
---

# Component Types (dw::meta::Component)

> For the full documentation index, see: https://docs.mulesoft.com/llms.txt

Use this topic to understand the DataWeave types in a component descriptor. These types define how
DataWeave represents components and their owned modules in `dw-components.dwl`.

<table><colgroup><col> <col> <col></colgroup><thead><tr><th>Type</th><th>Definition</th><th>Description</th></tr></thead><tbody><tr><td><p>ComponentDescriptor</p></td><td><div><div><p><code>type ComponentDescriptor = { name: ComponentName, resources: { (NameIdentifier): ModuleDescriptor } }</code></p></div></div></td><td><div><div><p>Describes a single component. Contains these fields:</p></div><div><ul><li><p><code>name</code>: Component identifier referenced from <code>@VisibleTo</code>.</p></li><li><p><code>resources</code>: Modules owned by the component, keyed by <code>NameIdentifier</code>.</p></li></ul></div><div><p><em>Introduced in DataWeave version 2.12.0.</em></p></div></div></td></tr><tr><td><p>ComponentName</p></td><td><div><div><p><code>type ComponentName = String</code></p></div></div></td><td><div><div><p>Identifier of a component that matches the <code>name</code> field of a <code>ComponentDescriptor</code>.</p></div><div><p><em>Introduced in DataWeave version 2.12.0.</em></p></div></div></td></tr><tr><td><p>ComponentsDescriptor</p></td><td><div><div><p><code>type ComponentsDescriptor = Array&lt;ComponentDescriptor&gt;</code></p></div></div></td><td><div><div><p>Top-level type of a <code>dw-components.dwl</code> file: an array of components.</p></div><div><p><em>Introduced in DataWeave version 2.12.0.</em></p></div></div></td></tr><tr><td><p>ModuleDescriptor</p></td><td><div><div><p><code>type ModuleDescriptor = Object</code></p></div></div></td><td><div><div><p>Per-resource metadata. Reserved for future fields; emit <code>{}</code> for every entry.</p></div><div><p><em>Introduced in DataWeave version 2.12.0.</em></p></div></div></td></tr><tr><td><p>NameIdentifier</p></td><td><div><div><p><code>type NameIdentifier = String</code></p></div></div></td><td><div><div><p>Fully qualified DataWeave module name written with the <code>::</code> separator, such as <code>"dw::core::Strings"</code>.</p></div><div><p><em>Introduced in DataWeave version 2.12.0.</em></p></div></div></td></tr></tbody></table>
