Skip to content

Commit fd679ca

Browse files
Maintenance: bump packages + lint (#103)
* bump packages * lint files * Bump again and simplify peerDeps * update yarn.lock * rimraf the dist on build * Commit the package-lock for npm users * better eslint configuration * Add eslint-plugin-import and review example imports * add prettier-plugin-organize-imports * fix tests + fix a small lint * eslint FULL 100% fixes Co-authored-by: Alexandre Decollas <[email protected]>
1 parent a377baa commit fd679ca

File tree

69 files changed

+33685
-7479
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+33685
-7479
lines changed

.eslintignore

+4-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,4 @@
1-
*.js
1+
index.js
2+
examples/**/*.js
3+
dist/
4+
documentation/

.eslintrc.json

+1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
"@typescript-eslint/no-empty-interface": "off",
2626
"@typescript-eslint/ban-types": "off",
2727
"@typescript-eslint/ban-ts-comment": "off",
28+
"@typescript-eslint/no-explicit-any": "off",
2829
"@typescript-eslint/no-unused-vars": "warn",
2930
"@typescript-eslint/no-empty-function": "off",
3031
"no-mixed-spaces-and-tabs": "off"

.gitignore

-2
Original file line numberDiff line numberDiff line change
@@ -38,5 +38,3 @@ lerna-debug.log*
3838

3939
#Config
4040
.env
41-
42-
package-lock.json

documentation/injectables/HeroRepository.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -462,7 +462,7 @@ <h3 id="methods">Methods</h3>
462462
<span class="modifier-icon method fa fa-play ">
463463
<span class="fa fa-"></span>
464464
</span>
465-
<code>findOneById(id: number)</code>
465+
<code>findOneById(id: string)</code>
466466
</td>
467467
</tr>
468468

@@ -513,7 +513,7 @@ <h3 id="methods">Methods</h3>
513513

514514
@Injectable()
515515
export class HeroRepository {
516-
async findOneById(id: number): Promise&lt;Hero&gt; {
516+
async findOneById(id: string): Promise&lt;Hero&gt; {
517517
return new Hero(id);
518518
}
519519

examples/src/heroes/aggregates/hero.aggregate.ts

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
1+
import { EventStoreAggregateRoot } from '../../../../src';
2+
import { HeroDamagedEnemyEvent } from '../events/impl/hero-damaged-enemy.event';
3+
import { HeroDropItemEvent } from '../events/impl/hero-drop-item.event';
14
import { HeroFoundItemEvent } from '../events/impl/hero-found-item.event';
25
import { HeroKilledDragonEvent } from '../events/impl/hero-killed-dragon.event';
3-
import { HeroDropItemEvent } from '../events/impl/hero-drop-item.event';
4-
import { HeroDamagedEnemyEvent } from '../events/impl/hero-damaged-enemy.event';
5-
import { EventStoreAggregateRoot } from '../../../../src';
66

77
export class Hero extends EventStoreAggregateRoot {
8-
constructor(private readonly id) {
8+
constructor(private readonly id: string) {
99
super();
1010
// comment this line to test correlation-id auto-generated stream
1111
this.streamName = `hero-${id}`;
1212
}
1313

14-
damageEnemy(dragonId: string, hitPoint: number) {
14+
damageEnemy(dragonId: string, hitPoint: number): Promise<void> {
1515
return this.apply(
1616
new HeroDamagedEnemyEvent({
1717
heroId: this.id,
@@ -22,7 +22,7 @@ export class Hero extends EventStoreAggregateRoot {
2222
);
2323
}
2424

25-
killEnemy(dragonId: string) {
25+
killEnemy(dragonId: string): Promise<void> {
2626
// logic
2727
return this.apply(
2828
new HeroKilledDragonEvent({
@@ -32,7 +32,7 @@ export class Hero extends EventStoreAggregateRoot {
3232
);
3333
}
3434

35-
addItem(itemId: string) {
35+
addItem(itemId: string): Promise<void> {
3636
// logic
3737
return this.apply(
3838
new HeroFoundItemEvent({
@@ -42,7 +42,7 @@ export class Hero extends EventStoreAggregateRoot {
4242
);
4343
}
4444

45-
dropItem(itemId: string) {
45+
dropItem(itemId: string): Promise<void> {
4646
return this.apply(
4747
new HeroDropItemEvent({
4848
heroId: this.id,

examples/src/heroes/commands/handlers/drop-ancient-item.handler.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { CommandHandler, ICommandHandler } from '@nestjs/cqrs';
22
import * as clc from 'cli-color';
3+
import { WriteEventBus } from '../../../../../src/';
34
import { HeroRepository } from '../../repository/hero.repository';
45
import { DropAncientItemCommand } from '../impl/drop-ancient-item.command';
5-
import { WriteEventBus } from '../../../../../src/';
66

77
@CommandHandler(DropAncientItemCommand)
88
export class DropAncientItemHandler
@@ -13,11 +13,11 @@ export class DropAncientItemHandler
1313
private readonly publisher: WriteEventBus,
1414
) {}
1515

16-
async execute(command: DropAncientItemCommand) {
16+
async execute(command: DropAncientItemCommand): Promise<void> {
1717
console.log(clc.yellowBright('Async DropAncientItemCommand...'));
1818

1919
const { heroId, itemId } = command;
20-
const hero = await this.repository.findOneById(+heroId);
20+
const hero = await this.repository.findOneById(heroId);
2121
hero.autoCommit = true;
2222
hero.maxAge = 600; // 10 min
2323
hero.addPublisher((events, context) =>
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { KillDragonHandler } from './kill-dragon.handler';
21
import { DropAncientItemHandler } from './drop-ancient-item.handler';
2+
import { KillDragonHandler } from './kill-dragon.handler';
33

44
export const CommandHandlers = [KillDragonHandler, DropAncientItemHandler];

examples/src/heroes/commands/handlers/kill-dragon.handler.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1+
import * as constants from '@eventstore/db-client/dist/constants';
2+
import { WriteEventBus } from '@nestjs-geteventstore/cqrs';
13
import { CommandHandler, ICommandHandler } from '@nestjs/cqrs';
24
import * as clc from 'cli-color';
5+
import { Hero } from '../../aggregates/hero.aggregate';
36
import { HeroRepository } from '../../repository/hero.repository';
47
import { KillDragonCommand } from '../impl/kill-dragon.command';
5-
import { WriteEventBus } from '@nestjs-geteventstore/cqrs';
6-
import * as constants from '@eventstore/db-client/dist/constants';
7-
import { Hero } from '../../aggregates/hero.aggregate';
88

99
@CommandHandler(KillDragonCommand)
1010
export class KillDragonHandler implements ICommandHandler<KillDragonCommand> {
@@ -26,7 +26,7 @@ export class KillDragonHandler implements ICommandHandler<KillDragonCommand> {
2626
// this.publisher.publishAll.bind(this.publisher),
2727
// );
2828
const hero: Hero = (
29-
await this.repository.findOneById(+heroId)
29+
await this.repository.findOneById(heroId)
3030
).addPublisher<WriteEventBus>(this.publisher);
3131

3232
await hero.damageEnemy(dragonId, 2);

examples/src/heroes/event-store-heroes.module.ts

+5-6
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
1+
import { CqrsEventStoreModule } from '@nestjs-geteventstore/cqrs-event-store.module';
2+
import { IEventStoreSubsystems } from '@nestjs-geteventstore/event-store/config';
3+
import { EventStoreConnectionConfig } from '@nestjs-geteventstore/event-store/config/event-store-connection-config';
4+
import { EventBusConfigType } from '@nestjs-geteventstore/interfaces';
15
import { Module } from '@nestjs/common';
26
import { TerminusModule } from '@nestjs/terminus';
37
import { ContextModule } from 'nestjs-context';
4-
import { LoggerModule } from 'nestjs-pino-stackdriver/dist';
8+
import { LoggerModule } from 'nestjs-pino-stackdriver';
59
import { resolve } from 'path';
6-
710
import { CommandHandlers } from './commands/handlers';
811
import { EventHandlers } from './events/handlers';
912
import { heroesEvents } from './events/impl';
@@ -12,10 +15,6 @@ import { HeroesGameController } from './heroes.controller';
1215
import { QueryHandlers } from './queries/handlers';
1316
import { HeroRepository } from './repository/hero.repository';
1417
import { HeroesGameSagas } from './sagas/heroes.sagas';
15-
import { CqrsEventStoreModule } from '@nestjs-geteventstore/cqrs-event-store.module';
16-
import { IEventStoreSubsystems } from '@nestjs-geteventstore/event-store/config';
17-
import { EventStoreConnectionConfig } from '@nestjs-geteventstore/event-store/config/event-store-connection-config';
18-
import { EventBusConfigType } from '@nestjs-geteventstore/interfaces';
1918

2019
const eventStoreConnectionConfig: EventStoreConnectionConfig = {
2120
connectionSettings: {

examples/src/heroes/events/handlers/hero-found-item.handler.ts

+6-3
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,11 @@ import { HeroFoundItemEvent } from '../impl/hero-found-item.event';
44

55
@EventsHandler(HeroFoundItemEvent)
66
export class HeroFoundItemHandler implements IEventHandler<HeroFoundItemEvent> {
7-
handle(event: HeroFoundItemEvent) {
8-
console.log(clc.yellowBright('Async HeroFoundItemEventHandler...'));
9-
//throw new Error(`Error handling ${event.constructor.name}`);
7+
async handle(event: HeroFoundItemEvent): Promise<void> {
8+
console.log(
9+
clc.yellowBright(
10+
`HeroFoundItemEventHandler handling HeroFoundItemEvent#${event.data.heroId}`,
11+
),
12+
);
1013
}
1114
}

examples/src/heroes/events/handlers/hero-killed-dragon.handler.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@ import { HeroKilledDragonEvent } from '../impl/hero-killed-dragon.event';
55

66
@EventsHandler(HeroKilledDragonEvent)
77
export class HeroKilledDragonHandler
8-
implements IEventHandler<HeroKilledDragonEvent> {
9-
async handle(event: HeroKilledDragonEvent) {
8+
implements IEventHandler<HeroKilledDragonEvent>
9+
{
10+
async handle(event: HeroKilledDragonEvent): Promise<void> {
1011
console.log(clc.greenBright('HeroKilledDragonEventHandler...'));
1112
await event.ack();
1213
}
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { HeroKilledDragonHandler } from './hero-killed-dragon.handler';
21
import { HeroFoundItemHandler } from './hero-found-item.handler';
2+
import { HeroKilledDragonHandler } from './hero-killed-dragon.handler';
33

44
export const EventHandlers = [HeroKilledDragonHandler, HeroFoundItemHandler];

examples/src/heroes/events/impl/hero-damaged-enemy.event.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { ValidateNested } from 'class-validator';
21
import { Type } from 'class-transformer';
2+
import { ValidateNested } from 'class-validator';
33
import { EventStoreEvent } from '../../../../../src';
44
import { HeroDamagedEnemyDto } from '../../dto/hero-damaged-enemy.dto';
55

examples/src/heroes/events/impl/hero-drop-item.event.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
import { EventStoreEvent } from '../../../../../src';
1+
import { EventOptionsType, EventStoreEvent } from '../../../../../src';
22

33
export class HeroDropItemEvent extends EventStoreEvent {
44
constructor(
55
public readonly data: {
66
heroId: string;
77
itemId: string;
88
},
9-
options?,
9+
options?: EventOptionsType,
1010
) {
1111
super(data, options);
1212
}

examples/src/heroes/events/impl/hero-found-item.event.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
import { EventStoreEvent } from '../../../../../src';
1+
import { EventOptionsType, EventStoreEvent } from '../../../../../src';
22

33
export class HeroFoundItemEvent extends EventStoreEvent {
44
constructor(
55
public readonly data: {
66
heroId: string;
77
itemId: string;
88
},
9-
options?,
9+
options?: EventOptionsType,
1010
) {
1111
super(data, options);
1212
}

examples/src/heroes/events/impl/index.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1+
import { HeroDamagedEnemyEvent } from './hero-damaged-enemy.event';
2+
import { HeroDropItemEvent } from './hero-drop-item.event';
13
import { HeroFoundItemEvent } from './hero-found-item.event';
24
import { HeroKilledDragonEvent } from './hero-killed-dragon.event';
3-
import { HeroDropItemEvent } from './hero-drop-item.event';
4-
import { HeroDamagedEnemyEvent } from './hero-damaged-enemy.event';
55

66
export const heroesEvents = {
77
HeroDamagedEnemyEvent,

examples/src/heroes/health.controller.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { HealthCheck, HealthIndicatorResult } from '@nestjs/terminus';
21
import { Controller, Get } from '@nestjs/common';
2+
import { HealthCheck, HealthIndicatorResult } from '@nestjs/terminus';
33
import { EventStoreHealthIndicator } from '../../../src';
44

55
@Controller('health')

examples/src/heroes/heroes.controller.ts

+5-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { Body, Controller, Get, Param, Put } from '@nestjs/common';
22
import { CommandBus, QueryBus } from '@nestjs/cqrs';
3+
import { Hero } from './aggregates/hero.aggregate';
34
import { KillDragonCommand } from './commands/impl/kill-dragon.command';
45
import { KillDragonDto } from './interfaces/kill-dragon-dto.interface';
5-
import { Hero } from './aggregates/hero.aggregate';
66
import { GetHeroesQuery } from './queries/impl';
77

88
@Controller('hero')
@@ -13,7 +13,10 @@ export class HeroesGameController {
1313
) {}
1414

1515
@Put(':id/kill')
16-
async killDragon(@Param('id') id: string, @Body() dto: KillDragonDto) {
16+
async killDragon(
17+
@Param('id') id: string,
18+
@Body() dto: KillDragonDto,
19+
): Promise<any> {
1720
return this.commandBus
1821
.execute(new KillDragonCommand(id, dto.dragonId))
1922
.catch((e) => console.log('e : ', e));

examples/src/heroes/queries/handlers/get-heroes.handler.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
import { IQueryHandler, QueryHandler } from '@nestjs/cqrs';
22
import * as clc from 'cli-color';
3+
import { Hero } from '../../aggregates/hero.aggregate';
34
import { HeroRepository } from '../../repository/hero.repository';
45
import { GetHeroesQuery } from '../impl';
56

67
@QueryHandler(GetHeroesQuery)
78
export class GetHeroesHandler implements IQueryHandler<GetHeroesQuery> {
89
constructor(private readonly repository: HeroRepository) {}
910

10-
async execute(query: GetHeroesQuery) {
11+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
12+
async execute(query: GetHeroesQuery): Promise<Hero[]> {
1113
console.log(clc.yellowBright('Async GetHeroesQuery...'));
1214
return this.repository.findAll();
1315
}

examples/src/heroes/repository/hero.repository.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { userHero } from './fixtures/user';
44

55
@Injectable()
66
export class HeroRepository {
7-
async findOneById(id: number): Promise<Hero> {
7+
async findOneById(id: string): Promise<Hero> {
88
return new Hero(id);
99
}
1010

examples/src/heroes/sagas/heroes.sagas.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import { Injectable } from '@nestjs/common';
22
import { ICommand, Saga } from '@nestjs/cqrs';
33
import * as clc from 'cli-color';
4-
import { v4 } from 'uuid';
54
import { Context, CONTEXT_CORRELATION_ID } from 'nestjs-context';
65
import { Observable } from 'rxjs';
76
import { delay, filter, map } from 'rxjs/operators';
7+
import { v4 } from 'uuid';
88
import { DropAncientItemCommand } from '../commands/impl/drop-ancient-item.command';
99
import { HeroKilledDragonEvent } from '../events/impl/hero-killed-dragon.event';
1010

examples/src/heroes/write.controller.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,10 @@ export class WriteController {
88
constructor(private readonly commandBus: CommandBus) {}
99

1010
@Put(':id/kill')
11-
async killDragon(@Param('id') id: string, @Body() dto: KillDragonDto) {
11+
async killDragon(
12+
@Param('id') id: string,
13+
@Body() dto: KillDragonDto,
14+
): Promise<any> {
1215
return this.commandBus.execute(new KillDragonCommand(id, dto.dragonId));
1316
}
1417
}

0 commit comments

Comments
 (0)