---
schema_version: "1"
id: 243b728c202a3bd1dbaa124c27f769e3f580c0f3f9defd8a5d61387fd869ba95
title: Component Types (dw::meta::Component)
collection: mulesoft
version: current
locale: en-us
portal_url: https://docs.salesforce.com/mulesoft/current/en-us/dataweave/2.12/dw-component-types.md
canonical_url: https://docs.mulesoft.com/dataweave/2.12/dw-component-types
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 908ce38a02bc9696e9e76b2c285e3043ff8c7b5a5b5d100dd5e10099f2b1300d
description: MuleSoft Documentation Site
release: "2.12"
latest: false
---
---
product: DataWeave
version: 2.12
---

# 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 the following 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 = {}</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>
