---
schema_version: "1"
id: d7b634cc6f81af3d4bf53518855b64578409d8265a8bfb6c22667c6d848bdc10
title: template generate lightning component
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/salesforcedx/sfclireference/guides/template/cli_reference_template_generate_lightning_component.md
canonical_url: https://developer.salesforce.com/docs/platform/salesforce-cli-reference/guide/cli_reference_template_generate_lightning_component.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: ab759f28f8e27a1ce6d6b1e838a912f22ceacabb341828b7c160260c0cbfa727
products:
  - Salesforce CLI Command Reference
  - salesforcedx
---
<!-- prettier-ignore-start -->

# template generate lightning component

Generate a bundle for an Aura component or a Lightning web component.

## Description for template generate lightning component

Generates the bundle in the specified directory or the current working directory. The bundle consists of multiple files in a directory with the designated name. Lightning web components are contained in the directory with name "lwc", Aura components in "aura".

To generate a Lightning web component, pass "--type lwc" to the command. If you don’t specify --type, Salesforce CLI generates an Aura component by default.

## Aliases for template generate lightning component

`force:lightning:component:create`

`lightning:generate:component`

## Flags

| Flag Name (Long) | Flag Name (Short) | Description |
|------------------|-------------------|-------------|
| <code>&#8209;&#8209;api&#8209;version</code> | N/A | **Type:** Value<br><br>Override the api version used for api requests made by this command |
| <code>&#8209;&#8209;flags&#8209;dir</code> | N/A | **Type:** Value<br><br>Import flag values from a directory. |
| <code>&#8209;&#8209;json</code> | N/A | **Type:** Boolean<br><br>Format output as json. |
| <code>&#8209;&#8209;name</code> | <code>&#8209;n</code> | **Type:** Value<br>**Required**<br><br>Name of the generated Lightning Component.<br><br>The name can be up to 40 characters and must start with a letter. |
| <code>&#8209;&#8209;output&#8209;dir</code> | <code>&#8209;d</code> | **Type:** Value<br>**Default value:** `.`<br><br>Directory for saving the created files.<br><br>The location can be an absolute path or relative to the current working directory. The default is the current directory. |
| <code>&#8209;&#8209;template</code> | <code>&#8209;t</code> | **Type:** Value<br>**Valid Values:** `default`, `analyticsDashboard`, `analyticsDashboardWithStep`, `typescript`<br>**Default value:** `default`<br><br>Template to use for file creation.<br><br>Supplied parameter values or default values are filled into a copy of the template. For Lightning Web Components, if this flag isn't specified, the CLI command automatically selects the template based on the "defaultLwcLanguage" field in the DX project's "sfdx-project.json" file. |
| <code>&#8209;&#8209;type</code> | N/A | **Type:** Value<br>**Valid Values:** `aura`, `lwc`<br>**Default value:** `aura`<br><br>Type of the component bundle. |

## Examples for template generate lightning component

Generate the metadata files for an Aura component bundle in the current directory:

```shell
sf template generate lightning component --name mycomponent
```

Generate a Lightning web component bundle in the current directory:

```shell
sf template generate lightning component --name mycomponent --type lwc
```

Generate an Aura component bundle in the "force-app/main/default/aura" directory:

```shell
sf template generate lightning component --name mycomponent --output-dir force-app/main/default/aura
```

Generate a Lightning web component bundle in the "force-app/main/default/lwc" directory:

```shell
sf template generate lightning component --name mycomponent --type lwc --output-dir force-app/main/default/lwc
```

Generate a TypeScript Lightning Web Component:

```shell
sf template generate lightning component --name mycomponent --type lwc --template typescript
```
<!-- prettier-ignore-end -->
