nestjs-ddd-cli 2.0.2 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -51,7 +51,7 @@ async function generateEntity(entityName, options) {
51
51
  const templateData = (0, file_utils_1.prepareTemplateData)(entityName, options.module);
52
52
  // Generate domain entity
53
53
  const entityTemplatePath = path.join(__dirname, '../templates/entity/entity.hbs');
54
- const entityOutputPath = path.join(modulePath, 'application/domain/entities', `${(0, naming_utils_1.toKebabCase)(entityName)}.entity.ts`);
54
+ const entityOutputPath = path.join(modulePath, 'domain/entities', `${(0, naming_utils_1.toKebabCase)(entityName)}.entity.ts`);
55
55
  if (await (0, file_utils_1.fileExists)(entityOutputPath)) {
56
56
  console.log(chalk_1.default.yellow(`Entity ${entityName} already exists. Skipping...`));
57
57
  return;
@@ -79,11 +79,11 @@ async function generateEntity(entityName, options) {
79
79
  await updateIndexFiles(modulePath, entityName, options);
80
80
  console.log(chalk_1.default.green(`✅ Entity ${entityName} generated successfully!`));
81
81
  }
82
- async function updateIndexFiles(modulePath, entityName, options) {
82
+ async function updateIndexFiles(_modulePath, _entityName, options) {
83
83
  // This would update the index.ts files to include the new exports
84
84
  // For now, we'll just log a reminder
85
85
  console.log(chalk_1.default.yellow(`\n⚠️ Remember to update the following index files:`));
86
- console.log(` - application/domain/entities/index.ts`);
86
+ console.log(` - domain/entities/index.ts`);
87
87
  if (!options.skipOrm) {
88
88
  console.log(` - infrastructure/orm-entities/index.ts`);
89
89
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generate-entity.js","sourceRoot":"","sources":["../../src/commands/generate-entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-entity.js","sourceRoot":"","sources":["../../src/commands/generate-entity.ts"],"names":[],"mappings":"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"}
@@ -51,7 +51,7 @@ async function generateEvent(eventName, options) {
51
51
  // Generate domain event
52
52
  const templateData = (0, file_utils_1.prepareTemplateData)(eventName, options.module);
53
53
  const templatePath = path.join(__dirname, '../templates/event/domain-event.hbs');
54
- const outputPath = path.join(modulePath, 'application/domain/events', `${(0, naming_utils_1.toKebabCase)(eventName)}.event.ts`);
54
+ const outputPath = path.join(modulePath, 'domain/events', `${(0, naming_utils_1.toKebabCase)(eventName)}.event.ts`);
55
55
  await (0, file_utils_1.generateFromTemplate)(templatePath, outputPath, templateData);
56
56
  console.log(chalk_1.default.green(`✅ Domain event ${eventName} generated successfully!`));
57
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generate-event.js","sourceRoot":"","sources":["../../src/commands/generate-event.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,sCAsBC;AA3BD,2CAA6B;AAC7B,kDAA0B;AAC1B,oDAA+F;AAC/F,wDAAoD;AAE7C,KAAK,UAAU,aAAa,CAAC,SAAiB,EAAE,OAAY;IACjE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,4BAA4B,SAAS,EAAE,CAAC,CAAC,CAAC;IAEjE,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC/C,MAAM,UAAU,GAAG,IAAA,0BAAa,EAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3D,wBAAwB;IACxB,MAAM,YAAY,GAAG,IAAA,gCAAmB,EAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACpE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,qCAAqC,CAAC,CAAC;IACjF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAC1B,UAAU,EACV,2BAA2B,EAC3B,GAAG,IAAA,0BAAW,EAAC,SAAS,CAAC,WAAW,CACrC,CAAC;IAEF,MAAM,IAAA,iCAAoB,EAAC,YAAY,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IAEnE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,kBAAkB,SAAS,0BAA0B,CAAC,CAAC,CAAC;AAClF,CAAC"}
1
+ {"version":3,"file":"generate-event.js","sourceRoot":"","sources":["../../src/commands/generate-event.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,sCAsBC;AA3BD,2CAA6B;AAC7B,kDAA0B;AAC1B,oDAA+F;AAC/F,wDAAoD;AAE7C,KAAK,UAAU,aAAa,CAAC,SAAiB,EAAE,OAAY;IACjE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,4BAA4B,SAAS,EAAE,CAAC,CAAC,CAAC;IAEjE,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC/C,MAAM,UAAU,GAAG,IAAA,0BAAa,EAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3D,wBAAwB;IACxB,MAAM,YAAY,GAAG,IAAA,gCAAmB,EAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACpE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,qCAAqC,CAAC,CAAC;IACjF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAC1B,UAAU,EACV,eAAe,EACf,GAAG,IAAA,0BAAW,EAAC,SAAS,CAAC,WAAW,CACrC,CAAC;IAEF,MAAM,IAAA,iCAAoB,EAAC,YAAY,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IAEnE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,kBAAkB,SAAS,0BAA0B,CAAC,CAAC,CAAC;AAClF,CAAC"}
@@ -51,7 +51,7 @@ async function generateService(serviceName, options) {
51
51
  // Generate domain service
52
52
  const templateData = (0, file_utils_1.prepareTemplateData)(serviceName, options.module);
53
53
  const templatePath = path.join(__dirname, '../templates/service/domain-service.hbs');
54
- const outputPath = path.join(modulePath, 'application/domain/services', `${(0, naming_utils_1.toKebabCase)(serviceName)}.service.ts`);
54
+ const outputPath = path.join(modulePath, 'domain/services', `${(0, naming_utils_1.toKebabCase)(serviceName)}.service.ts`);
55
55
  await (0, file_utils_1.generateFromTemplate)(templatePath, outputPath, templateData);
56
56
  console.log(chalk_1.default.green(`✅ Domain service ${serviceName} generated successfully!`));
57
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generate-service.js","sourceRoot":"","sources":["../../src/commands/generate-service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,0CAsBC;AA3BD,2CAA6B;AAC7B,kDAA0B;AAC1B,oDAA+F;AAC/F,wDAAoD;AAE7C,KAAK,UAAU,eAAe,CAAC,WAAmB,EAAE,OAAY;IACrE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,8BAA8B,WAAW,EAAE,CAAC,CAAC,CAAC;IAErE,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC/C,MAAM,UAAU,GAAG,IAAA,0BAAa,EAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3D,0BAA0B;IAC1B,MAAM,YAAY,GAAG,IAAA,gCAAmB,EAAC,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACtE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,yCAAyC,CAAC,CAAC;IACrF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAC1B,UAAU,EACV,6BAA6B,EAC7B,GAAG,IAAA,0BAAW,EAAC,WAAW,CAAC,aAAa,CACzC,CAAC;IAEF,MAAM,IAAA,iCAAoB,EAAC,YAAY,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IAEnE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,oBAAoB,WAAW,0BAA0B,CAAC,CAAC,CAAC;AACtF,CAAC"}
1
+ {"version":3,"file":"generate-service.js","sourceRoot":"","sources":["../../src/commands/generate-service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,0CAsBC;AA3BD,2CAA6B;AAC7B,kDAA0B;AAC1B,oDAA+F;AAC/F,wDAAoD;AAE7C,KAAK,UAAU,eAAe,CAAC,WAAmB,EAAE,OAAY;IACrE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,8BAA8B,WAAW,EAAE,CAAC,CAAC,CAAC;IAErE,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC/C,MAAM,UAAU,GAAG,IAAA,0BAAa,EAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3D,0BAA0B;IAC1B,MAAM,YAAY,GAAG,IAAA,gCAAmB,EAAC,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACtE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,yCAAyC,CAAC,CAAC;IACrF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAC1B,UAAU,EACV,iBAAiB,EACjB,GAAG,IAAA,0BAAW,EAAC,WAAW,CAAC,aAAa,CACzC,CAAC;IAEF,MAAM,IAAA,iCAAoB,EAAC,YAAY,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IAEnE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,oBAAoB,WAAW,0BAA0B,CAAC,CAAC,CAAC;AACtF,CAAC"}
@@ -53,7 +53,7 @@ async function generateUseCase(useCaseName, options) {
53
53
  const templateData = (0, file_utils_1.prepareTemplateData)(entityName, options.module);
54
54
  // Generate use case
55
55
  const useCaseTemplatePath = path.join(__dirname, '../templates/usecase/create-usecase.hbs');
56
- const useCaseOutputPath = path.join(modulePath, 'application/domain/usecases', `${(0, naming_utils_1.toKebabCase)(useCaseName)}.use-case.ts`);
56
+ const useCaseOutputPath = path.join(modulePath, 'application/usecases', `${(0, naming_utils_1.toKebabCase)(useCaseName)}.use-case.ts`);
57
57
  await (0, file_utils_1.generateFromTemplate)(useCaseTemplatePath, useCaseOutputPath, templateData);
58
58
  // Generate command
59
59
  const commandTemplatePath = path.join(__dirname, '../templates/command/create-command.hbs');
@@ -65,7 +65,7 @@ async function generateUseCase(useCaseName, options) {
65
65
  await (0, file_utils_1.generateFromTemplate)(dtoTemplatePath, dtoOutputPath, templateData);
66
66
  console.log(chalk_1.default.green(`✅ Use case ${useCaseName} generated successfully!`));
67
67
  console.log(chalk_1.default.yellow(`\n⚠️ Remember to update the following index files:`));
68
- console.log(` - application/domain/usecases/index.ts`);
68
+ console.log(` - application/usecases/index.ts`);
69
69
  console.log(` - application/commands/index.ts`);
70
70
  console.log(` - application/dto/requests/index.ts`);
71
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generate-usecase.js","sourceRoot":"","sources":["../../src/commands/generate-usecase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-usecase.js","sourceRoot":"","sources":["../../src/commands/generate-usecase.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { CommandHandler, ICommandHandler } from "@nestjs/cqrs";
2
- import { Create{{entityNamePascal}}UseCase } from "@modules/{{moduleNameKebab}}/application/domain/usecases/create-{{entityNameKebab}}.use-case";
2
+ import { Create{{entityNamePascal}}UseCase } from "@modules/{{moduleNameKebab}}/application/usecases/create-{{entityNameKebab}}.use-case";
3
3
  import { Create{{entityNamePascal}}Dto } from "@modules/{{moduleNameKebab}}/application/dto/requests/create-{{entityNameKebab}}.dto";
4
4
 
5
5
  export class Create{{entityNamePascal}}Command {
@@ -1,19 +1,23 @@
1
- import {
2
- BaseDomainEntity,
3
- BaseDomainEntityProps,
4
- } from "@core/entities/base-domain.entity";
5
-
6
- export interface {{entityNamePascal}}EntityProps extends BaseDomainEntityProps {
1
+ export interface {{entityNamePascal}}EntityProps {
2
+ id?: string;
3
+ isActive?: boolean;
4
+ createdAt?: Date;
5
+ updatedAt?: Date;
6
+ deletedAt?: Date;
7
7
  // Add your domain properties here
8
8
  // Example: name: string;
9
9
  }
10
10
 
11
- export class {{entityNamePascal}}Entity extends BaseDomainEntity {
11
+ export class {{entityNamePascal}}Entity {
12
+ public readonly id?: string;
13
+ public readonly isActive?: boolean;
14
+ public readonly createdAt?: Date;
15
+ public readonly updatedAt?: Date;
16
+ public readonly deletedAt?: Date;
12
17
  // Add your domain properties here
13
- // Example: name: string;
18
+ // Example: public readonly name: string;
14
19
 
15
20
  constructor(props: {{entityNamePascal}}EntityProps) {
16
- super();
17
21
  Object.assign(this, props);
18
22
  }
19
23
  }
@@ -1,18 +1,20 @@
1
- import { BaseMapper } from "@core/mappers/base.mapper";
2
1
  import { {{entityNamePascal}}OrmEntity } from "@modules/{{moduleNameKebab}}/infrastructure/orm-entities/{{entityNameKebab}}.orm-entity";
3
- import { {{entityNamePascal}}Entity } from "@modules/{{moduleNameKebab}}/application/domain/entities/{{entityNameKebab}}.entity";
2
+ import { {{entityNamePascal}}Entity } from "@modules/{{moduleNameKebab}}/domain/entities/{{entityNameKebab}}.entity";
4
3
  import { Injectable } from "@nestjs/common";
5
4
 
6
5
  @Injectable()
7
- export class {{entityNamePascal}}Mapper extends BaseMapper<
8
- {{entityNamePascal}}Entity,
9
- {{entityNamePascal}}OrmEntity
10
- > {
6
+ export class {{entityNamePascal}}Mapper {
11
7
  toOrmEntity(domainEntity: {{entityNamePascal}}Entity): {{entityNamePascal}}OrmEntity {
12
- this.validateDomainEntity(domainEntity);
8
+ if (!domainEntity) {
9
+ throw new Error('Domain entity is required');
10
+ }
13
11
 
14
- const ormEntity = new {{entityNamePascal}}OrmEntity(domainEntity.id);
12
+ const ormEntity = new {{entityNamePascal}}OrmEntity();
15
13
  ormEntity.id = domainEntity.id;
14
+ ormEntity.isActive = domainEntity.isActive;
15
+ ormEntity.createdAt = domainEntity.createdAt;
16
+ ormEntity.updatedAt = domainEntity.updatedAt;
17
+ ormEntity.deletedAt = domainEntity.deletedAt;
16
18
  // Map your properties from camelCase to snake_case
17
19
  // Example: ormEntity.property_name = domainEntity.propertyName;
18
20
 
@@ -22,6 +24,10 @@ export class {{entityNamePascal}}Mapper extends BaseMapper<
22
24
  toDomainEntity(ormEntity: {{entityNamePascal}}OrmEntity): {{entityNamePascal}}Entity {
23
25
  const entity = new {{entityNamePascal}}Entity({
24
26
  id: ormEntity.id,
27
+ isActive: ormEntity.isActive,
28
+ createdAt: ormEntity.createdAt,
29
+ updatedAt: ormEntity.updatedAt,
30
+ deletedAt: ormEntity.deletedAt,
25
31
  // Map your properties from snake_case to camelCase
26
32
  // Example: propertyName: ormEntity.property_name,
27
33
  });
@@ -1,8 +1,22 @@
1
- import { BaseOrmEntity } from "@core/infrastructure/persistence/orm-entities/base.orm-entity";
2
- import { Column, Entity } from "typeorm";
1
+ import { Column, Entity, PrimaryGeneratedColumn } from "typeorm";
3
2
 
4
3
  @Entity("{{tableName}}")
5
- export class {{entityNamePascal}}OrmEntity extends BaseOrmEntity {
4
+ export class {{entityNamePascal}}OrmEntity {
5
+ @PrimaryGeneratedColumn("uuid")
6
+ id?: string;
7
+
8
+ @Column({ name: "is_active", default: true })
9
+ isActive?: boolean;
10
+
11
+ @Column({ name: "created_at", type: "timestamp", default: () => "CURRENT_TIMESTAMP" })
12
+ createdAt?: Date;
13
+
14
+ @Column({ name: "updated_at", type: "timestamp", default: () => "CURRENT_TIMESTAMP" })
15
+ updatedAt?: Date;
16
+
17
+ @Column({ name: "deleted_at", type: "timestamp", nullable: true })
18
+ deletedAt?: Date;
19
+
6
20
  // Add your columns here
7
21
  // Example:
8
22
  // @Column()
@@ -2,7 +2,7 @@ import { InjectRepository } from "@nestjs/typeorm";
2
2
  import { Repository } from "typeorm";
3
3
  import { {{entityNamePascal}}Mapper } from "@modules/{{moduleNameKebab}}/infrastructure/mappers/{{entityNameKebab}}.mapper";
4
4
  import { {{entityNamePascal}}OrmEntity } from "@modules/{{moduleNameKebab}}/infrastructure/orm-entities/{{entityNameKebab}}.orm-entity";
5
- import { {{entityNamePascal}}Entity } from "@modules/{{moduleNameKebab}}/application/domain/entities/{{entityNameKebab}}.entity";
5
+ import { {{entityNamePascal}}Entity } from "@modules/{{moduleNameKebab}}/domain/entities/{{entityNameKebab}}.entity";
6
6
  import { Injectable } from "@nestjs/common";
7
7
 
8
8
  @Injectable()
@@ -1,4 +1,4 @@
1
- import { {{entityNamePascal}}Entity } from "@modules/{{moduleNameKebab}}/application/domain/entities/{{entityNameKebab}}.entity";
1
+ import { {{entityNamePascal}}Entity } from "@modules/{{moduleNameKebab}}/domain/entities/{{entityNameKebab}}.entity";
2
2
  import { {{entityNamePascal}}Repository } from "@modules/{{moduleNameKebab}}/infrastructure/repositories/{{entityNameKebab}}.repository";
3
3
  import { Create{{entityNamePascal}}Command } from "@modules/{{moduleNameKebab}}/application/commands/create-{{entityNameKebab}}.command";
4
4
  import { Injectable } from "@nestjs/common";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nestjs-ddd-cli",
3
- "version": "2.0.2",
3
+ "version": "2.1.0",
4
4
  "description": "CLI for generating NestJS DDD boilerplate code",
5
5
  "main": "dist/index.js",
6
6
  "bin": {