Skip to content

Commit

Permalink
feat(cli): Allow chainable options for the generate command and auto …
Browse files Browse the repository at this point in the history
…update module for each new component (#51)

* feat(cli): Allow chainable options for the generate command and update module for each new component
  • Loading branch information
adrien2p committed Mar 16, 2022
1 parent 988d11b commit 0a84360
Show file tree
Hide file tree
Showing 77 changed files with 1,009 additions and 650 deletions.
17 changes: 9 additions & 8 deletions blueprint.json
Expand Up @@ -134,14 +134,15 @@
],
"cliGenerateOptionsSchematics": [
["Name", "Alias", "Description"],
["`--module <name>`", "`-m`", "Generate a new module."],
["`--middleware <name>`", "`-mi`", "Generate a new middleware."],
["`--service <name>`", "`-s`", "Generate a new service."],
["`--router <name>`", "`-r`", "Generate a new router."],
["`--entity <name>`", "`-e`", "Generate a new entity."],
["`--repository <name>`", "`-re`", "Generate a new repository."],
["`--migration <name>`", "`-mi`", "Generate a new migration."],
["`--validator <name>`", "`-va`", "Generate a new validator."],
["<nam>>", "", "Component name to generate"],
["`--module`", "`-m`", "Generate a new module."],
["`--middleware`", "`-mi`", "Generate a new middleware."],
["`--service`", "`-s`", "Generate a new service."],
["`--router`", "`-r`", "Generate a new router."],
["`--entity`", "`-e`", "Generate a new entity."],
["`--repository`", "`-re`", "Generate a new repository."],
["`--migration`", "`-mi`", "Generate a new migration."],
["`--validator`", "`-va`", "Generate a new validator."],
["`--path`", "`-p`", "specify the path where the component must be generated (by default the component will be generated at [`src/modules/<name>/<name>.<type>.ts`]."]
]
}
45 changes: 22 additions & 23 deletions docs/README.md
Expand Up @@ -58,6 +58,7 @@
* [Command `generate` reference](#command-generate-reference)
* [Usage](#usage)
* [Options](#options)
* [Examples](#examples)
* [Command `migrate` reference](#command-migrate-reference)
* [Usage](#usage-1)
* [Options](#options-1)
Expand Down Expand Up @@ -310,6 +311,9 @@ to be able to run the migrations and show the list of applied and to be applied

### Command `generate` reference

Each time a component is generated, the cli will try to find the closest module to
that newly created component and add it to the `imports` list automatically.

#### Usage

```bash
Expand All @@ -319,36 +323,31 @@ to be able to run the migrations and show the list of applied and to be applied
#### Options


| Name | Alias | Description |
|-----------------------|-------|--------------------------------------------------|
| `--module <name>` | `-m` | Generate a new module. |
| `--middleware <name>` | `-mi` | Generate a new middleware. |
| `--service <name>` | `-s` | Generate a new service. |
| `--router <name>` | `-r` | Generate a new router. |
| `--entity <name>` | `-e` | Generate a new entity. |
| `--repository <name>` | `-re` | Generate a new repository. |
| `--migration <name>` | `-mi` | Generate a new migration. |
| `--validator <name>` | `-va` | Generate a new validator. |
| `--path` | `-p` | specify the path where the component must be generated (by default the component will be generated at [`src/modules/<name>/<name>.<type>.ts`]. |


:point_right: __Examples__
| Name | Alias | Description |
|----------------|-------|--------------------------------------------------|
| <nam>> | | Component name to generate |
| `--module` | `-m` | Generate a new module. |
| `--middleware` | `-mi` | Generate a new middleware. |
| `--service` | `-s` | Generate a new service. |
| `--router` | `-r` | Generate a new router. |
| `--entity` | `-e` | Generate a new entity. |
| `--repository` | `-re` | Generate a new repository. |
| `--migration` | `-mi` | Generate a new migration. |
| `--validator` | `-va` | Generate a new validator. |
| `--path` | `-p` | specify the path where the component must be generated (by default the component will be generated at [`src/modules/<name>/<name>.<type>.ts`]. |

Without specifying the location `-p`

```bash
./node_modules/.bin/medex g -m store
```

> Generate the store modules at `src/modules/store/store.module.ts`
#### Examples

With specifying the location `-p`
Lets run the following command

```bash
./node_modules/.bin/medex g -m store -p src/modules
./node_modules/.bin/medex g -m myModule
```

> Generate the store modules at `src/modules/store.module.ts`
This command will generate a new `myModule` component. Without specifying the path (`-p`)
where to generate the component, the cli will automatically create the directory `myModule` under `src`.
The result will be the generation of the module component at `src/modules/myModule/myModule.module.ts`.

### Command `migrate` reference

Expand Down
8 changes: 4 additions & 4 deletions docs/classes/Medusa.Medusa-1.md
Expand Up @@ -36,7 +36,7 @@ Load medusa and apply all components

#### Defined in

[src/Medusa.ts:38](https://github.com/adrien2p/medusa-extender/blob/8d611e7/src/Medusa.ts#L38)
[src/Medusa.ts:38](https://github.com/adrien2p/medusa-extender/blob/30feff3/src/Medusa.ts#L38)

## Properties

Expand All @@ -46,7 +46,7 @@ Load medusa and apply all components

#### Defined in

[src/Medusa.ts:31](https://github.com/adrien2p/medusa-extender/blob/8d611e7/src/Medusa.ts#L31)
[src/Medusa.ts:31](https://github.com/adrien2p/medusa-extender/blob/30feff3/src/Medusa.ts#L31)

___

Expand All @@ -56,7 +56,7 @@ ___

#### Defined in

[src/Medusa.ts:32](https://github.com/adrien2p/medusa-extender/blob/8d611e7/src/Medusa.ts#L32)
[src/Medusa.ts:32](https://github.com/adrien2p/medusa-extender/blob/30feff3/src/Medusa.ts#L32)

## Methods

Expand All @@ -76,4 +76,4 @@ ___

#### Defined in

[src/Medusa.ts:46](https://github.com/adrien2p/medusa-extender/blob/8d611e7/src/Medusa.ts#L46)
[src/Medusa.ts:46](https://github.com/adrien2p/medusa-extender/blob/30feff3/src/Medusa.ts#L46)
12 changes: 6 additions & 6 deletions docs/classes/core_event_emmiter.Internals.CustomEventEmmiter.md
Expand Up @@ -41,7 +41,7 @@ EventEmitter.constructor

#### Defined in

[src/core/event-emmiter.ts:21](https://github.com/adrien2p/medusa-extender/blob/8d611e7/src/core/event-emmiter.ts#L21)
[src/core/event-emmiter.ts:21](https://github.com/adrien2p/medusa-extender/blob/30feff3/src/core/event-emmiter.ts#L21)

## Properties

Expand All @@ -51,7 +51,7 @@ EventEmitter.constructor

#### Defined in

[src/core/event-emmiter.ts:19](https://github.com/adrien2p/medusa-extender/blob/8d611e7/src/core/event-emmiter.ts#L19)
[src/core/event-emmiter.ts:19](https://github.com/adrien2p/medusa-extender/blob/30feff3/src/core/event-emmiter.ts#L19)

## Methods

Expand Down Expand Up @@ -80,7 +80,7 @@ Emit an asynchrone event entity based and wait for the result.

#### Defined in

[src/core/event-emmiter.ts:80](https://github.com/adrien2p/medusa-extender/blob/8d611e7/src/core/event-emmiter.ts#L80)
[src/core/event-emmiter.ts:80](https://github.com/adrien2p/medusa-extender/blob/30feff3/src/core/event-emmiter.ts#L80)

___

Expand Down Expand Up @@ -110,7 +110,7 @@ Register a new event handler.

#### Defined in

[src/core/event-emmiter.ts:31](https://github.com/adrien2p/medusa-extender/blob/8d611e7/src/core/event-emmiter.ts#L31)
[src/core/event-emmiter.ts:31](https://github.com/adrien2p/medusa-extender/blob/30feff3/src/core/event-emmiter.ts#L31)

___

Expand All @@ -132,7 +132,7 @@ Apply all event handlers hold by the `listenerDescriptor`.

#### Defined in

[src/core/event-emmiter.ts:43](https://github.com/adrien2p/medusa-extender/blob/8d611e7/src/core/event-emmiter.ts#L43)
[src/core/event-emmiter.ts:43](https://github.com/adrien2p/medusa-extender/blob/30feff3/src/core/event-emmiter.ts#L43)

___

Expand All @@ -146,4 +146,4 @@ ___

#### Defined in

[src/core/event-emmiter.ts:68](https://github.com/adrien2p/medusa-extender/blob/8d611e7/src/core/event-emmiter.ts#L68)
[src/core/event-emmiter.ts:68](https://github.com/adrien2p/medusa-extender/blob/30feff3/src/core/event-emmiter.ts#L68)
105 changes: 91 additions & 14 deletions docs/classes/core_logger.Logger.md
Expand Up @@ -15,46 +15,61 @@ Internal logger to display information about the build.

### Properties

- [\_app](core_logger.Logger.md#_app)
- [\_context](core_logger.Logger.md#_context)
- [logsQueue](core_logger.Logger.md#logsqueue)

### Accessors

- [app](core_logger.Logger.md#app)
- [context](core_logger.Logger.md#context)

### Methods

- [buildLog](core_logger.Logger.md#buildlog)
- [error](core_logger.Logger.md#error)
- [flush](core_logger.Logger.md#flush)
- [log](core_logger.Logger.md#log)
- [push](core_logger.Logger.md#push)
- [warn](core_logger.Logger.md#warn)
- [contextualize](core_logger.Logger.md#contextualize)

## Constructors

### constructor

**new Logger**(`context`)
**new Logger**(`context`, `app`)

#### Parameters

| Name | Type |
| :------ | :------ |
| `context` | `string` |
| `app` | `string` |

#### Defined in

[src/core/logger.ts:15](https://github.com/adrien2p/medusa-extender/blob/8d611e7/src/core/logger.ts#L15)
[src/core/logger.ts:20](https://github.com/adrien2p/medusa-extender/blob/30feff3/src/core/logger.ts#L20)

## Properties

### \_app

`Private` `Readonly` **\_app**: `string`

#### Defined in

[src/core/logger.ts:10](https://github.com/adrien2p/medusa-extender/blob/30feff3/src/core/logger.ts#L10)

___

### \_context

`Private` `Readonly` **\_context**: `string`

#### Defined in

[src/core/logger.ts:9](https://github.com/adrien2p/medusa-extender/blob/8d611e7/src/core/logger.ts#L9)
[src/core/logger.ts:9](https://github.com/adrien2p/medusa-extender/blob/30feff3/src/core/logger.ts#L9)

___

Expand All @@ -64,10 +79,24 @@ ___

#### Defined in

[src/core/logger.ts:8](https://github.com/adrien2p/medusa-extender/blob/8d611e7/src/core/logger.ts#L8)
[src/core/logger.ts:8](https://github.com/adrien2p/medusa-extender/blob/30feff3/src/core/logger.ts#L8)

## Accessors

### app

`get` **app**(): `string`

#### Returns

`string`

#### Defined in

[src/core/logger.ts:16](https://github.com/adrien2p/medusa-extender/blob/30feff3/src/core/logger.ts#L16)

___

### context

`get` **context**(): `string`
Expand All @@ -78,10 +107,34 @@ ___

#### Defined in

[src/core/logger.ts:11](https://github.com/adrien2p/medusa-extender/blob/8d611e7/src/core/logger.ts#L11)
[src/core/logger.ts:12](https://github.com/adrien2p/medusa-extender/blob/30feff3/src/core/logger.ts#L12)

## Methods

### buildLog

`Private` **buildLog**(`color`, `description`, ...`variables`): [`Logger`](core_logger.Logger.md)

Build logs taking in count the level color

#### Parameters

| Name | Type |
| :------ | :------ |
| `color` | `Chalk` |
| `description` | `string` |
| `...variables` | `string`[] |

#### Returns

[`Logger`](core_logger.Logger.md)

#### Defined in

[src/core/logger.ts:89](https://github.com/adrien2p/medusa-extender/blob/30feff3/src/core/logger.ts#L89)

___

### error

**error**(`description`, ...`variables`): [`Logger`](core_logger.Logger.md)
Expand All @@ -101,23 +154,23 @@ Display error logs in red immediately

#### Defined in

[src/core/logger.ts:56](https://github.com/adrien2p/medusa-extender/blob/8d611e7/src/core/logger.ts#L56)
[src/core/logger.ts:66](https://github.com/adrien2p/medusa-extender/blob/30feff3/src/core/logger.ts#L66)

___

### flush

**flush**(): [`Logger`](core_logger.Logger.md)

Show all queues logs and then reset the queue.
display all queues logs and then reset the queue.

#### Returns

[`Logger`](core_logger.Logger.md)

#### Defined in

[src/core/logger.ts:68](https://github.com/adrien2p/medusa-extender/blob/8d611e7/src/core/logger.ts#L68)
[src/core/logger.ts:73](https://github.com/adrien2p/medusa-extender/blob/30feff3/src/core/logger.ts#L73)

___

Expand All @@ -140,7 +193,7 @@ Display log immediately.

#### Defined in

[src/core/logger.ts:42](https://github.com/adrien2p/medusa-extender/blob/8d611e7/src/core/logger.ts#L42)
[src/core/logger.ts:48](https://github.com/adrien2p/medusa-extender/blob/30feff3/src/core/logger.ts#L48)

___

Expand All @@ -163,24 +216,48 @@ Push new logs to queue and then show them later on.

#### Defined in

[src/core/logger.ts:28](https://github.com/adrien2p/medusa-extender/blob/8d611e7/src/core/logger.ts#L28)
[src/core/logger.ts:34](https://github.com/adrien2p/medusa-extender/blob/30feff3/src/core/logger.ts#L34)

___

### contextualize
### warn

`Static` **contextualize**(`context`): [`Logger`](core_logger.Logger.md)
**warn**(`description`, ...`variables`): [`Logger`](core_logger.Logger.md)

Display warning immediately.

#### Parameters

| Name | Type |
| :------ | :------ |
| `context` | `string` |
| `description` | `string` |
| `...variables` | `string`[] |

#### Returns

[`Logger`](core_logger.Logger.md)

#### Defined in

[src/core/logger.ts:57](https://github.com/adrien2p/medusa-extender/blob/30feff3/src/core/logger.ts#L57)

___

### contextualize

`Static` **contextualize**(`context`, `app?`): [`Logger`](core_logger.Logger.md)

#### Parameters

| Name | Type | Default value |
| :------ | :------ | :------ |
| `context` | `string` | `undefined` |
| `app` | `string` | `'Server'` |

#### Returns

[`Logger`](core_logger.Logger.md)

#### Defined in

[src/core/logger.ts:19](https://github.com/adrien2p/medusa-extender/blob/8d611e7/src/core/logger.ts#L19)
[src/core/logger.ts:25](https://github.com/adrien2p/medusa-extender/blob/30feff3/src/core/logger.ts#L25)

0 comments on commit 0a84360

Please sign in to comment.