# 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                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| ---------------- | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `--api-version`  | N/A               | **Type:** Value<br><br>Override the api version used for api requests made by this command                                                                                                                                                                                                                                                                                                                                                                                                 |
| `--flags-dir`    | N/A               | **Type:** Value<br><br>Import flag values from a directory.                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `--json`         | N/A               | **Type:** Boolean<br><br>Format output as json.                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `--name`         | `-n`              | **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.                                                                                                                                                                                                                                                                                                                                 |
| `--output-dir`   | `-d`              | **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.                                                                                                                                                                                                                                                                   |
| `--template`     | `-t`              | **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. |
| `--type`         | 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
```
